Skip to content

Record the observed merge base in Smart CI receipts - #2832

Merged
Chris0Jeky merged 8 commits into
mainfrom
issue-2508/merge-base-receipt
Sep 9, 2026
Merged

Record the observed merge base in Smart CI receipts#2832
Chris0Jeky merged 8 commits into
mainfrom
issue-2508/merge-base-receipt

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Smart CI accepts a merge ref whose first parent matches the authenticated live base tip after dispatch, but the receipt previously recorded only the dispatch base. The landed verifier therefore could not validate that accepted observation without treating it as a parent mismatch.

Record mergeBaseSha and mergeBaseTipSha from the same accepted merge observation, pass them through the planner and gate receipt, and validate the observed parent against real Git parents in recall. Keep the event head, tree checks, retry bound and expected control-base equality unchanged. Version-1 readers retain the legacy fallback only when both new fields are absent; partial or malformed bindings fail closed.

Refs #2508. The separate stale/retarget topology work in #2562 is unchanged.

Validation at 22b2b2f, based on 0e74214:

  • node --test scripts/ci/smart-ci/*.test.mjs: 157 passed, including CLI roundtrip, schema compatibility and negative bindings.
  • node scripts/ci/smart-ci/action-pins.mjs --check: 156/156 pinned.
  • Bounded actionlint bootstrap tests: 5 passed.
  • node scripts/check-doc-links.mjs: 674 files, 0 broken links.
  • node scripts/check-docs-governance.mjs and git diff --check: passed.

Round 1 independent Terra review: producer/gate SHIP; consumer found one confirmed HIGH cross-attempt merge-base grouping defect. Fixed in0620b9ec: historical attempts may observe different bases while each actual Git parent/tree and final landed base remain checked. Red-first regression failed22/23 before the fix and passed23/23 afterward; CLI roundtrip1/1 and full Smart CI157/157 passed. Scoped fresh Terra fix review SHIP: recall23/23 and CLI roundtrip1/1 passed independently. No additional blocker was found. Connector grouping feedback duplicates the fixed defect; two non-blocking MEDIUM follow-ups (malformed diagnostic receipt schema and no-event local --pr preview) are tracked at #2508 (comment). All three threads were triaged and resolved without another fix round. Required hosted checks and push aging remain pending. Actual actionlint is not locally installed; bootstrap tests do not prove workflow lint. No backend/frontend runtime behavior was changed or re-tested. Canonical STATUS/MASTERPLAN and OUTSTANDING_TASKS.md are unchanged.
Base refresh after #2831: clean merge; all 14 reviewed source files exactly match0620b9ec. Smart CI157/157, doc links674/0, docs governance and diff checks passed again. The base changed only launch copy, so prior producer/consumer/fix reviews remain applicable; required hosted CI and aging apply anew to22b2b2fa.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T14:53:22.496949Z 22b2b2f New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 9, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Round 1 independent review at549366887a8e11230e1b0c57cea0a13fa235d6e3:

  • Producer/resolver/planner/gate authority lens: SHIP, no HIGH/CRITICAL finding; 65/65 focused tests and diff check passed. Exact event head/control base, same-observation receipt and three-attempt fail-closed behavior preserved.
  • Consumer lens: confirmed HIGH in recall-report.mjs PR-wide grouping. An earlier H1 attempt observes B1, main advances, and final H2 observes/lands on B2. Each attempt independently validates against its actual Git parents, but requiring mergeBaseSha to be identical across all attempts makes the otherwise valid PR unusable. The new test currently expects this incorrect rejection. Fix in the one bounded batch: remove the cross-attempt equality requirement, retain per-attempt Git checks and final-head landed-base equality, and prove historical failed evidence remains present.

Fresh consumer proof and fix validation follow. No merge before exact-head required CI, scoped fix review and push aging. Authority is the repository tier declaration (merge free within those gates); no additional owner-click gate is inferred.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Confirmed blocker proof: the new valid historical H1/B1 + final H2/B2 regression failed against the reviewed grouping (22/23 pass, unusableObservationCount actual1 expected0), then passed after removing only the cross-attempt mergeBaseSha equality (23/23). Per-attempt actual-parent/tree and final landed-base checks remain. The consumer review found no additional direct HIGH/CRITICAL blockers. Its later synthetic grouped execution overlapped the author's fix and therefore is not used as red evidence; the author's preserved red-first log is authoritative. Logs: .tmp/issue-2508/review-fix-red-recall.log and review-fix-green-recall.log, to be preserved outside the checkout before teardown. Fix commit and scoped fresh review follow.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Round 2 scoped fresh Terra fix review: SHIP at0620b9ec3297d2c1b80ccbdca2c488380f5631ce. Recall23/23, CLI roundtrip1/1 and diff check passed independently; per-attempt actual Git parent/tree and final landed binding remain enforced. One confirmed blocker fixed; no additional HIGH/CRITICAL finding.

Completed checkout cleanup: tracked clean, ignored inventory only .tmp. Copied all logs, exit receipts and review diffs to .claude/local/milestone-20260909/preserved-2832/verification-and-review and verified every copied file hash, then removed the owned worktree with plain git worktree remove. Remote branch and commits preserved; primary unchanged.

Hosted observation: Smart CI run34363453732 was cancelled while a second same-head run34363457040 started two seconds later and succeeded (both Plan and Required Gate). The workflow handles synchronize and edited events in one cancel-in-progress group; this is a superseded duplicate, not an unexplained failing test. Required ci-required run34363454720 remains pending and prevents merge. Smart CI Self-Test34363454269 passed at the current head; no claim that base-executed shadow workflow already exercised the new production plumbing.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 549366887a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/ci/smart-ci/recall-report.mjs Outdated
Comment thread scripts/ci/smart-ci/evaluate-gate.mjs
Comment thread scripts/ci/smart-ci/lib/plan.mjs
@Chris0Jeky
Chris0Jeky merged commit 416b5e9 into main Sep 9, 2026
36 of 37 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-2508/merge-base-receipt branch September 9, 2026 15:34
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 9, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Delivered as416b5e9cfdc530b7ad9f3c53c9737516c102b02b. Required ci-required run34366091836 passed at22b2b2fa6d6f51b3d9b26dd34f04af975f1a88e2; main tree exactly equals that qualified head. Producer/consumer and scoped fix reviews passed, aging satisfied, no unresolved threads. The cancelled shadow run34366090967 was superseded by successful same-head34366093956, not an unexplained test failure. One confirmed historical-base grouping blocker was fixed; two MEDIUM diagnostic/local-preview follow-ups remain tracked at #2508 comment5603540885. No full parent-issue closure claim. Worktree evidence is preserved under .claude/local/milestone-20260909/preserved-2832.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant