chore(release): v0.74.0-beta.4

Version bump via changesets.
This commit is contained in:
gsxdsm
2026-07-26 16:24:51 -07:00
parent 892e50b810
commit 0022621d22
72 changed files with 536 additions and 36 deletions

View File

@@ -40,8 +40,17 @@
},
"changesets": [
"anthropic-credential-precedence",
"approval-dedupe-pg-lookup",
"auto-update-and-restart",
"coding-ideas-todo-back-to-ideas",
"compact-verification-failures",
"dead-worktree-recovery-loop",
"desktop-pi-runtime-closure",
"dispatch-wake-after-planning",
"duplicate-marker-must-write-prompt",
"duplicate-verdict-session-recovery",
"ephemeral-task-create-deny-hides-tool",
"fair-boards-page-one-column",
"faster-board-scroll-no-desktop-snap",
"fix-duplicate-warning-open-deep-link",
"fn-8556-windows-agent-selection",
@@ -58,26 +67,58 @@
"fn-8576-cli-quiet-flag",
"fn-8578-parakeet-v3-asset-pin",
"fn-8580-voice-settings-read-dedupe",
"fn-8592-stranded-hold-continuation",
"fn-8596-plugin-discovery-isolation",
"fn-8598-cost-badge-fix",
"fn-8599-task-card-size-badge",
"fn-8601-foreach-merge-proof",
"fn-8602-tablet-touch-resize",
"fn-8603-log-severity",
"fn-8605-floating-window-touch",
"fn-8606-floating-window-core-modals",
"fn-8611-manual-import-translations",
"fn-8612-tablet-modal-padding",
"fn-8614-tool-output-budget",
"fn-8616-tool-output-budget-setting",
"ideas-planning-starts-immediately",
"inherited-foreign-tip-reclaim",
"lane-model-pair-resolution",
"mobile-board-swipe-travel-gate",
"mobile-nav-large-phones",
"mobile-project-favorites",
"mobile-tab-discard-retention",
"paused-engine-visibility",
"plan-artifact-writeback",
"plan-review-shared-root-session-collision",
"planning-evacuation-and-worktree-sweep",
"planning-model-pair-rehydration",
"planning-single-add-comment-trigger",
"planning-worktree-reclaim-race",
"project-switch-modal-reset",
"promote-force-unplanned",
"quick-add-start-button",
"quick-add-start-seeds-prompt",
"quick-chat-tablet-drag-header",
"quiet-graph-review-entry-audit",
"replan-bounce-preserves-worktree",
"replan-card-stuck-in-planning",
"replan-stale-execution-stamp",
"review-gate-lifecycle-followups",
"review-gates-in-review-column",
"review-lease-node-attribution",
"review-restart-recovery-latency",
"session-contention-worktree-isolation",
"settings-footer-touch-scroll",
"settings-footer-update-banner-mobile",
"stalled-card-hardening",
"system-panel-restart-agents-pg",
"terminal-blank-until-keypress-refresh"
"tablet-task-popup-right-inset",
"task-delete-caller-attribution",
"task-delete-operator-notice",
"task-not-found-404",
"terminal-blank-until-keypress-refresh",
"theme-mailbox-markdown-links",
"triage-stale-planning-sweep",
"truthful-abort-provenance"
]
}

View File

@@ -13885,6 +13885,14 @@ for reference.
- Updated dependencies [a2ed6d0]
- @runfusion/fusion@0.1.0
## 0.39.32-beta.4
### @fusion/i18n
#### Patch Changes
- @fusion/core@0.74.0-beta.4
## 0.39.32-beta.3
### @fusion/i18n
@@ -14224,6 +14232,14 @@ for reference.
- @fusion/core@0.40.0
## 0.11.58-beta.4
### @fusion/droid-cli
#### Patch Changes
- @fusion-plugin-examples/droid-runtime@0.1.58-beta.4
## 0.11.58-beta.3
### @fusion/droid-cli

View File

