Repository navigation
Epic: ship the canonical prime-agent acq-kit on GSA-TTS #368
Copy link
Copy link
Open
1 / 111 of 11 issues completedOpen
1 / 111 of 11 issues completed
Copy link
Labels
enhancementNew feature or requestNew feature or requestepicParent tracking issueParent tracking issuesecurity-skillsAgentic security skill workAgentic security skill work
Description
Goal
Add prime-agent (PrimeIntellect-ai/prime-agent, MIT) as a supported agent inside acq sandboxes, built fresh on GSA-TTS (a private mirror was used as inspiration only, per §4.3 — prose/ADRs independently authored, pins re-derived live).
Verified findings driving the design (live-tested on msb 0.6.12 + sbx)
- msb wire-substitution WORKS for prime-agent: the guest holds the
$MSB_USAI_API_KEYplaceholder and USAi/modelsreturned 200 (curl + Node once the CA was right). - CA-bundle is REQUIRED day-one (load-bearing): without an agent-readable
NODE_EXTRA_CA_CERTSbundle, Node HTTPS failsSELF_SIGNED_CERT_IN_CHAINon any image where the agent isn't uid 1000 (msb's/.msb/tls/ca.pemis root-only). paseo already solves this — port its bundle block. Verified: FAIL→200 after the fix, then a full model turn + IPython-kernel file-read succeeded. - Unprivileged install: install into a per-user npm prefix, no root (same drop-sudo hardening applied to openchamber). A compromised dependency must not get root.
- Integrity gates: pin the installer by ref+SHA and re-verify the INSTALLED bundle digest against a repo-pinned value (the vendor serves SHA256SUMS from the tarball origin, so their check is transport-integrity, not provenance — the repo-pinned bundle digest is load-bearing). Negative-pin path must leave the agent ABSENT (fail-closed).
- Kernel must provision as the agent user into
$HOME/.prime(a root provision put ~350MB in/root/.prime, invisible to the agent).
Issues
- Kit skeleton +
spec.yaml(hybrid/v1,kind: mixin, nopublishedPorts— it's a TUI) - Unprivileged install + integrity gates (installer SHA + repo-pinned bundle digest, fail-closed, drop-sudo per-user prefix)
- Agent-readable CA-bundle (port paseo's block into install + kernel bootstrap)
- Kernel bootstrap as the agent user into
$HOME/.prime -
scripts/verify(install + digest + unprivileged-prefix + CA-bundle + Node-HTTPS-200 + kernel-in-agent-home + negative-pin) - Docs + ADRs (independently authored; new ADR for CA-bundle + unprivileged-install;
source_inspirationintake for upstream prime-agent)
Dependencies
- The kit's committed
models.jsoncomes from the USAi catalog epic (prime-agent emitter). The binary-install machinery can proceed in parallel; the provider config cannot land without the emitter. - Requires the quickstart mawk blocker fix to land first (else every kit's files are silently dropped on Debian/Ubuntu hosts) — see the quickstart epic.
AI-assisted (OpenCode).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestepicParent tracking issueParent tracking issuesecurity-skillsAgentic security skill workAgentic security skill work
Activity
wz-gsa commentedon Aug 24, 2026
Cross-repo landing order (bidirectional refs)
Blocked by / sequence:
Land order: mawk(#374) → [catalog MVP #357 ∥ kit install #369-372] → models.json (#373 needs #362) → verify (#374-kit) → docs → msb recipe (qs#375) → ADR (qs#376).
feat(prime-agent): add kit skeleton + spec.yaml (hybrid/v1) (#378)
wz-gsa commentedon Aug 25, 2026
Progress: #362 (generate the kit's real models.json from the USAi catalog prime-agent emitter) is in PR #385 — byte-exact regeneration guard + no-secret scan; 14 models. The kit now ships a real generated models.json (placeholder retired). Remaining kit issues are the live-test-heavy scripts: #370 (unprivileged install + integrity gates), #371 (CA-bundle from paseo — the load-bearing Node-HTTPS fix), #372 (kernel bootstrap as agent user), + the verify harness + docs.
wz-gsa commentedon Aug 27, 2026
Grooming update (2026-08-27): #369 closed (was merged, left open in error). #362 (models.json) is done, which unblocks #373. Remaining, confirmed genuinely open and needing a live sandbox: #370 (unprivileged install), #371 (CA-bundle from paseo — load-bearing), #372 (kernel bootstrap), #373 (models.json install script, now unblocked), #374 (verify harness), #375 (docs/ADRs). Keep epic open.
feat(patterns): add pi-coding-agent acq-kit (earendil-works/pi, npm i…