Files
mesh-catalog/modules/records
jschoubben eed5e8958a A definition names no host path for its own data
Twenty-eight modules' data directories are placed: the root as place ".", a sub-directory named by
its id, and every host-side reference — binds, secrets, own secrets, grants, receives, file paths,
mounts, env-files — as ${dir:<id>}. Resolved on the default root every path is the one the manifest
named before, which the controller's TestPlacedDirectoriesKeepTheirPaths proves over both checkouts;
so no data moves and no machine sees a change. Five directories whose id is not their last segment
keep their path as a placement (novox/hq issue 119, ADR 0112, design 27).
2026-09-30 21:10:18 +02:00
..

records

The record, read where it is written (novox/hq ADR 0025, ADR 0153).

A module that keeps a checkout of a repository of decisions, designs and issues — the mesh's own hq, or any repository of markdown on the forge — and answers questions about it over the bus, so whoever holds the console sees records_search beside every other tool and a symptom can be looked up in the design record without knowing it is there.

A checkout, not a copy. The same bytes the repository holds, at a commit every answer names, brought up to date on every merge the forge announces (gitea.pull.merged) and every ten minutes besides. Nothing is indexed, transformed or summarised, so nothing can drift from the source except by lagging behind it, and the lag is in records_status.

Tools

tool answers
records_search {query, limit?} where a phrase appears, as written: document, line, nearest heading, and the commit read
records_read {path} one document, whole
records_list {folder?} what a folder holds
records_status repository, forge, commit and its date, last sync, document count, last error
records_sync bring the checkout up to date now

Configuring it

The module names no mesh (ADR 0112). It requires the git provision — the forge — and reads the repository its settings name:

settings set records repository.json      # {"repository": "<owner>/<name>"}

Public repositories only: it asks for no credential. Until a repository is set, it serves no tools and says so in its log.

The check ADR 0025 names

Search the mesh, through the console, for a phrase that appears only in one design document here, and get it back. records_search {"query": "…"} is that search; its test does the same against a repository it makes.