Repository navigation
Withdrawn NativeStack2604 currency qualification handoff - #721
Closed
seathatflowsinourveins wants to merge 4 commits into
Closed
seathatflowsinourveins wants to merge 4 commits into
seathatflowsinourveins wants to merge 4 commits into
Conversation
seathatflowsinourveins
marked this pull request as draft
October 5, 2026 05:20
5 tasks done
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 5, 2026
### 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 #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 - [typesafe-ai/[email protected], f078f1e2: native client](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/client/sync/client.py#L22), [structured Choice types](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/question_types.py#L39) and [raw-question normalization](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/questions.py#L10). All three prerequisite compatibility gates pass at this pin. - [Usage](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/response_types.py#L65), [choice probabilities](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_schemas/models.py#L25) and [public HTTP metadata](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/schemas/base.py#L81) preserve the existing validator input and optional request ID. - The [strict SDK schema](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/schemas/base.py#L21) uses `extra="ignore"` and `strict=True`, requires [confidence](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_schemas/models.py#L19), and [drops unknown answer types](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/response_types.py#L86) before `validate()`/ledger. No modeled field is lost on any of the 695 retained successful rows (2,254 choice answers); future schema-mismatched responses can change acceptance or lose extra fields. The decision now makes this boundary explicit. - [RetryPolicy](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/retry.py#L52) and [native retry-count header](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/transport.py#L68). Explicit settings retain five attempts, 429/529 only, 1/2/4/8-second delays, no jitter or Retry-After, no connection/timeout retries and a 60-second attempt timeout. - [Vendor-owned headers](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/src/typesafe_sdk/_core/transport.py#L116) explain the authorized User-Agent change to `typesafe-sdk/0.7.2`. [pydantic/[email protected], d426e2c4: public elapsed contract](https://github.com/pydantic/httpx2/blob/d426e2c44d1247fcf3326ed1cb496e56353efa4a/src/httpx2/httpx2/_models.py#L579) supplies successful-attempt HTTP timing, excluding SDK decoding; the prior timer also included final JSON decoding. Earlier attempts/backoff remain excluded. - [Upstream MockTransport seam](https://github.com/typesafe-ai/typesafe-sdk-python/blob/f078f1e208a0d885154dc758344ae4fce77ac168/tests/conftest.py#L33) supplies the offline test boundary. [PyPI 0.7.2](https://pypi.org/pypi/typesafe-sdk/0.7.2/json) publishes the wheel; its downloaded SHA256 matches `0a961148187d52e18276ed7f2d02617cfac48e3b97673cb631a8749397d43d1e`. Installation used an isolated uv environment with source builds disabled. - [Repository hot-file protocol at 4af7417](https://github.com/seathatflowsinourveins/native-agent-stack/blob/4af7417b7d4db8936c0136235a86717f31d16f27/docs/lanes.md#L94): native `host_receipts.register_file` updated the five owned files from main's registry and re-registered the revised decision; the registry is committed last at `ad6979a866317456cf80e32855c0a591f8371d88`. ### 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. ```text 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 - [x] No GitHub Actions changes; existing offline CI build remains stdlib-only. - [x] No secrets printed or committed; no new required secret. - [x] No new paid hosting, subscription or billing surface. - [x] Peer-owned files and #721's worktree preserved. - [x] Registry committed last; required post-commit validation passed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Withdrawn independent proposal
The coordinator's A1 direction withdraws this independent currency proposal. Preserve the branch and original dated evidence for owner 5f to integrate through currency W1 #642 and W1b #645. This PR must not land as a parallel canonical pin wave; no new currency PR is opened. Its proposed pin/audit/evidence deltas remain recoverable handoff material, with no peer branch changed.
W1 already selects jCodeMunch 1.108.327, Worktrunk 0.80.0 and Syft 1.54.0. The branch retains dated NativeStack2604 host qualification and recipe evidence for those selections, plus scoped mise, Dagu and SRT evidence. W1's Collector 0.162.0 and W1b's Grafana 13.2.3 selections differ from the source-based holds recorded here; the command center and existing owners must settle those with the retained primary evidence. Worktrunk's acceptance edit has been dropped for fixwave-defects item 1 ownership; its observed pass and failures remain bound to immutable qualification commit
652d98041a7248d961731e90696f499da55dd8d8, not the reverted command.Release window: until the v2026.10.05 re-pin lands, changes to
manifests/stack.json,adoption/**, install scripts and host receipts may not land. The shared host keeps main's4c897418finstall plan as its plan of record; no further currency installs or reinstalls on that host. Future pin qualification uses an isolated tool root or throwaway StackMeasure2604. The six prior installs remain dated observations, including the mise contention. Registry correction is committed last; each proposed canonical host pin retains its matching audit row and qualification receipt. No merge is authorized to this lane.Official release routes are the published uv package, mise.run, Dagu's tagged installer, the published npm sandbox-runtime package and mise's maintained registry backends. None is a rebuild.
Acceptance boundary: only jCodeMunch ran its unchanged upstream harness. The other five destinations are scoped integration observations; their native CLI, doctor, fixtures, fresh-client controls and inventory results do not stand in for unrun upstream product suites.
Scope
Retain dated NativeStack2604 observations for selected destinations jCodeMunch 1.108.327, mise 2026.10.1, Dagu 2.18.2, SRT 0.0.78, Worktrunk 0.80.0 and Syft 1.54.0, plus the original failed attempts and failed SRT streams. Proposed source/pin reconciliation is handoff material for existing owners. The Worktrunk acceptance implementation is restored from the maintained base; fixwave-defects owns its repair.
f946c6d4ca988a17b6fa4392ecb488909f147883(initial brief base4c897418fe35a030a1188ae447eaf31c893f8eff; rebased onto the single incoming main commit).lane:foundation.SOTA sources
--skip-git-repo-check.Release notes, scoped advisory/issue causality and published/downloaded integrity were reviewed. Latest jCodeMunch328 and mise102 remain below24hours. Holds also remain for Headroom's Windows task regression, SocratiCode target-host retrieval/client qualification, AgentsView qualification, Inspect retry selection, Collector release-tag CI and Grafana series regressions. Completeness review adds explicit Ollama, OpenHands and selected-skill gates; this does not install stale catalog alternatives.
Evidence-class table
native_proveninstall.sh --only SLOT,accept.sh --only SLOT --stage STAGE, stdin closed;ns2604-currency-qualification-20261005native_provenuv run python scripts/ci-harness.py full; original harness output retainednative_proven+local_integrationnative_proven+local_integration+syntheticnative_proven+local_integration+syntheticsource_reviewartifact-integrity.json, dated decision andSOURCES.md; no full transitive/signature claimlocal_integrationMise is a prerequisite, absent from canonical component enrollment. Four original collector outputs are retained unchanged as artifacts because the host validator rejects that ID. Independent read-back twice observed drift back to2026.10.0 after successful2026.10.1 installation. Final install/doctor/version/digest passed at05:07:28Z; durable shared-host state requires coordinator serialization. No other lane's files were changed. Prior failed attempts and evidence limits remain visible.
Local commands run
Affected unittest suites ran538 tests (initial5failures/4skips). Scoped271-test rerun cleared source/generator errors and left one stale inventory count; its isolated test passed after correction. Final four generated-contract tests passed. Passing unaffected suites were reused; failed checks remain recorded. Native install and stage commands have their own exits in the retained receipts; collector success is not treated as command success.
Decision record
docs/decisions/2026-10-05-ns2604-currency-wave.mdrecords sources, alternatives, overturn conditions, holds, completeness findings and corrections. The unchanged Difftastic prompt-parsing variant is a coordinator follow-up outside this wave.Host evidence
python3 scripts/host_receipts.py validatepasses for every new catalog receipt; mise prerequisite artifact limitation is explicit.Checklist
.agents/files.Review only. The command center lands; this lane will not merge.