Skip to content

Add the coordination skill and task-worker profile - #2422

Draft
Aaronontheweb wants to merge 95 commits into
feature/background-subagentsfrom
feature/agent-coordination
Draft

Aaronontheweb wants to merge 95 commits into
feature/background-subagentsfrom
feature/agent-coordination

Conversation

@Aaronontheweb

@Aaronontheweb Aaronontheweb commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Base: #2421. This is the third draft PR in the stack.

Netclaw gains delegation guidance, the agent-coordination skill, and a default task-worker profile that uses the Main model role. Small resources cover source analysis, complete plans, independent code review, defect analysis, and parallel research.

The parent reviews complete child artifacts before conclusions or file delivery. The guide explains status, cancellation, partial results, and live-log access through existing file tools. The parent ends its turn when it needs a canonical child continuation and has no independent work.

Integrated verification repairs spawn-field alias checks, a plan-column assertion, and sidecar template suppression. The CI matrix moves one complete mutation gate to another group. All 14 gates and the 25-minute timeout remain intact.

Why this is safe: The profile adds no authority grant. Existing project, path, and tool policies remain decisive. The adapter changes only explicit suppression requests for its declared dialect. It retains unrelated template values. The oracle repairs retain ownership, behavior, scope, and output-format requirements. Peer messages and live steering remain deferred.

Validation at c56fd8fa:

  • Root passes 111 affected spawn-case tests and 65 artifact tests.
  • The adapter candidate passes 77 targeted .NET tests. Nine controls fail against the old adapter. Independent review approves its exact source and evidence.
  • Slopwatch, copyright headers, and whitespace checks pass. Independent review approves all current repairs.
  • Four earlier process cases pass independent review: routed activation, approval prompts, cancellation, and journal-only owner recovery.
  • Each model trial uses a fresh container and data home. The trivial case passes twice. The unavailable-profile case passes once, then fails because prose follows its JSON object.
  • The code workflow fails report, command-scope, and final-format requirements. Both children complete.
  • The analysis artifacts pass the corrected oracle offline. The original complete-trial false verdict remains unchanged.
  • Compaction remains inconclusive because no recovery-model handoff occurs. No fresh model trial validates the adapter fix.
  • The prior head 91ef75bc finishes with 28 successful CI checks and one mutation-job timeout. The current head needs fresh CI proof.

Fresh model acceptance, private replay, shadow review, the productive holdout, and final verification remain open. This PR remains a draft. No merge, release, live skill publication, or deployment occurs.

Comment thread src/Netclaw.Cli.Tests/Tui/Wizard/IdentityStepViewModelTests.cs Fixed
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from 8407840 to d734d05 Compare October 9, 2026 02:03
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from d734d05 to ce010f2 Compare October 9, 2026 03:13
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from dde46e1 to 1eb81c1 Compare October 9, 2026 04:11
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch 3 times, most recently from 70e5acf to 7924e96 Compare October 9, 2026 05:51
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from 7924e96 to 3d970ea Compare October 9, 2026 06:13
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from 3d970ea to 1dae792 Compare October 9, 2026 06:58
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from 1dae792 to 35abc7c Compare October 9, 2026 23:00
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch 3 times, most recently from 0964f53 to 76fa29b Compare October 10, 2026 01:52
Comment thread evals/test_productive_parent_child_evals.py Fixed
Comment thread evals/test_coordination_implement_review_evals.py Fixed
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch 2 times, most recently from 3dd2c1a to 6d0d750 Compare October 10, 2026 04:22
Comment thread evals/test_terminal_rejection_evals.py Fixed
…vidence

Remove the durable loop-detector state and its replay reconstruction while
keeping the in-memory per-call recurrence guard, the pending-job exemption,
the hard-ceiling removal, and the child-acceptance authority check.

- Remove ToolLoopCheckpoint/ToolLoopDelta/ToolLoopEntry/ToolLoopKey/ToolLoopAdjacent
  and the checkpoint/delta/restore methods.
- Remove CompleteEvidence replay reconstruction.
- Remove detector-state propagation into jobs and child runs (OriginCheckpoint,
  ParentCheckpoint, ParentReceiptFailure, SameCheckpoint).
- Keep LoopAdmission/LoopObservations for the child-acceptance attribution check.
- Delete durability/replay-only tests.
…ctor on fresh adoption

The durability removal over-removed two distinct concerns:

- The receipt-failure flag (a durable-delivery concern, not loop-detector state):
  restore ParentReceiptFailure/OriginReceiptFailure, their propagation in
  RefreshJobEvidence, and the consistency/restore checks in Apply(ChildRunAccepted),
  Apply(ToolTaskAdopted), and AdoptChildContinuation, plus their proto/serialization.

- The detector reset on a fresh child-continuation window: AdoptToolTask now
  resets the in-memory recurrence guard (ResetForNewTurn) instead of restoring a
  checkpoint.
…tector

The loop detector no longer persists its recurrence window, so a daemon
restart resets it. The trusted-restart adversarial test asserted the old
durable behavior: it expected the third prefix occurrence to be refused
after a restart. It is now executed as a fresh occurrence.

Split the shared settlement helper into an authority part and a loop
block part. The restart test asserts the authority part and the four
executed probes; the cold-recovery test asserts both parts.
The durability removal removed ParentReceiptFailure and OriginReceiptFailure on
purpose. The follow-up restore re-added them as a durable-delivery concern, but
both specs forbid it:

- turn-loop-governance: the system SHALL NOT store receipt-failure facts in
  child or job ledgers.
- background-subagent-runs: the owner SHALL NOT retain receipt-failure facts
  in the durable child run ledger.

Receipt failure is in-memory detector state. It resets on fresh input and on
restart, like the recurrence window. Remove the fields, their propagation, and
their proto serialization (fields 12 and 15 become reserved again). Keep the
detector reset on a fresh child-continuation window. Update the delivery test
so both branches settle with the same terminal message after a fresh task.
@Aaronontheweb
Aaronontheweb force-pushed the feature/agent-coordination branch from b29a041 to 9f79c0c Compare October 12, 2026 02:20
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