fix(work-items): mid-flight lease renew and contract honesty - #2979
Conversation
…ment (#2944) Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
The confinement note in the local-markdown provider comparison pushed the file to 503 lines. Compress it so the skill-quality hard cap still passes. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
…sue triggers (#2947) Work item stays canonical; ticket and issue are invocation synonyms on track/work. Cross-link the Shipping-course SSOT from the skills-repo record and make to-tickets/triage/wayfinder absorptions traceable on the v1.2 map. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
…nch fallback (#2935) Adopt C5–C8 and C17: prefactor blockers, one-fresh-window sizing without token folklore, integration-branch fallback when expand-contract batches cannot land green alone, work-the-frontier reporting, and a PR-variant agent brief. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Keep live-work claims alive with renew-lease (comment PATCH), not GitHub branch-push activity. Record the claim comment id in the dispatch brief; treat expired renew (exit 7) as a lost claim. Document GitHub PATCH TOCTOU (no If-Match), comment-id monotonicity, clock-skew, and ttl-0 born-expired in the tracker CONTRACT. Closes #2943 Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Promote prefactor/window/fallback into short subsections, present unblocked slices first, name current-behavior-of-the-diff and finish-what-exists on the PR-variant brief, record Lane B as ADOPTED, and add the expand-contract default eval. Closes #2935. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
The orchestrator cannot timer-renew while blocked on implement-dispatch. Enumerate lease_comment_id in the dispatch brief; the worker renews at phase boundaries. Soften CONTRACT TOCTOU: revalidation is intent, not CAS. Refs #2943 Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
I'll analyze this and get back to you. |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Claude finished @kyle-sexton's task in 1m 25s —— View job Security review — skip gate: no security-relevant surface
I reviewed the full diff (
No shell scripts, GitHub Actions workflows, application/tool code, or credential-handling logic are touched in this PR — the actual Per the skip gate: change has no security-relevant surface after reading the diff. No findings to report. |
|
Last security-reviewed head: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c2e155589c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…flow Standard /work-items:work still PRs against the default branch, so fallback items are not executable on that path (#2935 review).
…ore TTL local-markdown renew-lease now matches GitHub: ttl-0 / expired leases exit 7 instead of reviving. Workers renew before the deadline with a safety margin (#2943 review).
|
Claude finished @cursor[bot]'s task in 4m 10s —— View job /review:code-review — findings
Scope note: Diff resolution note: this PR is stacked on #2978, which has since merged to Both prior Codex review findings on this PR are now resolved by commits already on this branch:
No new findings. Traced through the supporting logic independently ( Not independently verified (author-claimed only): the PR description's No inline comments posted — nothing met the high-signal bar for this lane. |
Keep work-items 0.35.29 lease-hardening above 0.35.28 decompose.
|
Claude has reviewed this PR 2 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
|
Claude finished @cursor[bot]'s task in 35s —— View job Code review — skip gate: PR already merged
Per the pre-fetched context for this trigger, PR #2979 state is
This condition is met, so per the skill's instructions I'm stopping early and posting nothing further — no deep review of the diff was performed. If you'd like a retrospective review of the merged changes anyway, let me know and I can run one explicitly outside the CI code-review lane's skip gate. |

Closes #2943
Summary
Long-running
/work-items:workclaims stay alive via mid-flightrenew-lease(issue-comment PATCH), not GitHub branch-push activity. The worker is the durable renew actor during the blocked implement-dispatch wait; the orchestrator renews only after the worker returns.Fix
lease_comment_idfrom claim and enumerate it in the dispatch brief next to the PR-contract list."$TRACKER" renew-lease "<id>" --lease-comment-id <n>at phase boundaries / before return. Orchestrator cannot timer-renew while waiting on the worker.work-mid-flight-renew-not-push-activity.Stacked on #2978 (decompose deltas). Merge after that PR, or rebase onto
mainonce #2935 lands.Verification
CHECK_SKILL_SKILLS_ROOT=$PWD bash plugins/skill-quality/scripts/check-skill.sh --require-evals plugins/work-items/skills/work— PASS (0 errors)bash plugins/skill-quality/scripts/check-evals-quality.sh plugins/work-items/skills/work/evals/evals.json— PASSbash plugins/work-items/tools/work-item-tracker/lib/lease.test.sh— 19/19 PASSwc -l plugins/work-items/skills/work/SKILL.md— 254 (under 500)Related
Refs #2978
Refs #2933