Global AI Mission Forum 2026 · Americas A-1

Leaving Context
Behind

A knowledge base built with Obsidian and AI agents, and the ministry it makes possible

Yohan Koo · CMDSPACE 2026-10-01

“Write the vision; make it plain on tablets,
so he may run who reads it.”

Habakkuk 2:2 · ESV

Three ways to work with AI. Only one of them builds up over time.

v1PromptWhat do I ask? One question, one answer, and it is gone when the chat closes.
v2ContextWhat does it need to know? Better answers, but you paste the background in every single time.
v3HarnessWhere does it work, with what, under which rules? Built once. Every answer stands on everything you have left behind.

They are not rivals. Each one contains the one before it. Everything I show you today lives in v3.

Superhuman is not a talent.
It is a context.

The people who use AI brilliantly are not better at asking. They have left more behind for it to stand on.

Measured 2026-10-01: 10,847 notes in the main vault, daily notes since 2022-05-16

While I sleep, the record keeps itself

04:53Close and openYesterday’s note is closed. Today’s page is laid out before I wake.
21:23The day, rebuiltAn agent rebuilds my day from conversations, files and meetings into a draft.
22:17Nothing unrecordedWork that nobody wrote down gets written down.
SUN 21:41One human lineThe week is reviewed for me. I add one line: my decision.

And every ten minutes, every conversation I have had with an agent is indexed, so nothing we decided together is lost.

Nine agents. Nine Johns. Nine fruits of the Spirit.

KeplerResearchGentleness
GoetheWritingLove
DeweyTeachingKindness
BachCreativeJoy
von NeumannAnalysisSelf-control
John the BaptistPartnershipsPatience
McCarthyEngineeringGoodness
HuizingaCommunityPeace
CalvinAdvisoryFaithfulness

Not because a machine can bear fruit. These are the virtues I want my own work held to, so each one from Galatians 5:22–23 is written into an agent’s rules as its guardrail. Kepler’s gentleness: lay down your own theory before the data.

The question site at the end of this talk was built last night by this team.

What changes when a ministry leaves its context behind

01Sermons stop being buriedTwenty years of preaching becomes a commentary on one congregation: every passage, every season, every prayer, searchable and connected.
02Field context outlives the termWhen a missionary goes home, the language notes, the history of each relationship and the story of the field stay. The next person starts on day one, not year three.
03Every language starts with contextContext left in a clear form can be carried into any language. This deck already speaks eleven. Press L.

None of this needs a bigger model. It needs a record left in a form an agent can work in, kept on your own machine where it must be.

A

How it worksthree decisions: a schema, two vaults, and rules in files

Leaving a record is not enough. The form you leave it in decides what an agent can, and cannot, do with it.

AI appears to read content.
It actually reads structure better.

A searchable format lets a thought be recalled. An unsearchable one lets it evaporate.

One note. The metadata is the index.

FieldWhat it makes answerable, years later
presenterWho preached it — across every note, for years
source_urlWhere it came from, so a claim can be traced back
dateWhat season the congregation was walking through
[[John 3]]Every sermon that touched this passage, in one click
[!bible] / [!quote]Scripture and a quoted book, never collapsed together

The author of a book and the pastor who chose the excerpt are never mixed. That rule lives in the file, not in my memory.

The wiki is the pantry. The main vault is where the meal is served.

MAIN VAULT · 10,847 notes Written by me · agent-written notes carry a model field Sermons · devotions · prayers · interpretation WIKI VAULT · 2,094 notes The agent is the author · 1,041 wiki pages Compiled reference, with sources attached cooked, then carried ONE SEARCH INDEX · 15 collections Wiki links cannot cross a vault boundary. Semantic search can. 12,437 documents. Separated to write. Joined to ask. The embedding model runs on this laptop.

The real reason I split the vault in two is not size, not speed, not who I share it with. It is so that I never lose track of how much I actually know.

— from my own notes on authorship separation

Author separation is an epistemic safeguard. In matters of faith, an epistemic safeguard is a theological one: it is how, three years from now, I will still tell what I believe from what I merely read.

Same file format. Same folder. Same grammar.

Format rule

  • Descriptions must be double-quoted
  • Dates must be written one way
  • Seven properties are required

Doctrine rule

  • Never invent new theological content
  • Never fabricate an author. Never guess
  • The pastor chose the excerpt. He did not write the book

Both are plain text in the same folder, read before every edit. That is the whole mechanism.

Every agent write is checked. Here is exactly what that means.

$ validate-frontmatter.sh
six of seven fieldsexit 2failed back
description unquotedexit 2failed back
no metadata at allexit 2failed back
seven fields, quotedexit 0passed
type: bananas · date: not-a-dateexit 0passed

