The record is prose wrapped at a hundred columns; matched line by line, the first live search for a sentence of ADR 0025 found nothing. A line is matched together with the next, emphasis marks are ignored, and a hit still names the line it starts on.
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.