P3 Task 8: pin and approve native Pi 0.84.1 artifact and RPC client #1184

Open
opened 2026-08-13 00:40:54 +00:00 by mos-dt-0 · 0 comments
Collaborator

P3 Task 8 prerequisite

Pin and independently approve the exact native executable/package used by the Pi RPC adapter. CI issue #1164's global install is test provisioning only; it does not pin the Gateway dependency, lockfile graph, artifact manifest, strict client, or production-bound preflight.

Frozen identity

  • Package: @earendil-works/[email protected]
  • Registry SRI: sha512-ncAqFrG+iybuPGOhMiZoEHkEzTpJgz3guYD32pD+M7ucc0WeHmauP6wa7qwP8V/KWvsZDVNa5XGsdZ7fkC7w7A==
  • Cached tarball size: 5103866
  • Cached tarball SHA-256: a69a18596017e91955fd0fd677be69fab5b6ea01d5b06207bcee34ee1522bc20
  • dist/cli.js SHA-256: 840d1e8e689ed9e4937bcb00b9a810e02a8567d9afb10a47097f11ca93ea1521
  • dist/rpc-entry.js SHA-256: a515a6930662a74b4840fb220c3527545c169a84b17bdbae21d4a8ee6b8da30b
  • Node engine: >=22.19.0
  • Bin: pi -> dist/cli.js

These are reconnaissance facts, not approval. Implementation must reproduce them from the locked dependency and record a canonical sorted package-content digest.

Binding implementation

  • Exact 0.84.1 Gateway dependency and complete pnpm-lock.yaml integrity graph.
  • Stack artifact manifest naming exact package, SRI/tarball/content/executable hashes, absolute manifest-resolved executable, allowed Node range, and safe invocation:
node <absolute manifest executable>/dist/cli.js --mode rpc --no-builtin-tools \
  --session <contained file> --session-dir <contained dir>
  • Do not use upstream RpcClient as production boundary: it resolves a relative CLI and inherits ambient environment.
  • Implement local strict JSONL framing/protocol/client with bounded records, request correlation, typed errors, timeout/process-exit handling, and bounded redacted stderr.
  • Deterministic offline fixtures cover prompt acceptance, abort, state, available models, entries cursor, session create/resume, extension UI request/response, EOF shutdown, unknown/malformed/oversized records, duplicate/mismatched IDs, and fragmented UTF-8/JSONL.
  • Reject locally: builtin tools, !, bash, arbitrary session switch/fork/clone, unknown extension commands.
  • No provider request, auth read, credential/session content, or network package download in the artifact gate.

Production-bound follow-up

Task 10 repeats the approved offline vocabulary through exact W-F1 descriptor + @mosaicstack/harness-sandbox, contained zero-byte session reservation/verification/fsync, and fail-closed Gateway readiness. Task 8 alone does not authorize runtime/stage/provider use.

Evidence

Create a reviewed artifact approval JSON/security record containing only package/digest/Stack SHA/offline-test facts—no auth/session/provider data. Independent artifact and security reviewers must approve the exact candidate.

Sequencing

Planning/reproducibility work may begin read-only now. Code branch and manifest pin wait for P3_NATIVE_IMPLEMENTATION_BASE_SHA unless Scrappy records a narrower approved base. Before mutation, author reports exact base/branch/path fence/RED set and reconciles overlap with W-F1 and harness-sandbox. Stage remains held.

## P3 Task 8 prerequisite Pin and independently approve the exact native executable/package used by the Pi RPC adapter. CI issue #1164's global install is test provisioning only; it does not pin the Gateway dependency, lockfile graph, artifact manifest, strict client, or production-bound preflight. ## Frozen identity - Package: `@earendil-works/[email protected]` - Registry SRI: `sha512-ncAqFrG+iybuPGOhMiZoEHkEzTpJgz3guYD32pD+M7ucc0WeHmauP6wa7qwP8V/KWvsZDVNa5XGsdZ7fkC7w7A==` - Cached tarball size: `5103866` - Cached tarball SHA-256: `a69a18596017e91955fd0fd677be69fab5b6ea01d5b06207bcee34ee1522bc20` - `dist/cli.js` SHA-256: `840d1e8e689ed9e4937bcb00b9a810e02a8567d9afb10a47097f11ca93ea1521` - `dist/rpc-entry.js` SHA-256: `a515a6930662a74b4840fb220c3527545c169a84b17bdbae21d4a8ee6b8da30b` - Node engine: `>=22.19.0` - Bin: `pi -> dist/cli.js` These are reconnaissance facts, not approval. Implementation must reproduce them from the locked dependency and record a canonical sorted package-content digest. ## Binding implementation - Exact `0.84.1` Gateway dependency and complete `pnpm-lock.yaml` integrity graph. - Stack artifact manifest naming exact package, SRI/tarball/content/executable hashes, absolute manifest-resolved executable, allowed Node range, and safe invocation: ```text node <absolute manifest executable>/dist/cli.js --mode rpc --no-builtin-tools \ --session <contained file> --session-dir <contained dir> ``` - Do not use upstream `RpcClient` as production boundary: it resolves a relative CLI and inherits ambient environment. - Implement local strict JSONL framing/protocol/client with bounded records, request correlation, typed errors, timeout/process-exit handling, and bounded redacted stderr. - Deterministic offline fixtures cover prompt acceptance, abort, state, available models, entries cursor, session create/resume, extension UI request/response, EOF shutdown, unknown/malformed/oversized records, duplicate/mismatched IDs, and fragmented UTF-8/JSONL. - Reject locally: builtin tools, `!`, bash, arbitrary session switch/fork/clone, unknown extension commands. - No provider request, auth read, credential/session content, or network package download in the artifact gate. ## Production-bound follow-up Task 10 repeats the approved offline vocabulary through exact W-F1 descriptor + `@mosaicstack/harness-sandbox`, contained zero-byte session reservation/verification/fsync, and fail-closed Gateway readiness. Task 8 alone does not authorize runtime/stage/provider use. ## Evidence Create a reviewed artifact approval JSON/security record containing only package/digest/Stack SHA/offline-test facts—no auth/session/provider data. Independent artifact and security reviewers must approve the exact candidate. ## Sequencing Planning/reproducibility work may begin read-only now. Code branch and manifest pin wait for `P3_NATIVE_IMPLEMENTATION_BASE_SHA` unless Scrappy records a narrower approved base. Before mutation, author reports exact base/branch/path fence/RED set and reconciles overlap with W-F1 and harness-sandbox. Stage remains held.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1184