Skip to content

Proof output retention Phase 3: resume, supervisor, and disk ergonomics #202

@tonyketcham

Description

@tonyketcham

Summary

Make resumed Proof runs reconstruct execution transcripts with a versioned state schema and clear supervisor ergonomics.

Source Context

Why This Exists

  • Phase 1 can reconstruct task transcripts after restart only when the same artifact directory is reused and transcriptPath points at a stream mirror.
  • The proposal's Phase 3 makes that behavior explicit with a versioned persisted-state transcript union and testable input parity across runner restarts.
  • The review highlights the current silent-degradation edge when a supervisor restarts into a fresh timestamped artifact directory; Phase 3 should turn that into a documented and noisy operator path.

Acceptance Criteria

  • Bump PersistedRunState to version: 2 with transcript: { kind: 'artifact' | 'inline' | 'legacy', ... } per the proposal.
  • Teach resume loading to rebuild the transcript store from artifact pointers or gzipped inline data before any resumed rank executes.
  • Preserve one-release compatibility for version: 1 state by promoting legacy resultText into the new transcript shape.
  • Add supervisor warning/validation for restart-on-runner-change runs that do not pin --full-output-dir, especially when artifacts are disabled or missing.
  • Add deterministic input-parity, state-size, migration, and supervisor-warning tests.

Verification

  • pnpm -F @flatbread/proof test
  • pnpm -F @flatbread/proof typecheck
  • pnpm verify

Related Phase Issues

Artifact Linkage

This issue is linked back from docs/proposals/proof-output-retention-plan.md and, where relevant, docs/proposals/proof-output-retention-review.md so the repo artifacts and GitHub issues remain navigable in both directions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIcommand line interfaceenhancementNew feature or requesttestinge2e, unit, and integration testing

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions