Skip to main content

Artifacts

Files that the harness reads and writes during the lifecycle.

State​

FilePathPurpose
AGENTS.mdrootProject rules, entry points
feature_list.jsonrootWIP=1 source of truth
STATE.md.specs/project/Durable progress, blockers, decisions
session-handoff.mddocs/harness/Transfer between sessions
sprint-contract.mddocs/harness/Scope, AC, verification plan
quality-thresholds.jsonagent-os/Metrics, risk routing, and governing keys
learned-rules.jsonagent-os/Project-local ledger of active, conflicting, and retired rules
<run>.jsondocs/harness/findings/Append-only typed-findings window bound to the gate
refine-log.mddocs/harness/Proposals, rejections, and Refine-cycle decisions

Feature list​

Each feature in feature_list.json uses the fields below:

FieldDescription
idUnique identifier
priorityExecution order
areaProject area
titleShort name
user_visible_behaviorWhat the user/agent sees when it works
dependenciesIDs of features that must be completed first
statusnot_started, in_progress, passing or blocked
verificationCommand that proves it works
evidenceReal output captured after verification
notesAdditional information

Status rules​

  • Only ONE feature in_progress at a time.
  • passing requires evidence filled with real output.
  • blocked requires the exact cause in the evidence field.
  • No feature in_progress with unresolved dependencies.

v1.3 artifact ownership​

  • Reviewers return records; the scheduler validates and writes each findings file once.
  • Refine reads findings and the ledger but writes neither.
  • Approved rules land after code as a separate change because the rulebook remains inside the gate source hash.
  • Governing numbers live in quality-thresholds.json, never in prose.