Skip to content

Record the macOS full-suite coverage decision, the CI measurements and five anti-patterns - #632

Merged
seathatflowsinourveins merged 13 commits into
mainfrom
foundation/github-ci-review-records-20261003
Oct 4, 2026
Merged

seathatflowsinourveins merged 13 commits into
mainfrom
foundation/github-ci-review-records-20261003

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • What this PR changes, in one or two sentences: records the 2026-10-03 GitHub CI review: a decision record on what may change in the required macOS check (O4 keep full coverage and speed up both required test jobs; O2 a pre-registered fallback whose prospective phase is a dry run that keeps the full suite in the required job, not adopted; O1 and O3 rejected; reductions R1 to R6 for their owners), a receipt of the measurements with the compiled measurement input published beside it and the read-only GET calls that later re-read parts of it (caches, failed and cancelled runs, retention), and five proven mistakes in the anti-pattern log. The receipt is a recorded summary: the measurement kept neither its returned payloads nor its per-call argument vectors, so its counts can be re-derived from GitHub only while the run records exist (up to 90 days). Docs and evidence only: no workflow, test, ruleset or setting changes.
  • Base commit: 4ced2923063db6a6dcafa9f25af5ee05a4153c75 (rebased onto main on 2026-10-03 after Track GPT runtime workers, SDKs, the gateway and pi in the daily catalog-freshness report #634 and AGENTS.md: drop "(lands with unit F3)" now that the skill lifecycle guide is on main #636; the file and line citations in the record were taken at 56473e4b840f0e6940c031801d866e7e9bf29baf, the commit the work was cut from)
  • Lane: lane:foundation
  • Owned paths touched: docs/decisions/2026-10-03-macos-full-suite-coverage.md, evidence/receipts/github-ci-measurements-20261003.json, evidence/artifacts/github-ci-measurements-20261003/ (input.json, the compiled measurement input, byte-identical; later-reads-20261003.json, the 2026-10-03 GET calls with argument vectors, times, exit codes and payload hashes), docs/harness-defaults.md (five rows at the top of the anti-pattern table), manifests/evidence.json (registration only, the branch's last commit, per the hot-file protocol in docs/lanes.md)

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
Both required test jobs run the whole suite serially; step and job durations; suite growth independent observation of platform records (read-only gh, 2026-10-03), kept as a recorded summary (the published input), not as returned payloads; nearest template class source_review evidence/receipts/github-ci-measurements-20261003.json; evidence/artifacts/github-ci-measurements-20261003/input.json
30 of 1,025 pull-request head SHAs failed only on macOS (Sep 25 to Oct 2); 7% of PR runs fail, 25-46% are cancelled same; the input records the pairing as cross-checked on two endpoints (the second endpoint was not recorded), and an independent Oct 1-2 pairing differs by one failure (4 of 140 against 5 of 143 decisive pairs), recorded as unreconciled same receipt, limitations
The failure anatomy's coverage (80 of 88 failed Validate runs; the counts force each of the 8 left out to have failed only in sota-sources, so R3 and R5 do not depend on which 8; that they are the 8 a later same-SHA run turned green is consistent with the input's tally of 8 later-success runs of 96, all events, but not established: any 8 of the 19 sota-sources-only failures reproduce the counts, and the 8 non-pull-request failures were not checked), the 712 cancelled runs by workflow and event, both cache endpoints and the retention setting later observation: 218 read-only GET calls on 2026-10-03 with exact argument vectors, times, exit codes and payload hashes; payloads withheld (they carry commit author emails) evidence/artifacts/github-ci-measurements-20261003/later-reads-20261003.json; receipt source.later_reads
130 against 131 caches unreconciled; the byte total equals the by-prefix sum to 0.1 MiB but does not indicate which count is right, because two later paired reads show the same one-cache gap between the usage endpoint and the listing with identical bytes receipt data.caches_and_artifacts.caches
Escape bounds 9.50% at N=30, 2.95% at N=100 computed (exact binomial), not measured decision record, Preregistered checks
O2 controls and dry-run phase none executed: preregistered only decision record
Repository checks on this branch local_integration commands below

Local commands run

At 55425797 (this branch's head, the registration commit):

$ python3 scripts/validate.py
passed (69 components, 187 receipts, 9,424 hashed files); exit 0
$ python3 scripts/validate_convergence.py --all-recorded --root . --json
26 records, 0 errors; exit 0
$ python3 scripts/evidence_manifest.py --check ; python3 scripts/component_matrix.py --check ; python3 scripts/new_host_grand_list.py --check
passed (9,424 files); checked (32 rows); passed (32 layers, 66 winners); all exit 0
$ python3 -m unittest tests.test_osv_lockfile_coverage.LockfileInventoryTests.test_every_tracked_lockfile_and_manifest_is_listed tests.test_blind_checkout.RepositoryClassificationTests.test_every_blueprint_value_under_a_label_key_is_classified tests.test_workflow_security_coverage.NewWorkflowSecurityCoverageTests.test_all_published_workflows_are_listed_and_covered
Ran 3 tests, OK; exit 0
$ python3 -m unittest discover -s tests -p test_adoption_docs_consistency.py
Ran 39 tests, OK (skipped=1); exit 0

An uncommitted arithmetic and consistency self-audit of the receipt, the published input, the later reads and the record, extended for the second review, ran 243 checks at 55425797, with 0 failed. 25 of them fail on the previous head 69bd8d52 and pass now: the 24 checks of the new wording and the check that the receipt's data differ from the input exactly where source.changes_from_input says. Five more check the data behind the new wording (19 runs that failed only in sota-sources, 1, 14 and 4 of them created on 2026-09-25, 09-27 and 09-28; the 8 later-success runs among them; at least one failing instance per run; the 94 - 86 and 21 - 13 differences) and the unchanged coordinator request forms.

Decision record

docs/decisions/2026-10-03-macos-full-suite-coverage.md (alternatives, the O2 adoption rule fixed in advance with a dry-run phase that keeps the required job's full suite, overturn conditions).

Host evidence

Not applicable: no files under evidence/hosts/ change.

Checklist

  • New/changed GitHub Actions are pinned to a full commit SHA with a version comment (no workflow changes in this PR).
  • New/changed workflows declare top-level permissions: contents: read (no workflow changes in this PR).
  • No secrets are printed, logged or committed; no new required secret was added.
  • No new paid hosting, subscription or billing surface was introduced.
  • Peer-owned untracked files and worktrees were preserved (not deleted, moved or overwritten).

Notes for the merger: manifests/evidence.json is the shared hot file (rebase and re-register per docs/lanes.md). This branch's five 2026-10-03 anti-pattern rows sit at the top of the table in docs/harness-defaults.md, above the 2026-10-02 row from #634. If #635 or another open PR also adds 2026-10-03 rows at the top of the same table (the pushed head 7ce51c0a of #635 did not change docs/harness-defaults.md when checked on 2026-10-03), whichever merges second keeps both sets, newest first, and re-registers. If this branch merges second: take main's manifests/evidence.json, register docs/harness-defaults.md, docs/decisions/2026-10-03-macos-full-suite-coverage.md, evidence/receipts/github-ci-measurements-20261003.json and the two files under evidence/artifacts/github-ci-measurements-20261003/ again, then run the three --write commands. Open PRs #641 and #648 also change rows of this table. This branch is based on main at 4ced2923 (after #634 and #636); git merge-tree --write-tree --name-only origin/main HEAD was clean when it was pushed. The record deliberately names no private repository and no dollar figure.

🤖 Generated with Claude Code

Custody refresh, 2026-10-04

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 3, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 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-10-03T04:18:20.760821Z 13e26ea 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.

@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: 13e26ea50e

ℹ️ 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 evidence/receipts/github-ci-measurements-20261003.json Outdated
Comment thread evidence/receipts/github-ci-measurements-20261003.json Outdated
Comment thread evidence/receipts/github-ci-measurements-20261003.json
Comment thread docs/decisions/2026-10-03-macos-full-suite-coverage.md Outdated
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Hosted-check note for the merger: the required osv-scanner check is red on this PR for a reason unrelated to its content (docs and evidence only). The scan flags GHSA-vfj7-8cjw-p6xm (braces 3.0.3, high) in blueprints/convergence-practice/wsl-retrieval/package-lock.json, and the same check is red on most open pull requests since about 04:08Z today. The two pull requests whose osv-scanner run passed (#622 and #615) both add .github/osv-scanner-frozen-wsl-retrieval.toml, so a fix is in flight from another owner; this PR needs a rebase or re-run after it merges. All other required checks except validate-macos (still running when this was written) passed.

seathatflowsinourveins and others added 6 commits October 3, 2026 07:32
…d five anti-patterns

The 2026-10-03 GitHub CI review measured the required test jobs: both run the
whole suite (about 9,500 tests) serially, Linux validate in 1,727-1,828 s
against a 2,400 s limit and macOS validate-macos in 1,932-2,394 s, and 30 of
1,025 pull-request head SHAs (2.9%) failed only on macOS in 8 days. The decision
record keeps full macOS coverage on every pull request (O4), pre-registers a
fallback that gates only the full-suite step (O2, not adopted, with a prospective
shadow phase, a frozen escape bound and a derived INERT list), rejects gating the
whole job (O1, forbidden by tests/test_workflow_hardening.py:1247-1255) and
running the suite only after merge (O3), and lists reductions R1 to R6 for their
owners. The measurements are kept as a durable receipt because Actions run ids
expire with the new retention period; the itemized failing runs carry their head
SHAs. Five proven mistakes join the anti-pattern log.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Answer the review threads on the receipt with published evidence:

- Publish the compiled measurement input byte-identical
  (evidence/artifacts/github-ci-measurements-20261003/input.json, sha256
  d01f9b63...) and the read-only GET calls of 2026-10-03 that check the
  receipt (later-reads-20261003.json: 218 calls with argument vectors,
  times, exit codes and payload hashes; payloads withheld because they
  carry commit author emails).
- Add a queries section: request forms reconstructed from the measurement
  plan, not a transcript, and what was not retained. The receipt is a
  recorded summary that can be re-derived only while the run records
  exist; durability wording in scope and limitations is replaced.
- Caches: record 130 (likely the usage endpoint) and 131 (the by-prefix
  sum) with the byte reconciliation; the difference stays unreconciled,
  and two later paired reads show the same one-cache gap.
- Failure anatomy: the 80 of 88 Validate runs are the failed runs no
  later same-SHA run turned green (reproduced exactly); the 8 omitted are
  sota-sources-only failures (21 of 94 instances over all 88). Other
  workflows: 10 of 76 classified, 66 not.
- Self-audit fixes: the 17-entry failing-test key and limits string, the
  composition of the 11 non-pull-request cancelled runs, the 96 and 87
  denominators, the sampled failed-job seconds and the suite-shape
  definitions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- O2's prospective phase becomes a dry run: the required validate-macos
  job keeps running the full suite on every pull request, the gate only
  reports what it would skip, E_G is read from the required job on the
  would-skip pull requests, and skipping starts only after the
  preregistered thresholds pass in a later reviewed change. The
  thresholds are unchanged.
- R3 and R5 state the failure anatomy's coverage (80 classified of
  Validate's 88 failed pull-request runs, all 75 of Adoption's, 10 of 76
  other-workflow failures) and what the 8 omitted runs change (sota-sources
  21 of 94 over all 88); R5 names the steps behind 18 and 15.
- The measured findings and evidence class say the receipt is a recorded
  summary that can be re-derived only while the run records exist, and
  point to the published input and the later reads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the data

Second review of the receipt and the record (R1-R5):

- R1: the reclassification of all 88 failed Validate runs forces each of
  the 8 runs the anatomy left out to have failed only in sota-sources
  (94 - 86 = 8 instances, 21 - 13 = 8 of them sota-sources), but any 8 of
  the 19 sota-sources-only failures reproduce the counts. The 8 that a
  later same-SHA run turned green are consistent with the input's tally
  of 8 of 96, not established as the 8 left out: 96 covers all events and
  the 6 push and 2 workflow_dispatch failures were not checked. The
  record says once that R3 and R5 do not depend on which 8. The receipt's
  coverage keys become selection and runs_with_a_later_success.
- R2: the byte total equals the by-prefix sum to 0.1 MiB but does not
  indicate which cache count is right; the later listing's total_count
  of 129 is stated.
- R3: the measuring agent's request forms give the path only (client
  flags not retained); the GET statement is scoped to the input and a
  GH_DEBUG check that was not retained; the suite-shape figures are not
  covered by the plan; the queue-seconds definition is marked inferred;
  the two-endpoint cross-check is relayed as the input's statement.
- R5: largest_file reads 632 'def test' occurrences (624 test
  definitions) in 8,441 lines, listed in source.changes_from_input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the same 8 in the anatomy selection text

Delta review findings on the CI measurements receipt: the later-success creation time is in no published artifact, so the sentence now points at the run ids in the later-reads artifact; the reclassification of all 88 runs keeps every other by_step cell equal but policy_gate rises by the same 8 because it counts sota-sources.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e anti-pattern log (hot-file protocol; last commit)

One registration on main's manifest at 4ced292: the receipt, the decision record, input.json, later-reads-20261003.json and docs/harness-defaults.md (five rows). It is the branch's last commit, so a later rebase takes main's manifest and registers again (docs/lanes.md).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Scout and others added 7 commits October 4, 2026 15:49
…ify the six cache calls' batch timestamps in the receipt (review 632 P1, P2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…egistry plus the owned rows)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fore the final hot-file commit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (hot-file protocol: every hot-file edit in the last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…egistry plus the owned rows)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fore the final hot-file commit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (hot-file protocol: every hot-file edit in the last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: landing at head 6547a7305c278ab2280e697478fe64a6fd004bae. The command center (wsl-architecture-design) gave its ACK at b9e43d39e99c, which reaches this head only through recorded mechanical refreshes whose owned non-registry patch-ids are equal (its carry rule); under the user's 2026-10-04 decision it owns merges that touch the hot registry. The read-only cross-family review (GPT-6.1 Sol max, the packaged Codex SDK worker) returned FINDINGS at 85e9bc653845; this head is reached from it through recorded carry edges (equal owned patch-ids, or a cross-family delta read returning ACCEPT at the edge's target), with its 1 P1 item(s) resolved in one repair round as recorded.

Observed main d850a53970111b826985ddbafa58eea9fc62ee59. coordination/merge_tree_landing_check.py (sha256 a11649fcf2e5844c…) exit 0:

main d850a53970111b826985ddbafa58eea9fc62ee59 head 6547a7305c278ab2280e697478fe64a6fd004bae base 6c5f5bb73869d01c934c97591724b5728d761465 merged-tree 3d8c29dea54693e86b5ca8fdde2deb62ff776e6c merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 6, outside PR-owned 0 []
ok   3: main drift 18 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 5, unowned top-level keys differing []
ok   5: merged files[] sorted by path with no duplicates: True (9934 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 3d8c29dea54693e86b5ca8fdde2deb62ff776e6c)

Required checks at this head: 7 pass 1 skipping . Unresolved review threads: 0.

@seathatflowsinourveins
seathatflowsinourveins merged commit 38ac9ac into main Oct 4, 2026
25 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: post-merge observation. Landed as 38ac9aca114ad9ef4a15d8620d947eb5c2f518c3 (parent d850a53970111b826985ddbafa58eea9fc62ee59), tree 3d8c29dea54693e86b5ca8fdde2deb62ff776e6c. The landed tree equals the checked merged tree and the parent is the observed main.

@seathatflowsinourveins
seathatflowsinourveins deleted the foundation/github-ci-review-records-20261003 branch October 4, 2026 21:07
seathatflowsinourveins pushed a commit that referenced this pull request Oct 4, 2026
…Sol round 642-merge-r3)

Resolutions:
- docs/harness-defaults.md keeps both sets of anti-pattern rows (this PR's, then main's #632).
- The new-WSL handbook and its receipt are regenerated by scripts/build_new_wsl_handbook.py on the merged sources.
Four wording P2s from the Claude read are fixed: the dated amendment line, the HUD block citing main's 2026-10-04 receipt, commits/<tag>, and the path count.
Acceptance: validate 0, evidence_manifest --check 0, handbook/matrix/grand-list/build_ecosystem --check 0, 132 tests (120 OK, 12 skipped), git diff --check 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant