Fix strict compact and operator JSON regressions - #2963
Merged
Merged
Conversation
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.
Summary
agent backgroundcompact success actions so nested foreground actions go through the shared compact denylist; MCP missing-input recovery now returns structured compact content instead of a text JSON wall.--operator-jsonimply JSON for agent subcommands that expose it in this dispatch family, coveringaippo,background, plus the same class of drift inmacro/feedback.--basedetail commands while--detail fullkeeps complete file lists and command text.test_check.successful_checkno longer counts as runtime producer evidence.Closeout class: complete
Evidence level: behavior_run
Closes #2959
Closes #2960
Closes #2961
Closes #2962
Debt Removed
Debt removed: background findings no longer hand-roll nested compact policy fields; the local action allowlist now delegates retained values through the shared compact denylist owner. The
--operator-jsondrift was migrated at the agent dispatch family instead of patched only for two issue examples. Planner/preflight compact output no longer dumps full changed-file walls or 5KB commands into compact mode. Runtime trace producer contracts no longer count a constants-only test-check family as runtime coverage.Before/after inventory: background compact leak path 1 -> 0; MCP missing-input text-only recovery path 1 -> 0; agent dispatch
--operator-jsontext-output sibling drift found in aippo/background/macro -> 0 in this dispatch family; compact large-surface command wall 5079/5081 chars -> short--basecommands; runtime trace producer contract constants-only entries 1 -> 0.Compact/default output: compact cards show one usable foreground action/state and exclude claim/source/operator proof fields. Detail/operator output: diagnostics and full file/source lists remain available behind
--detail full,detail=full, or--operator-json.Real Acceptance Evidence
#2959 background compact + MCP recovery
#2960 operator-json means JSON
#2961 compact planner/preflight budget
Baseline reproduced from
origin/mainworktree atcb2c928e:After this patch:
#2962 trace producer contract
Required Recall/MCP/Source Follow-through
agent recall -> agent deepen/open -> opened source anchor hits:
MCP follow-through:
Verification
Notes
--operator-jsonon sibling agent subcommands, fixed here rather than filed as separate noise.