Commit Graph

83 Commits

Author SHA1 Message Date
gsxdsm
56d4fd24b3 FN-6476: record ACP auth rerun blockage
Document the authenticated ACP bridge rerun attempt and preserve the Route A blocked verdict.

- Update the ACP contract with FN-6476 readiness proof results showing the pinned bridge still reports an unauthenticated Claude session.
- Keep OQ1 answers unresolved because no forwarded Fusion tool invocation or permission-gate traversal was observed.
- Add FN-6476 status notes to the Claude ACP runtime plan so U9 remains NOT GO without a claude -p fallback.

Files changed:
 docs/acp-contract.md                                      | 11 ++++++++++-
 docs/plans/2026-06-14-001-feat-claude-acp-runtime-plan.md |  3 +++
 2 files changed, 13 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6476

Fusion-Task-Lineage: f37dcc62-9758-47af-bb50-169e902211a5
2026-06-15 02:30:41 -07:00
gsxdsm
fcca1366ef FN-6475: document ACP MCP forwarding sponsorship
Record the upstream sponsorship package for ACP MCP passthrough and permission gating while keeping Route A blocked.\n\n- Add a ready-to-file upstream issue for claude-code-cli-acp MCP passthrough and permission-forwarding support.\n- Link the filed upstream issue from the ACP contract and runtime plan.\n- Preserve the OQ1/U9 NOT GO status until authenticated reruns prove forwarded tool invocation and gating.\n\nFiles changed:\n docs/acp-contract.md                               |   5 +\n .../2026-06-14-001-feat-claude-acp-runtime-plan.md |   3 +\n ...laude-code-cli-acp-mcp-permission-forwarding.md | 121 +++++++++++++++++++++\n 3 files changed, 129 insertions(+)

Fusion-Task-Id: FN-6475

Fusion-Task-Lineage: 3cbd14e3-9388-4cf4-b256-3678459eb926
2026-06-15 02:30:41 -07:00
gsxdsm
1d474a1dff FN-6473: document Route A ACP escalation blockage
Record the authenticated Route A ACP escalation rerun and keep U9 blocked.

- Update the ACP contract OQ1 status to FN-6473 with the observed unauthenticated bridge result.
- Capture the explicit request-permission instrumentation outcome: zero forwarded tool calls and zero permission callbacks.
- Extend the Claude ACP runtime plan with the escalation status and upstream bridge/ACP permission-forwarding requirement.

Files changed:
 docs/acp-contract.md                                      | 13 +++++++++++--
 docs/plans/2026-06-14-001-feat-claude-acp-runtime-plan.md |  3 +++
 2 files changed, 14 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6473

Fusion-Task-Lineage: 2e6ec23b-a9cd-4fd0-b24e-72ee8bb145ac
2026-06-15 02:30:41 -07:00
gsxdsm
830bc7a67c FN-6467: record ACP bridge rerun blocker
Record the FN-6467 U9 rerun outcome so Route A remains gated on authenticated ACP bridge evidence.

- Document the second direct bridge attempt against claude 2.1.177 and claude-code-cli-acp 0.1.1.
- Preserve the accepted 62-tool custom-tools MCP payload details and lockfile integrity evidence.
- Mark forwarded tool invocation and ACP permission-gate traversal as unresolved because the bridge still reports Not logged in.

Files changed:
 docs/acp-contract.md                                      | 15 ++++++++++-----
 docs/plans/2026-06-14-001-feat-claude-acp-runtime-plan.md |  3 +++
 2 files changed, 13 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6467
Fusion-Task-Lineage: fa2c1e16-7822-421b-80cf-e4ab247641a5
2026-06-15 02:30:41 -07:00
gsxdsm
1b1d6f4359 FN-6466: record blocked ACP bridge spike result
Record the real Route A U9 bridge attempt and keep OQ1 at NOT GO.

- Document that claude-code-cli-acp accepted a non-empty Fusion MCP server declaration.
- Capture the unauthenticated claude blocker before forwarded tool invocation or permission telemetry.
- Keep FN-6460 blocked until an authenticated rerun proves tool forwarding and ACP permission traversal.

Files changed:
 docs/acp-contract.md                                      | 13 +++++++++++--
 docs/plans/2026-06-14-001-feat-claude-acp-runtime-plan.md |  3 +++
 2 files changed, 14 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6466