@@ -2,6 +2,60 @@
User-facing release notes aggregated across all packages. This file is auto-synced from each `packages/*/CHANGELOG.md` by `scripts/release.mjs` — do not edit by hand.
## 0.74.0-beta.4
### Highlights
- Code Review and Browser Verification now run with the card in In review, badged there
- Opt-in auto-update installs the new build and restarts Fusion on your release channel
- Cards no longer strand in Planning after Plan Review sends them back for changes
- Dashboard survives mobile tab discards, resyncs on reconnect, and stops caching API responses offline
- Agent tool output is capped at 16,000 characters, with a Settings control and a no-limit option
### New
- Code Review and Browser Verification run with the card sitting in In review, and the running step shows as a card badge. A changes-requested verdict still sends the card back to implementation.
- New global setting for auto-update and restart (off by default, in Settings → General next to Release channel). The post-update Restart button now always issues the request and shows the server's reason when it is refused, instead of sitting disabled.
- Core, workflow, and Git dialogs — 13 modal surfaces in all — are draggable and resizable on tablets, with geometry remembered between sessions.
- A Settings control for the agent tool-output limit, including 0 for no limit.
- The mobile project drop-down lists favorite projects in their own section at the top.
- You get a mailbox notice whenever a task is deleted by an agent tool or an unattributed API caller; deletions from the dashboard, CLI, and engine stay silent.
### Fixed
- Cards sent back for re-planning by Plan Review now actually get re-planned instead of sitting in Planning, and replan bounces keep the task worktree instead of tearing it down and re-cutting the branch.
- Cards can no longer sit waiting unowned on the planning path, a new watchdog reports any card idle past 30 minutes with no live session, and cards left with a stale "planning" status recover on a sweep instead of waiting for an engine restart.
- Self-healing no longer pauses cards whose planning session is still running, and queued planning admission walks past a declining lane instead of stalling the whole pass.
- Reviews stalled by an engine restart recover in one self-healing cycle rather than roughly 36 minutes, and the post-review fix budget default goes from 3 to 10.
- Review gates are harder to lose: symbol locks are reclaimed on the way back into work, hung gates are stall-detected, a just-started gate is no longer failed by a sweep, and a merge can no longer be enqueued before Code Review has run.
- Duplicate tasks are parked for your keep-or-delete decision instead of re-planning in a loop — including when the planner only reports the duplicate in its reply rather than writing the marker file.
- Deny now withholds task-creating tools from agent sessions, and the duplicate-create window widens from 60 seconds to 10 minutes so a retried create no longer duplicates.
- Approval reuse works on PostgreSQL instead of minting a duplicate request on every retry.
- A review task whose worktree was removed gets a fresh one instead of failing on every retry.
- Verification results stay concise, so a large failure dump no longer exhausts agent context.
- Incomplete foreach workflow steps are blocked from entering merge review.
- Planned hold-column cards whose Plan Review continuation was lost are recovered.
- Mobile board swipes from the first or last column advance one column instead of two.
- Task modals lose their excess tablet padding and dead right-edge space on landscape tablets while keeping usable touch resize grips; floating windows are touch-movable and resizable on tablets.
- Task-card cost badges return for legacy tasks with recorded token usage, and the size badge lines up when a card shows two status badges.
- Manual GitHub and GitLab import translations survive reopening the import panel.
- Cross-project plugin discovery no longer unloads enabled plugin skills.
- Task API endpoints return 404 for an unknown task id instead of a 500.
- Task logs no longer report engine-initiated aborts as operator hard-cancel pauses.
- Mailbox message links use theme colors instead of default browser blue.
- Routine diagnostic noise is reduced in the operator log view.
- Legacy desktop builds stay on one packageable Pi runtime dependency closure (Pi 0.82.0).
- A false handoff-invariant violation is no longer logged every time a task enters a review gate.
### Performance
- Every engine-injected tool result is bounded by a 16,000-character budget, so large reads preserve context capacity.
### Internal
- Task deletions record who asked — operator UI, CLI, agent tool, engine, or unattributed API. Attribution only; no delete gating was added.
- Review-gate leases record the node holding them, so a restarted engine can reclaim its own dead leases immediately instead of waiting out the staleness window.
## 0.74.0-beta.3
### Highlights

View File