Three hooks run after every write my agent makes. One hands a failure back into the agent’s own context, so it cannot carry on as if the write were clean. It checks whether the boxes are filled, not whether they are filled correctly. No script of mine checks theology.

D

Proven by refusalwhat the session log kept while preparing a lecture two weeks ago

You cannot verify that my output is good. You can verify that it said no.

“If I invent a validation table from guesses,
that is not analysis. It is fiction.”

— the agent, declining to fabricate · translated from the Korean session log

I asked it to analyse the data. The folder had none. It said so, named exactly what would have made the question answerable, and declined to produce the table anyway. I can quote it two weeks later because the session log is kept — which is the same habit the rest of this talk is about.

A boundary runs in both directions

01SeedsAn empty note with links pointing at it is a deliberate seed. Deletion may not even be suggested.
02Edit boundaryWhile editing the body, do not touch the title, the tags, or the dates.
03HistoryDaily notes and source documents record what was true then. They are not corrected later.
04Read onlyThe command that audits my vault only reports what it finds. Nothing is fixed until I say so.

None of these four is code. All four are sentences, loaded every session. Writing a rule down is building the fence.

A schema does not prevent a wrong judgment.

It makes a wrong judgment traceable. That is a smaller claim than you may have expected, and it is the honest one.

Where I draw the line

I hand over

  • Retrieval and comparison
  • First drafts
  • Linking and indexing
  • Enforcing the format

I never hand over

  • Discernment
  • Proclamation
  • Pastoral care
  • Standing before God in my place

If you start this week

01One folderPut ten years of field letters in a single folder. Plain text files. Nothing else yet.
02Five fieldsDecide the five things every document must state at the top. Who, when, from where, about what, checked by whom.
03One rules fileWrite one page saying what the AI may not do in that folder. For example: never send believers’ names or locations to an AI. That page is the fence.

Not the tool first. The folder, the five fields, and the page of rules — in that order.

AI organizes my study.
It does not stand in my pulpit.

Hand the machine what it can carry, and the time comes back to people: to prayer, to presence, to the person in front of you. Leaving context behind is how a ministry is handed to the next person.

Thank you. Questions are always welcome.

Yohan Koo · CMDSPACE · Author, Obsidian Professional Notes (Recommend, 2026)

Press L to change language · I to search slides

Z

Appendixmeasured on disk, 2026-09-18

Everything past this sheet was counted on disk two weeks before this talk, not estimated. Where the number is unflattering, it is still the number — and the gap it names is the work in front of me.

40monthsOne shape, unbroken since 2023-05
76notesSermons and devotions in one folder
19timesJohn, traced across all of them

I did not count any of this. The structure counted.

Same idea. Different contract.

Main vault — I am the author

  • The author field is fixed to me
  • A status field carries my judgment
  • Two coordinates: subject, and which list it joins
  • A published flag, once it has gone out

Wiki vault — the agent is the author

  • The author field records which agent wrote it
  • Confidence, and whether it has been verified
  • Whether a human has actually read it
  • Its source, and any recorded disagreement

The difference is not cosmetic. It is written into a file the machine reads, so neither vault can quietly adopt the other's rules.

Every wiki page is born doubting itself

1,018pagesWritten by an agent, not by me
42verified4.1% — 819 are still unverified
3readPages I have marked as actually read

The template starts every page at medium confidence, unread, unverified. Starting well is not available, and nothing ages into being verified — only a verification pass moves those values, and it has run on every one of the 42. Forty-one of those passes were signed by an agent. A human pass is the layer I am adding next.

79 KB governs 10,252 files

646bytesThe settings file — the whole entry point
9rules69 KB, loaded automatically every session
3hooks11 KB, and they cost the agent no context at all

Rules have to be short to be loaded always, and they have to be loaded always to be rules.

A skill opens in four layers

L1Name and one description652 bytes, always in context. This single line decides whether the skill opens at all.
L2The skill body23,915 bytes, opened only when the description matched.
L3Reference files181,438 bytes across twenty-four files. Only the one needed is opened.
L4Assets and scripts689,710 bytes. Never read at all. Executed.

Of 895,063 bytes in this one skill, 0.07% is always on. Across all ninety-nine, measured the same way, 0.09%. The always-on layer never reaches a tenth of one percent.

The context window is a budget,
and the schema decides how it is spent.

The agent sees only that one description line, and decides from it whether to open the rest. A skill does not fail because its instructions are bad. It fails because its one line did not describe it.

Every agent write is checked, every time

# settings.json — 646 bytes, the whole entry point
after every agent write:
├ validate-frontmatter.shexit 2→ hands the failure back
├ qmd-reindex.shexit 0→ never blocks
└ transcript-lane.shexit 0→ never blocks

Three hooks run on every write my agent makes. One can fail, and when it does the breach lands back in the agent’s own context, so it cannot carry on as though the write had been clean. It runs after the write, not before: the file is already on disk when the script opens it. The other two are forbidden from ever failing. Enforce the form, never obstruct the work.

The contract every content note signs

FieldRuleWhy it exists
typeOpen vocabulary126 distinct values in use; the top fifteen cover 87%
aliasesA listThe other names a link might arrive under
descriptionEnglish, always quotedWritten for the next agent, not for me
authorA quoted linkThe field that keeps me and the machine apart
date createdOne date formatWhen it began
date modifiedOne date formatWhen it last moved
tagsA list, never a bare numberA bare number here breaks the properties panel

Two characters can eat
the rest of a sentence.

In this metadata format an unquoted value ends at a space followed by a hash. One note in my inbox has a description the parser silently truncates mid-word, because the text contained a reference like “#52”. Of 2,738 descriptions, 2,347 are quoted and exactly two are actually broken. The rule exists because of those two.

The gap between the rule and the vault

MeasureCountShare
Markdown files10,250100%
Has a metadata block7,90277.1%
All seven fields present2,41830.6%
Has a description2,73826.7%
Status inside the standard five2,82189.1%
Subject coordinate pointing correctly2,66095.1%

A schema is not a claim that everything obeys it. It is the thing that lets you count how much does.

The fields divide by who fills them

I write these

  • Status — 3,178 filled of 4,506 ready
  • Subject and list coordinates — about 2,800 each
  • Published — 402, of which 61 actually went out
  • My own rating — 161 filled of 414 ready

The agent writes these

  • A link back to the session that made the note — 1,056
  • Which model wrote it — 811, and at what effort — 802
  • The daily note's own state — 40
  • Where a finished artifact was archived — 18

811 notes carry a model signature. That is a floor, not a total: the rule was adopted in August, so anything older is unsigned. Every note written since carries one, and back-filling the older ones is a job I have queued rather than guessed at.

What the agent writes when it does not know

effort: high            330
effort: xhigh           175
effort: medium           66
effort: ultra            45
effort: "not exposed"     70   # the runtime did not tell it

Seventy notes say “not exposed” instead of guessing. A field is only useful if the agent is allowed to admit it does not know the value.

Ten folders. None of them is a subject.

00Inbox5,781 — mostly archive and agent lanes, not today's unread
10Process448 — daily and weekly, the time axis
20Literature254 — reading someone else
30Permanent241 — the smallest folder, on purpose
40Docs685 — working documentation
60Collections616 — people, meetings, spirituality
70Outputs1,222 — lectures and consulting
90Settings304 — the rules themselves live here

No folder is named after a topic, so the agent can never decide to move a note because its subject changed. Subject lives in a field.

Nine files, numbered so they cannot argue

1–3One per vendor58 KB, 39 KB and 22 KB. Split so instructions written for one agent never leak into another.
4–6Context and standardsWhy the system exists, how to write in it, and where everything lives.
7–8PersonaDeliberately excluded from coding-agent context. A different audience entirely.
9Visual languageLoaded whenever anything visual is made — including these slides.

230 KB in total. The agent does not choose which rules apply to it. Its number is assigned.

Nine rule files, 69 KB, loaded every session

Rule fileSizeWhat it governs
Linking14.6 KBThree ways to reference a file, and when to use each
Metadata13.4 KBThe seven fields, and where an edit may not reach
File creation12.0 KBEight agent lanes, and how finished work is closed out
File moving10.0 KBMoving a file without orphaning what points at it
Whitespace6.1 KBWhere blank lines are required and where they are noise
Directories5.8 KBTen folders, and the links that sync them between machines
Three more7.1 KBHeavy media projects, diagrams, tabs versus spaces

One of them calls another: the linking rule reaches into the moving rule. There is depth, but only two levels of it.

The rules belong to the vault, not to this laptop

# sync ignores hidden folders, so the originals live in the open
hidden/agents    →  90. Settings / Agent Settings / agents
hidden/commands  →  90. Settings / Agent Settings / commands
hidden/hooks     →  90. Settings / Agent Settings / hooks
hidden/rules     →  90. Settings / Agent Settings / rules
hidden/skills    →  90. Settings / Agent Settings / skills

settings file    not linked — deliberately per-machine

Because the originals sit in an ordinary folder, the rules travel with the vault to my second machine and to whichever agent opens it next. They became part of the knowledge base rather than part of an installation.

When routing fails, the failure is written down