Fusion-Task-Lineage: 0bce3b9f-fbab-4562-9a7b-9d5551335fa4
2026-06-15 02:30:41 -07:00
gsxdsm
41d4704138 FN-6465: document ACP Route A recovery blockers
Record the unrecovered Route A U9 verdict and the design-only U14 confirmation so follow-up work preserves the ACP permission-gate blocker.\n\n- Add an ACP contract open-question entry that marks Route A as NOT GO until real MCP forwarding and ACP permission-gate traversal are proven.\n- Capture the FN-6465 recovery outcome in the Claude ACP runtime plan, including the missing FN-6459 evidence and required rerun criteria.\n- Confirm the internal Route A design mechanisms while keeping implementation blocked on U9.\n\nFiles changed:\n docs/acp-contract.md                               | 24 ++++++++++++++++++++++\n .../2026-06-14-001-feat-claude-acp-runtime-plan.md |  9 ++++++++\n 2 files changed, 33 insertions(+)

Fusion-Task-Id: FN-6465

Fusion-Task-Lineage: d4762440-cbb9-4206-b4b2-be578eba30dd
2026-06-15 02:30:41 -07:00
gsxdsm
a9815fb1ff FN-6457: add ACP ask runner and bundled Claude bridge setup
Route ACP-backed planning and validation through a read-only ask-once runner with a pinned Claude bridge foundation.

- Add askAcpOnce for single-turn ACP sessions with timeout handling, JSON recovery, clean stop validation, and disposal.
- Refactor validation seams to use ACP runtime prompts and require structured pass verdicts.
- Resolve the Claude ACP bridge from the plugin bundle and add setup checks for identity, environment, probing, and auth readiness.
- Document the ACP Route B plan and update tests for validator, session, runtime, and plugin setup behavior.

Files changed:
 CONCEPTS.md                                        |   6 +
 docs/acp-contract.md                               |  36 ++
 .../2026-06-14-001-feat-claude-acp-runtime-plan.md | 465 +++++++++++++++++++++
 .../engine/src/__tests__/cli-agent-ask.test.ts     | 104 +++++
 .../src/__tests__/cli-agent-validator.test.ts      | 137 +++---
 .../src/__tests__/interactive-ai-session.test.ts   |  96 +++--
 packages/engine/src/agent-runtime.ts               |   6 +-
 packages/engine/src/cli-agent-ask.ts               | 120 ++++++
 packages/engine/src/cli-agent-validator.ts         |  65 ++-
 .../cli-agent/__tests__/one-shot-session.test.ts   |  16 +-
 packages/engine/src/cli-agent/one-shot-session.ts  |  17 +-
 packages/engine/src/index.ts                       |   8 +-
 packages/engine/src/interactive-ai-session.ts      |  33 +-
 plugins/fusion-plugin-acp-runtime/AGENTS.md        |  14 +
 plugins/fusion-plugin-acp-runtime/CHANGELOG.md     |   6 +
 plugins/fusion-plugin-acp-runtime/README.md        |  13 +-
 plugins/fusion-plugin-acp-runtime/package.json     |   3 +-
 .../src/__tests__/index.test.ts                    |  51 ++-
 .../src/__tests__/process-manager.test.ts          |  32 +-
 .../src/__tests__/runtime-adapter.test.ts          |   4 +-
 .../src/__tests__/setup.test.ts                    |  71 ++++
 plugins/fusion-plugin-acp-runtime/src/cli-spawn.ts |  95 ++++-
 plugins/fusion-plugin-acp-runtime/src/index.ts     |  16 +-
 .../src/process-manager.ts                         |  26 +-
 .../src/runtime-adapter.ts                         |  11 +-
 plugins/fusion-plugin-acp-runtime/src/setup.ts     | 104 +++++
 plugins/fusion-plugin-acp-runtime/src/types.ts     |   6 +-
 pnpm-lock.yaml                                     | 139 ++++--
 28 files changed, 1502 insertions(+), 198 deletions(-)

Fusion-Task-Id: FN-6457
Fusion-Task-Lineage: a3364ed7-cb28-4a2b-b898-6ccd0d95fb92
2026-06-15 02:30:41 -07:00
gsxdsm
821a8fb936 Merge pull request #1672 from Runfusion/feature/ce-workflow-integration
feat: make the compound-engineering workflow run the CE way end-to-end
2026-06-13 16:36:57 -07:00
gsxdsm
dd0ceec7dd Merge main: keep ce-* agent install alongside stale-session recovery; address PR review
Resolves the onLoad conflict in the compound-engineering plugin by keeping both
the bundled ce-* persona-def install (this branch) and main's
recoverStaleSessionsForContext call.

