mirror of
https://github.com/ultraworkers/claw-code.git
synced 2026-04-27 06:57:37 +08:00
roadmap: #243 filed
This commit is contained in:
parent
0da15c2e07
commit
65411000c5
@ -16596,3 +16596,11 @@ Dogfooded 2026-04-26 08:30 KST on `feat/jobdori-168c-emission-routing` from the
|
|||||||
Verified concrete surface: the runtime `CronEntry` model only tracks `last_run_at` and `run_count`; no `running_attempt_id`, `last_finished_at`, `last_status`, `consecutive_failures`, `next_allowed_run_at`, `timeout_count`, `cooldown_until`, or `overlap_policy` exists in the registry shape. The live channel consequently receives repeated timeout failures with no machine-readable answer to `was this a fresh attempt`, `was a previous attempt still considered active`, `did the scheduler intentionally retry`, `did the retry back off`, or `should claws suppress this as already handled`. This differs from #237: even if every timeout emitted a perfect attempt ledger, the scheduler would still need an execution policy deciding when to skip, delay, coalesce, or circuit-break repeated dogfood runs. It also differs from #239: branch write leases protect ROADMAP mutation, but they do not stop the scheduler from spawning redundant attempts that never reach the write phase.
|
Verified concrete surface: the runtime `CronEntry` model only tracks `last_run_at` and `run_count`; no `running_attempt_id`, `last_finished_at`, `last_status`, `consecutive_failures`, `next_allowed_run_at`, `timeout_count`, `cooldown_until`, or `overlap_policy` exists in the registry shape. The live channel consequently receives repeated timeout failures with no machine-readable answer to `was this a fresh attempt`, `was a previous attempt still considered active`, `did the scheduler intentionally retry`, `did the retry back off`, or `should claws suppress this as already handled`. This differs from #237: even if every timeout emitted a perfect attempt ledger, the scheduler would still need an execution policy deciding when to skip, delay, coalesce, or circuit-break repeated dogfood runs. It also differs from #239: branch write leases protect ROADMAP mutation, but they do not stop the scheduler from spawning redundant attempts that never reach the write phase.
|
||||||
|
|
||||||
Required fix shape: (a) extend cron/dogfood run state with `running_attempt_id`, `started_at`, `deadline_at`, `last_finished_at`, `last_status`, `consecutive_timeouts`, and `cooldown_until`; (b) add an explicit overlap policy (`forbid`, `coalesce`, `queue_one`, `allow_parallel`) per job, with dogfood defaulting to `forbid` or `coalesce`; (c) on timeout, mark a terminal `timed_out` status and compute exponential or fixed backoff before the next allowed attempt; (d) if a scheduled tick fires during an active/cooling-down attempt, emit a compact structured `skipped_due_to_active_attempt` or `skipped_due_to_cooldown` event instead of launching another full run; (e) bind manual successful reports to the active attempt so they can clear the circuit rather than letting the cron keep failing in parallel. Acceptance: after one dogfood timeout, the next tick either resumes/coalesces the existing attempt or emits a skip/cooldown event with attempt id and next retry time; the channel no longer gets repeated opaque timeout spam while another claw has already handled the cycle. **Status:** Open. No source code changed. Filed as ROADMAP-only dogfood pinpoint from the 2026-04-25 23:30 UTC nudge. Cluster delta: cron-scheduler-policy +1, operational-clawability +1, timeout-backoff-circuit cluster founded, overlap-suppression/coalescing cluster founded; linked to #237 timeout-attempt-ledger and #239 branch-write-lease as the scheduler-policy third leg of the dogfood reliability trio.
|
Required fix shape: (a) extend cron/dogfood run state with `running_attempt_id`, `started_at`, `deadline_at`, `last_finished_at`, `last_status`, `consecutive_timeouts`, and `cooldown_until`; (b) add an explicit overlap policy (`forbid`, `coalesce`, `queue_one`, `allow_parallel`) per job, with dogfood defaulting to `forbid` or `coalesce`; (c) on timeout, mark a terminal `timed_out` status and compute exponential or fixed backoff before the next allowed attempt; (d) if a scheduled tick fires during an active/cooling-down attempt, emit a compact structured `skipped_due_to_active_attempt` or `skipped_due_to_cooldown` event instead of launching another full run; (e) bind manual successful reports to the active attempt so they can clear the circuit rather than letting the cron keep failing in parallel. Acceptance: after one dogfood timeout, the next tick either resumes/coalesces the existing attempt or emits a skip/cooldown event with attempt id and next retry time; the channel no longer gets repeated opaque timeout spam while another claw has already handled the cycle. **Status:** Open. No source code changed. Filed as ROADMAP-only dogfood pinpoint from the 2026-04-25 23:30 UTC nudge. Cluster delta: cron-scheduler-policy +1, operational-clawability +1, timeout-backoff-circuit cluster founded, overlap-suppression/coalescing cluster founded; linked to #237 timeout-attempt-ledger and #239 branch-write-lease as the scheduler-policy third leg of the dogfood reliability trio.
|
||||||
|
|
||||||
|
## Pinpoint #243 — Non-monotonic pinpoint numbering has no canonical ordering/index contract, so `latest` can mean commit-tip, numeric-max, or reserved-gap-fill
|
||||||
|
|
||||||
|
Dogfooded 2026-04-26 09:00 KST on `feat/jobdori-168c-emission-routing` after Jobdori intentionally filled reserved **#241** on top of gaebal-gajae **#242**. The branch history is now `#240@43ce1f5 → #242@4af2fb6 → #241@0da15c2`, making commit order, numeric order, and conversational reservation order diverge. This was coordinated successfully by humans/bots in chat, but claw-code has no machine-readable roadmap index that says whether the canonical “latest pinpoint” is the highest number (#242 before this filing), the newest commit (#241), or the latest reservation/fill event. A naive status reporter can now say “latest is #241” by git HEAD while another says “latest is #242” by numeric max; both are defensible from prose, neither is machine-safe.
|
||||||
|
|
||||||
|
Verified concrete surface: ROADMAP entries are plain Markdown headings, and the dogfood append flow has no sidecar manifest containing `pinpoint_id`, `reserved_at`, `filled_at`, `commit_oid`, `parent_oid`, `sequence_index`, `supersedes`, `fills_reserved_gap`, or `canonical_order_key`. #239 introduced the need for branch leases/write reservations, but it does not define how reserved gaps appear in the public roadmap ordering once a later numeric id lands first. #237/#242 cover timeout/run scheduling reliability, but they do not solve downstream interpretation of non-monotonic roadmap history. The live #241-after-#242 pattern therefore exposes a separate index/ordering gap: consumers must scrape chat or infer from commit subjects to understand that #241 intentionally fills a reserved gap and does not invalidate #242.
|
||||||
|
|
||||||
|
Required fix shape: (a) maintain a machine-readable `roadmap-index.jsonl` or embedded front-matter block per pinpoint with `pinpoint_id`, `sequence_index`, `status`, `reserved_by`, `reserved_at`, `filled_at`, `commit_oid`, `base_oid`, and `order_policy`; (b) expose separate queries for `latest_by_commit`, `latest_by_numeric_id`, `latest_unfilled_reservation`, and `latest_canonical_sequence`; (c) when a reserved gap is filled after higher numeric ids, emit a structured `reserved_gap_filled` event instead of relying on prose; (d) reports must state which ordering basis they use; (e) validation should reject duplicate ids and warn on non-monotonic fills without a matching reservation record. Acceptance: after a commit sequence like `#240 → #242 → #241`, clawhip/Jobdori/gaebal-gajae can all answer the same questions deterministically: which item was most recently committed, which id is numerically highest, which reserved gap was filled, and what the canonical roadmap traversal order is. **Status:** Open. No source code changed. Filed as ROADMAP-only dogfood pinpoint from the 2026-04-26 00:00 UTC nudge. Cluster delta: roadmap-indexing +1, stable-id/ordering +1, reserved-gap-fill-ordering cluster founded, latest-semantics-disambiguation cluster founded; linked to #239 DogfoodWriteLease because reservations need both write safety and canonical public ordering.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user