Repo docs generated from source, fingerprinted for drift
Every repo needs an accurate map of its own agents, modules, tools, and wiring. Amplifier's DOT-as-Docs system generates that map FROM the repo itself instead of maintaining it by hand.
First question: is this real, or a slideware idea?
The bundle_docs package is 1,524 lines across 5 modules, covered by 35 unit tests, with source-hashed bundle.dot files already checked into three canonical Amplifier repos.
So generation works. But generating once isn't the hard part.
A generated diagram is only useful if you can tell, weeks later, that it hasn't quietly gone stale. Otherwise generated docs drift exactly like hand-written ones.
So the system has to derive the docs from source — and make staleness checkable.
It reads each file's YAML frontmatter and @mention wiring — extract_mentions() and extract_delegation_targets() — and emits one structured DOT overview built entirely from source-of-truth.
That gives an accurate map. Next: how do you fingerprint it?
bundle_to_dot.py computes hashlib.sha256 over the diagram body (L608) and writes source_hash="..." right into the generated DOT (L628) — the repo's structure becomes a single checkable value.
Now compare that fingerprint over time.
foundation bundle.dot:
source_hash="4e75ed198c47f3216995c14b089832295baab45549d7067fc1a6d5701ba5a6a2"
generate-bundle-docs (v3.0.0) recomputes the source_hash and diffs it against the existing bundle.dot: identical means no drift, so it skips; different means the structure changed, so the docs regenerate.
The embedded hash is now an on-demand drift signal.
test_source_hash_deterministic asserts the same input always produces the same hash (hashes1 == hashes2). Because the fingerprint is proven deterministic, drift is detectable by comparison — not by someone remembering to look.
Freshness stops being trust and becomes a diff.
The pattern generalizes past documentation: derive the artifact from its source-of-truth, hash the result deterministically, and compare. Staleness becomes a value you can check — not a habit you hope people keep.
Docs as a function of source: re-derivable, diffable, honest.
Status: Shipped & tested in amplifier-foundation
Data as of: February 20, 2026. Development landed 2026-04-01 to 2026-04-03 (PRs #145, #146, #149), all by Brian Krabach — sole author of all 6 commits on the bundle_docs code path.
Research performed:
wc -l amplifier_foundation/bundle_docs/*.py → 1,524 lines across 5 modules.grep -n 'hashlib\|source_hash\|sha256\|def bundle_repo_dot' bundle_to_dot.py → L18 / L66 / L608 / L628.head -20 bundle.dot → source_hash="4e75ed19...ba5a6a2".sed -n '1,80p' recipes/generate-bundle-docs.yaml → v3.0.0 hash-compare / needs_regen.grep -c 'def test_' tests/test_bundle_to_dot.py → 35; determinism at L171-182.grep -rl 'source_hash=' --include='*.dot' → 3 canonical repos.git log --format='%H|%an|%ad' -- bundle_docs/ generate-bundle-docs.yaml.Gaps / not claimed: There is NO cron/CI job that regenerates or verifies docs (only ci.yml runs pytest). No "24h correction" SLA, no per-commit verification, and no "zero human hours" or "83 sections / 34 repos" metric exists in the repos — those slogans were investigated and could not be verified, so they are not asserted here.
Primary contributor: Brian Krabach (6 of 6 commits, 100%, 2026-04-01..03).