○zaručeno
Výkonpokročilýmaintainerreviewerzapisuje stav
Refaktoring zpomalil doctor a nikdo to neměřil; horká cesta ve spustitelném souboru přestavuje index při každém požadavku a jediným důkazem je pocit, že volání MCP zpomalila. Tvrzení o výkonu existují v README a nikde jinde.
bench: změří každý veřejný příkaz shellového nástroje, za studena i za tepla, po zahřívacích bězích, a zapíše dokument s výsledkem pod lokální polovinu; --check odmítne regresi větší než zlomky, které politika deklaruje
doctor: hlásí svůj vlastní čas proti rozpočtu v politice, jako varování jmenující klíč, nikdy jako exit kód
setup: installed-wired
given:
- 'installed and wired, nothing measured yet'
steps:
- id: the-targets
run: ['bench', '--list']
note: 'every public command of the registry is a target; nothing is listed by hand'
expect:
exit: 0
stdout_contains: ['^doctor +read-only', '^start +state-mutating']
- id: measure-one
run: ['bench', 'version', '--samples', '1', '--warmup', '0', '--mode', 'cold', '--no-save']
note: 'one cold run, not saved'
expect:
exit: 0
stdout_contains: ['^version +cold +ok +1 ']
- id: within-budget
run: ['doctor']
note: 'doctor reports its own wall time against the policy budget'
expect:
exit: 0
stdout_contains: ['budget', 'doctor: 0 failure']
then:
- 'a latency figure comes from a recorded run, never from prose'
Každá externě volatelná operace je cíl měření výkonu odvozený z registru, přímo i přes každý transport, na kterém je vystavena, s tabulkou pokrytí, o jejíž úplnosti rozhoduje CI. Stovky požadavků MCP nebo HTTP nic nebuildují znovu a čítače to dokazují. Horké cesty spustitelného souboru nesou měření criterion, která se buildují při každém pushi, a prahy a rozpočty jsou politika, měřená a měněná během běhu.
Scénář
Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí installed-wired, při každém generování tohoto webu. To, co následuje, není popis toho, co by se mělo stát; je to to, co se stalo.
dáno
- ·nainstalováno a zapojeno, zatím nic neměřeno
kdy
- 1
majordomus bench --list - 2
majordomus bench version --samples 1 --warmup 0 --mode cold --no-save - 3
majordomus doctor
pak
- ·údaj o latenci pochází ze zaznamenaného běhu, nikdy z prózy
Co nástroj udělal
Důkaz běhu, z něhož byla tato stránka vygenerována: pass, 3 kroky. Výstup je normalizován: cesta k repozitáři, časová razítka, id a doby trvání jsou zástupné hodnoty; nic dalšího se neupravuje.
Testováno v test/cases/94_use_cases.sh, který spouští každý scénář a odmítne krok, jehož zaznamenaný výstup není tím, co vyprodukoval.
-
každý veřejný příkaz registru je cílem; nic se neuvádí ručně
command class scenario
init generated-output-mutating fixture fresh
update generated-output-mutating fixture first-run
doctor read-only fixture not-wired
watch read-only fixture clean
start state-mutating fixture begins
context read-only fixture with-task
checkpoint state-mutating fixture records
handover state-mutating fixture writes
check read-only fixture consistent
finish state-mutating fixture all-unmet
history read-only fixture reads
decision state-mutating fixture records
question state-mutating fixture opens
prompt read-only fixture lists
evidence state-mutating fixture records
skills read-only fixture lists
capture generated-output-mutating fixture unconfigured
search read-only fixture matches
doctrine read-only fixture status
plan state-mutating fixture validate
version read-only fixture prints
session state-mutating fixture opens
knowledge state-mutating fixture sources
adr state-mutating fixture lists
usecase state-mutating fixture lists-none
rules generated-output-mutating fixture lists
migrate generated-output-mutating fixture plans
recover state-mutating fixture check
archive generated-output-mutating fixture profiles
- exit 0
- stdout_contains /^doctor +read-only/
- stdout_contains /^start +state-mutating/
-
jeden studený běh, neuložen
command mode status n p50 p95 p99 max scenario
version cold ok 1 <ms> <ms> <ms> <ms> fixture prints
slowest by warm p95 (cold where warm does not apply):
version p95 <n> ms
- exit 0
- stdout_contains /^version +cold +ok +1 /
-
doctor hlásí vlastní reálný čas proti rozpočtu politiky
OK knowledge graph — buildable here: 98 node(s), 58 edge(s), compiled into a temporary file and removed; no stored index to go stale
OK knowledge records — 0 record(s) valid against knowledge/v1; every reference resolves [reproduce: majordomus knowledge check]
OK knowledge candidates — 0 await review, cap 40
OK layout .ai/manifest.yaml — schema ai-repository/v1
OK layout .ai/repo/scope.yaml — version 1; 14 in pathspec(s); every key is one the schema declares
OK layout .ai/local/ — ignored, and nothing under it is tracked
OK layout .ai/ — every section the manifest names exists; the layer is readable without the tool
OK layout .ai/repo/prompts — present
OK layout .ai/local/state/handovers — present, 0 record(s)
OK layout .ai/local/state/checkpoints — present, 0 record(s)
OK records ledger.jsonl — every line is a well-formed event
OK policy 39 key(s) — every policy value the code reads is declared, with no reader-side default
OK bootstrap 3 projection(s) — each points at .ai/README.md, carries no rule of its own and names only rules in force
OK catalogue 0 use case(s), 0 application(s) — every command, doctrine, claim, responsibility, category, setup and cross-reference resolves, both directions
OK context .ai/ — 19 context document(s) carry the contract; ids unique, references resolve, no final document superseded, no cycle [reproduce: majordomus context validate]
OK policy .ai/repo/policy.yaml — parsed, version 1
OK profiles 4 files — parsed; default 'implementation' exists
INFO adr .ai/repo/adrs/ — no decisions; nothing to validate
OK records decisions.md — every entry is attributable
INFO project .ai/repo/project — no canonical project model here; nothing to validate
OK command surface — 30 public command(s), reconciled against the dispatch table [reproduce: majordomus doctor]
OK doctrine 50 of 61 rule(s) carry a validator — validator, dispatch, propagation, test and CI resolve for every one of the 50; the remaining 11 declare no validator and this check does not examine them
OK wiring doctor-on-commit — wired via .githooks/pre-commit
OK wiring finish-on-push — wired via .githooks/pre-push
OK command coverage — every public command is exercised and refuted [reproduce: bash test/run.sh 31_command_coverage]
OK resolver handovers — no record for this worktree and branch (absence, not a stale match) [reproduce: majordomus handover --resolve]
OK lifecycle activity — 0 episode(s) opened here; too few to judge whether the writers stopped
OK knowledge wiring — the close path and the compaction adapter call the deriver
OK knowledge deriver — no episode has closed here; nothing to judge
INFO project .ai/repo/project — no canonical project model here; nothing to validate
OK projection AGENTS.md — content matches its stamp
OK projection CLAUDE.md — content matches its stamp
OK projection GEMINI.md — content matches its stamp
OK budget AGENTS.md — 42 lines, budget 150
OK links AGENTS.md — all references resolve
OK counts AGENTS.md — no hardcoded counts
OK context builder — 21 lines, budget 300 [reproduce: majordomus context]
OK capture share/schemas/majordomus/capture/capture.v1 — 2 file(s) describe majordomus.capture/v1 at the path the identifier derives: the record as JSON Schema, the document as protobuf
OK capture .ai/local/prompts — ignored and untracked
OK capture .ai/local/prompts — no records yet; the archive is empty
OK capture .ai/local/prompts — every prompt is present as all three: the record, the Markdown and the YAML
OK prompts .ai/local/prompts — the archive and every record in it are readable by their owner only
OK prompts .ai/local/prompts — no records yet; the archive is empty
OK prompt 4 asset(s) — front matter valid, every token known
OK records open-questions.md — every entry parses
OK retention ledger — 1 lines, cap 5000
OK retention handovers — 0 files, cap 200
OK retention checkpoints — 0 files, cap 500
OK retention sessions — 0 records, cap 500
INFO project .ai/repo/project — no canonical project model here; nothing to validate
OK rules .ai/repo/rules/vendor/majordomus — every file matches the manifest (1 (1.0.0-alpha.4))
OK rules 61 rule(s) — resolve in one deterministic order; vendored baseline plus project rules, no override — 51 carry a validator, 10 are normative text this tool does not check
OK rules blocking — all 44 blocking rule(s) carry a validator
OK schema rules — 61 rule(s) resolve in one order: the vendored baseline in manifest order, then the project's, as a dependency graph
OK schema share/kinds.yaml — 36 kind(s); every one that carries metadata declares a schema
OK schema share/schemas — 53 schema(s), each valid JSON and each applied — by a kind, through an allow-list the tool reads, by a validator that names it, or as a generated document's contract (15)
OK records 0 record(s) — every changed_files names work, not generated or local state
OK session .ai/local/session-contexts — ignored and untracked
OK session .ai/local/session-contexts — no working contexts yet; the store is empty
INFO skill .ai/repo/skills/ — no skills; nothing to validate
INFO use-case 30 advisory gap(s) — not covered by an active use case, and the policy does not require it: command:init command:update command:doctor command:watch command:start command:context command:checkpoint command:handover command:check command:finish command:history command:decision command:question command:prompt command:evidence command:skills command:capture command:search command:doctrine command:plan command:version command:session command:knowledge command:adr command:usecase command:rules command:migrate command:recover command:bench command:archive [reproduce: majordomus usecase coverage]
OK use-case 0 of 30 target(s) covered — every public command the policy requires is named and run by an active use case (policy use_cases.coverage)
INFO env - — bash <version>, git <version>, jq <version>, shellcheck present
WARN clone unpushed — commits on no remote: main(2) — work on one disk is invisible to every other session and cannot be integrated [reproduce: git push -u origin <branch>]
OK clone uncommitted — no linked worktree, so no uncommitted work can sit in one
INFO clone trunk — no remote-tracking branch, so this checkout's distance from the remote trunk cannot be measured
· reasoning <decided by the advisors and the executable of the recording machine>
· budget doctor — <timed against the policy budget>
doctor: 0 failure(s)
- exit 0
- stdout_contains /budget/
- stdout_contains /doctor: 0 failure/
Proč to nástroj ví
Řetězec od této stránky ke kódu: případ užití jmenuje příkazy, pravidla a tvrzení; každé pravidlo se dispatchuje z registru a každé tvrzení jmenuje test, který ho dokazuje; scénář výše provedl příkazy. Nic v tomto řetězci není text o záměru.
Pravidla, díky nimž platí
- ✕blokující Integrita ověřeníDokončení vyžaduje ověřovací příkaz, který skutečně běžel a skončil s kódem 0 nad stromem, který se pod ním nezměnil; jeho návratový kód, doba trvání a strom se zaznamenávají.
- ✕blokující Zapojení vynucováníKaždé vynucování, které politika deklaruje, vyvolá hook, který jmenuje, ze souboru, který dispatcher skutečně spustí, bez spolknutí návratového kódu.
- ✕blokující Úplnost politikyKaždá hodnota politiky, kterou kód čte, je deklarována v kostrové politice a žádný čtenář nenese vlastní výchozí hodnotu.
Uplatněné záruky
- ○zaručeno Každá kontrola, kterou musí Rust executable projít, je jeden skript, scripts/rust-check, a CI tento skript spouští při každé změně, která může dosáhnout crate
- ○zaručeno Cesty spustitelného souboru v Rustu, které rostou s repozitářem, nesou criterion měření, která se sestaví při každém pushi, a každá spustitelná schopnost deklaruje svou politiku měření výkonu, vyžadovanou nebo prominutou z typovaného důvodu
- ○zaručeno Každá zvenčí volatelná operace spustitelného souboru v Rustu je cílem měření výkonu se jmenovatelem generovaným z registru a chybějící případ shodí strukturální kontrolu
- ○zaručeno Po startu žádný požadavek MCP ani HTTP spustitelného souboru v Rustu neprohledává repozitář, nebuduje index ani registr, neodvozuje schéma ani nebuduje projekci a perf.counters to dokazuje
Související případy užití
Vypočteno z toho, co sdílejí: tvrzení, pravidla, příkazy, kategorie, aplikace. Tento seznam nikdo neudržuje.
- Důvěřujte politice a profilům až po jejich validaciProkažte, že se kanonická politika zparsuje a má deklarovaný každý potřebný klíč, že se zparsuje každý profil a výchozí existuje a že to, co politika deklaruje jako vynucené, je to, co skutečně běží.
- Řiďte CI samotným nástrojem s návratovým kódem, který je kontraktSpouštějte kontroly, které spouští CI, čtěte každý nález s příkazem, který jej reprodukuje, a spoléhejte na návratové kódy, z nichž každý znamená jedno: žádný kód neznamená varuj a pokračuj.
- Dokázat, že pravidlo se skutečně vynucuje, a není jen napsanéOdpovědět na "je toto pravidlo skutečné?" příkazem, ne čtením zdroje.
- Převzít repozitář, který už má vlastní pravidlaNainstalujte dozorovou vrstvu do repozitáře s ručně psaným CLAUDE.md tak, aby nástroj nepřevzal vlastnictví souboru, který napsal někdo jiný.
- Určit jako data, co patří do AI kontextuPřečtěte si deklarovanou politiku rozsahu repozitáře, zjistěte, které cesty jsou v indexu a které mimo něj, a nechte ji uplatňovat doctor a index znalostí místo pevně zadaného seznamu.
Okamžiky, na které to odpovídá