Skip to content

Acceptance and CI

Jim Daley edited this page May 3, 2026 · 3 revisions

Acceptance and CI

Home | Artifact Index | Branch main Overview

Acceptance is fixture-based. A document that only contains keywords is not enough; every fixture family encodes inputs and expected semantic outputs.

CI Gate Topology

flowchart TB
  Runner["conformance_runner.py"] --> Completion["base_design_completion_checker.py"]
  Runner --> Schemas["validate_schemas.py"]
  Runner --> Fixtures["fixture_validator.py"]
  Runner --> Trace["traceability_checker.py"]
  Runner --> Invariants["ash_invariant_checker.py"]
  Runner --> Projection["semantic_projection_checker.py"]
  Runner --> Diagnostics["diagnostic_chain_checker.py"]
  Runner --> Json["json_semantics_checker.py"]
  Runner --> Recovery["recovery_consistency_checker.py"]
  Runner --> Handoff["downstream_handoff_checker.py"]
  Runner --> Compliance["compliance_checker.py"]
Loading

Schema Validation

flowchart LR
  Schema["Schema"] --> Refs["Resolve refs"]
  Refs --> Example["Example instance"]
  Example --> Validator["schema_instance_validator.py"]
  Validator --> Output["Pass / fail"]
Loading

Fixture Families

Fixture Required scenario families
ash_codeword_vectors.json 16 canonical codewords, XOR identity, invented-codeword rejection
state_admissibility_vectors.json valid, compatible, incompatible, malformed/unclassified
semantic_projection_vectors.json all 9 coordinates, ambiguity, blocked mapping
json_semantics_vectors.json missing vs null, dots in keys, arrays, canonicalization, precondition failure
diagnostic_chain_vectors.json valid chain, missing parent, orphan, missing rule ID
recovery_escalation_vectors.json no action, normalize, correction, fallback, containment, safe halt
policy_block_vectors.json allow, block, escalate, no mutation before allow
backup_rollback_vectors.json backup success/failure, verification failure, rollback success/failure
safe_halt_terminal_vectors.json safe halt entry and transition rejection
end_to_end_healing_vectors.json observe-to-terminal lifecycle

Acceptance Judgment Logic

flowchart LR
  Gates{"All gates pass?"} -->|yes| Conformant["CONFORMANT"]
  Gates -->|no| Waivable{"Only caveats?"}
  Waivable -->|yes| Caveats["CONFORMANT WITH CAVEATS"]
  Waivable -->|no| Non["NON-CONFORMANT"]
Loading

Command Entry Points

Command Purpose
python3 ci/conformance_runner.py . Full base-design suite
python3 ci/validate_schemas.py . Schema refs and examples
python3 ci/fixture_validator.py . Expected-output fixture validation
python3 ci/diagnostic_chain_checker.py . Diagnostic chain artifacts and negatives
python3 ci/recovery_consistency_checker.py . Recovery category and escalation consistency
python3 ci/downstream_handoff_checker.py . Platform handoff package sufficiency

Clone this wiki locally