Skip to content

feat(orchestrator): enroll new human assignments in continuity by default - #2

Draft
ddonathan wants to merge 1 commit into
fix/work-continuityfrom
fix/work-continuity-auto-enroll-default
Draft

ddonathan wants to merge 1 commit into
fix/work-continuityfrom
fix/work-continuity-auto-enroll-default

Conversation

@ddonathan

@ddonathan ddonathan commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Draft: independent review repairs and installed-effectiveness measurement are pending. Tests do not prove fewer manual nudges in production.

Why

Evidence audit of Dan's replies on both hosts (Linux bw-hq-linuxws01, SQL THQ-HQ-SQL02):

  1. Linux: explicit restart nudges in 4 inspected threads ('keep working' 19:59 in CI Rework and in the continuity thread itself, 'sorry continuie', repeated 'Continue where you left off.'). One thread ended with 'Nothing will wake this thread automatically' and ready work left.
  2. Linux: at least 7 short next-step replies in one thread where the agent had stopped at choice menus with ready work.
  3. SQL: 'keep going' / 'what's left?' / 'how's it going?' nudges in 5 threads; most other restarts there are scheduled continuations, not Dan typing.
  4. Inspected Linux parents were unenrolled while the local continuity source defaulted enrollment off. SQL lacks the local feature; missing/null records there do not establish that the setting caused its stops.

Change

  1. workContinuityAutoEnroll decoding default: false -> true (packages/contracts/src/settings.ts). Guards unchanged: only Dan-origin web/mobile, non-scheduled, non-child, non-plan, non-settled/snoozed/archived threads enroll; max 3 checks; per-thread opt-out unchanged; MCP still cannot enable it.
  2. Own-agent settle now clears continuity before turn end, so supervision cannot spend a check resurrecting a settling thread. The existing runtime settle test hung (120s) without this.
  3. ws.ts: tolerate optional creationSource on continuity commands. Pre-existing type error on this branch, fixed so server typecheck is green.

Proof

  1. New regression: 'auto enrollment is on by default and spends exactly one check after a missing terminal report' (checks 3->2, exactly one synthetic run).
  2. Exclusion suites (server/mcp/provider, plan/child/archive/snooze/paused-goal/scheduled/sender) now seed unenrolled explicitly and still prove every guard with enrollment on.
  3. runtimeLayer.test.ts + environment handlers: 129/129 pass. Continuity subset: 54/54. Contracts settings: 167/167.
  4. Server and contracts typecheck: 0 errors. Lint on touched files: 0 errors (3 warnings, identical on base).

Not fixed (by design)

Failed/cancelled/session-limit terminals still write blocked instead of retrying; scheduled/MCP-origin threads stay excluded; waits only wake on delegated-task/PR events; allowance still exhausts after 3 silent endings.

Effectiveness after install is not yet measured. This PR is against the fork continuity branch because the continuity feature is not in upstream main yet.

Review R35 found pending-settle supervision loss, sparse legacy opt-out compatibility and proof gaps. Repairs are in progress. Default policy and core continuation are separate layers; upstream submission and readiness wait for demonstrated installed effectiveness.

…ault

Evidence from both hosts: Dan's short replies ('keep working', 'keep going',
'what's left?') restart ordinary user threads that ended with work left.
Every inspected parent had continuity=null because auto-enrollment defaulted
off, so no continuation check could ever fire.

Flip the ServerSettings decoding default for workContinuityAutoEnroll to
true. Existing guards still exclude scheduled/MCP/child/plan/settled/snoozed
threads, checks stay capped at 3, and per-thread opt-out is unchanged.

Also: an own-agent settle now clears continuity before its turn ends, so
supervision cannot spend a check resurrecting a thread that is settling
(the runtime settle test hung on this), and ws.ts tolerates the optional
creationSource on continuity commands (pre-existing type error).

Tests: new default-on regression spends exactly one check after a missing
terminal report; exclusion suites now seed unenrolled explicitly and still
prove each guard with enrollment on; contracts default assertion updated.
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S labels Oct 12, 2026
@ddonathan
ddonathan marked this pull request as draft October 12, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant