Skip to content

Add doc-entrypoint freshness check to maintenance sweeps #125

Description

@marcusglee11

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestops

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions