feat(dispatcher): expose durable parent decision delivery #82
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/parent-execution-decisions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source-only parent decision adapter
Adds plugin_dispatch decide and /dispatch decide, scoped to the authenticated parent session. Acceptance is distinct from pending/applied consumption. Readback is available via status field decisions. Nested workers and irrelevant resume text are rejected. No ledger editing, live activation, restart or self-update.
Source: src/dispatcher-plugin.ts; tests: test/dispatcher-decisions.test.mjs; contract/compatibility: docs/dispatcher-decisions.md.
Exact head:
e41beee9d1. Local validation: 83/83 plugin adapter tests; 43 service tests (41 pass, 2 conditional skips); fritz 3/3; dashboard API 32/32 and actual Core host integration; agent-link build passed. New adapter + current Core main afacd45298d4174d8768405527ddb126bdd8b140: typecheck/build and full Core suite 1797 pass, 1 skip, 0 fail. New adapter + paired Core decision changes: typecheck/build, full Core suite 1810 pass, 1 skip, 0 fail. Native SDK initialized; test fixture umask 0022. Native plugins-ci must complete on this exact head.Compatibility: optional structural capability projection compiles on older Core; decide fails explicitly there. Only paired new Core can durably consume decisions; it will pin this immutable Plugins head/hash. Core owns canonical contracts and fencing.
EXTERNAL authorized rollout/restart is required after source publication. Building does not activate the change. Execution ef9f5631-22fe-428f-8ef7-9896e45a1b1b and its ledger/checkpoints are untouched. No force-push or protection bypass.
Final exact-head validation evidence
87b50e40bc888b61d13e66fef6859ad94afa6551: decision-interface-ci / full-validation (push) success; decision-interface-ci / full-validation (pull_request) successe41beee9d12671820b77a985fffde50eb3fdc829: plugins-ci / compatibility (push) successPaired source PRs: Core #327, Plugins #82. Core pins Plugins
e41beee9d12671820b77a985fffde50eb3fdc829plus dispatcher adapter hash2e138566d583aeac1478f81fb9fc1391b0d5fde89b911ac42e84bef571361627.Local exact committed Core head:
npm run typecheck,npm testandnpm run buildpassed. 1811 tests: 1810 pass, one existing skip, zero failures. Plugin adapter suite: 83/83 pass with real Core host fixtures. Plugin agent-link build passed. Additional service suite: 41 pass/2 conditional skips; Fritz 3/3; dashboard API 32/32 plus actual host integration passed. The native CI workflows additionally validate their exact fetched heads in isolated containers. Test environment: native Matrix SDK initialized and umask 0022 for existing permission fixtures; no assertions or required gates removed.Compatibility proved: new adapter/current pre-decision Core afacd45298d4174d8768405527ddb126bdd8b140 typecheck/build/full suite (1797 pass, one skip). Missing host capability rejects decide explicitly. New Core/pinned new adapter supplies durable decisions; old adapter/new Core typechecks but does not expose the feature. Core canonical contracts are in src/execution.ts, src/dispatcher.ts and src/plugins.ts; propagation in src/dispatcher-sequential.ts and src/dispatcher-step-prompt.ts; adapter in Plugins src/dispatcher-plugin.ts. Audit/rejection/race and causal same-execution tests are in the linked diffs, with contract docs in Core docs/dispatcher.md and Plugins docs/dispatcher-decisions.md.
Branch protection settings were read, not changed; no enforced status contexts are currently configured. All actual checks on these exact heads are green. Both PRs remain open for normal review/merge; no forced push or protection bypass.
SOURCE ONLY. EXTERNAL authorized rollout/restart is required; building does not activate this change. No agent restart/self-update, deployment or mutation of execution ef9f5631-22fe-428f-8ef7-9896e45a1b1b, its ledger or checkpoints. Dirty operator worktrees were not modified. Git identity: Karsten Samaschke karsten@vanillacore.net.