01It misfiresThe wrong skill opens, or the right one does not.
02Logged the same turnOne line, including my exact wording that triggered it. Never deferred.
03Three strikesThe same pairing three times, and the description gets a boundary sentence.
04The loop closesSix entries since July. Small on purpose — each one is a real misroute, written the same turn it happened.

Source, compilation, and the rules that separate them

LAYER 1 · RAW SOURCES — 528 files Immutable. If the agent thinks a source is wrong, it still may not edit it. compiled by the agent LAYER 2 · WIKI — 1,018 pages Concepts 491 · Entities 353 · Guides 84 · Maps 30 · Questions 51 · Personas 9 governs both LAYER 3 · THE RULES — 77 KB each, mirrored per agent Read before work. It decides what layers one and two are allowed to become.

Fields the main vault does not have

FieldBorn asWhat it forces
authorthe agent's name765 pages name one agent, 251 another, 2 name me
confidencemediumIt cannot promote itself to high
verificationStatusunverifiedOnly a verification pass changes this
exploredfalseTrue means a human actually read it
sourceempty941 pages point back at a raw source
disputedabsent262 pages already have the place to record one

A new page is born at medium, unread, unverified. Starting well is not an option the template offers.

1,018 pages, graded by the gate

unverified819
partial80
verified42
read by a human3

These numbers staying low is the evidence that the gate works. Nothing ages into being verified.

Seven indexes, and only two of them are lists

01The catalogue1,364 lines. Counts are re-measured on disk, never incremented by guess.
02The log3,509 lines. Not what exists — when it arrived, and why.
03Thirty mapsA page can sit on several maps. A folder only lets you choose once.
04Link density17,909 links. The hubs emerge; nobody designs them.
05Open questionsA question in the body gets promoted to its own page. Fifty-one so far.
06Semantic search15 collections, 11,795 documents, scoped by argument rather than by asking nicely.
07The auditTwelve checks, read-only. One of them catches the catalogue drifting from the disk.
 Most linkedThe page on designing agent boundaries, 205 inbound links. The wiki decided that, not me.

What I do not know is a file,
not a footnote.

161 open questions are marked inside pages, and the substantive ones are promoted into pages of their own, with hypotheses and evidence on both sides. 805 bias checks are recorded the same way. Not knowing became something the system can index, revisit, and eventually close.

An asymmetry worth designing around

Cannot cross

  • A link between vaults renders as broken
  • The graph view only sees inside one vault
  • So connections live in metadata fields instead
  • 504 pages point home; 36 notes point out

Crosses freely

  • One search index spans both vaults
  • Fifteen collections, scoped per question
  • Embedding and reranking run locally
  • Nothing leaves this machine in order to be searched

Separated where authorship matters. Joined where a question does not care which vault holds the answer.

Eleven of thirteen commands declare their own tools

CommandShapeWhat it cannot do
Status/statusNo writing tool was declared, so it has none to reach for
Inbox/inboxOnly routes. Never files anything itself
Connect/connectCannot merge or synthesize
Merge/mergeNever fans out. Synthesis has exactly one writer
Share/shareDelegates to other skills. Writes no prose itself
Lint/lintReports problems. Leaves the fixing to me
Daily · Weekly/daily · /weeklyThese two declare no tool limits yet. Still open

A declared tool list is a real limit: a command that never declared a writing tool cannot reach for one. Where a command does declare Edit, a written rule holds it back instead. Both are in force. Knowing which is which is the point, and narrowing the declarations is the next pass.

The daily note, and the parts it may not touch

04:53SkeletonThe day begins at four in the morning, not midnight. Work after midnight belongs to yesterday.
21:23DraftThe agent fills its own sections by reading commits, sessions and outputs.
04:53FinalNext morning it closes yesterday and opens today.
—NeverMy one human line, my checkboxes and my log are immutable. The template is never re-inserted.

A state field carries the note from pending to filled to final, so a second run patches sections instead of starting over.

Not a demo. A trail.

811signedNotes carrying the signature of the model that wrote them
1,056linksNotes that can reopen the session that made them
15collectionsOne search index across both vaults

Two months later I can reopen the conversation that produced a file. That is what a link back to the session buys.

When I build Bible reference material, I keep a ledger

Kept per sourceWhy it is there
Where it came fromSo a reader can go and check it themselves
What it supportsExactly which claim it backs, and no other
Its limitationsWhat this source is not able to establish
How it was checkedWhether I opened it, or only saw it in an index

180 sources, each with its own stated limits, and a receipt file hashing every artifact. The question is never only whether it is right — it is what it stands on, and how far that can carry.

Thank you. Questions are always welcome.

Yohan Koo · CMDSPACE · Author, Obsidian Professional Notes (Recommend, 2026)

Press L to change language · I to search slides