Reject lossy observations and validate schedules before execution

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e76f-be98-7ae3-965d-e0b31290a4c4
This commit is contained in:
tegwick 2026-09-28 14:50:27 +02:00
parent eaf5d348e4
commit 10077edb8c
8 changed files with 184 additions and 21 deletions

View file

@ -132,3 +132,18 @@ scope prose: the pilot remains live here, and model/browser/authoring experiment
remain TD-WP-0003-T01/T06/T07. Broader scheduling/lifecycle/adapter features remain
explicit scope limits to prioritize from actual pilot needs. No real-system,
paid-model or browser-engine execution was performed.
**2026-09-28 evidence/preflight follow-up — done (T02/T03).** Runner validates
JSON-native observations before evaluation/retention. Lossy types (including
tuples), invalid keys, non-finite numbers and cyclic data cannot silently change
meaning in JSON; a bad snapshot stops execution with an evidence-failure record
and pending assertions INCONCLUSIVE. Serialization uses the same strict value
contract without dataclass or custom-value coercion. Runner preflights every
scheduled actor, unique nonempty step id and cast key/id agreement before any
SUT action. Intentionally partial scenarios remain valid.
Validation: 12 new regressions, of which 10 failed before the fixes; **131 focused
tests passed**, and the full suite passed **440 tests in 169.07 seconds**.
`git diff --check` is clean. Decision: `aa6c3e31-614c-4030-990c-945acef08515`.
No new tasks/workplans; T05 remains waiting and this workplan remains blocked.