[DIC-22] repair-spec CLI — DecaySignal → RepairSpec (#6033)#8715
Draft
an0mium wants to merge 3 commits into
Draft
[DIC-22] repair-spec CLI — DecaySignal → RepairSpec (#6033)#8715an0mium wants to merge 3 commits into
an0mium wants to merge 3 commits into
Conversation
Adds `aragora repair-spec` command: reads a DecaySignal JSON file (from `aragora decay-monitor --json`) and emits a RepairSpec via `aragora.epistemic.repair.propose_repair`. Flag-gated default OFF; live_swap repair_kind unconditionally blocked. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RLKW3SR8hQJQGU98MpUw2o
Drops 2 type: ignore annotations (702 -> 700) by replacing defensive suppression with proper TYPE_CHECKING guard + cast(RepairKind, ...). Compacts _add_repair_spec_parser() in parser.py from 29 -> 15 lines to stay within the 5400-LOC ratchet (was 5408). Tests unchanged (20/20). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RLKW3SR8hQJQGU98MpUw2o
Ruff expanded compact add_argument calls to multi-line form. parser.py lands at 5399 LOC (limit 5400); type:ignore stays at 700. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RLKW3SR8hQJQGU98MpUw2o
This was referenced Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Slice
Adds the
aragora repair-specCLI subcommand — the operator surface for DIC-22 (verified replacement pipeline, issue #6033). Reads aDecaySignalJSON file (produced byaragora decay-monitor --json signals[]) and emits a boundedRepairSpecviaaragora.epistemic.repair.propose_repair.Every other DIC-20/21 item already has a CLI command; DIC-22 was the only one in the 20–22 range missing an operator surface despite having a complete Python implementation (
aragora/epistemic/repair.py) already on main.Files changed (3, net +399 LOC — no deletions):
aragora/cli/commands/dic22_repair.py— new CLI command implementation (120 lines)aragora/cli/parser.py— registers_add_repair_spec_parser()with# DIC-22 / #6033(+34 lines)tests/cli/test_dic22_repair.py— 20 hermetic tests (245 lines)Gating
ARAGORA_REPAIR_PIPELINE_ENABLED(default OFF; same flag as the existingrepair.pymodule)live_swaprepair_kind is permanently blocked (enforced both bypropose_repair()insiderepair.pyand by an early guard in the CLI)vision-layerlabel only; notboss-readyorautonomousTests
Run locally with:
ARAGORA_REPAIR_PIPELINE_ENABLED=1 uv run --extra test pytest tests/cli/test_dic22_repair.py --noconftest -vValidation
uv run --extra test pytest tests/cli/test_dic22_repair.py --noconftest— 20 passeduv run --extra test ruff check aragora/cli/commands/dic22_repair.py tests/cli/test_dic22_repair.py aragora/cli/parser.py— cleanuv run --extra test mypy aragora/cli/commands/dic22_repair.py tests/cli/test_dic22_repair.py— cleanOut of scope
dic-23-dialectical-loop-cli)boss-readypromotion (blocked until proof-first Foreman gate opens)Generated by Claude Code