Skip to main content
feature_list.json is the single source of truth for the feature plan and execution status. Developers, Agents, the CLI, Git hooks, and CI all read it.

Top-level fields

A milestone contains at least id, title, and objective. List order is used to check milestone ordering for dependencies.

Feature definition

verification

type can only be automated or manual. verify executes automated items; evidence manual records manual items. source_refs should point precisely to the acceptance criteria covered by the check.

CLI-managed fields

Do not maintain these fields manually:
  • claim: owner, actor, claim time, lease, heartbeat, and takeover information.
  • workspace: branch, path, baseline commit, and creation time.
  • Test, manual, review, and project approval records in evidence.
  • blocker and lifecycle status transitions.
The related commands use compare-and-swap atomic writes. When they detect concurrent modification, they safely retry or refuse to overwrite it.

evidence

Common kind values for feature evidence include test, manual, and review. Records contain results and timestamps plus the relevant command, verification index, reviewer, actor, notes, or CI metadata. Top-level project evidence is used for artifact approval and additionally stores the artifact and content hash.

Archiving milestones

milestone archive (see the Planning commands reference) moves a fully-passing milestone, and its features, out of feature_list.json into .harness/archive/<milestone-id>.json:
Archived feature IDs are not gone from the project’s record: claim, feature start, and dependency-cycle checks still treat them as satisfied (“passing”) dependencies, and traceability still counts them toward the requirements, stories, and acceptance criteria they covered. Archiving is a storage move for completed work, not a way to drop it — it keeps feature_list.json focused on the current and upcoming milestones without losing history or breaking anything that depended on the archived work.
Passing JSON Schema validation only means the structure is valid. validate semantic auditors still check dependency order, WIP, evidence freshness, independent review, source references, and traceability completeness.