Repository navigation
Integrate shell decoding and assigned-scratch enforcement - #3836
Merged
Merged
Conversation
…ation/shell-storage-20261101
…ation/shell-storage-20261101
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
debt-tools at 37196fb, every finding: |
|
debt-src at 37196fb, every finding: |
This was referenced Nov 1, 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.
Summary
Two conflict-free integration merges, 9 files, +991/-205. Combines #3831 and #3835 on main e26a189; no new implementation or policy layer.
in_projectis deleted.Before / after
Redirect capabilities distinguish optional numeric IO prefixes from combined-output redirection. The shared shell decoder supplies parsed commands to storage and hooks; there is no spelling exemption or second scanner. AdminMerge and ApiMerge retain their distinct existing
owes_verdictcontracts rather than the stale test demanding one uniform answer.Storage previously exempted owned scratch only from
in_project, then independently let an enclosing Git root prohibit it. The scratch allocation is now decided once before source-allocation checks. Nested repositories, foreign scratch,.artifacts, and symlink-back source restrictions remain protected.Evidence and limits
Original #3831 integration at 2c8a6d5 is retained unchanged: 152 passed, 2 failed, 154 passing subtests, 17.06s, rc1. Source tracing established one stale admin/API assertion and one real scratch/source classification defect; it did not establish a production merge-hook bypass.
Shell's correction retains 188 unchanged production-function ASTs. The prior source review of d148 and byte-equivalent2c remains scoped to that decoder implementation. Storage's retained NRA map covers6 modules/112classes/2238sites with0parse omissions.
The combined affected selection at66b96aeec07b600fb2331800ab2daad672a99d90 completed 8passed/4.76s/rc0 under TestLease and INT300. It covers four storage cases (enclosing project/Git admission, nested source refusal and retained negative checks), API exact-head recorded-OK behavior, pinned-admin actor behavior(two cases), and missing-pin refusal. Both production module origins and byte equality with the source PRs were asserted before collection. The Git-nested basetemp deliberately retains the original enclosing-source condition.
The hook cases execute the resident session/PreToolUse path with controlled forge responses, not an actual external merge. Storage cases exercise the projection owner directly; broad native/mobile/physical acceptance is not inferred. No full-suite/local NRA gate, native/provider/frontend launch or original-input replay.
Logs:
/home/ts/.cache/agent-scratch/pi-commander/heartbeat-publication/shell-storage-combined-2.logand.rc. Original failed roots/logs remain immutable. Core3825's separate runtime/proof failures do not belong to this pair. Installation and live acceptance are still separate obligations.Assumed: stable filesystem during one preflight. Live-main edits, protected-client signals, service-wire changes and data carries are outside this integration.