{
  "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. A single **project baseline** contract names them\ntogether so a project sees the whole — Cogitave's\n[project baseline](../../../../standards/docs/standards/project-baseline.md) is one\nsuch contract.\n\n## The floor is inherited for free — and can only be added to\n\nEvery repo inherits the org's root [`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. A floor is a small org-wide ruleset every\nhuman and agent obeys, defined once at the root. Cogitave's floor, for instance,\nis seven non-negotiables (English only; Conventional Commits; signed/`Verified`\ncommits; docs-as-code; least-privilege default-deny; autonomy within the rails by\ndefault; the human gate as an exception handler, not a routine checkpoint).\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; in Cogitave's estate these are documentation and diagrams, commits-versioning\n  and the pre-commit hook, naming, testing-quality, CI/CD, the security spine,\n  configuration, observability, reliability, and the reuse-first operating model\n  (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 a **base template** and then layering the\nper-type template. In Cogitave's estate, `templates/base` ships the\n`AGENTS.md`/`CLAUDE.md` stub, a reproducible toolchain (`.mise.toml`, `justfile`,\n`.devcontainer/`), the quality gate that CI also runs (`lefthook.yml`,\n`commitlint.config.js`, `.gitleaks.toml`), CI/CD wiring with `CODEOWNERS`, and a\n`.claude/settings.json` that pins the published `cogitave-flow` and\n`cogitave-estate` plugins. Skills are single-sourced in the plugins repo; a repo\nonly **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
}