Governance substrate for AI coding agents
HAFT
haftMake better decisions. Remember why you made them.
$
curl -fsSL https://haft.tools/install.sh | bash
One project graph, across the tools you already use
Formerly quint-code
The problem
Plausible output is not a durable engineering decision.
You and your AI make consequential choices every day. The answer can look confident and still lack a frame, a fair comparison, recoverable rationale, or evidence that survives changing conditions.
- 01
The problem was never framed
You reach for Kafka before naming what is broken. Familiarity wins before the actual constraints enter the room.
- 02
Comparison never happened
The first plausible option becomes the answer. Alternatives, parity, trade-offs, and weakest links stay invisible.
- 03
“Why did we make that?”
The rationale disappears into chat history. Months later, the team reconstructs intent from code comments and git blame.
- 04
“Is this still the right call?”
Traffic, team, and requirements change while the old decision remains frozen and its supporting evidence quietly expires.
How it works
Use only the rigor the current question needs.
Haft brings the pinned FPF source into your coding agent and keeps a typed project graph only when later work needs to rely on the result. The skills are independent capabilities, not stages in a mandatory funnel.
Start with the question that is actually current.
Call /h-reason when a concern deserves a deliberate,
source-supported reasoning pass. Haft retrieves the relevant versioned FPF material,
applies the smallest useful method, and keeps alternatives live when the evidence is insufficient.
A reversible exchange can stay in conversation. It becomes a durable project record only when handoff, replay, authority, automation, or later verification needs an addressable result.
Foundation
Source first. No shadow methodology.
Haft is built on First Principles Framework by Anatoly Levenchuk — a rigorous transdisciplinary architecture for thinking. Haft pins and retrieves that source instead of replacing it with a simplified catalog.
Read the FPF specificationA relevant source candidate is not yet a selected pattern, recommendation, or performed work.
Reasoning stays conversational until a real receiving use needs replay, authority, or verification.
Plans, generated text, and tool schemas do not silently become binding decisions or execution permission.
Frequently asked questions
Why do I need haft when there are SDD frameworks? ↑
How is this different from ADRs? ↑
Can I use it on an existing project? ↑
haft init and then /h-onboard —
the agent bootstraps the typed project and software-system carriers from repository evidence.
You do not need to reconstruct every historical decision before using Haft for the next current concern.
What happens when I switch between AI coding tools? ↑
Isn't this overkill for small projects? ↑
/h-note when a fact must survive the session, or
/h-reason when the question deserves a deliberate source-supported pass.
Haft does not force a full artifact lifecycle onto every choice.
Does it work for teams or solo only? ↑
.haft/ directory is git-tracked,
so decisions ship with your code in PRs. For team sync, run haft sync —
each engineer pulls the latest markdown projections from git and syncs them into their local database.
No shared database, no merge conflicts on binary files. Each person has a local copy that stays in sync
through your normal git workflow.
Is haft good for vibe coding? ↑
/h-reason
or a narrower capability when a decision, assumption, or handoff will matter later.
From the creator of haft
ivan zakutni
First Principles Engineering
Production AI systems. Software architecture decisions that don't age like milk. The same methodology behind haft — applied to real-world engineering problems.
Deep dives, not hot takes. For engineers who ship.