Repository navigation
Test the written path of staging reconciliation's failed outcome and update its failure documentation - #243
Merged
Merged
Conversation
#237's tests of the `failed` staging outcome run as dry runs, so none covered a reconciliation that writes. The new test runs one with a recording store. A refused repair of one run is audited and left alone: no upload and no manifest write. The next run is uploaded, written to the manifest, listed again and audited, in that order. The manifest keeps the refused run's entry unchanged and gains exactly one entry. The code is already correct, so the test passes on this branch's base. Changing the per-run error handling to rethrow in a run that writes makes it fail (0 passed, 1 failed). Refs #242 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"Failure meanings and recovery" said a failed publisher workflow means publication didn't complete. Since #237 that holds for releases only. A failed staging workflow either stopped before any run, or printed a report in which every run without a `failed` outcome was reconciled. Every later staging workflow for that country retries the failed runs. Rerunning doesn't correct a refused repair of a published tree. Documentation only, so there is no red step. Refs #242 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#239 merged into main as dec6ed1 with its last fixes (e5367a0, b51b5c5), and #243 merged after it. This branch had taken #239 before those fixes, so the merge conflicted in seven files. The result is main's tree plus this branch's own changes, the diff from #239's head it last merged (ee84664) to this branch's head (2e43079): #239's files take main's final code, and this branch's changes apply without conflicts. git diff origin/main HEAD now shows only this branch's own changes: the same 22 files and changed lines as ee84664..2e43079. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 20, 2026
This branch was successfully deployed
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.
Fixes #242
Summary
Follow-up to #237, from its review after merge. That review found no bugs; this PR fixes two small gaps in #237's record-and-continue change. Nothing that runs in production changes: one commit adds a test, the other changes documentation.
Since #237, staging reconciliation reports a run it can't publish or repair as
failed, reconciles the remaining runs, and then exits with status 1.failedoutcome both run as dry runs. The new test inpublish-calibration-tree-golden.test.tsruns a reconciliation that writes, using a store that records every operation. The newer of two UK staging runs has a manifest entry whose repair is refused. It checks:published;docs/calibration-tree-artifacts.md, "Failure meanings and recovery" said a failed publisher workflow means publication didn't complete. It now separates the two kinds of run:failedoutcome was reconciled. Every later staging workflow for that country retries the failed runs. Rerunning doesn't correct a refused repair of a published tree.Commits
c5b7208publish-calibration-tree-golden.test.ts0428dc0Tests run
Locally at the head (
0428dc0), only the test file this branch changes:publish-calibration-tree-golden.test.ts, 7 passed and 0 failed.bun run lint(the dashboard and package typecheck) is clean. I didn't run the full suites; CI runs them.Deploy order and #239
uk-staging-comparison-baseline) is next in the deploy order. Every merge tomaindeploys production, so merge one PR at a time.docs/calibration-tree-artifacts.mdandfrontend/packages/calibration-tree/src/publish-calibration-tree-golden.test.ts. Compare UK local-area Staging candidates with the local-area release #239 changes neither (gh pr diff 239 --name-only).Environment variables
None. No workflow, deploy script, packaging or configuration changes, and the new test reads no environment variables. It sets nothing beyond what the neighbouring tests in the file already use.
🤖 Generated with Claude Code