Skip to main content

harness.config.json

The generated template is:
The same default semantics apply when the configuration file is missing. projectName defaults to "unnamed-project", and commands are empty.

Fields

Unknown enum values or command keys produce an error immediately so typos are not silently ignored.

Test strategy

This setting controls the workflow in docs/workflow/06-agile-tdd.md. It does not mean validate can judge test design quality.

Collaboration mode

solo hides routine claim operations: when necessary, verify temporarily claims the feature for defaultOwner and releases it afterward. It still rejects a competing write when someone else holds an active claim. team requires the caller to explicitly hold an active claim before verification. It suits collaboration among multiple people, Agents, or machines.

Stage applicability

  • deploymentMode: required requires the deployment workflow; optional runs it when a target exists; none suits libraries or scripts that are not deployed.
  • observabilityMode: runtime requires runtime signals and feedback; feedback-only requires only a feedback loop; none skips stage 9 and feedback log audits.

Environment commands

The only allowed keys are bootstrap, start, verify, e2e, health, and cleanup.
env check currently runs bootstrap, verify, e2e, and health. Project workflows use start and cleanup explicitly.

ADR topics

The corresponding ADR frontmatter is:

feature_list.json.rules

wip_limit_per_owner is the enforced concurrency limit. single_active_feature is a deprecated alias and is ignored when WIP is set explicitly. The remaining booleans express the project contract, but cannot disable the core pass, dependency, and monotonicity gates.

Git baseline

See the validate command → GitHub Actions’ GITHUB_BASE_REF is also supported. When no Git baseline is available, the command falls back to .harness/last-validated-features.json. This file is a derived cache and should not be committed. For more status fields, see the feature_list.json reference.