The queue: parking, the operator's order, blocked items (M2.2)
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 3m26s
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 3m26s
Several work items on the new loop (L1, D4): - Switching parks the item on the workspace: its work is committed and its branch pushed; resuming checks the item's branch back out. Branches of open items are never set aside by a fresh workspace. - Next item: the operator's "do #N next" first, otherwise the oldest. - Issues with open Gitea dependencies are blocked until they close, checked at intake and on every round; status shows blocked items and the line. Tests: queue unit tests, the property walk over several issues with dependencies and a new parked_work_safe property (it catches parking disabled), and an end-to-end test with two issues where B depends on A. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
This commit is contained in:
1 parent
d504588a57
commit
cceb30c729
11 files changed
+657
-85
No files matched your search
@@ -23,7 +23,7 @@ Only `nisse-dev` has real code; `nisse-core` and `nisse-ops` are placeholders.
|
||||
|
||||
| Section | Status | Notes |
|
||||
|---|---|---|
|
||||
| **L1** Work model | partial | Work items table with an active pointer (M1.1); no issue intake, queue, parking or blocked items |
|
||||
| **L1** Work model | mostly done | Work items with an active pointer (M1.1); issue intake (M2.1); queue, parking and blocked items (M2.2) on the new loop; no grace period yet |
|
||||
| **L2** Agent loop | partial | `control.py`, a fixed state machine with no-stranding, `stop`, `abandon`. Replaced by the new loop (Phase 2) |
|
||||
| **L3** Authority | partial | Revision binding and arrival stamping (`gates.py`); scope is still plan approval, not the issue and its conversation |
|
||||
| **L4** Classifier | none | |
|
||||
@@ -144,9 +144,15 @@ later one widens it and extends the end-to-end test (M1.6) to cover it.
|
||||
- Acceptance: the end-to-end test runs that path on the new loop, plus a crash
|
||||
mid-publish; then a first manual live run.
|
||||
|
||||
**M2.2 The queue.** *Pre-approved.* Several items: states, park-and-switch with
|
||||
branches pushed, next-item order, blocked items from Gitea dependencies, a closed
|
||||
PR handled (L1, D4). End-to-end: two issues and a dependency.
|
||||
**M2.2 The queue.** *Pre-approved.* **Done** (this PR). Several items: states,
|
||||
park-and-switch with branches pushed, next-item order, blocked items from Gitea
|
||||
dependencies, a closed PR handled (L1, D4). End-to-end: two issues and a dependency.
|
||||
- Switching happens as soon as the active item waits; the grace period (§6, L1)
|
||||
is left until a watching operator misses it. Order is "do #N next"; priority
|
||||
labels and driver-chosen order wait for a need.
|
||||
- The property walk covers several issues, dependencies and the operator's order,
|
||||
and checks that parked work is never lost (every file an open item wrote is on
|
||||
the workspace or in the forge).
|
||||
|
||||
**M2.3 Threads and labels.** *Pre-approved.* Routing by thread, ambiguous commands
|
||||
asked about (L5); `bug` grace periods, `discuss`, `design`; questions and
|
||||
|
||||
Reference in new issue
Block a user