Skip to content

fix(KEN-2403): guard registered-session wake processes - #3370

Merged
vanillagreen-fleet-lanes[bot] merged 3 commits into
mainfrom
ken-2403
Oct 1, 2026
Merged

vanillagreen-fleet-lanes[bot] merged 3 commits into
mainfrom
ken-2403

Conversation

@vanillagreen-fleet-lanes

@vanillagreen-fleet-lanes vanillagreen-fleet-lanes Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add the wake-armed check to the existing registered-session turn-end hook. An unarmed repeat follow or configured master wake prints lane-mail-check: wake=unarmed and the start command.
  • Keep continued turns and unavailable checks non-blocking. Report failed watch process queries as unknown, not an absent watch.
  • Ship regression fixtures, must-fail controls, hook documentation, the watch-guide note, a changelog item and the existing tracked renders.

Scope

  • The check applies to the session named by the fleet record. It does not start, restart or stop a wake process.
  • The source guide retains the fresh-turn refusal and re-arm instruction. Warning delivery remains documented in the hook summary and hooks/README.md.
  • KEN-2404 owns the wake setting declarations and master registration. An absent setting reads as empty in this change.
  • The review-added tool-call wake mechanism and its new premise-dependent tests were removed. The contract is fresh lead turn end.
  • .kendex-lock.json remains unchanged under D007. The overseer refreshes the base checkout after merge.

Completed issue

Closes KEN-2403: lane-mail-check: refuse the turn end of a registered overseer or master whose wake process is not running.

Size

  • Production additions: 130 lines.
  • Test additions: 398 lines.
  • Render-mirror additions: 360 lines.
  • No Expected delta allowance was stated. Verdict: allowance_missing.

Validation

  • Original full configured validation passed at fcf22312.
  • Final runtime range validation passed at f1f33474: 2044 seconds, guard-scans, selection all.
  • Final docs-only range validation passed at 21d2fbe5: 1459 seconds, guard-scans, selection all.
  • Authorized final PR-head range validation passed at 21d2fbe5: 1499 seconds, guard-scans, selection all.
  • Scoped wake suite: 47 passes. Hook suite: 526 passes. Shared-reader suite: 52 passes.
  • Final dev artifacts were accepted. Source and render changes are committed together.

Review decisions

  • Fixed: passing warnings no longer emit Stop.additionalContext; failed process reads stay unknown; the release note names guarded sessions; the guide's stale model-context sentence is removed.
  • Declined: an additional own-handoff fixture. The existing own-handoff exit precedes every wake read. The change adds no handoff behavior; a reordered mutant creates a defect absent from this branch.
  • Correctness, error handling, tests and quality passed narrowed review. Security passed the original feature review. Final docs-only verification passed.
  • Safety has an undermeasured annotation: its initial lifecycle pairing was cancelled; its corrected pairing completed.
  • External review produced no evidence because Claude reached its weekly limit.
  • Copilot caller-status comment declined: statuses 1 and 2 take the same existing false branches in watch start and handover. The changed wake caller reports unknown queries instead of selecting absence.
  • Copilot fresh-turn wording comment declined: continuation behavior did not change. The changelog already limits the requirement to fresh lead turns. Both comments have replies and resolved threads.

Test plan

  • Scoped suites and their must-fail controls.
  • Configured full validation on the original implementation and range validation on the runtime and documentation fixes.
  • Review findings have a fix or a recorded decline.
  • Required GitHub checks and approval of the final head before merge.

Copilot AI balanced review requested due to automatic review settings October 1, 2026 12:51
@linear-code

linear-code Bot commented Oct 1, 2026

Copy link
Copy Markdown

KEN-2403

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Existing watch lifecycle callers misclassify the new unknown process-query status as an absent watch.

Review effort: Balanced
Findings: 1 High severity · 1 Low severity

Open (2)
What changed in this PR

Adds wake-process guarding to registered overseer and master turn ends.

Changes:

  • Detects unarmed repeat, single-pass, and configured master wake processes.
  • Preserves unknown process-query results and adds regression coverage.
  • Updates operational documentation, changelog, and tracked renders.
File Description
hooks/​lane-mail-check.sh Implements wake checks and reporting.
hooks/​tests/​lane-mail-check-wake.test.sh Tests wake-check scenarios and controls.
hooks/​tests/​lane-mail-check.test.sh Updates existing hook tests.
hooks/​tests/​lib/​lane-mail-world.sh Adds wake-process fixtures.
hooks/​README.md Documents wake guarding.
skills/​orch/​scripts/​lib/​watch-pid.sh Adds unknown process-query status.
skills/​orch/​tests/​oversee_watch_lifecycle.sh Tests failed process queries.
skills/​orch/​references/​watch-delivery.md Documents repeat-watch enforcement.
changelog.d/​added/​registered-session-wake-check.md Adds release note.
.claude/​hooks/​lane-mail-check.sh Updates Claude tracked render.
.codex/​hooks/​lane-mail-check.sh Updates Codex tracked render.
.pi/​kendex/​hooks/​lane-mail-check.sh Updates Pi tracked render.
.agents/​skills/​orch/​scripts/​lib/​watch-pid.sh Updates installed library render.
.agents/​skills/​orch/​references/​watch-delivery.md Updates installed guide render.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread skills/orch/scripts/lib/watch-pid.sh
Comment thread skills/orch/references/watch-delivery.md

@vanillagreen-overseer vanillagreen-overseer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overseer app approval at 21d2fbe (review-gate platform Use 1, declined-unchanged: owner ruling 1790729975).

Copilot reviewed this final head and returned COMMENTED. Both inline threads are Copilot's, each carries a Step 0 decline that holds at this head, and both are resolved:

  • skills/orch/scripts/lib/watch-pid.sh:91: the new status 2 (query failed) takes the same false branches in oversee-watch, watch_handover and watch_restart that status 1 took before this change, so no claim write or watch-absent outcome changes; the one changed caller, the registered-session wake, distinguishes the two and reports the query failure under wake-record. Hardening the unchanged callers is outside this issue's Done-when.
  • skills/orch/references/watch-delivery.md:11: the guide states the missing-follow refusal and its re-arm, and the fresh-lead-turn rule the changelog names is unchanged by the warning-delivery fix; the stale model-context promise was removed in this head.

0 unresolved threads. Required CI is green on the Linux and Cargo jobs; the macOS skill shards are still running on this head, and the lane arms only through the normal route, so a red required job dismisses nothing it should not. The lane's one authorized final range run is in progress on the same head.

@vanillagreen-fleet-lanes
vanillagreen-fleet-lanes Bot added this pull request to the merge queue Oct 1, 2026
Merged via the queue into main with commit f1d8ceb Oct 1, 2026
74 checks passed
@vanillagreen-fleet-lanes
vanillagreen-fleet-lanes Bot deleted the ken-2403 branch October 1, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant