Skip to content

Use the vendor TypeSafe SDK for crosswalk transport and retry - #725

Merged
seathatflowsinourveins merged 7 commits into
mainfrom
codex/ns2604-typesafe-sdk-20261005
Oct 5, 2026
Merged

seathatflowsinourveins merged 7 commits into
mainfrom
codex/ns2604-typesafe-sdk-20261005

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

The crosswalk's call() duplicates HTTP transport and retries already shipped by TypeSafe. Replace that loop with the published typesafe-sdk==0.7.2 client and its native retry policy, imported only for judge. Preserve request construction, validation, thresholds, ledger code and recorded judgments.

  • Base commit after the requested rebase: 4af7417b7d4db8936c0136235a86717f31d16f27 (descends from 77d7516d8).
  • Lane: lane:foundation.
  • Owned paths: tools/sota-convergence/gap_crosswalk.py, its new SDK test, dated decision, compact synthetic evidence and the evidence registry.
  • Claude cross-family read completed: 0 P1, 0 P2; both P3 documentation corrections are addressed. The command center authorized leaving draft after these fixes; the command center alone lands the PR. This is separate from the currency handoff in Withdrawn NativeStack2604 currency qualification handoff #721.
  • Rebased conflict-free onto current main on 2026-10-05. The five owned source/evidence files remain byte-identical to their original qualification; dated evidence retains its original input revision. Main's registry was restored and native registration rerun, preserving every main entry and all non-file registry fields.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
SDK accepts structured questions and exposes all required response/retry fields source_review Pinned sources above and dated decision
Native SDK transport/parser/retry preserves modeled choice payload, metadata and selected retry policy with injected responses synthetic 6 MockTransport tests plus 3 offline import and version checks; all 22 touched tests pass, no skips
Existing crosswalk output remains current without the SDK or site packages local_integration Ordinary and python3 -S offline build --check, exit 0
Registered evidence is internally consistent local_integration validate.py after final P3 registry commit: exit 0, 10,098 hashes; integrity and scope only

The stub tests are locally authored integration checks through the unchanged SDK implementation, not an unchanged upstream suite or live provider acceptance. No live judge call occurred. The original environment-only credential consumer remains unchanged. No credential inventory, install script, host receipt or host-stack pin changed.

Dependency pinning in the runtime install hint remains an explicit limitation: the hint pins only typesafe-sdk==0.7.2. The observed dependency set includes httpx2==2.13.1, pydantic==2.13.5 and tenacity==9.1.4; another resolution can select versions outside that tested set. The optional hint change is deferred, as allowed by the cross-family verdict.

Local commands run

Checks used private scratch and an isolated uv cache; the private environment path prefixes are recorded in the lane status. Runtime checks are reused from the unchanged code/test inputs at 9a87ae07; the P3 follow-up changes only the decision and its registration. Validation was rerun before the doc/registry commits and after the final registry commit.

python3 tools/sota-convergence/gap_crosswalk.py build --check
exit 0: crosswalk up to date

python3 -S tools/sota-convergence/gap_crosswalk.py build --check
exit 0: crosswalk up to date

uv run --no-project --no-config --no-env-file --no-build --no-managed-python --no-python-downloads --offline --with typesafe-sdk==0.7.2 python3 -m unittest discover -s tests -p 'test_gap_crosswalk*.py' -v
exit 0: 22 tests, no skips

python3 scripts/component_matrix.py --write
exit 0; outputs unchanged
python3 scripts/new_host_grand_list.py --write
exit 0; outputs unchanged
python3 scripts/validate.py
exit 0 after the final P3 registry commit; final commit is registry-only
git diff --check
exit 0

The first eight-test stub run exited 1 because three preloaded mock responses lacked elapsed metadata. The final streamed fixture exercises native read/close timing; that failed attempt and correction remain in evidence/artifacts/typesafe-sdk-transport-20261005/checks.json, with final returned output alongside it. Independent review also corrected the missing-SDK hint to preserve the original command's required --set/--out arguments; no material findings remain.

Decision record

docs/decisions/2026-10-05-typesafe-sdk-transport.md records the three gates, retry comparison, header/timing changes, alternatives, overturn conditions and completeness critic.

Host evidence

Not applicable: no host receipts changed.

Checklist

  • No GitHub Actions changes; existing offline CI build remains stdlib-only.
  • No secrets printed or committed; no new required secret.
  • No new paid hosting, subscription or billing surface.
  • Peer-owned files and Withdrawn NativeStack2604 currency qualification handoff #721's worktree preserved.
  • Registry committed last; required post-commit validation passed.

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 5, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-typesafe-sdk-20261005 branch from 05b2be1 to 9a87ae0 Compare October 5, 2026 07:59
@seathatflowsinourveins
seathatflowsinourveins marked this pull request as ready for review October 5, 2026 08:17
seathatflowsinourveins pushed a commit that referenced this pull request Oct 5, 2026
… its own readiness message, not by a set difference

The FileSdRegistrationTests helper start() treated a reused address as missing registration. An unfinished trial keeps its target registered after a clean stop. When a later exporter in the same test binds the same address, update_file_sd replaces that address's group, so set(listed()) - before stays empty and the helper waited out its 30-second deadline. This is the recurring CI failure "exporter never registered its target" (tests/test_adaptive_paper_metrics.py:467), seen on #707 and #725 today.

Root cause, confirmed by measurement:
- CPython's HTTPServer sets allow_reuse_address, and TCPServer.server_bind sets SO_REUSEADDR.
- 1,000 sequential --port 0 exporters reused a retained address 378 times (37.8%). Every one registered, in 55.6 ms median and 79.3 ms maximum.

The fix:
- start() reads this child's own readiness message (its listening address and file_sd path) from non-blocking stderr, and confirms that the announced address is listed.
- It keeps the 30-second bound and fails at once if the child exits.

Regressions:
- Forced sequential port reuse: failed after 30.2 s with the old helper; passes now.
- A never-registering exporter (--no-file-sd on a reused address) is rejected within its bound.
- 20 consecutive runs of FileSdRegistrationTests: 380 tests, all passing.

Built by GPT-6.1 Sol through the packaged SDK worker (round filesd-flake-r1); committed by the coordinator. The builder's runs each exited 0: tests.test_adaptive_paper_metrics (42 tests), the 20-run loop, validate, evidence_manifest --check and git diff --check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Scout and others added 3 commits October 5, 2026 05:47
…egistry plus the owned rows)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…fore the final hot-file commit

Co-Authored-By: Claude Opus 5.5 <[email protected]>
… (hot-file protocol: every hot-file edit in the last commit)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

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

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

main 4fd710698f53c3581cb1cfe9258ef7b1854ac080 head a7b76dc8a3ec4341f2740a89108d63b20c155184 base a11dc5ff33e6fe41cc3684eb8571b408c232c164 merged-tree 7686a3a94fcdc5a2c2f779784b9d3d8a575bd4f2 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 12 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 (10143 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 7686a3a94fcdc5a2c2f779784b9d3d8a575bd4f2)

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

@seathatflowsinourveins
seathatflowsinourveins merged commit c148e04 into main Oct 5, 2026
25 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Claude session native-agent-stack-5f: post-merge observation. Landed as c148e049efee75f8ea8a9a009e7b96b1e97f5c28 (parent 4fd710698f53c3581cb1cfe9258ef7b1854ac080), tree 7686a3a94fcdc5a2c2f779784b9d3d8a575bd4f2. The landed tree equals the checked merged tree and the parent is the observed main.

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