Skip to content

Commit 4ebcd4f

Browse files
committed
docs: clarify that skipped/#240 shipped in PR #249, not this PR
The proposal previously framed the #240 skipped-node work as part of 'this PR'. That work landed earlier in PR #249; this PR (#263) defines the consolidated state model and adds the remaining implementation (cancelled, status_reason, race-loser reconciliation, loop reset).
1 parent 67023f8 commit 4ebcd4f

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

docs/node-state-model.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Node & Instance State Model
1+
occ# Node & Instance State Model
22

33
Status: **Design proposal** (consolidates issues [#240] and [#171]).
44

@@ -93,10 +93,10 @@ Rationale:
9393
| `skipped` | yes | Eligible work that was never started because the run already terminated, or a branch the run chose not to take. **(#240, new in 0.2.4)** |
9494
| `cancelled` | yes | Work that had started (`running`) or was queued and was abandoned because its enclosing scope (a decided `RACE`) no longer needs it. **(#171, proposed)** |
9595

96-
> Current state of the code: `pending`, `running`, `completed`, `failed` exist;
97-
> `skipped` is added by this PR (issue #240). `cancelled` for **nodes** is proposed
98-
> here for #171 (the `df.instances` table already has a `cancelled` status, but
99-
> `df.nodes` does not yet).
96+
> Current state of the code: `pending`, `running`, `completed`, `failed`, and
97+
> `skipped` exist; `skipped` was added in 0.2.4 for issue #240 (PR #249).
98+
> `cancelled` for **nodes** is proposed here for #171 (the `df.instances` table
99+
> already has a `cancelled` status, but `df.nodes` does not yet).
100100
101101
### `status_reason` vocabulary (proposed)
102102

@@ -337,10 +337,10 @@ before committing to the reset mechanism.
337337
### #240 — downstream steps after a failure
338338

339339
When a run terminates with a node-level failure, remaining un-started nodes should
340-
become `skipped` with reason `upstream_failed`. The current PR implements the
341-
set-based sweep (`pending → skipped` guarded by "an instance node is `failed`").
342-
Under this model that sweep should additionally stamp `status_reason =
343-
'upstream_failed'`.
340+
become `skipped` with reason `upstream_failed`. The `skipped` status (#240, shipped
341+
in PR #249) already implements the set-based sweep (`pending → skipped` guarded by
342+
"an instance node is `failed`"). Under this model that sweep should additionally
343+
stamp `status_reason = 'upstream_failed'`.
344344

345345
Open refinement: the coarse sweep also catches `IF`/`LOOP` branches that were
346346
*deliberately* not taken. With the reason column those should ideally be classified
@@ -370,9 +370,9 @@ Only the final iteration's loser marks survive as the observable result.
370370

371371
## Schema & implementation implications
372372

373-
- **Status set:** add `skipped` (done, #240) and later `cancelled` to
374-
`nodes_status_chk` in both the install DDL ([src/lib.rs](../src/lib.rs)) and a new
375-
upgrade script, per the upgrade contract.
373+
- **Status set:** `skipped` is already added (done in PR #249 for #240); add
374+
`cancelled` to `nodes_status_chk` in both the install DDL
375+
([src/lib.rs](../src/lib.rs)) and a new upgrade script, per the upgrade contract.
376376
- **Reason column:** add `status_reason TEXT` to `df.nodes` (nullable, optionally a
377377
`CHECK` against the reason vocabulary). New column ⇒ install DDL + upgrade DDL;
378378
binary backward-compat is straightforward (new `.so` only writes it when the

0 commit comments

Comments
 (0)