Repository navigation
Conversation
Decision takenQuestion: after a request's second provisioning failure re-queues it, the new wake (item 2) makes the head plan again. Does the twice-failed request plan again too? If it does, it is placed at once ( Options:
Taken: 1. It is closest to today's code, where a second failure enqueues without a wake, and it is the only option where the spec's Reverting: drop the skip in the wake, and the Tests line marked "decided in delivery" in #636. Written by an agent. |
Review notesNot blocking, not verified. Each is one reviewer's claim.
Written by an agent. |
Decision changedThe maintainer replaced the delivery decision on #636 (2026-10-18). Written by an agent. |
Review notes (after the spec change)Not blocking, not verified. Each is one reviewer's claim. Earlier notes are in the comment above.
Written by an agent. |
…stats and console figures (#623) (#626) Delivers #623: the event history moves to `history.db`, with usage projections, `simlock stats`, `GET /v1/stats` and the console's figures. It also includes ADR 0032. This PR carries the whole feature. The stack's PRs were reviewed one by one, and then a stack sync pushed every branch to one commit. GitHub then marked them as merged into each other, never into `main`. Their reviews stay there: - ADR 0032 (this PR) - #635 → #690 - #636 → #692 - #637 → #693 - #629 → #694 - #630 → #695 - #631 → #711 - #632 → #724 - #633 → #727 - #634 → #731 After the sync onto `main`, a fix-check reviewed the conflict resolutions. Its fix makes `history.db` and its WAL/SHM files owner-only (0600), as #685 did for `events.jsonl`. Closes #629, closes #630, closes #631, closes #632, closes #633, closes #634, closes #635, closes #636, closes #637. ### Status Implement: done Review: per-task PRs passed; sync fix-check passed Hardware: n/a Gate: running ## Review Spec review: skipped. Code review: 4 blocking, 4 fixed, 1 notes. Claims review: 0 blocking, 0 fixed, 0 notes. Rounds: 1. Tokens: 29.0M. *Written by an agent.*
Closes #636
Status
Implement: done Review: passed (round 2 + 4 fix-checks) Hardware: n/a Gate: waiting for the stack
Assumptions
wait,no-capacityand both eviction plans carry the reason asreason; the console row carries its text aswhy.src/daemon/dispatcher.test.ts"list.get requests ... queue position" now lists each entry'sreason, and the RAM-budgetnoWaittest now expectscode: "NO_CAPACITY"(aDispatchErrorwith details, not a bareNoCapacityError);src/gateway/dispatcher.test.tstypes the helper'sreasonas the enum.waitingRequestSchemastays an object with.shape(the CLI and console tests read thereasonfield from it) while a refinement refusesreasonon astartingentry.createTestEnginestoresNO_CAPACITYfor a refusednoWaitrequest, so a replay in the dispatcher test answers that code; the daemon passes its own classifier.unresolvable-specfor a local request andno-wait(alease.declined) for a probe, the nearest existing reasons, so the event catalog stays unchanged ("Events: none").PROVISION_FAILEDexits 1, not the lease-ended 14 — the two stay distinct;docs/CLI.mdlists the row.failures— a waiter that failed twice is rejected and never plans again, so the "two failures block a provision" branch is gone.Review
Spec review: 3 blocking, 3 fixed, 0 notes. Code review: 4 blocking, 4 fixed, 4 notes. Claims review: 3 blocking, 3 fixed, 2 notes.
Rounds: 2. Tokens: 11.9M.
Assessment: complete
Fix-checks: 4. The maintainer changed the spec after the third (a second provisioning failure now rejects with
PROVISION_FAILED), which superseded X1, X3, X5 and F1; they were closed by reverting the skip logic.Written by an agent.