Skip to content

Merge-result verification only builds the merged tree, so combined-change test failures land on main - #743

Merged
AdamFrisby merged 6 commits into
mainfrom
codeybox/c597faf1
Oct 13, 2026
Merged

AdamFrisby merged 6 commits into
mainfrom
codeybox/c597faf1

Conversation

@AdamFrisby

Copy link
Copy Markdown
Owner

Automated via CodeyBox — work item c597faf1a2884d92bd3c876f47c870b0

Initiated by CodeyBox operator


Co-Authored-By: CodeyBox noreply@codeybox.invalid
🤖 Generated with CodeyBox

AdamFrisby and others added 6 commits October 13, 2026 10:33
…ibution

Merge-result verification only builds the combined tree, so two green
branches could land a test-red main (StaleCheckpointFreshTurnTests).
This adds the cheaper close: watch every landed merge's forge CI and
attribute audit test failures to a red base, reusing the base-broken
hold/fix-item machinery extended from build to test failures.

- PostMergeCiWatchService: bounded poll of each merge commit's checks;
  red records a test-kind condition (hold) + one top-priority fix item
  naming failing checks and suspect commits. Unknown forges drop.
- BaseBrokenTestClassifier: test-only iteration failures genuinely
  reproducing on the base park under an active/recorded condition via
  BaseTestBrokenException; diff-attributable failures stay item-owned.
- Tracker/store/monitor: FailureKind + failing names, kind-aware clear
  (green build never clears test-red; CI pass does), kind-aware fix
  prompts with sanitized, instruction-scrubbed names.
- Pre-landing affected-test gate deferred with rationale in
  docs/concepts/base-broken.md.

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
The stale check validated the checkpoint against the fork point of the
branch tip and checkpoint source; a merge-base is definitionally an
ancestor of the checkpoint, so the stale branch was unreachable and
rebased/recomposed branches resumed instead of running a fresh turn
(StaleCheckpointFreshTurnTests x2). Check reachability from the raw
work-branch tip and base tip instead, so plain branch advances still
resume (ResumeAfterBranchAdvanced) while rebase/recomposition discards.
The lease refusal now clears the stale Git half before failing so the
row keeps exactly one recovery backing with the lease authoritative.
The test fixture advances the upstream seed repo: the pipeline
refreshes the bare base from upstream on entry, which reverted the old
bare-only base advance before the resume ran.

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
…usal

The audit's failing asserts (StaleCheckpointFreshTurnTests lines 107/200)
match the test file as of fe4ed3a, before 5dcab34a fixed stale detection
(raw work-branch/base-tip reachability) and the lease-refusal row shape.
Verified at HEAD: both stale tests plus ResumeAfterBranchAdvanced pass in
Release, repeatedly, and with the 934-test checkpoint/resume family; the
orchestrator build is warnings-clean. This adds a Debug staleness record
(work/base tip SHAs, checkpoint ref, outcome) so a future misfire is
triaged from logs, and corrects the operator doc: refusal clears the stale
Git preempt ref while the lease stays the single authoritative backing.

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
PostMergeCiWatchService scheduled SHAs up to 128 hex chars while the record layer truncates/rejects beyond 64, silently naming a different SHA. Removed the divergent private copy and reused the single 7-64 validator.

CodeyBox-Prompt-Revision: 1
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
CodeyBox-WorkItem: c597faf1a2884d92bd3c876f47c870b0
CodeyBox-Agent: copilot/muse-spark-1.3-contributor
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
CodeyBox-WorkItem: c597faf1a2884d92bd3c876f47c870b0
CodeyBox-Agent: copilot/muse-spark-1.3-contributor
Co-Authored-By: CodeyBox <noreply@codeybox.invalid>
@AdamFrisby
AdamFrisby merged commit 5b9d1a7 into main Oct 13, 2026
@AdamFrisby
AdamFrisby deleted the codeybox/c597faf1 branch October 13, 2026 11:22
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