Generated model
Programme status
Rendered as produced. Every figure below was measured when the model was generated; this screen computes none of them and completes none of them.
Read-only. Everything here is read from what CHER has recorded. Nothing on this screen decides, approves, records an outcome or writes to governance, evidence or audit.
Status model
source GENERATED_STATUS_MODELEvery rung, ratio and segment in this model was produced by running the checks at generation time. A screen renders it as given. It may not derive a completion figure, a percentage or a rung of its own.
- Schema
- cher.programme-status/1
- Commit
- 775ea10
- Generated at
- 2026-09-05 20:38 UTC
- Plane B measured
- TRUE
- Packages conforming
- 20 of 21
- Validation rules executable
- 6 of 18
- Check counts
- FAIL 0 · KNOWN 4 · NOT RUN 0 · PASS 24 · STALE 0
- Panels
- 14
Validation rules and their executables
A rule identifier and the check that runs under it are separate facts and are shown as separate fields. An identifier with an executable beside it does not by itself say the executable checks what the identifier governs.
VAL-AUDIT-001
NOT RUN- executed by: nothing recorded
VAL-AUTHZ-001
NOT RUN- executed by: nothing recorded
VAL-CHER-AGENT-001
NOT RUN- executed by: nothing recorded
VAL-CHER-AUTHORITY-001
EXECUTED- executed by 09_Factory_Bootstrap/plane-b/verify_decision_authority.py · does not cover: auditing of refused attempts, which a database trigger cannot do because a refused write rolls back its own audit row, and which belongs to the unbuilt API layer the rule is scoped to; and the application identities in cher.actor, since no application layer exists to hold them
VAL-CHER-GEO-001
EXECUTED- executed by 04_Canonical_Contracts/tooling/cher_validate.py · does not cover: whether the engine, evidence store and audit log resolve to infrastructure in the home jurisdiction, which requires a deployment to inspect and nothing here inspects
VAL-CHER-PLANE-001
EXECUTED- executed by 09_Factory_Bootstrap/plane-b/verify_console_boundary.py
VAL-CHER-SNAPSHOT-001
NOT RUN- executed by: nothing recorded
VAL-CHER-TENANT-001
NOT RUN- executed by: nothing recorded
VAL-CHER-TRACE-001
NOT RUN- executed by: nothing recorded
VAL-CHER-TRUTH-001
EXECUTED- executed by 04_Canonical_Contracts/tooling/cher_validate.py · does not cover: factory results at rest, which check_execution_result.py covers at acceptance, and whether an evidence substrate can support the integrity class it is given, which nothing inspects
- executed by 09_Factory_Bootstrap/compiler/check_execution_result.py · does not cover: package-side provenance and evidence contracts, which cher_validate.py covers, and whether a substrate supports its claimed integrity class, which nothing inspects
- executed by 09_Factory_Bootstrap/plane-b/verify_evidence_ingestion.py · does not cover: the package-side provenance and evidence contracts, which cher_validate.py covers. This covers the ingestion path: what may and may not be written when a check result becomes a record
- executed by 09_Factory_Bootstrap/plane-b/verify_evidence_integrity.py · does not cover: package-side provenance and evidence contracts, which cher_validate.py covers, and factory results at acceptance, which check_execution_result.py covers. This covers the stored path only: what the evidence store will and will not persist
VAL-CHER-WORKER-001
NOT RUN- executed by: nothing recorded
VAL-PERF-001
NOT RUN- executed by: nothing recorded
VAL-PURPOSE-001
NOT RUN- executed by: nothing recorded
VAL-RETENTION-001
NOT RUN- executed by: nothing recorded
VAL-SECRETS-001
NOT RUN- executed by: nothing recorded
VAL-TENANT-001
NOT RUN- executed by: nothing recorded
VAL-TRACE-001
EXECUTED- executed by 04_Canonical_Contracts/tooling/cher_validate.py · does not cover: whether factory output conforms to the package, which check_execution_result.py covers for a submitted result
- executed by 09_Factory_Bootstrap/compiler/check_execution_result.py · does not cover: requirement-level upstream and downstream links, which cher_validate.py covers on the package
VAL-XBORDER-001
EXECUTED- executed by 04_Canonical_Contracts/tooling/cher_validate.py · does not cover: whether a recorded ground is supported by evidence, which this module does not fetch; the rule is declared MANUAL_REVIEW and the automated part of it is the declaration check only
00 · We are here: the north-star lifecycle
State is computed from PRODUCES declarations, from whether verify_pack.py runs the declaring module, and from the ratios in panel 03. The spine is the target architecture.
- checkStates
- {}
- id
- BUSINESS_INTENT
- label
- Business intent
- note
- A person's words. The input to the pipeline, and not a component.
- qualifier
- NOT_APPLICABLE
- reachesLiveSystem
- false
- refs
- {"check":null,"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":null,"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/01_CHER_Concept_and_Context.md","task":null}
- rung
- SPECIFIED
- specifiedIn
- 02_Target_Architecture/01_CHER_Concept_and_Context.md
- checkStates
- {"context inference":"PASS"}
- checks
- context inference
- exercisedByTheRunner
- 09_Factory_Bootstrap/plane-b/verify_context_inference.py
- id
- CONTEXT_INFERENCE
- label
- Context inference
- note
- Intent to a solution context profile. TSK-CHER-003.
- producedBy
- {"doesNotCover":"the conversation. This takes one statement of intent plus optional answers and produces one profile; there is no dialogue loop, no re-asking, and no model. It also does not choose knowledge, which is Knowledge Resolution's answer against a named snapshot","module":"04_Canonical_Contracts/tooling/infer_context.py"}, {"doesNotCover":"the conversation and any use of a model. This proves the deterministic core: ordinary language to a governed profile, and that profile driving snapshot-bound resolution","module":"09_Factory_Bootstrap/plane-b/verify_context_inference.py"}
- reachesLiveSystem
- true
- refs
- {"check":["context inference"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["04_Canonical_Contracts/tooling/infer_context.py","09_Factory_Bootstrap/plane-b/verify_context_inference.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/03_Context_Inference_Layer.md","task":["TSK-CHER-003"]}
- rung
- EVIDENCED
- specifiedIn
- 02_Target_Architecture/03_Context_Inference_Layer.md
- checkStates
- {"applicability resolution":"KNOWN","corpus diff":"PASS","impact assessment":"PASS","snapshot resolution":"PASS"}
- checks
- applicability resolution, corpus diff, impact assessment, snapshot resolution
- exercisedByTheRunner
- 08_Knowledge_Repository/tooling/resolve_applicability.py, 09_Factory_Bootstrap/plane-b/verify_corpus_diff.py, 09_Factory_Bootstrap/plane-b/verify_impact_assessment.py, 09_Factory_Bootstrap/plane-b/verify_snapshot_resolution.py
- id
- KNOWLEDGE_RESOLUTION
- label
- Knowledge resolution / compiler
- note
- Which knowledge applies, what changed, and what a change means for what was already issued. TSK-CHER-002.
- producedBy
- {"doesNotCover":"the decision. It computes which issued packages a knowledge change reaches, classifies the change and reports what their declared basis cannot support; whether an affected package is re-issued, superseded or left alone is a governed decision under INV-CHER-007 and nothing here reaches it","module":"08_Knowledge_Repository/tooling/assess_impact.py"}, {"doesNotCover":"behaviour three, the impact of a knowledge change on packages already issued. This establishes that knowledge changed and whether a supplied context resolves differently; it reaches no conclusion about an issued package, which is a governed decision","module":"08_Knowledge_Repository/tooling/diff_snapshots.py"}, {"doesNotCover":"the corpus diff and the impact of a knowledge change on issued packages, which are behaviours two and three of the scope document. Behaviour one is complete: resolution reads an immutable snapshot, is attributable to it and reproduces from it","module":"08_Knowledge_Repository/tooling/resolve_applicability.py"}, {"doesNotCover":"behaviour three. This proves behaviour two: that a corpus difference is computed deterministically, attributed, and recorded. It reaches no conclusion about any issued package","module":"09_Factory_Bootstrap/plane-b/verify_corpus_diff.py"}, {"doesNotCover":"the governed decision itself. This proves behaviour three computes the impact set, classifies the change, finds what a declared basis cannot support, and stops there","module":"09_Factory_Bootstrap/plane-b/verify_impact_assessment.py"}, {"doesNotCover":"the corpus diff and the impact of a knowledge change on issued packages, which are behaviours two and three of the scope document. This covers behaviour one only, resolved from an immutable snapshot","module":"09_Factory_Bootstrap/plane-b/verify_snapshot_resolution.py"}
- ratio
- 3 of 3 behaviours the scope declares
- ratioTruthClass
- MEASURED
- reachesLiveSystem
- true
- refs
- {"check":["applicability resolution","corpus diff","impact assessment","snapshot resolution"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["08_Knowledge_Repository/tooling/assess_impact.py","08_Knowledge_Repository/tooling/diff_snapshots.py","08_Knowledge_Repository/tooling/resolve_applicability.py","09_Factory_Bootstrap/plane-b/verify_corpus_diff.py","09_Factory_Bootstrap/plane-b/verify_impact_assessment.py","09_Factory_Bootstrap/plane-b/verify_snapshot_resolution.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"08_Knowledge_Repository/02_Knowledge_Compiler_Scope.md","task":["TSK-CHER-002"]}
- rung
- EVIDENCED
- specifiedIn
- 08_Knowledge_Repository/02_Knowledge_Compiler_Scope.md
- checkStates
- {"packages validate":"PASS"}
- checks
- packages validate
- exercisedByTheRunner
- 04_Canonical_Contracts/tooling/cher_validate.py
- id
- ENGINEERING_PLAN
- label
- Engineering plan / EEP
- note
- The canonical package, and the rules that refuse one before anything is built from it.
- producedBy
- {"doesNotCover":"anything about a running system. Every rule here reads a package document, so it can prove a package is internally honest and cannot prove that infrastructure is where the package says it is","module":"04_Canonical_Contracts/tooling/cher_validate.py"}
- ratio
- 6 of 18 validation rules with an executable
- ratioTruthClass
- MEASURED
- reachesLiveSystem
- false
- refs
- {"check":["packages validate"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["04_Canonical_Contracts/tooling/cher_validate.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/13_Canonical_Engineering_Artefacts_Software_Factory.md","task":null}
- rung
- EXECUTED
- specifiedIn
- 02_Target_Architecture/13_Canonical_Engineering_Artefacts_Software_Factory.md
- checkStates
- {"security architecture specialist":"PASS"}
- checks
- security architecture specialist
- exercisedByTheRunner
- 09_Factory_Bootstrap/plane-b/verify_specialist_security.py
- id
- SPECIALIST_ENGINEERING
- label
- Specialist engineering
- note
- Bounded specialists that produce the controls and requirements a package carries. TSK-CHER-004.
- producedBy
- {"doesNotCover":"seven of the target's eight roles. This is the second bounded role, Privacy and Regulatory Engineering. On the current corpus it derives nothing and reports why, which is a measurement of the knowledge repository rather than a failure of the role","module":"04_Canonical_Contracts/tooling/specialist_privacy.py"}, {"doesNotCover":"seven of the target's eight roles, and any use of a model. This is one bounded role, Security Architecture, deriving controls and their non-functional requirements from the controls the bound snapshot holds. It composes nothing: a requirement this specialist emits is a requirement a control already carried","module":"04_Canonical_Contracts/tooling/specialist_security.py"}, {"doesNotCover":"the other seven roles. This proves one bounded role derives from governed knowledge, cites what it derived from, stops at its decision limit and composes nothing","module":"09_Factory_Bootstrap/plane-b/verify_specialist_security.py"}
- qualifier
- PARTIAL
- ratio
- 2 of 8 specialist roles implemented
- ratioTruthClass
- DECLARED
- reachesLiveSystem
- true
- refs
- {"check":["security architecture specialist"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["04_Canonical_Contracts/tooling/specialist_privacy.py","04_Canonical_Contracts/tooling/specialist_security.py","09_Factory_Bootstrap/plane-b/verify_specialist_security.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/12_Engineering_Agent_Specialist_Framework.md","task":["TSK-CHER-004"]}
- rung
- EVIDENCED
- specifiedIn
- 02_Target_Architecture/12_Engineering_Agent_Specialist_Framework.md
- checkStates
- {"VAL-CHER-AUTHORITY-001":"PASS"}
- checks
- VAL-CHER-AUTHORITY-001
- exercisedByTheRunner
- 09_Factory_Bootstrap/plane-b/verify_decision_authority.py
- id
- GOVERNANCE_DECISION_RIGHTS
- label
- Governance / decision rights
- note
- Who may decide what, enforced rather than documented. D3 and above require a named human.
- producedBy
- {"doesNotCover":"the approval request path, which is the console's first write path and is not built; and decision recording by any application identity, since no application layer exists. What is enforced here is who may record an approval at all, attempted as five different identities","module":"09_Factory_Bootstrap/plane-b/verify_decision_authority.py"}
- reachesLiveSystem
- true
- refs
- {"check":["VAL-CHER-AUTHORITY-001"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["09_Factory_Bootstrap/plane-b/verify_decision_authority.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/08_Governance_Decision_Rights_Lifecycle.md","task":null}
- rung
- EVIDENCED
- specifiedIn
- 02_Target_Architecture/08_Governance_Decision_Rights_Lifecycle.md
- checkStates
- {"compiler is reproducible":"PASS"}
- checks
- compiler is reproducible
- exercisedByTheRunner
- 09_Factory_Bootstrap/compiler/cher_compile_prompt.py
- id
- FACTORY_DISPATCH
- label
- Factory dispatch
- note
- The instruction leaves CHER through an adapter contract, not a vendor-shaped API.
- producedBy
- {"doesNotCover":"sending anything anywhere. This compiles the instruction and refuses to compile one that would be unsafe to send; a person carries it to the factory, and the adapter contract is the only factory-specific thing in the path","module":"09_Factory_Bootstrap/compiler/cher_compile_prompt.py"}
- reachesLiveSystem
- false
- refs
- {"check":["compiler is reproducible"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["09_Factory_Bootstrap/compiler/cher_compile_prompt.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/05_Integration_Layer.md","task":null}
- rung
- EXECUTED
- specifiedIn
- 02_Target_Architecture/05_Integration_Layer.md
- checkStates
- {"product projection":"PASS","result checker refuses what it should":"PASS"}
- checks
- result checker refuses what it should, product projection
- exercisedByTheRunner
- 09_Factory_Bootstrap/compiler/check_execution_result.py, 09_Factory_Bootstrap/plane-b/verify_product_projection.py
- id
- RESULT_VALIDATION
- label
- Result validation
- note
- What came back, checked independently of whoever built it.
- producedBy
- {"doesNotCover":"the built system. This checks the result document a factory returned against the package it names, which is independent of the factory and is not an inspection of what it deployed","module":"09_Factory_Bootstrap/compiler/check_execution_result.py"}, {"doesNotCover":"anything the console does with this. It proves the read contract Plane A is given is honest about its own sources, counts and gaps; whether a screen renders them correctly is the slice's acceptance, checked by check_execution_result.py against the returned result","module":"09_Factory_Bootstrap/plane-b/verify_product_projection.py"}
- reachesLiveSystem
- true
- refs
- {"check":["result checker refuses what it should","product projection"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["09_Factory_Bootstrap/compiler/check_execution_result.py","09_Factory_Bootstrap/plane-b/verify_product_projection.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/13_Canonical_Engineering_Artefacts_Software_Factory.md","task":null}
- rung
- EVIDENCED
- specifiedIn
- 02_Target_Architecture/13_Canonical_Engineering_Artefacts_Software_Factory.md
- checkStates
- {"evidence ingestion path":"PASS","evidence store integrity":"PASS","packages validate":"PASS"}
- checks
- packages validate, evidence ingestion path, evidence store integrity
- exercisedByTheRunner
- 04_Canonical_Contracts/tooling/cher_validate.py, 09_Factory_Bootstrap/plane-b/verify_evidence_ingestion.py, 09_Factory_Bootstrap/plane-b/verify_evidence_integrity.py
- id
- EVIDENCE_PROOF_CHAIN
- label
- Evidence / proof chain
- note
- Evidence kept so it can be produced later, and a chain from a claim back to its authority.
- producedBy
- {"doesNotCover":"the evidence store. SEM-TRACE-001 enforces the chain from a mandatory requirement back to an authority and forward to a validation, inside a package document. Nothing here persists evidence or produces it again later: cher.evidence_record is declared in TSK-CHER-001 and not built, so no claim in CHER can reach ASSURED","module":"04_Canonical_Contracts/tooling/cher_validate.py"}, {"doesNotCover":"assurance evaluation, which is what ASSURED means. This proves the loop from a check result to a durable record and back, and proves the status ladder will not advance a stage without one","module":"09_Factory_Bootstrap/plane-b/verify_evidence_ingestion.py"}, {"doesNotCover":"assurance evaluation. This proves evidence is persisted with its provenance and integrity and cannot be laundered into a higher truth class; it does not evaluate any claim against that evidence, which is what ASSURED means and what nothing in CHER does yet","module":"09_Factory_Bootstrap/plane-b/verify_evidence_integrity.py"}
- reachesLiveSystem
- true
- refs
- {"check":["packages validate","evidence ingestion path","evidence store integrity"],"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["04_Canonical_Contracts/tooling/cher_validate.py","09_Factory_Bootstrap/plane-b/verify_evidence_ingestion.py","09_Factory_Bootstrap/plane-b/verify_evidence_integrity.py"],"pack":null,"package":null,"relation":["cher.evidence_record"],"rule":null,"specification":"02_Target_Architecture/07_Evidence_Provenance_Traceability.md","task":["TSK-CHER-001"]}
- rung
- EVIDENCED
- specifiedIn
- 02_Target_Architecture/07_Evidence_Provenance_Traceability.md
- checkStates
- {}
- id
- ASSURANCE_CASE
- label
- Assurance case
- note
- Evidence assembled into an argument that the thing is fit, across the assurance modes.
- producedBy
- {"doesNotCover":"the twelfth lifecycle stage. Evaluates whether a scoped assurance claim is supported by admissible evidence over a governed basis, and refuses to elevate to ASSURED when it is not. It cannot grant assurance alone: a named human at the declared decision class is one of the conditions","module":"04_Canonical_Contracts/tooling/evaluate_assurance.py"}
- qualifier
- PARTIAL
- ratio
- 1 of 7 assurance modes built
- ratioTruthClass
- DECLARED
- reachesLiveSystem
- false
- refs
- {"check":null,"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":["04_Canonical_Contracts/tooling/evaluate_assurance.py"],"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/06_Validation_Assurance_Architecture_Conformance.md","task":null}
- rung
- IMPLEMENTED
- specifiedIn
- 02_Target_Architecture/06_Validation_Assurance_Architecture_Conformance.md
- checkStates
- {}
- id
- RELEASE
- label
- Release
- note
- READY_FOR_RELEASE is a state in the target orchestrator. Nothing reaches it, because no orchestrator runs.
- qualifier
- NOT_STARTED
- ratio
- 0 of 14 orchestrator states implemented
- ratioTruthClass
- DECLARED
- reachesLiveSystem
- false
- refs
- {"check":null,"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":null,"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/11_Integrated_Engineering_Orchestrator.md","task":null}
- rung
- SPECIFIED
- specifiedIn
- 02_Target_Architecture/11_Integrated_Engineering_Orchestrator.md
- checkStates
- {}
- id
- RUNTIME_CONTINUOUS_CONTROL
- label
- Runtime continuous control
- note
- Conformance after deployment, which is the claim that separates a control plane from a generator.
- qualifier
- NOT_STARTED
- reachesLiveSystem
- false
- refs
- {"check":null,"commit":"775ea10","correction":null,"decision":null,"evidenceArtefact":null,"executionResult":null,"gate":null,"module":null,"pack":null,"package":null,"relation":null,"rule":null,"specification":"02_Target_Architecture/09_Runtime_Operations_Continuous_Control.md","task":null}
- rung
- SPECIFIED
- specifiedIn
- 02_Target_Architecture/09_Runtime_Operations_Continuous_Control.md
produced by python3 10_Archive_Integrity/build_status_dashboard.py
00b · Operating mode
A segment is reached when every stage it requires has been executed and is not partial.
- partial
- false
- reached
- true
- requires
- CONTEXT_INFERENCE
- segment
- BUSINESS INTENT
- why
- a person describes an outcome and CHER derives the context
- partial
- false
- reached
- true
- requires
- KNOWLEDGE_RESOLUTION
- segment
- CHER-DERIVED CONTEXT
- why
- the engineering basis is resolved from governed knowledge rather than written by hand
- partial
- true
- reached
- false
- requires
- SPECIALIST_ENGINEERING
- segment
- SPECIALIST ENGINEERING
- why
- bounded specialists produce the controls the package carries
- partial
- false
- reached
- true
- requires
- ENGINEERING_PLAN, GOVERNANCE_DECISION_RIGHTS
- segment
- CHER CONTROL PLANE
- why
- the package is validated and the decision rights are enforced
- partial
- false
- reached
- true
- requires
- FACTORY_DISPATCH
- segment
- FACTORY
- why
- a factory builds it from a neutral instruction
- partial
- false
- reached
- true
- requires
- RESULT_VALIDATION
- segment
- INDEPENDENT VALIDATION
- why
- what comes back is checked independently of whoever built it
- partial
- true
- reached
- false
- requires
- EVIDENCE_PROOF_CHAIN, ASSURANCE_CASE
- segment
- ASSURANCE
- why
- the evidence becomes an assurance case rather than a set of passes
- partial
- false
- reached
- false
- requires
- RELEASE, RUNTIME_CONTINUOUS_CONTROL
- segment
- RUNTIME CONTINUOUS CONTROL
- why
- conformance is maintained after deployment
produced by derived from panel 00
00c · Current build frontier
Every stage started and unfinished, plus the first not started. Not positioned by hand and deliberately not a single point.
- firstNotStarted
- RELEASE
- frontier
- SPECIALIST_ENGINEERING, ASSURANCE_CASE, RELEASE
- startedAndUnfinished
- SPECIALIST_ENGINEERING, ASSURANCE_CASE
produced by derived from panel 00
01 · What you can do with it today
- capability
- Author a package and have it independently validated
- evidence
- 04_Canonical_Contracts/tooling/cher_validate.py
- how
- Two passes: JSON Schema, then semantic rules that schema cannot express - every reference resolves, every mandatory requirement traces to an authority and a validation, no agent resolves a D3 decision, truth classes do not launder, the geography gate matches the declared transfer basis.
- capability
- Compile a factory-neutral instruction, reproducibly
- evidence
- 09_Factory_Bootstrap/compiler/cher_compile_prompt.py
- how
- Byte-identical from unchanged inputs. Refuses a package that does not validate, a task naming a vendor, an unpassed pre-dispatch gate, an open D3 decision, and a capability the adapter does not declare.
- capability
- Check what a factory returns, independently of the factory
- evidence
- 09_Factory_Bootstrap/compiler/check_execution_result.py
- how
- Digest of the package it claims to have built, digest of the result itself, a disposition for every mandatory constraint, technologies against the contract, and prose that claims a control is met.
- capability
- Stand up the governance plane in one command
- evidence
- 09_Factory_Bootstrap/plane-b/bootstrap.sh
- how
- Migration and its 50 checks, tenant provisioning, the console boundary, the content-addressed snapshot, package load, then every runtime suite.
- capability
- Prove the console cannot write governance, evidence or audit
- evidence
- 09_Factory_Bootstrap/plane-b/verify_console_boundary.py
- how
- Connects as the console's own database role and attempts each write. The boundary is the revoked grant, not the absent feature.
- capability
- Prove no machine identity can record a D3 or above
- evidence
- 09_Factory_Bootstrap/plane-b/verify_decision_authority.py
- how
- Attempts a D5 approval as nobody, as a workload, as an agent, as an external system and as the platform administrator, and requires the named control to be what refuses each.
- capability
- Turn ordinary business intent into a governed context profile
- evidence
- 04_Canonical_Contracts/tooling/infer_context.py
- how
- Deterministic rules read one statement of intent plus any answers given. Every fact carries its derivation, its basis and a quotation from the request, no fact is OBSERVED, and a request that supports nothing produces no facts and a list of questions instead. Each question says why it is asked: a pack's applicability condition reads the fact, or the canonical contract requires it.
- capability
- Say which issued packages a knowledge change reaches, and what their declared basis cannot support
- evidence
- 08_Knowledge_Repository/tooling/assess_impact.py
- how
- Computes the impact set against two named snapshots, classifies the change from a closed set, and reports separately what a package's basis cannot support at all - a cited pack no snapshot has ever held, a rule defined off the basis, a governed identifier carrying a different check. It assigns no decision class and names no outcome: whether an affected version is re-issued, superseded or left alone is a governed decision under INV-CHER-007.
- capability
- Say what changed between two governed snapshots
- evidence
- 08_Knowledge_Repository/tooling/diff_snapshots.py
- how
- Membership in and out, and whether a supplied context resolves differently against each end. Deliberately not an impact assessment.
- capability
- Resolve which knowledge applies to a context
- evidence
- 08_Knowledge_Repository/tooling/resolve_applicability.py
- how
- Evaluates each pack's applicability conditions against the context facts and derives the binding, with what was rejected and why.
- capability
- Prove the whole pack in one command
- evidence
- verify_pack.py
- how
- Every check, with a state each. A check that could not run is never reported as passed, and a declared failure names the correction that records it.
produced by each row names the module that makes it true
02 · What it cannot do yet
- capability
- Run a package through its orchestrator states
- why
- TSK-CHER-005. Gates are evaluated by hand at the points a run would evaluate them. 0 of the target's 14 orchestrator states are implemented.
- capability
- Produce an evidence pack
- why
- The store exists and holds observations with their provenance, integrity class and truth class. What does not exist is the assembled pack: the evidence for one package version, selected against its claims and exported as an artefact a third party can check.
- capability
- Approve anything through the console
- why
- The approval request flow is the console's first write path and needs a grant change and a boundary-test change before it needs a screen.
- capability
- Assess anything that already exists
- why
- 6 of 7 assurance modes are deferred: brownfield, COTS, pre-acquisition, migration, portfolio, continuous assurance.
- capability
- Test whether any of this improves what gets built
- why
- TSK-CHER-010, the Value Experiment. The compiler it was waiting for now exists, so what holds it is no longer a dependency: it needs a control arm, a blind human scorer and an external scanner, and none of that has run. No execution result exists for the task.
produced by designed, not built
03 · Coverage, measured
- n
- 6
- of
- 18
- ratio
- validation rules with an executable
- n
- 3
- of
- 3
- ratio
- knowledge compiler modules against declared behaviours
- n
- 3
- of
- 6
- ratio
- console execution results held here
- n
- 0
- of
- 10
- ratio
- engine tasks with a recorded execution result
- n
- 0
- of
- 14
- ratio
- states
- n
- 2
- of
- 8
- ratio
- roles
- n
- 1
- of
- 7
- ratio
- modes
produced by python3 verify_pack.py --json --dsn <plane b>
04 · Every check, and its state
- check
- manifest current
- lines
- 216 artefacts, manifest and checksums current
- state
- PASS
- check
- every artefact unchanged
- state
- PASS
- check
- RFC 8785 canonicalisation
- lines
- canonical.py conforms
- state
- PASS
- check
- package digests
- detail
- 12 package versions stamped and correct
- state
- PASS
- check
- packages validate
- detail
- 20 conforming, donor v1.0.0 refused with its 6 expected findings, 16 expected knowledge-binding findings (C-45, C-46)
- state
- PASS
- check
- console fixture current
- lines
- fixture current
- state
- PASS
- check
- DDL invariants
- lines
- vocabularies match their producers; append-only claims are enforced
- state
- PASS
- check
- architecture conformance
- detail
- C-39: ADR-CHER-003 and ADR-CHER-004 are unsigned, and the conformance check deliberately refuses to resolve an UNSIGNED heading (C-42). 001 and 002 are retired against the DEC records that govern. 003 needs a named D3 authority for the plane split; 004 needs D2 engineering review for placing readiness assessment in knowledge rather than in core. Both are decisions and neither is an edit. The unresolved identifiers are printed on the line below, so a third one appearing is visible against this entry rather than hidden by it.
- lines
- unresolved: ADR-CHER-003, ADR-CHER-004, ADR-CHER-005
- state
- KNOWN
- check
- manifest counts
- detail
- 8 stated numbers re-derived from the repository and they agree
- state
- PASS
- check
- applicability resolution
- detail
- C-47: all ten hand-written knowledgeBindings differ from what resolves against their own context facts. Re-measured against the issued snapshot rather than the files (C-54), the finding stands at 10 of 10 and its content changed: the adapter-contract difference is gone, because the adapter is not a snapshot member, and two larger ones appeared - every package names DRAFT_CANDIDATE packs its own snapshot never held. This check runs the FILE corpus, which needs no database; the snapshot measurement is the authoritative one and runs under 'snapshot resolution'. Carries until a corrected version is issued: the issued versions are immutable and which is correct is a question for a person.
- lines
- issued versions are immutable, and which is correct is a question for a person.
- state
- KNOWN
- check
- compiler is reproducible
- detail
- two compiles of TSK-CONSOLE-005 are byte-identical, 22612 bytes, compiledAt excluded
- state
- PASS
- check
- result checker refuses what it should
- detail
- the good example is accepted with 0 blocking; the bad one is rejected with 10
- state
- PASS
- check
- knowledge packs lint
- detail
- C-48: placement and the corpus metamodel version are properties of the cher-knowledge repository, and this pack is a distribution of the packs without that repository around them. Both are NOT RUN here and run in that repository's own CI. The pack contract check does run, against 04_Canonical_Contracts/schema/knowledge-pack.schema.json.
- lines
- [placement] NOT RUN: /home/claude/CHER_Delivery_Pack_v1.1/05_Knowledge_Packs is not the knowledge/ tree PLACEMENT.md describes, and placement is only meaningful against it, [metamodel] NOT RUN: the corpus metamodel version is not at /home/claude/CHER_Delivery_Pack_v1.1/08_Knowledge_Repository/repository-layout/metamodel/VERSION, so no pack's schemaVersion was compared against it. Pass --metamodel-version to name it.
- state
- KNOWN
- check
- no em dashes
- detail
- the standing instruction, as a check rather than a habit
- state
- PASS
- check
- Plane B constraint refusals
- lines
- 12/12 checks passed
- state
- PASS
- check
- VAL-CHER-AUTHORITY-001
- lines
- 18/18 checks passed
- state
- PASS
- check
- evidence store integrity
- lines
- 23/23 checks passed
- state
- PASS
- check
- evidence ingestion path
- lines
- 19/19 checks passed
- state
- PASS
- check
- snapshot resolution
- lines
- 20/20 checks passed
- state
- PASS
- check
- Plane A deployment record
- detail
- C-76: no projection carries the instant its values were taken. The product fixture reports 264 evidence rows in a store that holds 265, because verify_pack wrote an ingestion probe after the emit, and nothing on the projection lets a reader tell a stale screen from a wrong one. Open by intent rather than unrepaired: the fix changes both emitters and therefore both fixture digests, and re-emitting while Plane A is running the current set is C-70 exactly. It lands as contract 1.1.0 at the next dispatch, bundled so the supplied set moves once. Every other check on the record passes, including that the accepted result it descends from has not been edited.
- lines
- 19/20 checks passed
- state
- KNOWN
- check
- corpus diff
- lines
- 26/26 checks passed (23 against real snapshots, 3 against constructed input this corpus cannot provide)
- state
- PASS
- check
- context inference
- lines
- 33/33 checks passed
- state
- PASS
- check
- impact assessment
- lines
- 33/33 checks passed (28 against real snapshots and issued packages, 5 against constructed input this corpus cannot provide)
- state
- PASS
- check
- product projection
- lines
- 20/20 checks passed
- state
- PASS
- check
- security architecture specialist
- lines
- 21/21 checks passed
- state
- PASS
- check
- assurance evaluator
- lines
- 32/32 checks passed
- state
- PASS
- check
- privacy and regulatory specialist
- lines
- 25/25 checks passed
- state
- PASS
- check
- GATE-CONSOLE-PLANE-001
- lines
- 17/17 checks passed
- state
- PASS
produced by python3 verify_pack.py --json --dsn <plane b>
05 · The engine: declared tasks
- description
- Create the engine schema: tenants, identities, authorities, runs, packages, findings, evidence records, audit events and generic graph nodes and edges
- id
- TSK-CHER-001
- description
- Implement the knowledge compiler: parse packs, validate against the pack schema, cross-check references, and issue content-addressed immutable snapsho
- id
- TSK-CHER-002
- description
- Implement context inference producing one Solution Context Profile, with every material assumption recorded as a first-class object and every unmet ap
- id
- TSK-CHER-003
- description
- Implement the bounded agent runtime with exactly two specialist roles, Security Architecture and Privacy/Regulatory Engineering, each with a declared
- id
- TSK-CHER-004
- description
- Implement the five-state orchestrator with gate evaluation, running long operations on durable workers with retry, idempotency keys and a transactiona
- id
- TSK-CHER-005
- description
- Implement the package compiler emitting an Engineering Execution Package that passes both schema validation and the semantic linter before it may leav
- id
- TSK-CHER-006
- description
- Implement the factory adapter: compile factory-specific instructions from the canonical package, dispatch, capture the execution result and change man
- id
- TSK-CHER-007
- description
- Implement the validator executing the eight rules against the canonical package and the change manifest, independently of the factory, and writing has
- id
- TSK-CHER-008
- description
- Implement the operator console: runs, context and assumptions, packages, findings, evidence explorer, proof-chain view and approval requests
- id
- TSK-CHER-009
- description
- Implement the experiment harness: one fixed brief, two arms of ten builds, arm-blind artefact export and a defect record per build
- id
- TSK-CHER-010
produced by 04_Canonical_Contracts/instances/EEP-CHER-ENGINE-001.v1.2.0.json
06 · The console: declared slices
- description
- Implement the package list and the package view
- id
- TSK-CONSOLE-001
- resultHeldHere
- false
- description
- Implement the findings view: every finding on a package, with its rule identifier, severity, the object it was raised against, and its narrative
- id
- TSK-CONSOLE-002
- resultHeldHere
- false
- description
- Implement the proof-chain view
- id
- TSK-CONSOLE-003
- resultHeldHere
- false
- description
- Implement the context and assumptions view
- id
- TSK-CONSOLE-004
- resultHeldHere
- true
- description
- Move the gate display from the package's own gate
- id
- TSK-CONSOLE-005
- resultHeldHere
- true
- description
- Turn the engineering console into the CHER product experience, on a second supplied fixture, without changing what the console is allowed to do
- id
- TSK-CONSOLE-006
- resultHeldHere
- true
produced by 09_Factory_Bootstrap/results/, against the tasks declared by EEP-CHER-CONSOLE-001.v1.6.0.json
07 · Validation rules and their executables
- rule
- VAL-AUDIT-001
- state
- NOT RUN
- rule
- VAL-AUTHZ-001
- state
- NOT RUN
- rule
- VAL-CHER-AGENT-001
- state
- NOT RUN
- executedBy
- {"doesNotCover":"auditing of refused attempts, which a database trigger cannot do because a refused write rolls back its own audit row, and which belongs to the unbuilt API layer the rule is scoped to; and the application identities in cher.actor, since no application layer exists to hold them","module":"09_Factory_Bootstrap/plane-b/verify_decision_authority.py"}
- rule
- VAL-CHER-AUTHORITY-001
- state
- EXECUTED
- executedBy
- {"doesNotCover":"whether the engine, evidence store and audit log resolve to infrastructure in the home jurisdiction, which requires a deployment to inspect and nothing here inspects","module":"04_Canonical_Contracts/tooling/cher_validate.py"}
- rule
- VAL-CHER-GEO-001
- state
- EXECUTED
- executedBy
- {"doesNotCover":null,"module":"09_Factory_Bootstrap/plane-b/verify_console_boundary.py"}
- rule
- VAL-CHER-PLANE-001
- state
- EXECUTED
- rule
- VAL-CHER-SNAPSHOT-001
- state
- NOT RUN
- rule
- VAL-CHER-TENANT-001
- state
- NOT RUN
- rule
- VAL-CHER-TRACE-001
- state
- NOT RUN
- executedBy
- {"doesNotCover":"factory results at rest, which check_execution_result.py covers at acceptance, and whether an evidence substrate can support the integrity class it is given, which nothing inspects","module":"04_Canonical_Contracts/tooling/cher_validate.py"}, {"doesNotCover":"package-side provenance and evidence contracts, which cher_validate.py covers, and whether a substrate supports its claimed integrity class, which nothing inspects","module":"09_Factory_Bootstrap/compiler/check_execution_result.py"}, {"doesNotCover":"the package-side provenance and evidence contracts, which cher_validate.py covers. This covers the ingestion path: what may and may not be written when a check result becomes a record","module":"09_Factory_Bootstrap/plane-b/verify_evidence_ingestion.py"}, {"doesNotCover":"package-side provenance and evidence contracts, which cher_validate.py covers, and factory results at acceptance, which check_execution_result.py covers. This covers the stored path only: what the evidence store will and will not persist","module":"09_Factory_Bootstrap/plane-b/verify_evidence_integrity.py"}
- rule
- VAL-CHER-TRUTH-001
- state
- EXECUTED
- rule
- VAL-CHER-WORKER-001
- state
- NOT RUN
- rule
- VAL-PERF-001
- state
- NOT RUN
- rule
- VAL-PURPOSE-001
- state
- NOT RUN
- rule
- VAL-RETENTION-001
- state
- NOT RUN
- rule
- VAL-SECRETS-001
- state
- NOT RUN
- rule
- VAL-TENANT-001
- state
- NOT RUN
- executedBy
- {"doesNotCover":"whether factory output conforms to the package, which check_execution_result.py covers for a submitted result","module":"04_Canonical_Contracts/tooling/cher_validate.py"}, {"doesNotCover":"requirement-level upstream and downstream links, which cher_validate.py covers on the package","module":"09_Factory_Bootstrap/compiler/check_execution_result.py"}
- rule
- VAL-TRACE-001
- state
- EXECUTED
- executedBy
- {"doesNotCover":"whether a recorded ground is supported by evidence, which this module does not fetch; the rule is declared MANUAL_REVIEW and the automated part of it is the declaration check only","module":"04_Canonical_Contracts/tooling/cher_validate.py"}
- rule
- VAL-XBORDER-001
- state
- EXECUTED
produced by module-level EXECUTES declarations
08 · What remains, in dependency order
- n
- 1
- title
- Three engine tasks are substantially built and CHER does not know it
- n
- 2
- title
- The three accepted results cite unresolvable digests
- n
- 3
- title
- Narrow the console read surface
- n
- 4
- title
- ADR-CHER-003 and ADR-CHER-004 are unsigned
- n
- 5
- title
- Twelve of eighteen validation rules have no executable
- n
- 6
- title
- The fixture has moved and the console has not been given it
- n
- 7
- title
- A factory's assumptions reach no reader but the acceptance report
- n
- 8
- title
- sourceControlRef is available and unpopulated
- n
- 9
- title
- Schema 2.0.0
- n
- 10
- title
- A dispatched prompt is not reproducible across a compiler change
- n
- 11
- title
- What the impact assessment found, and cannot close
- n
- 12
- title
- Three of the five accepted console results are not in the archive
- n
- 13
- title
- C-54 is a governance decision, not an edit
produced by HANDOVER.md section 4
09 · Governance plane
- policies
- 24
- tables
- 20
- triggers
- 31
produced by counted from the DDL in 08_Knowledge_Repository/ddl and 09_Factory_Bootstrap/plane-b
10 · Corrections
- bySeverity
- {"Critical":9,"High":35,"Low":8,"Medium":29}
- entries
- 81
- provenanceFrom
- C-31
- statingHowTheyWereFound
- 41
- total
- 81
produced by 07_Corrections_Register/01_Defect_Corrections_from_v1.0.md
11 · Knowledge compiler
- behavioursDeclared
- 3
- bindings
- 12
- bindingsThatDisagree
- 12
- modules
- 3
produced by python3 08_Knowledge_Repository/tooling/resolve_applicability.py --all --json