Concepts
Why the framework is shaped this way.
These pages argue rather than describe, and every paragraph still resolves to a file in this repository — an ADR, a strategy document, a test, or a command whose output is quoted. Where an argument would need a fact the repository does not hold, the argument stops. None of these pages states a capability the capability pages do not already carry with its limitation attached.
-
Why CRM is the narrowest true label
CRM is the narrowest true label
The kernel has no concept of a deal, a quote or a commessa.
-
Your agent can write the CRM. It can't approve the discount.
The agent cannot approve
Two refusals, asserted in two different places, and which is which matters.
-
What ownership actually means here, and where it stops
Ownership means copying source today
Ownership here means the source is yours to keep, read and change, and today it means copying it.
-
Versioned policies, fingerprints, append-only evidence
Decisions you can account for later
Determinism here means a decision can be reproduced and accounted for later.
-
Internal complexity may grow; perceived complexity must fall
How a new command gets refused
A decision rule, not a roadmap: it decides whether an agent-facing primitive should exist, never when it ships.
What none of the 5 pages above means
These pages describe this repository at this commit. None of them implies the framework is deployable, and none of them is a roadmap: nothing that is not merged appears on this site, in any tense.
- No authentication, tenancy or RBAC. The server is local-development-only. An actor header is an assertion, not an identity. Do not expose it to a network.
- SQLite only. Persistence is Node's built-in SQLite adapter. PostgreSQL is on the Production Spine track and is not implemented.
- No scheduler, no task engine, no reminders. One follow-up Task is created inside lead qualification. There is no recurring work, no delayed workflow, no queue — so nothing fires on a renewal notice period either.
- No email, calendar or marketing integrations. An in-memory notification provider contract exists. No adapter sends anything to anyone.
- The build benchmark has not been run. The protocol is designed and published; no Successful Agent Build Rate exists yet. Any number you see quoted for this project is not ours.
- Ownership today means copying source, not installing a dependency. There is a project bootstrap and there is no published package, and the two are different facts. The repository's bootstrap command scaffolds a project that boots, reports `valid` from `app inspect` and exits 0 from `project doctor`, offline and with no install — run from a checkout of this repository. The package published under the reserved npm name is still an empty 0.0.1 placeholder, so the `npm create` route installs nothing until a human publishes it. Either way the framework is vendored into the project rather than depended on by version: you own the result outright, and upgrading means merging, not bumping.
Every claim and every limitation is on one page, and the questions this project refuses to answer are published beside them.