@@ -1,6 +1,6 @@
{
"name": "fusion-workspace",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"private": true,
"license": "MIT",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,52 @@
# runfusion.ai
## 0.74.0-beta.4
### Patch Changes
- Updated dependencies [a9b3001]
- Updated dependencies [99b80ad]
- Updated dependencies [30f81ac]
- Updated dependencies [05b704d]
- Updated dependencies [0643a64]
- Updated dependencies [86c892b]
- Updated dependencies [71279ed]
- Updated dependencies [13a2b2a]
- Updated dependencies [c76f276]
- Updated dependencies [fd073e2]
- Updated dependencies [af897d9]
- Updated dependencies [d4aa79b]
- Updated dependencies [9afd88d]
- Updated dependencies [ae512ae]
- Updated dependencies [fde3b76]
- Updated dependencies [cca1373]
- Updated dependencies [4708734]
- Updated dependencies [a6885b7]
- Updated dependencies [827b145]
- Updated dependencies [743dc5f]
- Updated dependencies [07c8c95]
- Updated dependencies [2bb8537]
- Updated dependencies [147398f]
- Updated dependencies [f157bf7]
- Updated dependencies [2d263ac]
- Updated dependencies [795a38c]
- Updated dependencies [9ff1587]
- Updated dependencies [2dbfe3d]
- Updated dependencies [4633c64]
- Updated dependencies [26dcccb]
- Updated dependencies [47d0302]
- Updated dependencies [3b83282]
- Updated dependencies [00011b0]
- Updated dependencies [beb83a1]
- Updated dependencies [8b9cf3d]
- Updated dependencies [ab87d0d]
- Updated dependencies [ab87d0d]
- Updated dependencies [ab87d0d]
- Updated dependencies [65f6748]
- Updated dependencies [581b7d0]
- Updated dependencies [795a38c]
- @runfusion/fusion@0.74.0-beta.4
## 0.74.0-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "runfusion.ai",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Launch Fusion with `npx runfusion.ai` — tiny alias for @runfusion/fusion.",
"homepage": "https://runfusion.ai",

View File

@@ -1,5 +1,136 @@
# @runfusion/fusion
## 0.74.0-beta.4
### Minor Changes
- 99b80ad: summary: Add opt-in auto-update and make the post-update Restart button report why it was refused.
category: feature
dev: New global setting `autoUpdateAndRestart` (default false, Settings → General next to Release channel) drives `startAutoUpdateWatcher` in the dashboard server — channel-aware check + `performUpdateInstall` + `systemControl.requestRestart`, supervised hosts only. The supervisor now stamps `FUSION_SUPERVISOR_PID` and `hasLiveSupervisingParent()` verifies it against `process.ppid`, so an inherited `FUSION_RESTART_SUPERVISED` (agent terminals, dev servers) no longer suppresses self-supervision or fakes restart support. Settings and the update banner probe `/system/info` on mount and treat capability as advisory: the restart button always issues the request and surfaces the server's refusal instead of sitting disabled.
- a6885b7: summary: Make core, workflow, and Git dashboard dialogs draggable and resizable on tablets.
category: feature
dev: Migrates 13 modal surfaces to FloatingWindow keys with persisted clamped geometry and removes legacy resize-grip paths.
- 2bb8537: summary: Add a Settings control for the agent tool-output limit, including a no-limit option.
category: feature
dev: `agentToolOutputMaxChars` accepts `0` as the unlimited sentinel.
- 47d0302: summary: Code Review and Browser Verification now run with the card in In review, showing the step as a card badge.
category: feature
dev: Moves the `code-review` / `browser-verification` optional-group nodes to `column: "in-review"` in the shared stepwise coding IR (inherited by `builtin:coding`, `builtin:stepwise-coding`, `builtin:brainstorming`, `builtin:coding-ideas`); their remediation nodes stay in `in-progress`, so a changes-requested verdict sends the card back to implementation. The dashboard badge was already lane-gated on `column === "in-review"`. Because `in-review` has no `wip` trait the slot is released during review, so the remediation crossing back into `in-progress` can hit the non-bypassable in-transaction capacity check; `workflow-column-boundary.onNodeEntry` now PARKS the run on a `capacity-exhausted` rejection instead of failing it, preserving the failed gate result and worktree so the next graph run retries once a slot frees. Non-capacity rejections still propagate. The legacy `builtin:legacy-coding` IR keeps its historical placement.
- ab87d0d: summary: You now get a mailbox notice whenever a task is deleted by someone other than you.
category: feature
dev: Adds `packages/core/src/task-delete-notice.ts` — a store-scoped `registerTaskDeleteNoticeMailbox` DI seam (mirroring the archive-worktree-disposer pattern) that the engine runtime wires to its `MessageStore`. Fires for `callerKind` `agent-tool` and `api-unattributed` only; `operator-ui`, `operator-cli`, and `engine` stay silent. Sent via `sendMessageOnce` keyed `task-delete-notice:<taskId>`, from all three `task:deleted` emission sites (SQLite `deleteTaskImpl`/`deleteTaskIfImpl`, PG `deleteTaskBackendImpl`), always after the delete transaction commits and always swallowing its own failures so a mailbox write can never fail a delete. Notification only — no delete gating. Prose lives in the mailbox body; run-audit metadata is unchanged.
### Patch Changes
- a9b3001: summary: Approval reuse now works on PostgreSQL instead of minting a duplicate request every retry.
category: fix
dev: `ApprovalRequestStore.findLatestByDedupeKey` fed Drizzle's already-parsed jsonb `targetContext` through the string-only `fromJson`, so the dedupe scan never matched in backend mode. Adds `normalizeTargetContext` to handle both the SQLite JSON-string and PG parsed-object shapes at `rowToRequest` plus both dedupe scan sites.
- 30f81ac: summary: Keep verification results concise so large failure dumps do not exhaust agent context.
category: fix
dev: Omits routine successful output and extracts bounded high-signal diagnostics from failed verification commands.
- 05b704d: summary: A review task whose worktree was removed now gets a fresh one instead of failing on every retry.
category: fix
dev: `autoRecoverWorktreeSessionStartFailure` only preserves `task.worktree` when that path is still a usable checkout (exists + `.git`, via `isUsableWorktreeDirectory`/`hasRequiredWorktreeFiles`). Previously a failing path that merely DIFFERED from `task.worktree` — e.g. an AI-merge clean room refused as an "incomplete worktree" — was read as proof the recorded worktree was live, so a removed worktree was carried into every requeue until the retry budget was exhausted.
- 0643a64: summary: Keep legacy desktop builds on one packageable Pi runtime dependency closure.
category: fix
dev: Pins pi-agent-core and pi-tui with the 0.82.0 Pi runtime pair and extends the dependency policy guard to workspace overrides.
- 86c892b: summary: Stop duplicate tasks re-planning in a loop instead of asking you to keep or delete them.
category: fix
dev: The planning prompt told the planner "do not write PROMPT.md" and "write DUPLICATE: <id> to the output file" — the output file being PROMPT.md. Planners resolved the contradiction by writing no file and reporting the duplicate in prose, which the engine cannot see (`parseExplicitDuplicateMarker` reads PROMPT.md's contents). The task then failed deterministic validation as "PROMPT.md not found or empty", retried, terminalized, sent a task-wedge mail, self-healed back to todo, and re-planned indefinitely — never setting `sourceMetadata.nearDuplicateOf`, which is what renders the operator's keep/delete decision. Both prompt sites now state that the file must be written with the marker as its entire contents.
- 71279ed: summary: A duplicate task is now parked for your keep-or-delete decision even if the planner only says so in its reply.
category: fix
dev: New `parseDuplicateMarkerFromSessionText` (line-anchored, first-match-only) plus a bounded tail of the planner's streamed text in `TriageProcessor.specifyTask`. When the finalize read finds no spec, a duplicate verdict recovered from the reply is written out as the canonical `DUPLICATE: FN-NNNN` marker file, so marker parsing, keep/delete resolution, and the `sourceMetadata.nearDuplicateOf` the dashboard decision renders from all run on the unchanged file contract. Gated on an absent plan, so a planner that wrote a real spec is never overridden by prose.
- 13a2b2a: summary: Deny now withholds task-creating tools from agent sessions, and retried creates no longer duplicate.
category: fix
dev: Adds `isAgentTaskCreateToolAvailable` and `isAgentDelegateTaskToolAvailable` in `@fusion/engine` agent-tools. The outer execution session (`executor.ts`) and per-step workflow sessions (`step-session-executor.ts`) omit `fn_task_create` under `deny` and `fn_delegate_task` under both `deny` and `upon_validation` (delegation reaches the same `createAgentTask` primitive but has no proposal channel, so leaving it available would bypass operator validation). Suppression emits an `agent:task-create-withheld` run-audit event and appends a prompt section naming `fn_task_log` as the fallback, so the withheld tool reads as policy rather than malfunction. Execute-time refusals are retained as defense in depth. The pi extension's `isEphemeralCallerAgent` now fails closed, but that lane remains unenforced because pi's extension context carries no agent identity — documented as a known gap. Separately, the deterministic content-fingerprint duplicate window goes 60s -> 10m; the store query in `branch-and-pr-entities.ts` carried its own independent `60s`/`5m` clamp that capped the effective window, so both sites now share `FINGERPRINT_WINDOW_DEFAULT_MS`/`FINGERPRINT_WINDOW_MAX_MS`.
- c76f276: summary: Mobile board swipes from the first or last column now advance one column instead of two.
category: fix
dev: `scrollLeftToCenterColumn` clamps to the scroller's reachable range so edge columns (narrower than the phone viewport) count as centered; `commitDirectionalPage` also clamps its mid-transit origin against the gesture-start column so drag travel can never be counted twice.
- fd073e2: summary: Recover planned hold-column cards whose Plan Review continuation was lost.
category: fix
dev: Adds conditional idle continuation seeding for self-healing recovery.
- af897d9: summary: Prevent cross-project plugin discovery from unloading enabled plugin skills.
category: fix
dev: Discovery loaders use isolated lifecycles; shared non-owner stops now detach only.
- d4aa79b: summary: Restore task-card cost badges for legacy tasks with recorded token usage.
category: fix
dev: Preserve positive legacy token usage when optional usage metadata is NULL in slim board payloads.
- 9afd88d: summary: Fix task card size badge alignment when a card shows two status badges.
category: fix
dev: TaskCard.css anchors .card-size-badge to the first chip-height header row instead of centering over a wrapped header.
- ae512ae: summary: Block incomplete foreach workflow steps from entering merge review.
category: fix
dev: Merge proof now correlates foreach step-execute results with every expanded instance.
- fde3b76: summary: Make task modal resize grips reliably usable on touch tablets.
category: fix
dev: Adds tablet-only touch targets and Chromium CDP hit-testing coverage.
- cca1373: summary: Reduce routine diagnostic noise in the operator log view.
category: fix
dev: Routes engine, core, and dashboard-server diagnostics through severity-aware shared loggers.
- 4708734: summary: Make floating dashboard windows touch-movable and resizable on tablets.
category: fix
dev: Aligns phone sheets below 768px and reuses the shared tablet touch-target contract.
- 827b145: summary: Keep manual GitHub and GitLab import translations available after reopening the import panel.
category: fix
dev: Manual import translation now uses the dedicated translate budget and durable import cache.
- 743dc5f: summary: Remove excess tablet padding from task modals while preserving touch resize targets.
category: fix
dev: Task-detail drag targets stay out of flow; browser coverage protects generic FloatingWindow geometry.
- 07c8c95: summary: Bound agent tool output so large reads preserve context capacity.
category: performance
dev: Applies a 16,000-character total budget to every engine-injected tool result.
- 147398f: summary: Mobile project drop-down now lists favorite projects in a separate section at the top.
category: feature
dev: Header mobile switcher reuses `useProjectBookmarks` (localStorage `fusion_project_bookmarks`).
- f157bf7: summary: Dashboard survives mobile tab discards, resyncs on reconnect, and stops caching API responses offline.
category: fix
dev: Visibility-gated every polling loop via `useVisibilityAwarePoll`; one shared `useLiveTimeTicker` replaces per-TaskCard 30s timers; sse-bus suspends channels after 60s hidden and drops `beforeunload`; service worker serves hashed `/assets/*` and fonts cache-first (`fusion-cache-v7`); SWR hydration TTLs raised (tasks/chat rooms 12h, default 6h) with an oversize-aware task snapshot writer; board scroll + view persist through an involuntary reload; log/stream buffers capped at 500; ListView and search-active board columns are now windowed; the terminal modal mounts only while open and disposes its WebGL addon. Dashboard vitest setup now clears `sessionStorage` per test so per-tab view state cannot leak between cases. Follow-up hardening for the suspend window: `SseSubscription` now carries an explicit resync contract (`onReconnect`, or a reviewed `replaySafe` opt-out) with a dev-time audit and a hooks coverage ratchet, and 11 subscriber hooks refetch authoritative state on reopen; `useAgentLogs` reconciles the refetched log page with its buffer behind a visible gap marker and reports truthful `hasMore`; agent run logs are retained in full and render-windowed with "load older" instead of being discarded past 500; `useTasks` seeds `lastFetchTimeMs` from the hydrated snapshot's `savedAt` so a restored board no longer reports every in-progress card as stuck; `useVisibilityAwarePoll` staggers background subscribers deterministically on the visible edge (with a `priority: "critical"` opt-out); xterm scrollback returns to 5000/10000 lines (the server ring is smaller, not larger, than the client ring); and the service worker caps hashed-asset entries with a session-referenced exemption so the origin quota cannot be exhausted. Third round: the resync contract now reaches component-level subscribers too — the mailbox modal/view, the workflow node editor, and the task detail modal's workflow-results and CLI-session streams refetch on reopen (the plugin relay takes a documented `replaySafe` opt-out), with a `components/` coverage ratchet so a non-resyncing subscription cannot land silently; `useMultiAgentLogs` shares `useAgentLogs`' reconcile helper instead of replacing its buffer, and its `hasMore`/`loadMore` paging is fixed (older pages prepend, the client-only gap marker is excluded from the offset); the reconnect gap marker renders as a distinct "Missing output" warning row rather than an ordinary status update; agent heartbeat freshness measures against the data's own `dataAsOfMs` instead of `Date.now()`, so a restored tab no longer reports every agent as stale; and the service worker's `/api/` fallback cache is bounded by both an entry cap and a 5-minute freshness bound that fails closed when an entry's age is unprovable. Fourth round (review fixes): the service worker's `/api/` fallback is now an explicit ALLOW-list (`/api/tasks`, `/api/tasks/:id`, `/api/projects`) instead of a deny-list, only caches `response.ok`, stamps a durable `x-fusion-sw-cached-at` header so a cold-started worker can prove age, and the cache name moves to `fusion-cache-v7` to evacuate anything an older worker already persisted; "Clear local cache" now purges Cache Storage in-page AND via a `PURGE_CACHES` message to the controlling worker. `onReconnect` fires only when the rebuilt SSE stream actually opens (a failed attempt no longer claims to have resynced) and fans out on the same deterministic stagger as the visible-edge poll; `useProjects`/`useNodes`/`useMeshState` moved onto the shared visibility gate, which is now one `createVisibilityGatedTimer` primitive shared with `useLiveTimeTicker`. A tab-suspension or offline fetch failure no longer deletes the hydrated task snapshot, and a single SSE row no longer resets the board freshness clock before a full fetch has confirmed it. ListView "select all visible" is scoped to the rendered window, the activity log keeps the page `loadMore` just fetched, `useAgentLogs` retains paged-back history across a resync, `AgentDetailView` resyncs its task-log buffer instead of collapsing it, and the Command Center rebuild stream reconciles against REST when the server restarts mid-job.
- 2d263ac: summary: Stop self-healing pausing cards whose planning session is still running, and unstick queued planning.
category: fix
dev: Planning sessions now claim their worktree through `acquireActiveSessionPath` (new `"planning"` kind) and release it only when they still own the record, so the FN-4819 liveness guard in the self-owned-branch reclaim sweep defers instead of removing a live worktree and escalating to `branch-conflict-unrecoverable` — and planning's teardown cannot clear an executor entry that took over the same path. `ProjectAdmissionCoordinator.admitOldest` walks past candidates whose lane declines rather than ending the pass on `candidates[0]`, unwinding each declined attempt's pre-held executor slot and reservation. Withheld planning admission emits a deduped `task:plan-admission-throttled` run-audit event (ids/counts only), written fire-and-forget with the dedupe marker set only after the write lands.
- 795a38c: summary: Stop logging a false handoff-invariant violation every time a task enters a review gate.
category: fix
dev: `moves.ts` now recognises `workflowMoveSource: "workflow-graph"` (set only by the executor's column boundary) as a legitimate entry into `in-review` via the shared `isRecognizedInReviewEntry` predicate, used by both the backend and SQLite `task:handoff-invariant-violation` emit sites. Non-graph movers (operator drags, engine/self-healing moves, foreign provenance values) still emit the audit unchanged.
- 9ff1587: summary: Replan bounces now keep the task worktree instead of tearing it down and re-cutting the branch.
category: fix
dev: `moveTaskToReplanColumn` passes `preserveWorktree: true`. `moveTask`'s reopen-to-todo/triage block cleared `task.worktree` while leaving `task.branch`, so the next planning acquisition could not resume, re-created the same `fusion/<id>` branch, collided with the orphaned worktree, and fell into `cleanupConflictingWorktree` (force-remove + `git branch -D` + fresh `git worktree add` + init command) on every bounce. Covers all replan movers: Plan Review REVISE, required-artifact recovery, and the executor/scheduler spec-staleness and filesystem-validation rebounds.
- 2dbfe3d: summary: Cards sent back for re-planning by Plan Review now actually get re-planned instead of sitting in Planning.
category: fix
dev: `hasAdvancedPastPlanning` now lets the DURABLE replan parks (`needs-replan`, `plan-review-unavailable` — derived as `PLANNING_STAGE_STATUSES` minus the transient `planning`) outrank the sticky `firstExecutionAt`/`executionStartedAt` evidence added in the plan-worktree cutover, so triage discovery re-admits a rebounded card. `planning` deliberately still loses to the stamps: a stamp landing on a `planning` row means execution won the FN-8361 claim race. A triage card carrying a stamp with no planning status is still excluded for self-healing's advanced recovery (PR #2360).
- 4633c64: summary: Fix cards stranding in Planning after Plan Review asks for changes.
category: fix
dev: `hasAdvancedPastPlanning` treated a rebounded replan card as already-advanced once triage claimed it. Plan Review REVISE rebounds to the planner column with `needs-replan` (a durable park), but triage's claim overwrites that with the TRANSIENT `planning`, which is excluded from `REPLAN_PARK_STATUSES` — so the card fell through to the execution timestamps, which are set on the first pass and never cleared. Every guarded planner write then silently no-opped and the finalize never handed the card off. The stamps are now discriminated by arrival order: a stamp predating `columnMovedAt` belongs to a previous pass, while one written after arrival still means execution won the FN-8361 race. The PR #2360 stranded-advanced class (stamps, no planning status) is unchanged. Also logs a warning when a planning finalize declines to hand off, which is how this strand stayed invisible.
- 26dcccb: summary: Harden review-gate handling: reclaim symbol locks, stall-detect hung gates, and stop premature merges.
category: fix
dev: Follow-ups to running the pre-merge review gates in `in-review`. (1) `moveTaskInternal` now RE-ACQUIRES declared symbol locks on a `!wip -> wip` crossing, mirroring the FN-8306 release branch — the gate crossing released them and nothing reclaimed them for the remediation pass (best-effort; a contended symbol logs and proceeds, matching the prior posture, rather than parking the remediation). (2) `recoverMergeableReviewTasks` now filters `executingIds`, matching its `recoverGhostReviewTasks` sibling: the graph commits the column crossing at node entry and writes the gate's pending lease two round trips later, and `getTaskMergeBlocker` has no notion of "enabled but resultless", so that window could enqueue a merge with Code Review never run. (3) `reconcileOrphanedPendingStepResults` honors a live review-gate lease (`classifyReviewLease` within `PLAN_REVIEW_LEASE_STALENESS_MS`), so a periodic sweep tick can no longer fail a gate that just started; cleanup of genuinely dead leases is delayed by the floor, not defeated. Its audit event gains `needsOperatorBypass` for `autoMerge:false` rows, which self-healing deliberately skips and only `fn_task_bypass_review` can clear. (4) The planner overseer's `reviewer` and `merger` stages gain gate-anchored stall detection keyed on the pending lease's `startedAt` (not `columnMovedAt`, which would fire during a legitimate human merge-wait); both previously returned `progressing` unconditionally, so a hung gate produced no signal. `cumulativeActiveMs` scope is documented rather than changed — adding the `timing` trait to `in-review` would count human merge-wait as active work.
- 3b83282: summary: Review-gate leases now record which node holds them, so a restarted engine can tell its own dead leases from a peer's.
category: internal
dev: Adds `WorkflowStepResult.leaseNodeId` and an optional `LocalNodeLeaseIdentity` argument to `classifyReviewLease`. A pending lease stamped with the caller's own node id whose `startedAt` predates the current process boot now classifies as `reclaim` immediately instead of waiting out `PLAN_REVIEW_LEASE_STALENESS_MS`; peer-owned and legacy unattributed leases are unchanged. `InProcessRuntime.start()` resolves the local node id from CentralCore and passes it to SelfHealingManager. The dep is threaded runtime -> TaskExecutor (`getLocalNodeId`, a getter because the runtime resolves the id asynchronously during start()) -> WorkflowGraphTaskRunner -> WorkflowGraphExecutor, which stamps it on the lease.
- 00011b0: summary: Reviews stalled by an engine restart now recover in one self-healing cycle instead of ~36 minutes.
category: fix
dev: Moves `reconcile-orphaned-pending-step-results` ahead of `recover-failed-pre-merge-steps` in the periodic maintenance list (it produces the `failed` results that step consumes; it previously ran ~15 entries later, so an orphan found in cycle N was not re-dispatched until cycle N+1) and removes the now-duplicated later entry. Raises the `maxPostReviewFixes` default 3 -> 10 and routes the five inline `?? 3` fallbacks in executor.ts/self-healing.ts through the new exported `DEFAULT_MAX_POST_REVIEW_FIXES` so the declaration default and the unset-settings paths cannot drift again. Plan Review and Code Review are unaffected — they already resolve to "unbounded" when unset.
- beb83a1: summary: Cards can no longer sit waiting unowned, and every silent skip on the planning path now says so.
category: fix
dev: Closes the second FN-8596 strand: a triage card with stale execution stamps and NO status was owned by nobody — planning excluded it (stamps read as advanced) and `recoverAdvancedTriageTasks` also excluded it, because it bails on `workflowIrPinColumnId === "triage"`. `hasAdvancedPastPlanning` now decides purely on arrival order (a stamp predating `columnMovedAt` belongs to a previous pass) for any card in the planner column, whatever its status. Adds `SelfHealingManager.detectStalledCards`, a detect-only watchdog emitting `task:stall-watchdog-detected` for any non-terminal, unpaused card idle past 30m with no live session and no queued continuation — deduped per shape, never mutating (recovery stays with the sweep that owns each shape). Makes the previously silent skips observable: `runIfStillPlanningUnderTaskLock`, the planning handoff `moveTaskIf`, and the four `requestPreMergeOptionalStepFix` refusals now log why nothing was scheduled.
- 8b9cf3d: summary: Remove the dead space on the right edge of the task pop-up on landscape tablets.
category: fix
dev: The `.floating-window__body` resize-handle clearance gutter was width-gated to 769-1024px; a new `@media (pointer: coarse)` block zeroes it (and hides the resize handles) for `.floating-window--task-detail` at any width, covering iPad Air/Pro landscape at 1180-1366 CSS px.
- ab87d0d: summary: Task deletions now record who asked — operator UI, CLI, agent tool, engine, or unattributed API.
category: fix
dev: Adds the `TaskDeleteCallerKind` union plus `callerKind`/`callerTaskId` in `task:deleted` run-audit metadata (both SQLite and PG delete paths). The dashboard client sends a self-reported `x-fusion-client: dashboard-ui` header that the DELETE route maps to `operator-ui`, defaulting to `api-unattributed`. Attribution only — not authentication, and no delete gating was added.
- ab87d0d: summary: Task API endpoints now return 404 for an unknown task id instead of a 500 error.
category: fix
dev: New typed `TaskNotFoundError` + `isTaskNotFoundError` guard in `@fusion/core` (`task-store/errors.ts`), thrown by both branches of `getTaskImpl` and the delete paths with a byte-identical `Task ${id} not found` message. Dashboard routes map it through the shared `packages/dashboard/src/routes/task-lookup-error.ts` helpers (`isTaskLookupMiss`, `taskLookupStatus`, `rethrowTaskApiError`); the legacy ENOENT check is retained as a fallback.
- 65f6748: summary: Mailbox message links now use theme colors instead of default browser blue.
category: fix
dev: Markdown anchor states use dashboard tokens in shared MailboxMessageContent styling.
- 581b7d0: summary: Recover cards left stuck with a stale "planning" status instead of stranding them until an engine restart.
category: fix
dev: Adds `TriageProcessor.sweepStalePlanningStatuses`, a periodic counterpart to the startup-only `clearStaleSpecifyingStatuses`. A planner that dies after doing its work but before finalizing left `status:"planning"` on a triage/todo card; rediscovery skips such cards (they look claimed), so the card was unrecoverable short of a restart. The sweep clears the status once past a 20-minute floor with no live planner, letting ordinary rediscovery re-pick it. Guards: the in-process `processing` set, the staleness floor (covers planners owned by another node), and operator parks are never touched.
- 795a38c: summary: Task logs no longer report engine-initiated aborts as operator "hard-cancel" pauses.
category: fix
dev: `awaitAbortInFlightTaskWork` derives pause-abort provenance from `options.userCanceled` — operator withdrawals keep `hard-cancel`, engine/lifecycle teardowns get the new `engine-abort` member of `PausedAbortProvenance`. Benign-abort classifiers in `handleGraphFailure` accept both via `isGenericAbortProvenance()`, so recovery behaviour is unchanged.
## 0.74.0-beta.3
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@runfusion/fusion",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,7 @@
# @fusion/core
## 0.74.0-beta.4
## 0.74.0-beta.3
## 0.74.0-beta.2

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/core",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion core: task store, scheduler, settings, and shared domain types backing the Fusion AI coding agent.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,26 @@
# @fusion/dashboard
## 0.74.0-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/engine@0.74.0-beta.4
- @fusion/i18n@0.39.32-beta.4
- @fusion-plugin-examples/claude-runtime@0.1.7-beta.4
- @fusion-plugin-examples/cli-printing-press@0.1.49-beta.4
- @fusion-plugin-examples/compound-engineering@0.1.32-beta.4
- @fusion-plugin-examples/dependency-graph@0.1.63-beta.4
- @fusion-plugin-examples/grok-runtime@0.2.10-beta.4
- @fusion-plugin-examples/omp-runtime@0.1.7-beta.4
- @fusion-plugin-examples/quality@0.1.7-beta.4
- @fusion-plugin-examples/roadmap@0.1.51-beta.4
- @fusion-plugin-examples/cursor-runtime@0.1.51-beta.4
- @fusion-plugin-examples/droid-runtime@0.1.58-beta.4
- @fusion-plugin-examples/hermes-runtime@0.2.82-beta.4
- @fusion-plugin-examples/openclaw-runtime@0.2.82-beta.4
- @fusion-plugin-examples/paperclip-runtime@0.2.82-beta.4
## 0.74.0-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/dashboard",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion dashboard: React UI and HTTP API server for monitoring and controlling the Fusion AI coding agent.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,13 @@
# @fusion/desktop
## 0.74.0-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/dashboard@0.74.0-beta.4
- @fusion/engine@0.74.0-beta.4
## 0.74.0-beta.3
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@fusion/desktop",
"productName": "Fusion",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"author": {
"name": "Runfusion",

View File

@@ -1,5 +1,11 @@
# @fusion/droid-cli
## 0.11.58-beta.4
### Patch Changes
- @fusion-plugin-examples/droid-runtime@0.1.58-beta.4
## 0.11.58-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/droid-cli",
"version": "0.11.58-beta.3",
"version": "0.11.58-beta.4",
"description": "First-party Fusion pi extension that routes LLM calls through the Droid CLI subprocess.",
"license": "MIT",
"private": true,

View File

@@ -1,5 +1,12 @@
# @fusion/engine
## 0.74.0-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/pi-claude-cli@0.74.0-beta.4
## 0.74.0-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/engine",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion engine: executor, merger, scheduler, and automation runtime for the Fusion AI coding agent.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,11 @@
# @fusion/i18n
## 0.39.32-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
## 0.39.32-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/i18n",
"version": "0.39.32-beta.3",
"version": "0.39.32-beta.4",
"license": "MIT",
"description": "Fusion i18n: authored translation catalogs and shared i18next configuration for the Fusion dashboard and terminal UI.",
"type": "module",

View File

@@ -1,5 +1,7 @@
# @fusion/mobile
## 0.74.0-beta.4
## 0.74.0-beta.3
## 0.74.0-beta.2

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/mobile",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion mobile: Capacitor wrapper around the Fusion dashboard for iOS and Android.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,7 @@
# @fusion/pi-claude-cli
## 0.74.0-beta.4
## 0.74.0-beta.3
## 0.74.0-beta.2

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/pi-claude-cli",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"description": "Fusion vendored fork: pi coding-agent extension that routes LLM calls through the Claude Code CLI. Forked from rchern/pi-claude-cli (MIT). See UPSTREAM.md.",
"license": "MIT",
"private": true,

View File

@@ -1,5 +1,11 @@
# @fusion/plugin-sdk
## 0.74.0-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
## 0.74.0-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/plugin-sdk",
"version": "0.74.0-beta.3",
"version": "0.74.0-beta.4",
"license": "MIT",
"description": "Fusion plugin SDK: types and helpers for authoring third-party plugins that extend the Fusion dashboard and engine.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/auto-label
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/auto-label",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Automatically labels tasks based on description content",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/ci-status
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/ci-status",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Polls CI status for branches and provides a custom API to query results",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/notification
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/notification",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Example Fusion plugin that sends webhook notifications on task lifecycle events",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/settings-demo
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/settings-demo",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Example Fusion plugin demonstrating settings schema and runtime configuration",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/acp-runtime
## 0.1.32-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.32-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/acp-runtime",
"version": "0.1.32-beta.3",
"version": "0.1.32-beta.4",
"type": "module",
"description": "ACP (Agent Client Protocol) runtime plugin for Fusion — drives any ACP-compatible agent over JSON-RPC/stdio",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/agent-browser
## 0.1.52-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.52-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/agent-browser",
"version": "0.1.52-beta.3",
"version": "0.1.52-beta.4",
"type": "module",
"description": "Agent Browser runtime and prompt/skill/workflow contributions for Fusion",
"private": true,

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/claude-runtime
## 0.1.7-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.7-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/claude-runtime",
"version": "0.1.7-beta.3",
"version": "0.1.7-beta.4",
"type": "module",
"description": "Claude Code runtime plugin for Fusion (ACP bridge)",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/cli-printing-press
## 0.1.49-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.49-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/cli-printing-press",
"version": "0.1.49-beta.3",
"version": "0.1.49-beta.4",
"type": "module",
"description": "CLI Printing Press plugin package for Fusion",
"private": true,

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/compound-engineering
## 0.1.32-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.32-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/compound-engineering",
"version": "0.1.32-beta.3",
"version": "0.1.32-beta.4",
"type": "module",
"description": "Compound Engineering plugin for Fusion",
"private": true,

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/cursor-runtime
## 0.1.51-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.51-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/cursor-runtime",
"version": "0.1.51-beta.3",
"version": "0.1.51-beta.4",
"type": "module",
"description": "Cursor CLI runtime plugin for Fusion",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/dependency-graph
## 0.1.63-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.63-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/dependency-graph",
"version": "0.1.63-beta.3",
"version": "0.1.63-beta.4",
"type": "module",
"description": "Dependency graph dashboard view plugin for Fusion",
"private": true,

View File

@@ -1,5 +1,11 @@
# Changelog
## 0.1.58-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.58-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/droid-runtime",
"version": "0.1.58-beta.3",
"version": "0.1.58-beta.4",
"type": "module",
"description": "Droid runtime plugin for Fusion",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/even-realities-glasses
## 0.1.51-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.51-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/even-realities-glasses",
"version": "0.1.51-beta.3",
"version": "0.1.51-beta.4",
"type": "module",
"description": "Canonical Even Realities Fusion plugin with board/task cards, actions, notifications, and webhook transport",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/grok-runtime
## 0.2.10-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.10-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/grok-runtime",
"version": "0.2.10-beta.3",
"version": "0.2.10-beta.4",
"type": "module",
"description": "Grok CLI runtime plugin for Fusion (ACP agent stdio)",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/hermes-runtime
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/hermes-runtime",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Hermes AI runtime plugin for Fusion - provides AI agent execution runtime",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/linear-import
## 0.1.14-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.14-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/linear-import",
"version": "0.1.14-beta.3",
"version": "0.1.14-beta.4",
"type": "module",
"description": "Linear issue import plugin for Fusion",
"private": true,

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/omp-runtime
## 0.1.7-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.7-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/omp-runtime",
"version": "0.1.7-beta.3",
"version": "0.1.7-beta.4",
"type": "module",
"description": "Oh My Pi (omp) runtime plugin for Fusion via Agent Client Protocol (omp acp)",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/openclaw-runtime
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/openclaw-runtime",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Provides OpenClaw runtime for Fusion AI agents",
"keywords": [

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/paperclip-runtime
## 0.2.82-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.2.82-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/paperclip-runtime",
"version": "0.2.82-beta.3",
"version": "0.2.82-beta.4",
"type": "module",
"description": "Paperclip runtime plugin for Fusion — provides AI agent web access capabilities",
"keywords": [

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/quality
## 0.1.7-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.7-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/quality",
"version": "0.1.7-beta.3",
"version": "0.1.7-beta.4",
"type": "module",
"description": "Quality hub and Task QA surfaces for Fusion",
"private": true,

View File

@@ -1,5 +1,13 @@
# @fusion-plugin-examples/reports
## 0.1.51-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/dashboard@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.51-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/reports",
"version": "0.1.51-beta.3",
"version": "0.1.51-beta.4",
"type": "module",
"description": "Reports plugin for Fusion",
"private": true,

View File

@@ -1,5 +1,12 @@
# @fusion-plugin-examples/roadmap
## 0.1.51-beta.4
### Patch Changes
- @fusion/core@0.74.0-beta.4
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.51-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/roadmap",
"version": "0.1.51-beta.3",
"version": "0.1.51-beta.4",
"type": "module",
"description": "Roadmap plugin package for Fusion",
"private": true,

View File

@@ -1,5 +1,11 @@
# @fusion-plugin-examples/whatsapp-chat
## 0.1.51-beta.4
### Patch Changes
- @fusion/plugin-sdk@0.74.0-beta.4
## 0.1.51-beta.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion-plugin-examples/whatsapp-chat",
"version": "0.1.51-beta.3",
"version": "0.1.51-beta.4",
"type": "module",
"description": "WhatsApp Web (Baileys) chat bridge for Fusion agents",
"keywords": [