2026-05-25 — Tier rename + first distribution surface
This week we did the work the 18-month plan calls Phase 0 + the first chunk of Phase 1: rename the user-facing vocabulary, set up the distribution surface, and lay the foundation for the cost-study workstream that will push problem-validity from 7 → 9 over the next several months.
What shipped #
Six commits, atomic, each with its own changeset entry:
-
feat(core): add user-facing tier names—TierNametype (starter|standard|strict) as a 1:1 alias layer over the internalConformanceLevel. The schema, adapter manifests, and project state file keep their current vocabulary; only the CLI surface and user-facing docs use tiers. 24 new tests, all green. -
feat(adapter-claude-code): emit feedback@aidokit.dev mailto— small "Feedback" section at the bottom of the emittedCLAUDE.md. Zero telemetry is a design choice, but it leaves the maintainers blind — an explicit opt-in mailto is the only signal we get. Updated the byte-compare reference fixture in lockstep so the dogfood gate stayed green. -
docs: add aidokit vs. alternatives comparison page— honest side-by-side with SpecKit, BMAD-METHOD, Superpowers, and "just write your own CLAUDE.md." Calls out whereaidokitis the wrong pick. Marketing copy that names the wrong pick converts better than copy that doesn't, and it's the entire point of an OSS project being trustworthy. -
feat(core): add local-only MetricsLog— append-only JSONL writer + reader + aggregator for scope violations, context reloads, task lifecycle, and token estimates. Pure addition; no callsite yet wires it. The C2 ticket will instrument the existing watchdog hooks. The wholeMetricsLogis local-only, user-owned, never transmitted — that's the whole "manual telemetry" model. -
feat(cli): add --tier flag and interactive picker to init—aidokit init --tier starter|standard|strictis now the preferred way to choose workflow intensity.--conformancekeeps working as a back-compat alias. The interactive picker leads with a single "How structured do you want this?" question instead of leaving conformance buried under other prompts. -
docs: add per-tier landing pages and Hall of Pain wiki— three tier pages (/wiki/tiers/{starter,standard,strict}), a Hall of Pain page documenting categorised AI-agent failure stories. Two new sidebar sections so they appear everywhere.
What didn't ship #
I started B1 (Starter slash-command aliases /start, /plan, /ship)
and then stopped. The honest reason: those new verbs need per-tier
emission infrastructure (the A4 ticket), and shipping them standalone
either violates the adapter contract (always emit them, even at Strict)
or is incomplete (gate them on tier without the supporting
infrastructure). Adding them now would either be wrong or sloppy. They
move to the next session, after A3/A4.
What's next #
The next session should land:
- A4 — tier-aware adapter emission. Starter gets a smaller
CLAUDE.mdtemplate, fewer roles, no MCP scoping shown. Standard stays today's default. Strict adds capability declarations. - B1–B6 — the Starter command path (
/start//plan//ship), flat-file Beads fallback, the "Ready in <60s" timer, and the upgrade-existing-install path. - C2 — wire the metrics writer to the watchdog hooks so the cost study has data to collect.
After those, the design-partner recruitment work begins for real. Code without users is a portfolio piece; we don't want a portfolio piece.
How you can help #
- If you have a story for the Hall of Pain, submit it. Each story is a piece of evidence for an underserved problem.
- If you've used SpecKit, BMAD, Superpowers, or rolled your own and want
to share where the comparison page
gets it wrong, open an issue. We want that page to be accurate, not
flattering to
aidokit. - If you have 30 minutes a week and want to be one of the 10 design
partners for Phase 1, mailto
feedback@aidokit.devwith subject "design partner". We'll ask you about your current workflow first.
— maintainer