[DIC-20] transitive-impact-set CLI flag for aragora decay-monitor - #9697
Draft
an0mium wants to merge 2 commits into
Draft
[DIC-20] transitive-impact-set CLI flag for aragora decay-monitor#9697an0mium wants to merge 2 commits into
an0mium wants to merge 2 commits into
Conversation
Extends `aragora decay-monitor` with a `transitive_impact` namespace flag that computes the ProofUnitConstraintGraph impact set for any failing/stale claims across loaded units, surfacing the result in both JSON (`transitive_impact_set`) and text output. Flag: ARAGORA_DECAY_MONITOR_ENABLED (inherited from the existing gate). Live queue effect: none — read-only report path only. Advances: #6031 (DIC-20). Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CxJZcGB1ZBES7HmmtcozyU
This was referenced Aug 2, 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
Exposes the existing
compute_decay_impact_set(withtransitive=True) through thearagora decay-monitorCLI by collecting loadedProofCarryingCodeUnitobjects, building aProofUnitConstraintGraph, and emitting the impacted unit IDs when any claim decay is detected. The result appears under"transitive_impact_set"in JSON output and as a"Transitive impact"section in text output.Gating
transitive_impactflag must be set explicitly in theargparse.Namespace; the underlyingARAGORA_DECAY_MONITOR_ENABLEDenv gate continues to guard the entire commandTests
test_transitive_impact_off_by_default_no_key_in_json— JSON output lackstransitive_impact_setwithout the flagtest_transitive_impact_no_failures_no_key_in_json— flag on but no failing claims → key absent (no false positives)test_transitive_impact_failing_claim_includes_unit_id— failed claim marks its owning unit in the impact settest_transitive_impact_stale_claim_included— stale claims also contribute (same reason classes asevaluate_unit)test_transitive_impact_result_sorted— two units sharing a failing claim both appear; list is deterministically sortedtest_transitive_impact_text_output_contains_header— text path prints the header and unit IDAll 22 tests in
tests/cli/test_dic20_decay_monitor.pypass (6 pre-existing + 6 new transitive-impact tests + the unchanged pyyaml/flag tests).Validation
pytest tests/cli/test_dic20_decay_monitor.py --noconftest— 22 passedruff check aragora/cli/commands/dic20_decay_monitor.py tests/cli/test_dic20_decay_monitor.py— cleanmypy aragora/cli/commands/dic20_decay_monitor.py --ignore-missing-imports— cleanOut of scope
ProofUnitConstraintGraphconstructed withoutdependency_edges, so transitive walk equals single-hop — backward-compatible)--transitive-impactinto the top-level argparse parser (the namespace flag is consumed; argparse registration is a follow-up CLI-parser slice)Generated by Claude Code