Repository navigation
automation: hypatia ruleset + gitbots should be able to fan-out doc + 6a2 + contractile refreshes themselves #348
Description
Origin
2026-06-02 wave: Claude orchestrated 25+ PRs across echidna+echidnabot+gitbot-fleet+hyperpolymath doing doc maxout, 6a2 STATE refreshes, contractile family completion (~1500 LoC across both repos), saturation+typing wiring, training run, license reconciliation, branch + /tmp cleanup, and assorted bug fixes (JSON dep, CUDA.version(), shared-context edition).
The doc/6a2/contractile work in particular was mechanical-but-large: each repo needed:
- README + EXPLAINME currency sweep (catch stale claims, link to recent PRs, drop sunset-era figures)
- .machine_readable/6a2/STATE.a2ml last-updated + session-summary refresh
- contractiles/{must,adjust,trust,bust,dust}/* fill-in (rsr-template-repo skeletons → repo-specific content with error codes + recovery cross-references)
Each took multiple turns by Claude inline because the agent fan-out kept hitting the 600s stream watchdog on these mid-size tasks.
Ask
Two automation surfaces could absorb this:
1. Hypatia ruleset additions
- R-DOC-STALE: flag EXPLAINME / 6a2 STATE files whose last-touched git timestamp is > 30 days old AND repo has new merged PRs in that window (suggesting drift).
- R-CONTRACTILE-DRIFT: flag contractile sources still containing rsr-template-repo phrases (e.g.
'project-state-contract','config/service.yaml'placeholders) or wrong-repo-context content (e.g.'Burble'in non-Burble repos). - R-6A2-MINIMAL: flag 6a2 STATE.a2ml whose [metadata].version doesn't match Cargo.toml/CHANGELOG/git-tag triplet (R5b style but for 6a2).
2. Gitbot fleet recipe
A scheduled gitbot job ('docbot' or extend rhodibot) that:
- Per repo: runs the 3 R-* rules above; if any fire, opens a PR with a STATE.a2ml + EXPLAINME refresh diff for owner review.
- Owner-confirmable so the PR doesn't auto-merge but the work is done.
Why this matters
Otherwise this pattern repeats every major-wave session: hours of mechanical doc-currency work that AI is fine at but agent timeouts make unreliable. A cheap rule-driven nudge plus a gitbot-prepared PR would dramatically lower the operational cost.
Related
- Today's wave snapshot in [[session_2026_06_01_echidna_echidnabot_day]] (Claude memory)
- echidnabot#77 + chore(a2ml): remove 8 deprecated legacy-Scheme example dups (Item 10) #78 + echidna#214 are the contractile family completion examples to model from
- echidnabot#81 + echidna#215 are the 6a2 STATE refresh examples
Activity
hyperpolymath commentedon Aug 25, 2026
2026-08-25 — none of the three rules exist yet
hypatia-rules/has 9 rule files; none isR-DOC-STALE,R-CONTRACTILE-DRIFTorR-6A2-MINIMAL.Relevant new context: this issue asks for fan-out that the fleet can drive itself. #633 documents why that currently terminates — the detect→dispatch→PR chain is wired and works, but nothing merges the PRs. Adding rules here without #633 child 1 produces more queued PRs, not more applied fixes. Worth sequencing behind it.
Verified 2026-08-25.
hyperpolymath commentedon Aug 27, 2026
Next step (re-verified 2026-08-27):
hypatia@origin/mainhas 58 rule modules and none of the three (no case-insensitive match for R-DOC-STALE / R-CONTRACTILE-DRIFT / R-6A2-MINIMAL or their snake_case forms). Nothing started.→ Three rule modules in
hypatia/lib/rules/with fixtures — the pattern to copy isimplementation_inside_canon.ex+ its test, which is the newest and cleanest. Roughly one module per sitting; the gitbot-fleet docbot recipe is the larger back half. Note for R-6A2-MINIMAL: the 6a2 directory family was renameddescriptiles(2026-06-29) — write the rule against the new name with the old as an alias, or it audits a path that no longer exists.