{
  "uid": "cogitave.learn.inherit-the-project-baseline.what-the-baseline-gives-you",
  "kind": "moduleUnit",
  "href": "/modules/inherit-the-project-baseline/what-the-baseline-gives-you/",
  "title": "What the baseline gives you",
  "summary": "",
  "type": null,
  "products": [],
  "roles": [],
  "levels": [],
  "subjects": [],
  "headings": [
    "The floor is inherited for free — and can only be added to",
    "Standards apply in two tiers",
    "The scaffold bakes it in from birth",
    "The lifecycle and Definition of Done it runs under"
  ],
  "source": "A repo does not inherit one thing — it inherits along several distinct **planes**,\neach with its own mechanism. The\n[project baseline](../../../../standards/docs/standards/project-baseline.md) names\nthem together so a project sees the whole.\n\n## The floor is inherited for free — and can only be added to\n\nEvery repo inherits the org [`AGENTS.md`](../../../../../AGENTS.md) — the\nnon-negotiable floor — the moment it exists, because `AGENTS.md` is cumulative\nwith nearest-file precedence. A leaf repo's `AGENTS.md` **adds** project specifics\nand **must not restate** the floor. The seven non-negotiables (English only;\nConventional Commits; signed/`Verified` commits; docs-as-code; least-privilege\ndefault-deny; no unapproved mutation of the world; human-in-the-loop on\nconsequence) are defined once, at the root.\n\n> [!IMPORTANT]\n> A new repo does **not** re-declare any of this. Inheriting the floor is free;\n> overriding it is impossible — a leaf file can only add.\n\n## Standards apply in two tiers\n\n- **Always-on** standards are inherited unconditionally by every repo, whatever it\n  is: documentation and diagrams, commits-versioning and the pre-commit hook,\n  naming, testing-quality, CI/CD, the security spine, configuration,\n  observability, reliability, and the reuse-first operating model (next unit).\n- **Conditional** standards are switched on by the repo's **product type**. The\n  type is not a one-off form: it also decides which conditional Definition-of-Done\n  gates fire. Product type → applicable standards → conditional gates is one\n  coherent chain.\n\n| If the repo is a … | It additionally inherits (examples) |\n| --- | --- |\n| SaaS / hosted service | saas, deployment-and-delivery, [product-core-baseline](../../../../standards/docs/standards/product-core-baseline.md) |\n| API / platform surface | api-design, api-versioning-and-deprecation, [product-core-baseline](../../../../standards/docs/standards/product-core-baseline.md) |\n| Frontend / has a UI | design-system, accessibility, internationalization |\n| Agent | ai-agent-engineering, agentic-operations |\n\nFor example, a service or API core additionally signs the\n[product-core-baseline](../../../../standards/docs/standards/product-core-baseline.md)\ncontract — the cross-cutting capabilities (typed errors, config, health probes,\nauthz, idempotency, and more) it MUST implement before it serves a request.\n\n## The scaffold bakes it in from birth\n\nA repo is **born** with the ruleset baked in — it does not assemble its own\ntoolchain. It is created by copying `templates/base` and then layering the\nper-type template. `templates/base` ships the `AGENTS.md`/`CLAUDE.md` stub, a\nreproducible toolchain (`.mise.toml`, `justfile`, `.devcontainer/`), the quality\ngate that CI also runs (`lefthook.yml`, `commitlint.config.js`, `.gitleaks.toml`),\nCI/CD wiring with `CODEOWNERS`, and a `.claude/settings.json` that pins the\npublished `cogitave-flow` and `cogitave-estate` plugins. Skills are single-sourced\nin the plugins repo; a repo only **consumes** them.\n\n## The lifecycle and Definition of Done it runs under\n\nEvery change moves through the 7-stage request lifecycle\n(intake → evaluate → plan → document → implement → review → done), which does not\ninvent policy — it **sequences the floor**. Stage 6 enforces the Definition of\nDone: a change advances to *done* only when the machine gate reaches 100% **and** a\nCODEOWNER approves — the machine gate and the human gate are separate.\n",
  "partOf": "cogitave.learn.inherit-the-project-baseline",
  "durationInMinutes": 6,
  "quiz": null
}