Skip to content

[Spec 1470] Post-merge porch records and verify-phase documentation - #1533

Merged
waleedkadous merged 5 commits into
mainfrom
records/1470-porch-records
Aug 22, 2026
Merged

[Spec 1470] Post-merge porch records and verify-phase documentation#1533
waleedkadous merged 5 commits into
mainfrom
records/1470-porch-records

Conversation

@waleedkadous

Copy link
Copy Markdown
Contributor

Post-merge records for Spec 1470. Documentation and porch state only — no code.

PR #1528 merged the feature; these five commits were written after that merge, so they could only
ever land on the builder branch. Shipping them separately is the standard remedy for stranded porch
records.

What is here

Commit Why it was stranded
chore(porch): 1470 PR #1528 merged porch done --merged 1528 writes status.yaml after the merge, by definition
chore(porch): 1470 review build-complete the review phase's checks ran post-merge
review-consult deviation + architect ruling written during the verify phase
parked-state banner + thread FINAL written during the verify phase
backtick near-miss (#1532) written during the verify phase

Please read the banner at the top of the review artifact

status.yaml says phase: review, iteration: 1. That is parked, not abandoned, and it is
deliberate.

SPIR's review phase requires a pr-type consultation. consult cannot resolve a merged PR — by
branch or by --issue, four runs across both models, all exit 1 — and porch has no command that
records an unrunnable consultation (verify --skip is scoped to the verify phase and refuses in
review; the force-advance ceiling counts iterations that only advance on completed verdict rounds).
So the phase can neither complete nor escape. Both halves are #1531.

The architect ruled the consultation satisfied by the project's 24 completed review rounds. That
ruling is recorded in the review artifact, not in status.yaml
— which continues to record only
what mechanically happened. No verdict files were hand-written, no pass faked, and no rollback used
to manufacture a tidier history.

Also recorded here

Merge with --merge, not squash.

(cherry picked from commit 7236cc1)
…ct ruling

SPIR's review phase emits a pr-type consultation, and consult cannot resolve a
merged PR by branch or by --issue (four runs, both models, all exit 1). Filed
as #1531. Architect ruled the consultation satisfied by the project's 24
completed rounds: the diff it would examine was already consulted pre-merge,
so a post-merge re-review adds no information, and blocking a finished project
on a lookup bug is disproportionate.

Recorded as a ruling with its reasoning rather than as if the consult had run.
No verdict files were hand-written — a false entry in status.yaml outlives
every memory of why it was convenient.

Also records the harness lesson: I reported that consult 'exits 0 and writes
empty files' when it exits 1 and writes nothing, having read absence-of-file
as empty-file through my own sed pipeline. It reached a public issue with a
fix direction for an exit code that was already correct.

(cherry picked from commit d02ef191ead5eebd0faf91876d4f17aa693189d8)
Porch reads review/iteration 1 because SPIR's review phase needs a pr-type
consultation that cannot run against a merged PR, and porch has no command to
record an unrunnable consultation (#1531, both halves). A banner at the top of
the review and a FINAL thread entry say so plainly, so no future reader
mistakes a parked phase for an abandoned project.

The architect's ruling that the 24 completed rounds satisfy the consultation
lives in the artifact; status.yaml records only what mechanically happened.

(cherry picked from commit 17071bf3694cb8d84bd7b0e57478d9bf72522359)
Command names written in backticks inside a double-quoted bash string were
substituted by the shell, so porch rollback and porch verify actually ran.
Both died on argument errors and no state changed — verified immediately —
but a valid 'porch rollback 1470 implement' would have rewound the project.

Same category as git add . and git reset --hard: an ordinary convenience with
an unguarded path to something irreversible. This one hides inside writing
prose ABOUT dangerous commands, which is when they are most likely to be
typed. Build message bodies with a quoted heredoc and pass the variable.
@waleedkadous
waleedkadous merged commit c2d13b8 into main Aug 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant