Skip to content

ci(prime): require real artifact graduation - #259

Merged
rynfar merged 2 commits into
pylonfrom
ci/prime-artifact-graduation
Sep 3, 2026
Merged

ci(prime): require real artifact graduation#259
rynfar merged 2 commits into
pylonfrom
ci/prime-artifact-graduation

Conversation

@rynfar

@rynfar rynfar commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Problem

Prime publication verification and managed installation need a protected proof against already-published bytes before maintainers can treat a build as graduated. Rebuilding or republishing in the gate would not prove the exact artifact users receive.

What changed

  • Add a manual prime-graduation workflow that downloads an exact immutable preview, validates its release and asset metadata, re-verifies all bytes and Sigstore provenance, then exercises the verified archive through managed install, update, explicit rollback, restart recovery, and cleanup.
  • Pin the public Prime Agent 0.8.1 stock fixture by repository, release, and asset identity plus exact size, SHA-256, and SHA-512. Install it with lifecycle scripts disabled and prove its bytes stay unchanged.
  • Keep the workflow read-only. It has no publishing path, no secrets, and no uploaded local paths or process logs. Active word-boundary mutation sentinels reject publishing commands and skipped proofs.
  • Support an optional second exact preview for a real selected-launcher update proof before rolling back. The workflow never builds or republishes an artifact.

Verification

  • Exact rebase shape: two commits on 29d79d581c64eb037f1e6293bdaba38e891b0f37:
    • b36979f9e3 replayed as 8589bc657d — require real artifact graduation
    • 6c9b2087f6 replayed as c09508fb7e — pin the stock graduation artifact
  • Both stable patch IDs match their source commits. No product commits or merges were replayed.
  • actionlint .github/workflows/prime-artifact-graduation.yml passed.
  • Workflow static and mutation suite: 5 tests passed.
  • Stock identity and distribution verifier suites: 21 tests passed.
  • Managed/status/maintenance/recovery/rollback/contracts focus: 16 files passed, 1 artifact-gated file skipped; 175 tests passed, 1 skipped.
  • Graduation runtime selection without an artifact: 2 files passed, 3 artifact-gated files skipped; 26 tests passed, 5 skipped. This compiled the current bridge, driver, restart-adoption, real-daemon, and multi-instance paths. The protected workflow requires zero skips when dispatched.
  • Contracts, server, and desktop typechecks passed. Server and desktop emitted existing Effect suggestions only.
  • Targeted lint passed on all 15 changed code files with 0 warnings and 0 errors.
  • Format passed on all 20 changed files. git diff --check passed.
  • Release smoke passed. Its isolated install warned that the local Node 22.22.3 differs from the repository Node 24.13.1 requirement, then completed successfully.
  • Migrations 049–052 are unchanged from the base.
  • No real preview was available, so the protected workflow was not dispatched. The existing prime-graduation environment was not changed and must be read back before a later dispatch.

Model: gpt-5.6-sol
Harness: Prime Agent


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.6 KiB +1 B (+0.0%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB +4 B (+0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.5 KiB 6.5 KiB −3 B (−0.0%) 7.8 KiB
Codex Live turn WebSocket decoded 56.5 KiB 56.5 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 8 8 0 (0.0%) 21
Claude Total thread wire 13.6 KiB 13.8 KiB +156 B (+1.1%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB −4 B (−0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.5 KiB 6.7 KiB +160 B (+2.4%) 7.8 KiB
Claude Live turn WebSocket decoded 57.3 KiB 58.2 KiB +884 B (+1.5%) 66.4 KiB
Claude Live turn messages 8 9 +1 (+12.5%) 21

Baseline: 29d79d5 · PR result: c09508f · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 6dc7405 into pylon Sep 3, 2026
17 checks passed
@rynfar
rynfar deleted the ci/prime-artifact-graduation branch September 3, 2026 04:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant