All Commands

Primary workflow

Command What it does When to use
/h-reason Start structured reasoning — agent auto-selects depth Non-trivial engineering problem
/h-note Record a micro-decision with rationale validation Quick tech choice worth remembering

The five modes

Each mode creates or updates a specific artifact. Use these to drive each step manually, or let /h-reason orchestrate:

Command Mode What it does Creates
/h-frame Understand Frame the problem — signal, constraints, acceptance ProblemCard
/h-char Explore (prep) Define comparison dimensions with indicator roles Characterization on ProblemCard
/h-explore Explore Generate genuinely distinct variants with weakest link SolutionPortfolio
/h-compare Choose Fair comparison with parity enforcement, constraint-aware Pareto Comparison on SolutionPortfolio
/h-decide Execute Record decision as contract with invariants, claims, rollback DecisionRecord

Verify mode

Command What it does
/h-verify Scan for stale artifacts, code drift, pending verify_after claims, and structural invariant violations

Actions available within /h-verify:

  • scan — detect all stale artifacts, drifted files, unverified claims, and invariant violations
  • waive — acknowledge drift as intentional (decision still valid)
  • reopen — mark decision for reconsideration
  • supersede — replace with a new decision
  • deprecate — mark as no longer applicable
  • reconcile — batch scan notes against decisions for deduplication

Dashboard and query

Command What it does
/h-status Text dashboard — active decisions, stale items, recent notes, module coverage
/h-search Full-text search across all artifacts
/h-problems List active problems with Goldilocks readiness and complexity signals

Advanced

Command What it does
/h-view Deterministic projections of the artifact graph for different audiences
/h-onboard Scan existing project for architecture knowledge — READMEs, ADRs, specs

/h-view renders the same artifacts differently depending on audience:

  • engineer — invariants, affected files, drift status, WLNK
  • manager — decision titles, health summary, stale count, coverage
  • audit — full evidence chain, CL tags, verification dates, supersession history
  • compare — side-by-side variant comparison with Pareto front
  • delegated-agent — machine-readable format for autonomous agent consumption
  • change-rationale — why this changed from the previous version, for PR descriptions

CLI commands

These run directly in your terminal, not through an AI agent:

Command What it does
haft init Initialize project. Flags: --claude, --cursor, --gemini, --codex, --air, --all
haft serve Start MCP server (used by AI tools to communicate with haft)
haft agent [goal] Standalone agent with TUI runtime — runs reasoning without an external AI tool
haft sync Sync .haft/*.md markdown projections into local database (team workflow)
haft board Interactive TUI dashboard with four tabs, vim navigation, live refresh
haft doctor Diagnose project setup issues — MCP config, database, permissions
haft check CI-friendly governance scan — stale, drifted, unassessed, and coverage-gap findings
haft fpf search [query] Search the embedded FPF specification

haft board

$ haft board

Interactive TUI with four tabs: Overview (health, activity, depth distribution, coverage), Problems (backlog with drill-in), Decisions (R_eff, drift, glamour markdown detail view), Modules (coverage tree). Live refresh every 3 seconds — run it in a side terminal and it stays current as you work with the agent in another.

Use haft board for a live operator view. For CI or hooks, prefer haft check — it produces a deterministic pass/fail result and optional JSON.

haft check

$ haft sync
$ haft check
$ haft check --json

CI-friendly governance gate. It scans stale artifacts, drifted decisions, unassessed decisions, and coverage gaps. Exit 0 means clean; exit 1 means findings were detected.

haft sync

$ haft sync

Reads .haft/*.md files from git and imports them into the local database. This is the team workflow: decisions commit to git, each engineer pulls and runs haft sync to update their local state. See Team Sync for details.

Recommended protocol

/h-frame  → /h-char  → /h-explore → /h-compare → /h-decide
  what's      what       genuinely     fair         engineering
  broken?     matters?   different     comparison   contract
                         options

You can enter at any step, but the protocol works best in order. /h-char before /h-explore prevents bias (criteria defined before options). /h-compare before /h-decide ensures fair evaluation.

Next

  • Key concepts — R_eff, CL, WLNK, evidence decay, claims
  • FAQ — common questions