Engine v0.2: flow graph, datapoint states, gates, modes, overrides, deviations (RBT-WP-0007)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
parent
3fc279a6ed
commit
60d983769f
13 changed files with 1017 additions and 22 deletions
|
|
@ -105,7 +105,7 @@ state_hub_task_id: "6740457f-81a7-5761-a768-b9b0faee7552"
|
|||
scratch logbook under /tmp/rtut-*). `pack.yaml` (v0.1) runs today and is the test bed for
|
||||
UI refinement. `pack.v0.2.yaml` expresses the same story in the proposed v0.2 model
|
||||
(stages, parallel steps, alternatives, gates, actors, datapoints, artefacts, irreversible
|
||||
confirmation). It now validates against the v0.2 schema and semantic checks. It cannot be run until RBT-WP-0007 lands.
|
||||
confirmation). It validates against the v0.2 schema and semantic checks and can be run by the v0.2 engine (`rtut/run2.py`); a UI for it is RBT-WP-0004.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
|
|
|
|||
|
|
@ -91,12 +91,12 @@ step instead of the top of the page.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0004-T06
|
||||
status: wait
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "261bf74f-f5cd-55bb-9a96-12767418c980"
|
||||
```
|
||||
|
||||
Depends on RBT-WP-0007. The serial guided flow is the main interface: stages with
|
||||
Unblocked: RBT-WP-0007 (engine) is finished. The serial guided flow is the main interface: stages with
|
||||
progress, the recommended next action, other ready actions, framing shown at the
|
||||
start of each stage, and gates shown at stage exit.
|
||||
|
||||
|
|
@ -104,12 +104,12 @@ start of each stage, and gates shown at stage exit.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0004-T07
|
||||
status: wait
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "16db09c7-7707-5d17-aab3-5d8eab2c1fce"
|
||||
```
|
||||
|
||||
Depends on RBT-WP-0007. A random-access table of datapoints (with `nil/set/err/ok`
|
||||
Unblocked: RBT-WP-0007 (engine) is finished. A random-access table of datapoints (with `nil/set/err/ok`
|
||||
state) grouped or filtered by dimension (actor, role, privilege, subsystem, kind),
|
||||
editable independently of the flow, plus the artefacts view.
|
||||
|
||||
|
|
@ -117,12 +117,12 @@ editable independently of the flow, plus the artefacts view.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0004-T08
|
||||
status: wait
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "23d3f5cc-e844-5077-9a4a-0435c189d98b"
|
||||
```
|
||||
|
||||
Depends on RBT-WP-0007. State transparency at a glance: stage progress, gate states
|
||||
Unblocked: RBT-WP-0007 (engine) is finished. State transparency at a glance: stage progress, gate states
|
||||
and waivers, datapoint completeness by dimension.
|
||||
|
||||
## Visual design
|
||||
|
|
@ -154,12 +154,12 @@ Confirm button for reversible steps, typed phrase for irreversible ones, per the
|
|||
|
||||
```task
|
||||
id: RBT-WP-0004-T11
|
||||
status: wait
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "99320417-8261-556b-8932-4947cfd8ce11"
|
||||
```
|
||||
|
||||
Depends on RBT-WP-0007 T06-T07. Choose manual or autopilot per run (with timeout and
|
||||
Unblocked: RBT-WP-0007 T06-T07 are finished. Choose manual or autopilot per run (with timeout and
|
||||
push-through controls). In manual mode, an override dialog lists unmet preconditions and
|
||||
the downstream risk before continuing; deviations show in the overview.
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ a dimension view and an overview from the same run data.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "55dd86f9-5f89-59a2-8a0a-85fbedd95483"
|
||||
```
|
||||
|
|
@ -35,7 +35,7 @@ canonical order; explain what a blocked item waits for.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "571e8685-6eeb-54ce-bb1a-4616ea951f81"
|
||||
```
|
||||
|
|
@ -47,7 +47,7 @@ how `ok` is reached (check or recorded manual confirmation).
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "707cca55-24a1-5355-8722-10740c5a2862"
|
||||
```
|
||||
|
|
@ -59,7 +59,7 @@ exit, record waivers with who, when and why.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "73307bb9-2739-563b-92c7-a034a360b444"
|
||||
```
|
||||
|
|
@ -70,7 +70,7 @@ state_hub_task_id: "73307bb9-2739-563b-92c7-a034a360b444"
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "0933ff4a-8478-50d9-aa99-991948bc2379"
|
||||
```
|
||||
|
|
@ -82,7 +82,7 @@ engine so no renderer can skip it.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "1656597c-3748-5480-b136-e2872436bab4"
|
||||
```
|
||||
|
|
@ -96,7 +96,7 @@ are never auto-confirmed without a recorded pre-authorization.
|
|||
|
||||
```task
|
||||
id: RBT-WP-0007-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "0ef958ef-88b6-565b-8797-df730cf11ad3"
|
||||
```
|
||||
|
|
@ -107,6 +107,15 @@ deviation. Waivers only where a gate declares `waivable`. Autopilot timeouts
|
|||
(`stop` or `push-through`) record a deviation and, for push-through, move on. A run with
|
||||
any deviation is flagged and can never exercise a pack.
|
||||
|
||||
## Delivered 2026-09-29
|
||||
|
||||
`rtut/flow.py` and `rtut/run2.py`, documented in `docs/run-spec.md` (run record v0.2) and covered by
|
||||
`tests/test_run2.py` (25 tests: readiness and recommendation, parallel items, alternatives, datapoint
|
||||
states, gates, overrides, waivers, confirmation phrase, autopilot confirm / stop / push-through,
|
||||
manual-only and pre-authorization, read-only finished runs). Two spec corrections came out of it:
|
||||
a gate cannot require a datapoint it is itself `confirmed_by` (validator rule), and `run.finalize`
|
||||
also requires gates passed or waived. Not done here: any UI or CLI for v0.2 runs (RBT-WP-0004).
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- The old console's stages, gates and datapoints can be expressed and computed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue