Files
hq/04-ISSUES/006-hq-is-not-indexed-into-the-knowledge-base/00-report.md
T
jschoubben e823cc1cc5 The design record is read where it is written, never copied to be found
Decides the question 006 narrowed to. An agent reads this repository
directly and the search consults it, so these documents surface beside
ordinary results instead of only when somebody already suspects they
exist.

A scheduled sync into the mesh's memory was the option that works with
what exists today, and lost on the ground this repository can least
afford: it makes a second copy, and the copy that is searched quietly
stops matching the copy that is edited. A design record that has
silently diverged from the reasoning it claims to carry is worse than
one that cannot be found — the first misleads, the second merely fails.

Amends what 0019 promised rather than satisfying it: these documents
will not be indexed, they will be read. The commitment that survives is
the one that mattered — that a searcher finds them without already
suspecting they exist.

Gated on an agent that does not exist yet, so 006 stays open on the
build with a decided shape. What closes it is a check that fails today
by design: search the mesh's memory for a phrase that appears only in a
design document here, and require it back.
2026-08-31 15:45:00 +02:00

7.9 KiB

status, opened, located-in, fixed-by, amended-design
status opened located-in fixed-by amended-design
located 2026-08-23
hal
hq
02-DECISIONS/0025-the-design-record-is-read-not-copied.md

006 — This repository is not indexed into the knowledge base, and the claim that it is holds up a decision

Symptom

README.md states, as the answer to the objection against creating this repository:

These documents are still indexed into the knowledge base, so recall_search returns them beside everything else. One source, many surfaces — which was always the actual requirement.

Searching the knowledge base for this repository's content returns nothing.

Evidence

Verified 2026-08-23, two searches against the mesh's operational memory:

Query Result
The full title of a decision record in this repository No results
A distinctive phrase from the decision ledger No results

No entry, no partial match, no stale copy. The indexing does not exist and appears never to have existed.

Why this is an issue and not a task

The claim is load-bearing. Decision 27 separates HQ into its own repository, and the objection it answers was that a fourth knowledge system repeats the mistake the mesh's knowledge consolidation was created to fix. The recorded answer is "indexing, not location" — that the split is safe because these documents remain searchable alongside everything else.

Without the indexing, the objection stands unanswered and this repository is precisely the fourth knowledge system it was argued not to be. Either the indexing is built, or decision 27's reasoning is amended to something that is true.

It is also, exactly, the failure this repository names in its own rules: a document stating a rule about the mesh must say how the rule is checked. This one stated a mechanism and nobody checked it — including in the same commit that wrote the rule.

Open questions

  • Where would the indexing run? The operational memory is written through a mesh capability; is this a periodic sync of a repository into it, or a search surface that reads the repository directly?
  • Which store — the flat symptom-indexed memory, the structured archive, or both? They have different lifecycles (03-DESIGN/00-as-is/07-knowledge.md), and this content is governed rather than incidental.
  • Public repository, private mesh: the sync direction must not become a path for mesh-specific content to arrive into these documents.

Added 2026-08-23. Rather than syncing these documents into the knowledge base, Nox (ADR 0019) works from within this repository and holds its knowledge directly. Retrieval becomes an agent reading the source, not a copy living in a second store.

This is a better answer than the one the README originally promised, on three counts:

  • No sync, so no drift. The failure mode of a derived copy — the enforced copy winning while the reasoned one quietly stops being true — cannot occur when there is no copy.
  • It dissolves the original objection properly. The argument against a separate repository was that it adds a fourth knowledge system. An agent with read access adds no store at all.
  • It is always current, including for uncommitted work in progress.

But it changes the promise, and that is worth stating rather than glossing. ADR 0019's answer was that these documents would be returned beside everything else in a symptom search. An agent that must be asked is reachable; it is not surfacing. The two differ in exactly the case the operational memory is designed for: someone debugging an error who has no reason to think HQ knows anything about it.

So the open question narrows to one thing:

When a symptom is searched and the answer happens to live in a design document or a decision record here, does the searcher find it without already suspecting it exists?

If Nox is the only path, the answer is no, and the reasoning in ADR 0019 needs amending rather than satisfying. If Nox also contributes what it knows to a symptom search — or the search consults Nox — the answer is yes and the original promise holds.

That is a design question for Nox, not a defect in this repository, and it should be settled before ADR 0019 is treated as answered.

Where this stands

2026-08-31. Re-checked, and deliberately not closed.

The indexing still does not exist. Two searches today, against both the symptom-indexed memory and the structured archive, using a decision record's full title and a distinctive phrase from a design document: no results, no partial match, no stale copy. The symptom in this report is unchanged.

But the part that made it an issue is gone. This report's argument was that the claim was load-bearing — that a decision rested on a mechanism nobody had checked. It no longer rests on it. The README now names the gap in the place the claim used to sit, and says it is left standing rather than quietly reworded. The decision record that separates this repository does not invoke indexing at all; its reasoning is cadence, reviewers, and scope, none of which depend on it.

So what remains is not a false claim. It is an unbuilt capability and an open design question, and those are different things.

What was done

A signpost, in the knowledge base, pointing here — what lives in this repository, which folders hold what, and when to come looking rather than search there. Explicitly a pointer and not a copy: a derived copy drifts, and the enforced copy wins while the reasoned one quietly stops being true.

It was tested, and it half works. A search for design records, decisions, repository returns it. A search phrased the way somebody would actually ask — why is the mesh built this way — returns nothing, because the store matches terms rather than meaning.

That is this report's own distinction, confirmed by measurement rather than argued: a signpost is reachable, it is not surfacing. Someone who suspects the answer exists will now find it. Someone debugging an error, with no reason to think this repository knows anything about their symptom, still will not.

Why it stays open

The question this report narrows to is unchanged and unanswered:

When a symptom is searched and the answer happens to live in a design document or a decision record here, does the searcher find it without already suspecting it exists?

Today: no. Closing this means choosing between a one-way sync into the knowledge base and an agent that reads this repository and contributes to a symptom search — and that is a decision about how the knowledge system works, not a defect to be fixed quietly.

Marking it resolved while the indexing does not exist would be the failure this repository was created to name, one folder away from where it names it.

The direction is decided

2026-08-31. The agent reads this repository; nothing is copied. Recorded as ADR 0025, which also amends what ADR 0019 promised: these documents will not be indexed, they will be read, and the search consults the agent so its answers appear beside ordinary results.

A sync was the option that works with what exists today, and it was rejected on the one ground this repository can least afford: it makes a second copy, and the copy that is searched quietly stops matching the copy that is edited.

So the open question above is answered, and this report stays open on the build. What closes it is the check ADR 0025 names — search the mesh's memory for a phrase that appears only in a design document here, and get it back. That check fails today by design.

What stands until then is the signpost, and the honest description of it: reachable, not surfacing.