Also addresses PR #1672 review feedback:
- executor: sentinel resume now guards on !live.paused (mirrors
  runAwaitInputNode) so a still-paused task can't consume a reply and re-enter
  the skill early.
- TaskCard: make the Answer-questions button text/title/aria-label fallbacks
  consistent ("Answer questions") for label-in-name a11y; update test.
- ce-work: replace the unshipped `skill: ce-worktree` reference with the real
  git worktree commands so Option B can't dead-end.
- ce-resolve-pr-feedback: invoke bundled scripts by absolute path via the new
  FUSION_CE_SKILLS_DIR env (sessions run with cwd=projectRoot); add the Fusion
  await-input sentinel path instead of AskUserQuestion for workflow steps;
  normalize whitespace-only review bodies like PR comments.
- plugin: expose FUSION_CE_SKILLS_DIR (installed skills root) to step sessions.
- plan doc: add language to fenced block (markdownlint MD040).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 16:08:51 -07:00
gsxdsm
195f731b9d feat(engine): optional systemPromptOverride for fn_spawn_agent (U2)
Add an optional systemPromptOverride to spawnAgentParams. When non-empty,
the spawned child runs under that persona system prompt instead of the
generic child base prompt (executor instructions still appended), so a
caller can spawn a specific persona — the primitive the compound-
engineering reviewer/research fan-out needs.

