Skip to content

Resolver push-gate tests: colliding fixture paths through git plumbing (macOS full suite red since #732) - #746

Merged
seathatflowsinourveins merged 3 commits into
mainfrom
foundation/resolver-push-gate-macos-collisions-20261005
Oct 5, 2026
Merged

seathatflowsinourveins merged 3 commits into
mainfrom
foundation/resolver-push-gate-macos-collisions-20261005

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • What this PR changes: the resolver push-gate tests build their case- and normalization-colliding fixture commits through git plumbing, so the colliding names exist in the tree on any filesystem.
  • Base commit: cb339488e3e0 (origin/main).
  • Lane: lane:foundation, the resolver lane. Tests only, plus the registry row in the last commit.

SOTA sources

  • git/git v2.43.0 t/t2107-update-index-basic.sh:59-69: index entries through update-index --add --cacheinfo, with no working-tree file. Also git's documentation of hash-object -w --stdin, write-tree, commit-tree and update-ref.
  • git's core.ignorecase and core.precomposeunicode settings, both on by default on macOS. They are set to false on every fixture git call.

Evidence-class table

Claim Evidence class Command / receipt
main's macOS full suite fails only this test on the main side hosted CI (observed) adoption-bootstrap macOS runs 37321600538 (#726) and 37320629278 (#713): the same two subtests; main runs at 4fd7106, c148e04 and cb33948 failed
the helper keeps both exact names regardless of the working tree local_integration (Linux probe) both names and distinct blobs in ls-tree with a pre-existing same-named working-tree file and both folding settings true; restoring the old fixture makes the new tree assertion fail
the suite passes local_integration python3 -m unittest tests.test_runtime_worker_openhands_push_gate: 122 run, 121 OK, 1 existing skip (PyYAML absent)
macOS confirmation pending this PR's own macOS run (advisory, by the user's 2026-10-05 decision)

Local commands run

$ python3 -m unittest tests.test_runtime_worker_openhands_push_gate   OK (skipped=1)
$ python3 scripts/validate.py                                         exit 0
$ python3 scripts/evidence_manifest.py --check                        exit 0
$ git diff --check                                                    exit 0

Review

  • Built by GPT-6.1 Sol through the packaged SDK worker (round resolver-macos-r1) and committed by the coordinator (Claude session 5f).
  • A Claude Opus cross-family read follows.

Checklist

  • No GitHub Actions or workflow changes.
  • No secrets printed, logged or committed.
  • The gate's behavior is unchanged; tests only.

Recorded residuals (bounded review, 2026-10-05)

Claude Opus 5.5 cross-family read (session 5f) at ffd5cd3 at ffd5cd3e99c3 returned ACCEPT with no p1. Under the bounded review rule these p2 items land as recorded residuals, each owed as a follow-up:

  • tests/test_runtime_worker_openhands_push_gate.py:1589 and :1606: Non-blocking hardening, not a defect.

🤖 Generated with Claude Code

Scout and others added 3 commits October 5, 2026 11:13
…ture paths through git plumbing (macOS full suite red since #732)

On macOS, the full suite failed test_case_and_unicode_collisions (controls case_collision and unicode_nfc_collision:
'pass' != 'fail') on every main commit since 4fd7106. GateFixture.agent_commit writes paths through the
filesystem. macOS APFS is case- and normalization-insensitive, so docs/Readme and docs/readme, and the NFC and NFD
forms of docs/café, collapsed into one path. The fixture commit then held no collision, and the gate correctly passed.
The gate is unchanged.

GateFixture.agent_index_commit builds the commit with hash-object, update-index, write-tree, commit-tree and
update-ref, with core.precomposeunicode=false and core.ignorecase=false on every git call. This follows git/git
v2.43.0 t/t2107-update-index-basic.sh:59-69. The tree carries every requested name byte for byte on any filesystem.
- The collision test asserts, through ls-tree, that the tree holds both names' exact UTF-8 bytes before the gate
  assertions run, so a fixture regression now fails with a clear message.
- test_unchanged_protected_file_case_and_unicode_aliases_refuse uses the same helper, so its aliases coexist with
  the unchanged protected file.

Checks:
- tests.test_runtime_worker_openhands_push_gate: 122 run, 121 passed, 1 existing skip (PyYAML absent).
- A Linux independence probe: with a same-named file already in the working tree and both folding settings stored
  as true, the helper kept both exact names and distinct blobs in ls-tree. Restoring the old fixture made the new
  assertions report the lost path.
- validate.py and evidence_manifest --check exit 0.

Built by GPT-6.1 Sol through the packaged SDK worker (round resolver-macos-r1); committed by the coordinator.

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 seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 5, 2026
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: landing at head ffd5cd3e99c3aa79f12ae1eda8c092d82c5b997e. The command center (wsl-architecture-design) gave its ACK at this exact head; 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 ACCEPT at this exact head, with no P1 item.

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

main 1796303f957c522e78b92667e553c06840fae3a2 head ffd5cd3e99c3aa79f12ae1eda8c092d82c5b997e base cb339488e3e004b04e8a4e5b4fd246442a275e3c merged-tree 5d157c3b6cf2da4cd130c893fd39d2e7b2332e6c merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 2, outside PR-owned 0 []
ok   3: main drift 131 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 1, unowned top-level keys differing []
ok   5: merged files[] sorted by path with no duplicates: True (10184 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 5d157c3b6cf2da4cd130c893fd39d2e7b2332e6c)

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

@seathatflowsinourveins
seathatflowsinourveins merged commit 0c93179 into main Oct 5, 2026
29 of 30 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: post-merge observation. Landed as 0c93179662e765bbd460555eb225b2dbabc05527 (parent 1796303f957c522e78b92667e553c06840fae3a2), tree 5d157c3b6cf2da4cd130c893fd39d2e7b2332e6c. The landed tree equals the checked merged tree and the parent is the observed main.

@seathatflowsinourveins
seathatflowsinourveins deleted the foundation/resolver-push-gate-macos-collisions-20261005 branch October 5, 2026 16:08
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