Skip to the content.

CHARTER — the ten principles fak is built to satisfy

This is fak’s constitution: the small set of commitments every surface is meant to advance. It is the why above the what — read README.md for what fak is, AGENTS.md for how to work in the repo, and CLAIMS.md for what is actually shipped. This page names what all of that is for.

The charter is a north star, not a new gate. It does not block a commit. Instead it binds to the machinery the repo already runs: each principle points at a surface that embodies it and a deterministic scorecard that keeps it honest, and where no measuring stick exists yet, the charter says so in plain not yet language rather than claiming alignment it can’t witness. The repo already folds 18 scorecards into one debt number through tools/scorecard_control_pane.py; most of this charter is already measured there. The job of this document is to make the goal explicit, map it to that machinery, and grade the gap honestly.

The charter

  1. Agentic built by default.
  2. Industry leading value.
  3. Low ego, flexible, Buddhist, works with anyone.
  4. DOS verified.
  5. Self improving, growth mindset.
  6. Up to date — zero-day or pre-release support for popular concepts, papers, and models.
  7. Great by default — all optimizations and concepts “just work” out of the box.
  8. Agentic first. Built by agents, for agents.
  9. Win-win-win — e.g. a security win that also improves performance.
  10. Coherent and remaining human-steerable, good for humanity.

How the charter stays honest

A charter that only inspires is decoration. This one is wired to evidence:

Alignment scorecard (2026-06-26)

Grades are current alignment, A (structurally embodied and measured and witnessed) through F. The control-pane key is the debt metric that already tracks the principle, or — none yet where the stick is missing.

# Principle Embodied by Control-pane stick Grade Worst-first next action
1 Agentic by default AGENTS.md, .mcp.json, docs/integrations/, examples/mcp/ agent (friction_debt 0) A Add a real-world adoption witness; the affordances are perfect, usage in the wild is unmeasured.
2 Industry leading value docs/industry-scorecard/, BENCHMARK-AUTHORITY.md parity (parity_debt 0) B+ Convert the 67 honest-gap rows to measured or out-of-scope; refresh the ~47 stale SOTA bars.
3 Low ego, works with anyone docs/integrations/interoperability.md, compatibility matrix (44 harnesses) — none yet B Build an interop stick: extract + run each integration recipe’s fenced command in CI.
4 DOS verified dos.toml [reasons.*], the (fak <leaf>) trailer, dos_verify / dos_commit_audit ship_integrity KPI (inside code) B Promote dos-verified to a portfolio-level stick (stamp-adoption rate, closure-audit pass rate).
5 Self improving tools/scorecard_control_pane.py (folds 18), /score-2x, internal/rsiloop, guard-rsi guard_rsi (1) + the whole fold A− Close the remaining guard-RSI debt; promote the plan-mode RSI loops to journal-closing loops.
6 Up to date tools/idea_scout.py (daily arXiv+GitHub), docs/notes/RESEARCH-*-triage-* — none yet (verify pending) B Build a currency stick: idea-scout cadence, triage latency, model-adoption lag.
7 Great by default cmd/fak/serve.go defaults, fak token-defaults-scorecard token-defaults (debt 0, 4/6 savers on) (verify pending) A− Witness the elide-result bounded-loss saver on real traffic, then default it on (4/6 → 5/6).
8 Agentic first AGENTS.md, tools/new_leaf.py, docs/dispatch-loop.md, this charter (agent-authored) agent measures usability, not primacy B Add an agent-primacy witness (agent-authored commit / issue / PR share); usability is already A.
9 Win-win-win the unified kernel.Syscall() seam (one decision, many budgets), compounding-benefits-of-a-saved-call conflation (live drift +2) (verify pending) B Re-label the 2 unlabeled OBSERVED metric help strings; re-pin conflation to 0.
10 Human-steerable tools/steerability_scorecard.py, tools/stability_scorecard.py, POLICY.md, docs/ROLLBACK.md steer (live drift +2), stability (0) (verify pending) B Split the 2 dispatch god-files along their verb seams (/modularize); steer 2 → 0.

Row notes (the honesty behind the grades)

Portfolio anchor

The committed ratchet (tools/scorecard_baseline.json @ ba46040) pins total_debt = 366. The charter-aligned sticks are mostly already at the floor: parity 0 · agent 0 · stability 0 · steer 0 · conflation 0 · demo 0 · robustness 0 · readme 0. The heaviest debt sits in slop 261 (the long tail of “great by default”), then seo 49 · appeal 19 · hygiene 15 · product 10 · code 8 · persona 2 · doc 1 · guard_rsi 1. At HEAD the control pane’s early-warning lens flags two charter-relevant regressions vs the pinned floor — steerability +2 (a dispatch god-file) and conflation +2 (two unlabeled metric help strings) — which are the two cheapest worst-first wins on the board.

Actioning the charter

Worst-first, by leverage rather than by principle number:

  1. Give three principles a measuring stick (low-ego, dos-verified, up-to-date). Each is a B only because nothing measures it. Ship fak interop-score, fak dos-verified-score, and fak currency-score as Go subcommands, fold each into tools/scorecard_control_pane.py via the existing cmd: entry pattern, and re-pin. This is the move that makes the charter self-policing.
  2. Retire the two live early-warnings — the cheapest real wins on the board. Re-label the two OBSERVED metric help strings (conflation +2 → 0) and split the two dispatch god-files along their verb seams (steer +2 → 0, via /modularize), then --pin the control pane back down.
  3. Close the realized-value gaps. Convert industry’s 67 no-claim rows into measured head-to-heads or explicit out-of-scope declarations, and add the agent-primacy witness that would let “agentic first” earn its A honestly.
  4. Drain the tail. slop 261 is the single largest debt and the biggest drag on “great by default”; run /slop-score worst-first.

Every item above is already a named scorecard or skill. The charter does not invent new process — it orders the process that exists around a single set of goals.

Governance