Skip to content

frame-track: persist the screencast as a per-frame sequence (no overwrite) #77

@reynsu

Description

@reynsu

Parent

#74

What to build

Stop collapsing the screencast to one frame per step. Persist every frame of a test as a monotonic per-test sequence on disk (e.g. `frames//.jpg`) plus a per-frame JSONL index line carrying `ts`, `stepId`, and the frame ref. Extract a deep, testable `frame-track` module that owns the sequence numbering, the path, and the index line; the event-persistor delegates to it. Add the per-frame path to the runs layout owner (`run-paths`).

Acceptance criteria

  • A run writes a sequence of jpgs per test (one per received screencast frame), not a single overwritten file per step.
  • `events.jsonl` gains one per-frame line per frame, each with `ts` + `stepId` + frame ref.
  • `frame-track` module is unit-tested in isolation (sequence numbering, index line shape).
  • Integration test: driving the persistor with a frame stream lands the per-frame sequence + index on disk without overwriting (prior art: tests/integration/replay-from-disk.test.ts).
  • DISK-shape vs WIRE-shape frame boundary is preserved (the persistor only writes; it doesn't re-ingest disk frames).

Blocked by

#76

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentPRD/issue is fully specified and ready for an agent to pick up and execute

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions