feat: add refs tracking to RoleStep #35

Merged
xiaoju merged 1 commits from feat/31-refs-tracking into main 2026-05-07 10:44:44 +00:00
Owner

What

Add refs: string[] to RoleOutput/RoleStep for CAS reference tracking.

Why

Prerequisite for CAS GC (#32) — need to know which CAS entries are alive.

Changes

  • types.tsRoleOutput.refs, RoleDefinition.extractRefs
  • engine.ts — persist refs
  • fork-thread.ts — preserve refs on fork
  • planner/coder — implement extractRefs
  • 137 tests passing

Ref

Fixes #31, Refs #25

## What Add `refs: string[]` to RoleOutput/RoleStep for CAS reference tracking. ## Why Prerequisite for CAS GC (#32) — need to know which CAS entries are alive. ## Changes - `types.ts` — `RoleOutput.refs`, `RoleDefinition.extractRefs` - `engine.ts` — persist refs - `fork-thread.ts` — preserve refs on fork - planner/coder — implement extractRefs - 137 tests passing ## Ref Fixes #31, Refs #25
xiaoju added 1 commit 2026-05-07 10:44:41 +00:00
- RoleOutput gains refs: string[] for CAS reference tracking
- RoleDefinition gains extractRefs: ((meta) => string[]) | null
- planner: phases.map(p => p.hash), coder: [completedPhase]
- Engine persists refs, fork preserves refs
- Backward compat: missing refs normalized to []
- 137 tests passing

Fixes #31
xiaoju merged commit 15d39c96a7 into main 2026-05-07 10:44:44 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#35