Skip to content

feat(harness): shared Dispatcher[F] message-path loop (#24 S3)#44

Merged
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/harness-dispatcher
Jun 25, 2026
Merged

feat(harness): shared Dispatcher[F] message-path loop (#24 S3)#44
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/harness-dispatcher

Conversation

@grantfosterdev

Copy link
Copy Markdown
Contributor

#24 S3 — the dispatcher extraction. core/harness.Dispatcher[F] owns the message-path loop: dedupe → self-skip → channel policy → PreGate pipeline (Continue/Drop/Admit — uniformly models the heterogeneous ordered hooks: intake/engagement/allowlist/trial = Drop or side-effect, handoff = Admit) → gate.Decide + threadownership persist → files → Route. Per-agent seams are injected hooks (PreGates, Route, OnReject, HandleReaction); the dispatcher is generic over the file-ref type.

Builds on S1 (gate) + S2 (threadownership). No consumers yet — Ross adopts next (reference, diff-verified), then PA. Race-clean; covers dedupe/self/channel, the pipeline verdicts, both gate modes + ownership persist, empty-skip, reactions.

Relates to #24.

🤖 Generated with Claude Code

Extracts the dispatch loop every agent duplicated: dedupe -> self-skip ->
channel policy -> ordered PreGate pipeline (Continue/Drop/Admit, models the
heterogeneous intake/engagement/allowlist/trial/handoff/kill-switch/pasession
hooks) -> gate.Decide + threadownership persist -> file extract -> Route to the
agent's spawn wiring. Generic over the file-ref type. Per-agent seams stay
hooks: PreGates, Route (synthesize+enqueue+handleMessage), OnReject,
HandleReaction. Builds on S1 (gate) + S2 (threadownership). No consumers yet.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@grantfosterdev Grant Foster (grantfosterdev) deleted the feat/harness-dispatcher branch June 25, 2026 21:48
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