Repository navigation
Host request lane: add the WSL authoring laptop (wsl-authoring-20260923) as a requesting peer - #306
Merged
Conversation
The laptop's native_proven hardware profile is this-host-20260923 (its host receipts use host_id wsl-authoring-20260923). Adding it lets the laptop request memory/RAG/model-hosting work from the workstation through the documented lane (recipes/host-request-lane.md) instead of an ad hoc channel. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…ng-20260923 Review of #306 found the peer id this-host-20260923 differs from the id the laptop's receipts use, and the note omitted the rtx5090-laptop-20260923 receipt. Record the laptop with scripts/hardware_profile.py --record-host wsl-authoring-20260923 (native_proven profile and evidence file), switch the peer to that id so the peer entry, receipts and hardware profile share one id like the other peers, and re-register adoption/hardware-profiles.json in manifests/evidence.json (--record-host registers only its evidence file). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seathatflowsinourveins
enabled auto-merge (squash)
September 26, 2026 00:51
…s 2026-09-23 entry Re-review of #306 found the added hosts[] entry left catalogs/landscape/new-host-grand-list.json and docs/new-host-grand-list.md stale (validate's grand-list check failed). Ran component_matrix.py --write and new_host_grand_list.py --write and re-registered the outputs. Relabelled this-host-20260923 so the regenerated table does not show two unlinked rows for the same laptop, and named the older ids in the new entry's note. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seathatflowsinourveins
added a commit
that referenced
this pull request
Sep 26, 2026
…fresh record (headroom 0.39.0 qualified, not switched) (#307) * ai-memory 2.4.0 qualification evidence (sanitized artifacts, cutover facts and receipt) Qualified on nativestack-5975wx-20260925 against the installed 2.3.2 on restored copies of an online backup (2.3.2 baseline 16/16 on its second attempt, 2.4.0 rehearsal 19/19: V64 -> V66 with nothing missing, /healthz 200, 23 tools unchanged, both hook clients captured, 2.3.2 refuses the migrated store), reviewed by an independent verifier (agree, 3 minor defects), then switched by the coordinator in a user-approved cold-copy cutover (20:43:48Z stop, 20:44:37Z start, V65/V66 applied, fingerprint PASS, real Claude Code capture). The Codex /hooks trust step for the 7 changed commands is pending and the user's. - evidence/artifacts/sota-refresh-20260925/ai-memory/: the driver and the verifier's scripts byte-identical, sanitized step results, cutover.json with the coordinator's aggregate facts only (no cold copy, fingerprint file or store content), a read-only read-back and results.json with both arms, the verifier verdict and what was not published. - evidence/receipts/ai-memory-240-qualification-20260925.json (native_cli_e2e). Review repairs (2026-09-25, independent review needs_changes): the receipt adds the failed production compare check (claude_settings_unchanged: ~/.claude/settings.json changed at 19:01:59Z by an unidentified writer); results.json corrects the verifier's two wording defects in place and keeps the originals in a corrections list; recorded_at_utc is the time the receipt content was written. Final round: the #792 limitation says the fix is not in 2.4.0 and was released in v2.4.1 at 2026-09-25T21:46:32Z. manifests/evidence.json registration follows in the branch's last commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * mcporter 0.14.1 qualification evidence (sanitized artifacts, cutover facts and receipt) Qualified on nativestack-5975wx-20260925 against the installed 0.13.13: the verified npm tarball (sha256 8e489864..., SLSA provenance from release.yml at refs/tags/v0.14.1) in a new prefix, and the same 37-step acceptance in isolated daemon namespaces passing 37/37 on both versions with identical outcomes. An independent verifier agreed and measured the one difference the acceptance cannot see: without ps on the daemon's PATH, 0.14.1 cannot connect keep-alive servers and `daemon stop` refuses. The coordinator then relinked bin/mcporter with no daemon running; `list socraticode --brief --no-oauth` listed 26 tools and codebase_health reached Qdrant. - evidence/artifacts/sota-refresh-20260925/mcporter/: harness and verifier scripts byte-identical, both arms' results, the per-step raw outputs bundled into two JSON files (deduplicated), integrity and provenance outputs, cutover.json, a read-only read-back and results.json. - evidence/receipts/mcporter-0141-qualification-20260925.json (native_cli_e2e). Review repairs (2026-09-25, independent review needs_changes): the staging install's package.json and package-lock.json are published as stage/package.evidence.json and stage/package-lock.evidence.json (bytes unchanged), so they are not repository dependency manifests and the OSV inventory and Dependabot scope stay as they were; results.json records the renames; recorded_at_utc is the time the receipt content was written. Delta review (2026-09-26): the two npm registry key .pem files are listed under not_published (source https://registry.npmjs.org/-/npm/v1/keys), because .gitignore excludes *.pem; they were never committed. manifests/evidence.json registration follows in the branch's last commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * ai-memory 2.4.1 qualification and cutover evidence (sanitized artifacts and receipt) Qualified on nativestack-5975wx-20260925 against production 2.4.0 on restored copies of one online backup (2.4.0 arm 26/26, 2.4.1 arm 28/28: V66 -> V67 with nothing missing, 2.4.0 refuses the V67 copy, path-only install-hooks render, and the #792 A/B: 65/65 keepalive timers and all 60 vanished peers reclaimed on 2.4.1, none on 2.4.0), reviewed by an independent verifier (agree, 8 minor defects). The coordinator then performed the user-approved cutover on 2026-09-26: stop 00:14:12Z, cold V66 copy, relink, path-only hook rewrite, start 00:19:51Z with V67 applied, fingerprint PASS, keepalive on 2 of 2 live sockets and real Claude Code capture. The Codex /hooks re-trust is pending and the user's. The 2.4.0 receipt stays as history. - evidence/artifacts/sota-refresh-20260925/ai-memory-241/: the driver and the verifier's scripts byte-identical, sanitized results for both, cutover.json with the coordinator's aggregate facts only (no cold copy, fingerprint file or store content), a read-only read-back and results.json (steps for both arms, the verdict, and the verifier's wording corrections). - evidence/receipts/ai-memory-241-qualification-20260925.json (native_cli_e2e); recorded_at_utc is the time the content was written. Delta review (2026-09-26): results/step4-rehearsal.json has 28 checks, all true, so the receipt and the B-arm excerpt say 28 (the original 29 is kept in results.json corrections), and the R1/A17 control-build limitation cites issue #274. manifests/evidence.json registration follows in the branch's last commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * headroom 0.39.0 qualification evidence, not switched (sanitized artifacts and receipt) Qualified on nativestack-5975wx-20260925 against the pinned 0.37.0: the verified wheel in a new prefix (RECORD 555/555), the unchanged upstream #3736 test 6/6 (0.37.0: 4/6), and the stack's MCP path over stdio with byte-exact retrieval and cross-version store reads; an independent verifier agreed. The coordinator retains 0.37.0: at v0.39.0 the '[N lines omitted: ...]' notice counts levels over all input lines (log_compressor.py:461-487 and the Rust format_output; checked with gh), so fixture A's '[593 lines omitted: 1 ERROR]' reports the kept CRITICAL line as omitted; the Rust detector still lacks the #3736 timestamp guard; #299 pins 0.37.0 in the bootstrap and #296's counters run at it. No pin changes. - evidence/artifacts/sota-refresh-20260925/headroom-039/: harness and verifier scripts, key results as files, all other outputs and the production snapshots bundled, a read-only read-back and results.json (decision reasons, overturn condition, beacon note, corrections). - evidence/receipts/headroom-039-qualification-20260925.json (native_cli_e2e). manifests/evidence.json registration follows in the branch's last commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Linux pins, hook template, recipes and docs: ai-memory 2.4.1 and mcporter 0.14.1 adoption/pins-linux-x86_64.json moves ai-memory to the v2.4.1 archive (sha256 15cafdc4..., 16,026,020 bytes, equal to the release sidecar, the API digest and the release body; binary dec065a8...; tag commit 433a19f3) and mcporter to the 0.14.1 npm tarball (sha256 8e489864..., integrity sha512-/6pv...). The notes carry the forward-only migration and the ps-on-PATH requirement. pins-macos-arm64.json is unchanged: the Mac qualifies on its own. adoption/templates/claude.settings.template.json: the eight ai-memory hook commands name tools/ai-memory-2.4.1, matching the live source host after the upstream install-hooks rewrite. bootstrap.md, platforms/linux-wsl2.md and platforms/macos-arm64.md say the Linux pin file and the template changed after v2026.09.25.2, and tell a Mac to point the rendered hooks at its installed 2.3.2 prefix. recipes/README.md: both rows name the new pins, and a new "Upgrading an existing store" section gives the cold-copy procedure the host used. Copies follow in docs/token-efficiency-stack.json, tools/token-report/README.md and observability/native-data/README.md. The two catalogs/landscape/upstream-snapshot.json rows come from a fresh run of their gh api endpoints, and the saturation-audit rows cite the new receipts. catalogs/landscape/foundation.json winner pins do not move. tests/test_adoption_bootstrap_macos.py required every shared component to carry the same version and npm hash on both platforms, which a Linux-only move breaks. It now names each Mac-behind-Linux lag exactly (ai-memory 2.3.2/2.4.0 and mcporter 0.13.13/0.14.1, with their receipts), so a move on either side fails until the table is reviewed, and compares npm hashes only between equal versions. Review repairs (2026-09-25, independent review needs_changes): - recipes/README.md: the hook commands' 49374 is an example; use the host's own server URL (NativeStack binds 127.0.0.1:49474, and 49374 is another distro's default there) and record what NativeStack used. The upgrade section states the order hazard: bootstrap-linux.sh repoints bin/ai-memory at once, so an existing store is stopped and cold-copied before any bootstrap re-run; adoption/update.md step 1 says the same. - platforms/macos-arm64.md: the changed-after marker in step 3 states only the difference and points to a standing "ai-memory hook paths on macOS" note, which gives the full recipe command (--apply, --capture-mode allowlist, --no-capture-prompts, --server-url): with no stored mode, v2.3.2's installer falls back to denylist. - catalogs/landscape/foundation.json durable-memory: one appended, dated limitation for the 20:44Z cutover; the earlier 2026-09-25 text is kept, and the winner pin (a verdict field) does not change. Final round (2026-09-26): the ai-memory pin, the hook template, the recipes and docs, the upstream-snapshot row, the saturation-audit row and the Mac-lag test pair move from 2.4.0 to 2.4.1 after the user-approved 2.4.1 cutover (the 2.4.0 receipt stays as history). The upgrade section covers both cutovers and warns against `pgrep -f` in the quiesce wait. platforms/macos-arm64.md now says accurately that #299 also added ccusage, headroom, repomix, serena, socraticode and toon to the Linux pins, and which of the ten have Mac entries. The foundation.json limitation names both cutovers. Delta review (2026-09-26): the ai-memory install_note dates the three-value check to 2026-09-25 (22:43Z qualification, 23:10Z verifier) and says 2026-09-26 re-checked the API digest. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Decision records: correct the ai-memory 2.4.0 review; record the workstation SOTA refresh docs/decisions/2026-09-25-ai-memory-2-4-0-release-review.md gains a dated correction section; the original text is kept. GHSA-9pj6-vhgr-3mwh is not reachable on this host (stateless transport: GET /mcp 405 with allow: POST, no --http-stateful), and 2.4.0 writes no automatic pre-migration archive for a store created by 2.3.2 (snapshot_before_db_migration is gated to the 1.x -> 2.0 upgrade). It also records that the upgrade was performed on 2026-09-25 and cites the new receipt. docs/decisions/2026-09-25-workstation-sota-refresh.md is the dated research-convergence record for the whole workstation-lane refresh: per unit, the decision, its primary sources (releases, compares, advisories and the refuter's key finding), the alternatives and the overturn condition. rtk, markitdown, mcporter and ai-memory were qualified and switched; socraticode 1.15.0 is qualified with the cutover deferred to no earlier than 2026-10-01; dagu 2.17.2 is held by the trading lane; headroom stays 0.37.0 because 0.38.0 carries #3736 on the MCP compress path; qmd, qdrant, ccusage, worktrunk and vllm are already current; llama.cpp b11146 is recorded, not qualified; both models are retained; the ai-memory Nemotron embedder is evaluation-only. The research and qualification results are cited as private inputs only. Review repairs (2026-09-25, independent review needs_changes), each fact re-checked with gh api at about 22:35Z: - headroom: v0.39.0 (2026-09-25T19:29:55Z) contains d971f7c3 (compare ahead 86, behind 0; the release notes list #3748), so the overturn condition is met; qualifying 0.39.0 is the queued follow-up. - ai-memory: only commands/hook*.rs and commands/install_hooks.rs are unchanged in the v2.3.2...v2.4.0 compare (config.rs, serve.rs, run.rs, reindex.rs, mcp_bridge.rs and six ai-memory-core files changed). - ai-memory v2.4.1 (2026-09-25T21:46:32Z) carries the #792 fix and the forward-only V67 migration but not #859; it meets the "a 2.4.1 appears" condition, and qualifying it (another rehearsal and the user's approval) is queued. Recorded in both documents. - The embedder section cites issue #274 (the Mac-only harness, A17, "the workstation now owns R1") and catalogs/foundation/memory-stack-20260925.json; #274 covers the C3/C4 rerun, and the Nemotron-prefix evaluation comes after it. - The release review gains a dated one-line pointer under its title. - The rtk and markitdown receipts are linked now that #291 has merged. Final round (2026-09-26): - ai-memory: the record and the release review state that 2.4.1 was rehearsed and, with the user's approval, switched on 2026-09-26 (00:14:12Z stop, 00:19:51Z start, V66 to V67), replacing the "needs another rehearsal and the user's approval" sentences and "2.4.0 serves". - headroom: 0.39.0 was qualified and is not switched. The reasons are source-checked with gh at 00:28Z: the omission notice counts levels over all lines (log_compressor.py:461-487 and the Rust format_output; same Python blob since v0.37.0; #3635 changed only the Rust file), the Rust detector lacks the #3736 guard, and #299/#296 run 0.37.0. - The embedder section cites experiment.json and convergence.json for the C1 to C3 arms (the catalog has no C1 label). Delta review (2026-09-26): the refresh record says 2.4.1 arm 28/28 (results/step4-rehearsal.json has 28 checks), and the release review's "now name 2.4.0" is dated to the 2.4.0 cutover and marked superseded by 2.4.1. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Stack pins ai-memory 2.4.1 and mcporter 0.14.1; register evidence and regenerate reports Rebuilt on main c09dd6d (#306) per the hot-file protocol: the reviewed stack.json diff, the same registered path set and all four qualification receipts as the reviewed head b64f9b0. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Scout <scout@local> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Scope
wsl-authoring-20260923) inadoption/host-roles.json, backed by anative_provenhardware profile under the same id.e833e3ef.lane:foundation.adoption/host-roles.jsonadoption/hardware-profiles.jsonevidence/artifacts/hw-profiles/wsl-authoring-20260923/profile.jsoncatalogs/landscape/new-host-grand-list.jsondocs/new-host-grand-list.mdmanifests/evidence.jsonCommits:
5d0e3edb: the first peer entry, under the idthis-host-20260923.52731207: after review, the laptop is recorded withscripts/hardware_profile.py --record-host wsl-authoring-20260923. The peer, its host receipts and its hardware profile now share one id, as the other peers do. The note names the older ids for the same machine (this-host-20260923,rtx5090-laptop-20260923).7bb3c96a: after re-review, regenerates the new-host grand list for the added profile and relabelsthis-host-20260923so that the table doesn't show two unlinked rows for one laptop.SOTA sources
This is catalog-internal wiring with no new external component. It follows the catalog's own tools and records at https://github.com/seathatflowsinourveins/native-agent-stack, pin
e833e3ef:docs/decisions/2026-09-25-host-request-lane.mdandrecipes/host-request-lane.md(Host request lane: other PCs ask the GPU workstation for memory/RAG/model-hosting work through GitHub issues #266): the request lane and itsadoption/host-roles.jsonpeer list;scripts/hardware_profile.py--record-host: the same tool the workstation (Record the nativestack-5975wx-20260925 WSL2 workstation: measured profile and 21 host receipts #231) and the Mac coordinator (Record host mac-coordinator-64gb-20260925: hardware profile and five use receipts #253) used for their profiles;scripts/host_receipts.pyregister_file: the hot-file protocol formanifests/evidence.json.--record-hostregisters only its evidence file, soadoption/hardware-profiles.jsonis re-registered;scripts/component_matrix.py --writeandscripts/new_host_grand_list.py --write: the generators whose--checkruns invalidate.yml.Evidence-class table
native_proven(hardware_profile.pyrun on the laptop)python3 -m unittestran 5783 tests, OK (skipped=628).new_host_grand_list.py --check,validate.pyandevidence_manifest.py --checkpassed.host_requests.py compose --from wsl-authoring-20260923gives no peer warninglocal_integrationorigin/main..HEAD: no leakslocal_integrationAn independent evidence-reviewer ran three rounds. It found the id mismatch (fixed in 5273120), the stale grand list and duplicate row (fixed in 7bb3c96), and this description (fixed here).
🤖 Generated with Claude Code