Skip to content

Epic: ship the canonical prime-agent acq-kit on GSA-TTS #368

Open
1 of 11 issues completed
Open

Description

@wz-gsa

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_KEY placeholder and USAi /models returned 200 (curl + Node once the CA was right).
  • CA-bundle is REQUIRED day-one (load-bearing): without an agent-readable NODE_EXTRA_CA_CERTS bundle, Node HTTPS fails SELF_SIGNED_CERT_IN_CHAIN on any image where the agent isn't uid 1000 (msb's /.msb/tls/ca.pem is 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, no publishedPorts — 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_inspiration intake for upstream prime-agent)

Dependencies

  • The kit's committed models.json comes 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).

Activity

  1. wz-gsa commented on Aug 24, 2026

    @wz-gsa
    ContributorAuthor

    Cross-repo landing order (bidirectional refs)

    Blocked by / sequence:

    1. quickstart mawk blocker BLOCKER: mawk interval-regex silently drops every kit's files on Debian/Ubuntu agentic-coding-quickstart#374 — MUST land first (else this kit's files silently stage as nothing on Debian/Ubuntu).
    2. USAi catalog MVP Epic: harness-neutral USAi model catalog + per-harness emitters #357 (esp. the prime-agent emitter USAi catalog: prime-agent emitter + shape/no-secret tests #361 → committed models.json USAi catalog: generate + commit the prime-agent models.json artifact #362) — blocks this kit's models.json step (prime-agent kit: models.json install step (consumes the catalog emitter) #373).
    3. This kit's binary-install machinery (prime-agent kit: skeleton + spec.yaml (hybrid/v1) #369/prime-agent kit: unprivileged install + integrity gates #370/prime-agent kit: agent-readable CA-bundle (port from paseo) — load-bearing #371/prime-agent kit: kernel bootstrap as agent user into $HOME/.prime #372) can proceed in parallel with the catalog.
    4. quickstart msb recipe msb backend: add prime-agent as a natively supported agent agentic-coding-quickstart#375 pairs with this kit (recipe installs the binary; kit supplies models.json + CA-bundle + kernel).

    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).

  2. wz-gsa commented on Aug 25, 2026

    @wz-gsa
    ContributorAuthor

    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.

  3. wz-gsa commented on Aug 27, 2026

    @wz-gsa
    ContributorAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicParent tracking issuesecurity-skillsAgentic security skill work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions