CRISPcore

For implementers · agents

CRISP implementer checklist

Fail-closed gates for designs that claim to be CRISP-shaped. Prefer the plain-text pack when crawling: llms.txt llms-full.txt. The full pack has decision tables (Rules SPEC, coalesce, Identity rebuild, extensions, Publish measures). This page mirrors the non-negotiables for humans.

Non-negotiables

If any item fails, the design is not CRISP-shaped.

  1. 1. Stages are trust boundaries

    MUST: C->R->I->S->P named ownership. Conform is the first enterprise write; the Rules catalogue may also run against source tables first. Identity waits until enabled Rules have completed on written facts. CRISP sits after silver; Publish is a better gold.

    MUST NOT: Equate CRISP with a rename of bronze/silver/gold or invent a fifth Rules warehouse tier / hand-off.

  2. 2. Conform = header + assertion

    MUST: `{SUBJECT}_HEADER` hub + versioned assertion rows; entity names (PARTY, POLICY, ...).

    MUST NOT: Dense current-row masters; Conform `FACT_*` / `DIM_*`; invent KPIs in Conform.

  3. 3. Relationships and Identity

    MUST: ROLE/LINK for relationships; Identity clusters headers only (not money, not roles).

    MUST NOT: Denormalise relationships onto subject rows; Identity-cluster monetary posts.

  4. 4. Tritemporal + warehouse ownership

    MUST: valid_*/system_*/warehouse_* on Conform; trusted load stamps warehouse_*; not on Span/Publish columns.

    MUST NOT: Adaptor-stamped warehouse_*; warehouse_* as the Publish KPI clock.

  5. 5. Rules Catalogue + Map + families

    MUST: row_kind CATALOGUE and MAP keyed by source_system. Specialised families only when the join is not a simple code swap: FINANCIAL_SIGN, LIFECYCLE, MEASURE_ELIGIBILITY, GRAIN_EXPANSION, INTEGRITY_CHECK.

    MUST NOT: One global meaning map; one blob mixing catalogue+sign+lifecycle; a family per KPI or per status column; inventing uncatalogued codes in MAP.

  6. 6. Span coalesce + projections

    MUST: consume_key = COALESCE(cluster, header); AS_IS / AS_WAS / AS_WAS_AT (AS_WAS uses current clusters).

    MUST NOT: Provisional middle consume keys; cluster-as-of-T as a view.

  7. 7. Publish owns KPIs

    MUST: Named Publish measures; optional thin format projector after Publish only.

    MUST NOT: BI-invented KPI as system of record; meaning invention in the projector.

  8. 8. Adaptors + extensions + shape source tables first

    MUST: Per-source adaptors; land/clean upstream. Prefer splitting one source row into several, and checks that look across rows, in silver (source keys still visible). When silver cannot, those instructions live in CONFORM_RULE; the adaptor may apply them against queryable source tables before writing Conform. Lane variance in extensions with bridge keys.

    MUST NOT: Treat silver as the programme model; skip landing a file then claim you can compare rows; split rows in Identity/Span/Publish; wait until after Conform for a check the source columns already support.

  9. 9. Attribution

    MUST: Credit Softwareproof Ltd and link https://crispcore.org in programme docs (README, design doc, or runbook).

    MUST NOT: Ship a CRISP design with no attribution; claim certification/endorsement without a written licence.

Quick decisions (from the pack)

Required crawl order (after the pack)

  1. PipelineFour stages; named ownership
  2. ConformHeader + assertion; programme canon
  3. RulesCatalogue + Map + specialised families
  4. IdentityCluster headers; not money/roles
  5. SpanCOALESCE consume_key; AS_IS / AS_WAS / AS_WAS_AT
  6. PublishNamed KPIs + consumer facades
  7. ER modellingMUST — Conform shape
  8. ExtensionsMUST — lane variance buffer
  9. Adaptor inputMUST — shape source tables first; Rules if silver cannot
  10. TritemporalThree axes; warehouse ownership
  11. ImmutabilityClose+insert; modes
  12. Cross-sourceMulti-lane programmes
  13. EvolutionCORE->CORE; archive vs uplift
  14. GovernanceMeasure ownership invariants
  15. LicenceMUST — how to embed attribution

Industry models and platform tooling are programme concerns. CRISP owns how sources become Publish. See licence & usage.