Procedure and bench contract verification
Result: 150/150 checks passed; 0 failed.
Checked 6 Draft 2020-12 schemas, linked synthetic fixtures, required fields, bounded/lexical procedure cases, channel/resource/net references, policy budgets, sample predicate structure, resolved class inputs and terminal outcome consistency. Actual cross-document fixture hashes were checked.
Limits: No engine, full semantic validator, signature verification, scheduler, physical protection, live test or commissioning evidence was executed. External zero-digest references and invented identities/limits label non-admissible synthetic fixtures. Full P01–P10/B01–B10 and failure-path conformance remain obligations for future implementations.
Checks
- PASS: allow rule otdp.dc_psu.configure/1.0.0 meta-schema
- PASS: allow rule otdp.dc_psu.output/1.0.0 meta-schema
- PASS: bench meta-schema
- PASS: bench pins policy
- PASS: bench positive fixture
- PASS: bench rejects unknown field
- PASS: bench requires commissioning_id
- PASS: bench requires contract_version
- PASS: bench requires description
- PASS: bench requires devices
- PASS: bench requires dut_class
- PASS: bench requires dut_ids
- PASS: bench requires fixture
- PASS: bench requires gateway_id
- PASS: bench requires id
- PASS: bench requires nets
- PASS: bench requires package_lock
- PASS: bench requires policy
- PASS: bench requires protection_mechanisms
- PASS: bench requires resources
- PASS: bench requires signals
- PASS: bench requires terminals
- PASS: bench requires version
- PASS: bench/policy reference semantics
- PASS: body bound rejected
- PASS: body plus protection fits domain duration
- PASS: both branches admitted with max bound
- PASS: bounded repeated fixture
- PASS: commissioning meta-schema
- PASS: commissioning pins bench
- PASS: commissioning pins policy
- PASS: commissioning pins procedure
- PASS: commissioning positive fixture
- PASS: commissioning rejects unknown field
- PASS: commissioning requires approved_at
- PASS: commissioning requires approved_by
- PASS: commissioning requires bench
- PASS: commissioning requires contract_version
- PASS: commissioning requires description
- PASS: commissioning requires dut_class
- PASS: commissioning requires evidence
- PASS: commissioning requires expires_at
- PASS: commissioning requires id
- PASS: commissioning requires modes
- PASS: commissioning requires offline_status_max_age_ms
- PASS: commissioning requires owners
- PASS: commissioning requires package_lock
- PASS: commissioning requires policy
- PASS: commissioning requires procedure_refs
- PASS: commissioning requires scheduling_overhead_ms
- PASS: commissioning requires version
- PASS: configure resolved action input
- PASS: consistent package lock across admission
- PASS: contained uncertainty interval passes
- PASS: disable protective input
- PASS: double wiring rejected
- PASS: duplicate step rejected
- PASS: enable resolved action input
- PASS: excess scheduling overhead rejected
- PASS: expired at approval rejected
- PASS: failed protection report rejected
- PASS: fixture class change rejected
- PASS: future reference rejected
- PASS: insufficient protection budget
- PASS: invalid JSON pointer escape rejected
- PASS: invalid repeat -1
- PASS: invalid repeat 0
- PASS: inverted assertion rejected
- PASS: loop result cannot escape
- PASS: measure resolved action input
- PASS: missing DUT rejected
- PASS: mixed reserved reference rejected
- PASS: monitor unit mismatch
- PASS: negative signal error bound rejected
- PASS: net endpoint rejected
- PASS: nominal boundary cannot hide uncertainty
- PASS: package lock change rejected
- PASS: pass cannot hide failed assertion
- PASS: pass cannot hide unknown safety
- PASS: policy change rejected
- PASS: procedure allows required protection budget
- PASS: procedure lexical scope and bound
- PASS: procedure meta-schema
- PASS: procedure positive fixture
- PASS: procedure rejects unknown field
- PASS: procedure requires contract_version
- PASS: procedure requires description
- PASS: procedure requires id
- PASS: procedure requires max_body_ms
- PASS: procedure requires max_protection_ms
- PASS: procedure requires mode
- PASS: procedure requires roles
- PASS: procedure requires safety_policy
- PASS: procedure requires steps
- PASS: procedure requires version
- PASS: resource cycle rejected
- PASS: run-binding meta-schema
- PASS: run-binding pins bench
- PASS: run-binding pins commissioning
- PASS: run-binding pins policy
- PASS: run-binding pins procedure
- PASS: run-binding positive fixture
- PASS: run-binding rejects unknown field
- PASS: run-binding requires bench
- PASS: run-binding requires bindings
- PASS: run-binding requires commissioning
- PASS: run-binding requires contract_version
- PASS: run-binding requires package_lock
- PASS: run-binding requires policy
- PASS: run-binding requires procedure
- PASS: run-binding requires request_id
- PASS: run-record meta-schema
- PASS: run-record pins binding
- PASS: run-record positive fixture
- PASS: run-record rejects unknown field
- PASS: run-record requires binding
- PASS: run-record requires body_outcome
- PASS: run-record requires contract_version
- PASS: run-record requires ended_at
- PASS: run-record requires evidence_refs
- PASS: run-record requires outcome
- PASS: run-record requires principal_id
- PASS: run-record requires reasons
- PASS: run-record requires run_id
- PASS: run-record requires safe_state
- PASS: run-record requires started_at
- PASS: safe transition does not erase test uncertainty
- PASS: safety-policy meta-schema
- PASS: safety-policy positive fixture
- PASS: safety-policy rejects unknown field
- PASS: safety-policy requires allow_rules
- PASS: safety-policy requires continuous_conditions
- PASS: safety-policy requires contract_version
- PASS: safety-policy requires description
- PASS: safety-policy requires domains
- PASS: safety-policy requires id
- PASS: safety-policy requires independent_protection
- PASS: safety-policy requires safe_transition
- PASS: safety-policy requires version
- PASS: selected commissioning metadata semantics
- PASS: stale polling rejected
- PASS: synthetic static wait/IO bound 1600 ms
- PASS: terminal reason cannot mislabel assertion
- PASS: unattended grant removed rejected
- PASS: unknown directive rejected
- PASS: unknown outcome cannot be downgraded
- PASS: unknown required uncertainty is not pass
- PASS: unknown role rejected
- PASS: unknown signal resource rejected
- PASS: wrong channel rejected