Two spikes confirmed the need: fn_spawn_agent had no persona param, and
Fusion has no plugin agent-contribution channel — so the lightweight path
is a generic override here + plugin-local persona defs the skill reads and
passes inline (revised KTD-4/U2/U3 in the plan). Behavioral coverage lands
with U10.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 07:03:10 -07:00
gsxdsm
f43e01f4d9 docs: plan compound-engineering workflow integration
Plan to make the builtin:compound-engineering workflow run the CE way
end-to-end: ce-work execute, CE commit/PR/resolve-feedback merge,
human-in-the-loop planning questions via a task-card button, headless
signal, and subagent enablement.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 00:46:33 -07:00
gsxdsm
fa4445138a feat(FN-000): run workflow work items through runtime
Fusion-Task-Id: FN-000
2026-06-09 20:44:45 -07:00
gsxdsm
265496d0b6 feat(FN-000): model merge policy in builtin workflow IR
Fusion-Task-Id: FN-000
2026-06-09 20:44:45 -07:00
gsxdsm
0ec7b496ae feat(FN-000): claim workflow work in scheduler substrate
Fusion-Task-Id: FN-000
2026-06-09 20:44:45 -07:00
gsxdsm
5a36ac1cd6 feat(FN-000): project merge requests to workflow work
Fusion-Task-Id: FN-000
2026-06-09 20:44:36 -07:00
gsxdsm
c11f1700b7 chore(workflow): plan stacked migration PRs 2026-06-09 13:27:43 -07:00
gsxdsm
f16b038fab refactor(workflow): add workflow work-item store slice 2026-06-09 12:41:29 -07:00
gsxdsm
0cb54dd8c4 refactor(workflow): map merge policy ownership 2026-06-09 11:51:30 -07:00
gsxdsm
c1a723134e feat: redesign mobile workflow editor 2026-06-09 08:30:35 -07:00
gsxdsm
8f42098cc3 feat(FN-6035): route execution through workflow primitives
Fusion-Task-Id: FN-6035
2026-06-08 19:13:14 -07:00
gsxdsm
a504238d26 feat(FN-0000): add workflow loop nodes 2026-06-07 23:56:25 -07:00
gsxdsm
55a8e14d5d Merge pull request #1502 from Runfusion/feature/workflow-settings
feat(workflow-settings): simplify workflow model lanes
2026-06-07 23:10:55 -07:00
gsxdsm
61ae1bf706 feat(workflow-settings): simplify workflow model lanes 2026-06-07 22:07:47 -07:00
gsxdsm
71822f26db feat(engine): add workflow extension plugin seams 2026-06-07 20:43:44 -07:00
gsxdsm
cee81e66ac docs(workflow): mark runtime cutover plan complete 2026-06-07 17:51:37 -07:00
gsxdsm
cbc2bbff7d refactor(workflow): add workflow task runtime facade 2026-06-07 17:42:43 -07:00
gsxdsm
f49ab4946a Merge pull request #1463 from Runfusion/gsxdsm/issue-1455-initialize-git-repository
fix(FN-1455): initialize git during project registration
2026-06-06 01:08:31 -07:00
gsxdsm
db971a91ea fix(FN-1455): initialize git during project registration
Fusion-Task-Id: FN-1455
2026-06-06 00:38:28 -07:00
gsxdsm
1922b5efc2 merge: main (workflow editor 109 / cli_sessions 110-111 / workflow_settings 112) — renumber PR-entity migration to 113, union core exports, TaskCard prNode + cliSessionState badges, executor PrNodeDeps + CliAgentRuntime options 2026-06-05 23:06:46 -07:00
gsxdsm
3f313567dd feat(pr): built-in PR workflow template, end-to-end (U9)
Ships BUILTIN_PR_WORKFLOW_IR (builtin:pr-workflow) wiring the lifecycle
end to end: start -> pr-create -> await-review hold -> (changes-requested)
pr-respond -[rework]-> await-review -> (approved) auto-merge gate ->
pr-merge -> end, with conflict/failed holds and manual force-merge/close
edges. Completes U6's validator side: validateV2 permits a top-level
kind:rework edge whose loop-head opts in via config.reworkRegion (non-
rework cycles still rejected). Additive (default builtin:coding untouched);
behind workflowGraphExecutor. Legacy PrCommentHandler/PrMonitor retirement
deferred (they remain the flag-off path's PR handling) — recorded in the
plan. Fast e2e test; 41 core IR/builtin tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 22:42:36 -07:00
gsxdsm
4d61374ee7 docs(pr): brainstorm + plan for unified PR entity as workflow nodes
Adds the requirements brainstorm and implementation plan for replacing
fusion's split PR machinery with a first-class PR entity whose lifecycle
is expressed as workflow-graph nodes (pr-create, pr-respond, pr-merge),
plus CONCEPTS.md entries for the PR entity and review-response loop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 17:20:44 -07:00
gsxdsm
1f68348441 merge: main (CLI agent interface #1446) — renumber workflow_settings migration to 112 behind main's cli_sessions(110)/adapter(111), full-workspace literal sweep, i18n union 2026-06-05 16:18:39 -07:00
gsxdsm
693ed6290a Merge remote-tracking branch 'origin/main' into gsxdsm/cli-agent-interface
# Conflicts:
#	CONCEPTS.md
#	packages/core/src/__tests__/db-migrate.test.ts
#	packages/core/src/__tests__/db.test.ts
#	packages/core/src/__tests__/goals-schema.test.ts
#	packages/core/src/__tests__/insight-store.test.ts
#	packages/core/src/__tests__/merge-request-record.test.ts
#	packages/core/src/__tests__/mission-store.test.ts
#	packages/core/src/__tests__/run-audit.test.ts
#	packages/core/src/__tests__/store-merge-queue.test.ts
#	packages/core/src/__tests__/task-documents.test.ts
#	packages/core/src/db.ts
#	packages/dashboard/src/__tests__/agent-onboarding.test.ts
#	packages/dashboard/src/__tests__/ai-refine.test.ts
#	packages/dashboard/src/__tests__/chat-attachment-routes.test.ts
#	packages/dashboard/src/__tests__/experiment-routes.finalize.test.ts
#	packages/dashboard/src/__tests__/milestone-slice-interview.test.ts
#	packages/dashboard/src/__tests__/mission-interview.test.ts
#	packages/dashboard/src/__tests__/pr-metadata-generator.test.ts
#	packages/dashboard/src/__tests__/project-pause-resume-routes.test.ts
#	packages/dashboard/src/__tests__/routes-approval-sandbox-provisioning.test.ts
#	packages/dashboard/src/__tests__/routes-approval-secrets.test.ts
#	packages/dashboard/src/__tests__/routes-approval.test.ts
#	packages/dashboard/src/__tests__/routes-worktrunk.test.ts
#	packages/dashboard/src/__tests__/session-error-recovery.test.ts
#	packages/dashboard/src/__tests__/session-persistence-roundtrip.test.ts
#	packages/dashboard/src/__tests__/session-reconnect.test.ts
#	packages/dashboard/src/__tests__/session-resume-history.test.ts
#	packages/dashboard/src/__tests__/setup-routes.test.ts
#	packages/dashboard/src/__tests__/subtask-breakdown.test.ts
#	packages/dashboard/src/routes/__tests__/agent-avatar-routes.test.ts
#	packages/dashboard/src/routes/__tests__/custom-providers.test.ts
#	packages/dashboard/src/routes/__tests__/docker-node-routes.test.ts
#	packages/i18n/locales/en/app.json
#	plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-store.test.ts
2026-06-05 15:30:59 -07:00
gsxdsm
6d16c07197 merge: main (editor consolidation #1433, fast-tests, learnings) — renumber workflow_settings migration to 110, settings panel joins the sidebar disclosures, full-workspace literal sweep 2026-06-05 15:23:15 -07:00
gsxdsm
7d69691bbf Merge pull request #1433 from Runfusion/gsxdsm/improve-node-editor
feat: workflow editor upgrade and consolidation — primary surface, templates, import/export, AI design
2026-06-05 15:06:32 -07:00
gsxdsm
47e4919a78 Merge pull request #1453 from Runfusion/gsxdsm/fast-tests
refactor(ci): thin trusted merge gate with flaky-test deletion ratchet
2026-06-05 14:52:12 -07:00
gsxdsm
11fb9f1325 merge main: per-column agent assignment (binding validation, policy-escalation handshake, override notes) into workflow editor consolidation
Resolved 4 conflicts preserving both feature sets:
- WorkflowNodeEditor.tsx: kept card-node/edge/dialog/dirty-guard/auto-layout/
  onboarding/template/AI-edit features; wired main's columnAgentsEnabled flag
  gate, override-column agent registry load, and policy-escalation save retry
  (finishSave helper wraps both update payloads).
- WorkflowNodeEditor.test.tsx: kept U2/U4/AI-design describes plus main's U6
  column-agent describe; merged api mock + import lists.
- register-workflow-routes.ts: merged import sets (design DI seam + column-agent
  validators).
- agent-tools.ts: strip-approval-flags and column-agent binding assertion now
  both run in create/update tools.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 14:43:02 -07:00
gsxdsm
b7fa21c25e merge: main (column-agent assignment #1432) into workflow-settings — union executor/agent-tools/routes imports, both tool-description texts, both route helpers 2026-06-05 14:41:43 -07:00
gsxdsm
60f1b7fa39 Merge remote-tracking branch 'origin/main' into gsxdsm/cli-agent-interface
# Conflicts:
#	packages/dashboard/app/components/__tests__/ListView.test.tsx
2026-06-05 14:36:42 -07:00
gsxdsm
b8eea85dc9 Merge pull request #1432 from Runfusion/feat/column-agent-assignment
feat: per-column agent assignment for workflow columns
2026-06-05 14:19:53 -07:00
gsxdsm
20153a3ef3 chore(plan): mark fast-trusted-test-gate plan completed 2026-06-05 09:41:32 -07:00
gsxdsm
482fc25add Merge main into fast-tests: keep both CONCEPTS additions (workflow columns/plugins + merge-gate testing vocabulary) 2026-06-05 09:37:22 -07:00
gsxdsm
93b6a33c07 docs: add fast-trusted-test-gate brainstorm + plan; CONCEPTS entries for Merge Gate and Deletion Ratchet; lint fix in boot-smoke 2026-06-05 09:12:43 -07:00
gsxdsm
a5e28558ac docs: mark cli-agent executor plan completed 2026-06-05 03:27:37 -07:00
gsxdsm
e208842606 chore: lint fixes and plan status flip to completed 2026-06-05 01:18:50 -07:00
gsxdsm
27d3763db5 docs(plans): mark editor upgrade and consolidation plans completed 2026-06-05 01:06:03 -07:00
gsxdsm
9fc26d4518 docs(plans): mark column-agent plan completed 2026-06-05 00:33:20 -07:00
gsxdsm
f5f09c6e37 docs(plans): column agent assignment plan 2026-06-04 23:26:44 -07:00
gsxdsm
33f9dadfb3 docs: add cli-agent executor requirements and implementation plan 2026-06-04 22:53:19 -07:00
gsxdsm
28e74f10d6 feat(core): workflow kind discriminator and steps-to-IR converter 2026-06-04 22:18:36 -07:00