Roadmap

Haft is actively developed. Here's what's shipped and what's coming — not promises, but directions we're building toward.

Recently shipped (6.0)

  • Haft rename — quint-code is now haft. .quint/ becomes .haft/, /q-* becomes /h-*
  • 5-mode model — Understand, Explore, Choose, Execute, Verify (+ Note fast path)
  • Claim-aware decisions — structured predictions with verify_after dates, observable, threshold. /h-verify scan surfaces unverified claims
  • Team synchaft sync imports .haft/*.md from git into local database. Decisions flow through PRs
  • Desktop app — pre-alpha native app for browsing decisions, problems, and coverage outside the terminal
  • Standalone agent runtimehaft agent [goal] runs reasoning with TUI, independent of external AI tools
  • Knowledge graphFindDecisionsForFile, FindInvariantsForFile, ComputeImpactSet queries across the file-module-decision graph
  • Invariant injection — when implementing a decision, agents receive invariants from all decisions governing affected files
  • Invariant verification — structural invariants ("no dependency from X to Y", "no circular dependencies") verified against the live dependency graph
  • Constraint-aware Pareto — variants violating constraint-role indicators are eliminated before dominance comparison
  • Deterministic projections/h-view renders artifacts for engineer, manager, audit, compare, delegated-agent, and change-rationale audiences
  • Expanded integrationshaft init supports --claude, --cursor, --gemini, --codex, --air, --all

Server mode (next priority)

haft server — a new subcommand in the same binary. A thin HTTP server that manages the decision database. For solo advanced use, it runs on localhost and enables features that require a long-running process. For teams, it runs on a shared server.

Solo:  Agent → MCP → haft serve → local SQLite
Team:  Agent → MCP → haft serve → haft server (remote) → PostgreSQL

When server mode exists, haft board switches to the remote database automatically. CI should still use haft sync && haft check as the governance gate. Server mode can later enrich shared state and search, but it does not replace the check command. This enables real-time collaboration and a shared search index across the team.

Formal specification (research)

Decision records from the full cycle contain invariants, post-conditions, and acceptance criteria — enough structure for any agent to generate property-based tests today. This works without any haft changes.

The research direction: can we go further? Translating decision invariants into Quint specifications (TLA+ with TypeScript syntax) for model checking — verifying that invariants hold across all reachable states, not just random inputs. This is in research phase.

Cognitive review loops

Instead of dumb valid_until timers, use FSRS (Free Spaced Repetition Scheduler) to schedule decision reviews based on evidence confidence and historical review quality. Requires the server mode (long-running process).

Autonomy budgets

From FPF E.16: treat agent autonomy as a managed resource (like money or risk), not as "magic of a smart model." Typed budgets with guards, separation of duties, override protocols. This is the team governance layer.

What's not on the roadmap

  • AI model lock-in — haft works with any MCP-compatible AI tool. We don't pick your model.
  • Prescriptive methodology — haft provides structure, not opinions. Use as much or as little of the FPF cycle as fits your workflow.

Want to contribute?

Check the issues on GitHub. The contributing guide explains the workflow: issue first, then PR to dev.