You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Includes: written by the skills that create and advance the folder, at step boundaries — a handful of writes over a task's life, human-readable and correctable.
Excludes: status of any kind. The artefact's frontmatter owns it, and a step with an end time is finished by deduction.
Excludes: the folder's file listing. produced is provenance, not an inventory.
Excludes: tokens, cost, model, duration. Those come from telemetry.
Excludes: any downward link. Readers index the folders and group by the upward one.
steps is a journal, not a checklist: entries repeat, and arrive out of order. Three debug runs mid-implementation give three entries. The flow is read afterwards, never constrained beforehand.
One field, one support
backlog points at the artefact on whatever support it lives: an issue reference where the backlog lives with the ticket provider, a project-relative path where it lives in Markdown. This is what persistence.md already prescribes — "Use native fields when supported; otherwise use explicit ids or project-relative paths" — and its companion rule is why nothing is copied: "Never mirror one Story across supports."
Neither the type of work nor the originating ticket is repeated here. The backlog artefact carries them in type, work_kind and source.
A folder with no backlog artefact is a normal state: backlog is null, and only then does the file carry its own source and type.
Done When
From a run file, the chain to the epic is walkable with no missing edge.
No field in the file duplicates one that exists on the backlog artefact, asserted field by field.
A story delivered in two folders produces two files pointing at it, and the story is unchanged.
A folder created without a backlog artefact is valid and readable.
Three invocations of the same skill produce three step entries, not one.
Nothing writes a downward link.
Completion Evidence
A real feature whose cost, sessions, steps, produced files and originating ticket are reachable from one another in both directions of reading.
Outcome
A delivery folder declares where it comes from and which step produced which file, without repeating anything the backlog item already holds.
Scope
metadata.jsonin the task folder, carrying aunit_id— the identity of the unit of work, distinct from therun_idof a session in feat(framework): an aidd-telemetry plugin whose hooks journal every session #620, one upward link, and a journal of the steps that ran with the files each produced.producedis provenance, not an inventory.The file
{ "schema_version": 1, "unit_id": "01J9X4M2K7QRVB", "task_id": "2026_08_14_telemetry-v1", "backlog": "ai-driven-dev/framework#617", "branch": "feat/telemetry-v1", "pull_request": "ai-driven-dev/framework#651", "opened_at": "2026-08-14T08:40:12Z", "closed_at": null, "steps": [ { "skill": "aidd-pm:04-spec", "from": "...", "to": "...", "produced": ["spec.md"] }, { "skill": "aidd-dev:01-plan", "from": "...", "to": "...", "produced": ["plan.md", "phase-1.md"] }, { "skill": "aidd-dev:08-debug", "from": "...", "to": "...", "produced": [] } ] }stepsis a journal, not a checklist: entries repeat, and arrive out of order. Three debug runs mid-implementation give three entries. The flow is read afterwards, never constrained beforehand.One field, one support
backlogpoints at the artefact on whatever support it lives: an issue reference where the backlog lives with the ticket provider, a project-relative path where it lives in Markdown. This is whatpersistence.mdalready prescribes — "Use native fields when supported; otherwise use explicit ids or project-relative paths" — and its companion rule is why nothing is copied: "Never mirror one Story across supports."Neither the type of work nor the originating ticket is repeated here. The backlog artefact carries them in
type,work_kindandsource.A folder with no backlog artefact is a normal state:
backlogis null, and only then does the file carry its ownsourceandtype.Done When
Completion Evidence
A real feature whose cost, sessions, steps, produced files and originating ticket are reachable from one another in both directions of reading.
Relations