feat: split plugins and cleanup
CI / verify (pull_request) Failing after 8s

This commit is contained in:
2026-10-04 12:49:41 +02:00
parent 0b6f39b6d9
commit f527778b29
29 changed files with 1793 additions and 2313 deletions
+9 -4
View File
@@ -35,6 +35,10 @@ creation. Creating/opening the root workspace remains a user action.
## Configuration
Load **Agents before Multi-work**, at both root and destination locations. Multi-work fails closed without the native Agents RPC registration; there is no shared module-state registry. Its own storage identity is `stanp-opencode.multi-work`.
Upgrading from the old `stanp-opencode` monolith is a clean break: existing bindings cannot resume, and quota tracking resets. Start new delegated sessions. Existing worktrees, workspaces, and old host storage remain untouched. New bindings persist normally under the new identity.
Use OpenCode **2.0.15**, the version this integration targets. The package
retains Effect `4.0.0-rc.112` because OpenCode 2.0.15's client requires that
exact peer version. At both the root and destination locations, configure:
@@ -123,10 +127,9 @@ starts. Root-local delegation performs no Herdr creation and therefore does not
require `herdr_worktree`; worker edit/shell permissions remain inherited and
enforced normally.
Worktree permissions inherit the base plugin's **effective build-permission
Worktree permissions inherit Agents' **effective build-permission
snapshot**, including configuration applied after plugin transforms. Its existing
`agent.updated` listener refreshes that snapshot and replays the registry when it
changes. Later `multi-work` agent rules and session rules retain their precedence;
`agent.updated` listener refreshes that snapshot. Multi-work reads it through the native Agents RPC and replays when it changes. Later `multi-work` agent rules and session rules retain their precedence;
inheritance does not turn a build deny into an unconditional execution-time veto
against an explicitly configured later allow.
@@ -163,7 +166,7 @@ already accepted by Herdr. Unready children are not resumable as completed setup
The ordinary suite uses isolated Git repositories and simulated Herdr responses.
It covers gating, source refs, ordering, failures, and interruption. Composite tests
run the exported plugin through the real Promise adapter, apply configuration after
load Agents through the real Promise adapter followed by Multi-work, apply configuration after
both plugin transforms, replay twice, and test separate location registries sharing
disk-backed bindings across plugin scope restarts. Their executor is simulated.
@@ -189,6 +192,8 @@ Verified with this host check:
and its synthetic notification to the parent.
- Interrupting a foreground RPC while the child awaits its model response causes
the native executor to interrupt the child; the parent remains at the root.
- Manual configurations with missing or later-loaded Agents fail Multi-work activation.
- Quota alone activates without Agents or Multi-work, and its stable RPC returns null without credentials.
The fixture RPC invokes the actual wrapped executor; it does not exercise the
parent model's tool-call dispatch or rendered tool cards. Recovery of an **in-flight**