Parent / control context
Goal
Add a low-noise doc-entrypoint freshness check to the existing maintenance sweep system so stale README / onboarding / entry-chain drift is detected without Marcus needing to ask.
Problem
The current sweep suite can detect broad hygiene/drift, but it does not explicitly guard the first-reader entrypoint. README.md can become stale while deeper docs remain updated.
This should be a detector and issue creator, not an auto-editor.
Scope
Extend either inventory-hygiene-sweep or deep-audit-sweep with a named doc-entrypoint check.
Check these surfaces at minimum:
README.md
docs/INDEX.md
docs/11_admin/LIFEOS_STATE.md
docs/LifeOS_Strategic_Corpus.md
config/docs/authority_registry.yaml
- optional onboarding manual if created by the baseline issue
Drift signals to detect
- README current-status text contradicts
LIFEOS_STATE.md.
- README does not link to
docs/INDEX.md and current-state docs.
- Entry chain omits the current canonical target architecture doc.
- Entry chain omits agent guidance for new AI operators.
- README/wiki/corpus presents derived material as canonical authority.
- Authority manifest classifies an entrypoint surface differently than the README implies.
- Entry surfaces have not changed while canonical state/architecture docs changed materially.
Required sweep behavior
- Read-only: do not edit docs.
- If drift is found, open or update one deduped GitHub issue, not one issue per file.
- Use sweep_lib fingerprint/upsert semantics.
- Target issue repo:
marcusglee11/lifeos-operational-bus unless implementation chooses to route doc-code issues to marcusglee11/LifeOS with a clear reason.
- Suggested fingerprint target/check:
target=lifeos-doc-entrypoint
check_id=readme-entrypoint-freshness
- Labels should be existing sweep/documentation labels only; do not use dispatch-triggering lane labels.
- Keep Telegram quiet unless severity is warning+ and new/unlinked.
Non-goals
- Do not auto-edit README or docs.
- Do not close issues automatically.
- Do not treat wiki/corpus as authority.
- Do not inspect the cron scheduler as the source of sweep health.
- Do not create duplicate issues every run.
Acceptance criteria
- Sweep logic can identify the known stale-README class after synthetic fixture or controlled test input.
- Drift finding creates/updates one deduped issue with evidence and next action.
- Clean state produces no issue spam and no noisy Telegram output.
- Sweep prompt/config records the new check explicitly.
- sweep_lib receipt/finding state matches reported output.
- Registry/labels remain consistent with live GitHub labels.
Suggested validation
python3 ~/.hermes/sweep/scripts/dry_run_test.py
python3 ~/.hermes/sweep/scripts/validate_registry_labels.py --json
# plus a focused synthetic fixture test for README-vs-LIFEOS_STATE mismatch
Parent / control context
Goal
Add a low-noise doc-entrypoint freshness check to the existing maintenance sweep system so stale README / onboarding / entry-chain drift is detected without Marcus needing to ask.
Problem
The current sweep suite can detect broad hygiene/drift, but it does not explicitly guard the first-reader entrypoint.
README.mdcan become stale while deeper docs remain updated.This should be a detector and issue creator, not an auto-editor.
Scope
Extend either
inventory-hygiene-sweepordeep-audit-sweepwith a named doc-entrypoint check.Check these surfaces at minimum:
README.mddocs/INDEX.mddocs/11_admin/LIFEOS_STATE.mddocs/LifeOS_Strategic_Corpus.mdconfig/docs/authority_registry.yamlDrift signals to detect
LIFEOS_STATE.md.docs/INDEX.mdand current-state docs.Required sweep behavior
marcusglee11/lifeos-operational-busunless implementation chooses to route doc-code issues tomarcusglee11/LifeOSwith a clear reason.target=lifeos-doc-entrypointcheck_id=readme-entrypoint-freshnessNon-goals
Acceptance criteria
Suggested validation