Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
"email": "hi@okis.dev"
},
"description": "Multi-model orchestration marketplace for Claude Code.",
"version": "0.0.30",
"version": "0.0.31",
"plugins": [
{
"name": "grok",
"source": "./plugins/grok",
"displayName": "Grok Companion",
"description": "Local Grok CLI delegation: task, review, resumable history, best-of-n tournaments, background jobs, stats, and setup health checks.",
"version": "0.0.30",
"version": "0.0.31",
"author": {
"name": "Harry Yep"
},
Expand All @@ -34,7 +34,7 @@
"source": "./plugins/codex",
"displayName": "Codex Companion",
"description": "First party local Codex CLI delegation for tasks, reviews, resumable threads, and durable background jobs.",
"version": "0.0.30",
"version": "0.0.31",
"author": {
"name": "Harry Yep"
},
Expand All @@ -55,7 +55,7 @@
"source": "./plugins/fusion",
"displayName": "Fusion Orchestrator",
"description": "Multi-model orchestration: tier agents, routing rules, blind panel, ultra fleet, model config, and drift doctor.",
"version": "0.0.30",
"version": "0.0.31",
"author": {
"name": "Harry Yep"
},
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# changelog

## 0.0.31

- the fleet default gets a per turn signal: a new `fleet-posture.mjs` UserPromptSubmit hook injects one advisory context line each turn naming the three package threshold, `/fusion:ultra`, and the `fleet-decline: <reason>` protocol, because the default previously lived as one sentence deep inside a document loaded once at session start and fired almost never; `FUSION_FLEET_MODE=off` or a `fleet-mode` state file disables it, and the compact recovery echo now restates the fleet default at the moment of maximum context loss
- the orchestration policy stops competing with itself at its own trigger: the fleet default is hoisted into the operating model with an explicit split between the posture machine, which governs what the main loop touches, and execution width, which the fleet owns; the three manual fan out sites now name `/fusion:ultra` as the action for three or more independent packages, declines require a visible `fleet-decline: <reason>` line whose premises reopen the question when they expire, and consolidation no longer lowers the fleet decision's package count
- the ultra skill reads as the default posture it is: `when_to_use` leads with task shape instead of explicit asks, the facet count follows the goal's package count with a floor of three, skipping a fleet shaped goal is a stated decline, and the convening ceremony of checkpoint, worktrees, and sibling declaration lists runs inside the skill instead of being prepaid by the main loop
- the inline guard notices narrow dispatching: completed dispatch waves are bucketed by `FUSION_FLEET_WAVE_GAP_MS` and a second consecutive wave of width two or less appends one advisory line naming `/fusion:ultra` and the decline marker; advisory only, no permission decision changes
- the in flight stop advisory stops repeating: it is deduplicated by the sorted in flight task id signature persisted in a new per session state file, so a dispatch wave produces one armed notice instead of one per turn end, each of which cost an extra model request
- worker records reach terminal from delivered notifications alone: `handleStop` scans the parent transcript's task notification delta with a persisted offset, bounded per pass and fail open, before cancellation classification, flipping owned records to `task_notification` collection or a terminal failure; this removes the deliberately failing `TaskOutput` probe from the normal collection path and stops the gate demanding `TaskStop` for tasks that already finished

## 0.0.30

- claude worker results are collectable again: a worker's persisted `outputFile` was the transcript symlink, observed at 538KB against the `Read` tool's 256KB cap, so the gate demanded a read that could not be performed and every claude worker record stayed non terminal and therefore unsettleable; `SubagentStop` now writes a bounded final text artifact (head, truncation marker, tail, capped at 192KB) and points `outputFile` at it, while the launch response transcript path is kept only as `transcriptPath`
Expand Down
2 changes: 1 addition & 1 deletion plugins/codex/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "codex",
"displayName": "Codex Companion",
"version": "0.0.30",
"version": "0.0.31",
"description": "First party local Codex CLI delegation for tasks, reviews, resumable threads, and durable background jobs.",
"author": {
"name": "Harry Yep"
Expand Down
2 changes: 1 addition & 1 deletion plugins/fusion/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "fusion",
"displayName": "Fusion Orchestrator",
"version": "0.0.30",
"version": "0.0.31",
"description": "Multi-model orchestration: tier agents, routing rules, blind panel, ultra fleet, model config, and drift doctor.",
"author": {
"name": "Harry Yep"
Expand Down
13 changes: 12 additions & 1 deletion plugins/fusion/hooks/hooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,23 @@
"hooks": [
{
"type": "command",
"command": "echo 'Context was compacted. Restate the session execution posture (coordinate, implement, or triage) in your next message. If the main loop has made five or more file edits since the last collected delegate result, posture is implement: package and dispatch before further product edits. Reassess routing for the remaining work: does anything now belong to fusion:deep-reasoner, a peer engine, or the panel?'",
"command": "echo 'Context was compacted. Restate the session execution posture (coordinate, implement, or triage) in your next message. If the main loop has made five or more file edits since the last collected delegate result, posture is implement: package and dispatch before further product edits. Reassess routing for the remaining work: does anything now belong to fusion:deep-reasoner, a peer engine, or the panel? If the remaining work decomposes into three or more independent packages, the fleet default applies: convene /fusion:ultra or state fleet-decline: <reason>.'",
"timeout": 5
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/fleet-posture.mjs\"",
"timeout": 10
}
]
}
],
"PreToolUse": [
{
"matcher": "*",
Expand Down
2 changes: 1 addition & 1 deletion plugins/fusion/rules-manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"format": 2,
"hashes": [
"13a4cb3f590c16e2fdd37f0ca08471460e86a8c8630b6f5961ac774ba0a37428",
"16d5cc7a7a1df5908043379d4278bd5e7bd8f66a112de0804857ae3cdcc15a60",
"206d5d62bfc699358790244597ba9f8d331c436dfc7af25467d39487a6c0815e",
"3106f1dd92b8bc6ded59fe7f6b694eb947b9e6594522442b929474dbc9e6fd5f",
Expand All @@ -23,6 +22,7 @@
"b3649bf8c8fb1f3ede0ccfc7fb727a8adf1e13628a18f4a84d08efbee75bd934",
"b5283c0356c9004385157f3360ca81a3601253e370216b390049d069a29a2250",
"c435cc1486eeff00f5b3a1c76017d46d8f05d30ebd248435d575a1461d7da5d4",
"c68785a9d73cc2cb83b740db7a80744ddd293e6da011c6a80a17b045f9219e17",
"dd2c1475815da92b62b28ab9cf6599df7ccab7fa88617e367e8343a6ed515434",
"e1feb3d17af193a1b8b34b090d4d504c594efb87bbe521ed20f948aba4567e8a",
"eef493e5fd41b00653684fba75e80556ff51480dd96a785be560f2e072ad60ff",
Expand Down
Loading
Loading