Skip to content

ci: require exact test identities in shard evidence (#83, #85) - #110

Merged
LIghtJUNction merged 3 commits into
mainfrom
fix/83-exact-ci-test-evidence
Sep 27, 2026
Merged

LIghtJUNction merged 3 commits into
mainfrom
fix/83-exact-ci-test-evidence

Conversation

@LIghtJUNction

Copy link
Copy Markdown
Contributor

Refs #83 and #85. Strengthen the existing full-suite evidence gate; no acceptance umbrella closure.

Reproduced problem

The gate verified the selected-test count but not which testcases JUnit contained. A report with the correct number of cases could replace or duplicate an executed test identity while still passing.

Fix

Record each selected pytest node ID as a JUnit user property, then require exactly one identity per testcase and exact equality with the shard's selected IDs. Keep the existing complete collection, disjoint partition, count, failure/error and successful-runner gates. The manifest version is 2 so old reports cannot be silently mixed with identity-bearing reports. No filename allowlist, test exclusions, timeout increase or workflow/service changes.

Verification

Four new same-count corruption cases failed before the fix and pass after it. All 22 local tests pass, including an actual subprocess pytest run with parameter punctuation, Unicode and class-based tests, followed by verification of its real JUnit XML. Local Python 3.13.5; full exact-head CI still required. Published script and test Git blob hashes exactly match the locally verified files.

This does not assert that previous CI reports contained wrong identities, only that the previous gate could not detect that class of error. No application, database, authority or production deployment change.

Copilot AI lite review requested due to automatic review settings September 27, 2026 21:36

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 27, 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
🔒 Security Review ✅ Completed 2026-09-27T21:40:03.823937Z 4cd0771 PR opened
ℹ️ 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.

…gether

Preserve every main blob except the two reviewed CI evidence files. No test exclusions or application changes.

@LIghtJUNction LIghtJUNction left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed exact final diff: only scripts/ci_shards.py and tests/test_ci_shards.py differ from main b1ac767. Downloaded all four artifacts from exact-head run 36352580956 and independently matched each ZIP SHA-256 against the provider's digest. The new gate verifies all 1,098 exact test identities, disjoint and complete. JUnit cases by shard: 263/286/295/254; all zero failures, errors and skips. Conformance: 8 passed, zero failures/errors/skips. Wheel and sdist are present. The real subprocess regression validates pytest's actual JUnit identity output, not just synthetic reports. The final GitHub contracts job is still queued, so this is independent evidence review, not a claim that the overall workflow status is success yet. No application/authority change, skipped tests or production action.

@LIghtJUNction
LIghtJUNction merged commit 3cdcae4 into main Sep 27, 2026
10 of 15 checks passed
LIghtJUNction added a commit that referenced this pull request Sep 27, 2026
Refs #82, #84, #85. Share the transaction-local deadline/attempt fence across notification, tool and bundle-push completion. Commit maintenance results atomically with the fenced terminal state. No automatic resend of expired work and no authority expansion.

Exact-head CI 36353193024 succeeded: 1,109 tests plus 8 conformance checks, zero failures/errors/skips, wheel/sdist and contracts gate. All 11 new PostgreSQL regressions passed. Four downloaded artifacts matched provider SHA-256 digests and independently passed the exact test-identity gate. Current main's #110 tree is identical to the tested foundation. No production deployment, restore or umbrella issue closure.
@github-actions
github-actions Bot deleted the fix/83-exact-ci-test-evidence branch September 28, 2026 10:15
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.

2 participants