gsxdsm
2992a7e19a
fix(FN-1455): surface automatic git initialization
...
Fusion-Task-Id: FN-1455
2026-06-06 01:01:24 -07:00
gsxdsm
c2da5883e7
fix(FN-1455): document project git registration invariant
...
Fusion-Task-Id: FN-1455
2026-06-06 00:59:01 -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
885e1d95bf
Merge pull request #1457 from Runfusion/chore/remove-temp-coderabbit-config
...
chore: remove temporary CodeRabbit scope config
2026-06-05 20:21:19 -07:00
gsxdsm
5404496a45
Merge pull request #1445 from Runfusion/gsxdsm/cleanupsettings
...
feat: workflow settings, hard-move migration, Settings UI redesign
2026-06-05 20:21:00 -07:00
gsxdsm
72e320aab4
Address PR review feedback ( #1445 )
...
- applyRemoteSettings now applies the stripped global payload (moved keys can't resurrect)
- resolver error path keeps effective workflowId so builtin fallback survives identity failure
- updateWorkflowSettingValues read-merge-upsert wrapped in transactionImmediate (lost-update race)
- MergeSection directMergeCommitStrategy UI fallback aligned to schema default (always-squash)
- save-split section-routing test asserts the positive case
- setting-values routes 404 on unknown workflow ids (+ tests)
2026-06-05 16:46:04 -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
ab7b4e1b87
chore: remove temporary CodeRabbit scope config
...
The .coderabbit.yaml added to PR #1446 was a temporary review-scoping
config (excludes tests/docs/locales to fit CodeRabbit's file cap). It was
meant to be dropped before merge but leaked onto main when #1446 merged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 15:48:27 -07:00
gsxdsm
0fdf60aaf1
Merge pull request #1446 from Runfusion/gsxdsm/cli-agent-interface
...
feat: cli-agent executor — interactive CLI coding agents in tasks and chat
2026-06-05 15:41:14 -07:00
gsxdsm
995765bcc5
Merge remote-tracking branch 'origin/gsxdsm/cli-agent-interface' into gsxdsm/cli-agent-interface
2026-06-05 15:31:13 -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
5dde079a2a
Merge branch 'main' into gsxdsm/cli-agent-interface
2026-06-05 14:52:46 -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
d508f6afc5
Merge pull request #1456 from Runfusion/docs/column-agent-compound-learnings
...
docs(solutions): column-agent execution-principal blast-radius learning
2026-06-05 14:51:47 -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
66d829abed
docs(solutions): schema-version literal sweep must include plugin workspaces
2026-06-05 14:32:04 -07:00
gsxdsm
baac9a12f0
docs(solutions): capture thin-trusted-merge-gate pattern; refine Testing vocabulary in CONCEPTS.md
2026-06-05 14:29:07 -07:00
gsxdsm
c5c729315e
docs(solutions): per-entity execution-principal override blast-radius checklist + column-agent vocabulary
2026-06-05 14:27:35 -07:00
gsxdsm
319e3d76de
docs(solutions): capture schema-version migration-gate learning
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 14:23:45 -07:00
gsxdsm
9843fb9fcb
docs(solutions): i18next empty-placeholder blank-render learning + Translation Placeholder concept
2026-06-05 14:23:27 -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
349ea2a60a
feat(i18n): translate all new workflow editor keys across es/fr/ko/zh-CN/zh-TW; stabilize palette test
2026-06-05 14:14:47 -07:00
gsxdsm
59364e7c58
Address PR review feedback round 2 ( #1432 )
...
- R10 kill-switch: workflowColumns flag now gates the execution path (resolver
installation + resume pass 2), making the documented rollback real
- resolver: skip parse candidates whose templateNodeId doesn't exist under the
foreach (disambiguation guard)
- editor: reset the project-scoped agents cache on projectId change
- tests: kill-switch inertness, defer→own-settings release, candidate skip
2026-06-05 13:59:50 -07:00
gsxdsm
5aa6cad168
Address PR review feedback ( #1453 )
...
- boot-smoke: shutdown verdict now requires SIGTERM actually delivered and a
clean exit (code 0 or SIGTERM); EADDRINUSE port race retries with a fresh
port (3 attempts)
- test-changed: rename shouldForceFullSuite -> isSharedInfraChange (it routes
to gate mode, not full); run the changed-mode gate under the isolation guard
- workflows: least-privilege permissions (contents: read) on pr-checks and
full-suite
2026-06-05 13:58:34 -07:00
gsxdsm
563cb5b372
Address PR review feedback ( #1433 )
...
- always dispose AI design session (try/finally) + rejecting-agent test
- prune expired design rate-limit entries per check
- apply workflowId precedence in createTaskWithReservedId
- compare-and-set migrated project default (no pre-transaction snapshot)
- reject fragment ids in setDefaultWorkflowId at the write boundary
- guard stripApprovalBypassFlags against malformed template nodes
- hoist duplicate stepToFragmentIr call in migration loop
- auto-layout preserves unplaced nodes (strictColumnForY)
- second same-pair connection births a failure edge for condition-capable sources
- insertFragment expands foreach templates into child nodes (lossless round-trip)
- copyIrWithFreshIds remaps namespaced foreach child layout keys
- discard stale AI-edit results after workflow switch
- i18n: returnEmptyString:false so empty locale placeholders fall back to en
- test fixes: schema-version titles, migrate idempotency assertion, TaskForm post-resolve + cross-mode regression, deterministic waits
2026-06-05 13:56:05 -07:00
gsxdsm
4209195743
fix(ci): deflake foreach palette test — wait for graph hydration before the palette click, extend node waitFor timeout
2026-06-05 09:44:45 -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
2a0223472e
Address PR review feedback ( #1432 )
...
- delimiter-safe foreach instance-id resolution via IR-validated candidates
- restart watcher handles binding removal/defer-flip and re-keys the reverse
heartbeat guard on agent change/delete
- governing-node stamp owned by the pass-initiating foreach instance (race fix)
- editor: policy-escalation confirm/retry handshake on save; foreach children
inherit the override note; project-scoped agent fetches; picker disabled on
registry fetch error; column-agent strings in the canonical i18n catalog
- tests: update-tool escalation surface, PATCH escalation route, parity bound
to run-derived stages, try/finally cleanup, deterministic event waits,
symmetric defer surfaces, binding-release regression
2026-06-05 09:29:04 -07:00
gsxdsm
3387ac8096
fix(review): apply autofix feedback
2026-06-05 09:23:15 -07:00
gsxdsm
9a2e721ffa
chore(test): fold gate guard scripts into test:gate (pnpm pre-scripts not relied on in CI)
2026-06-05 09:13:02 -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
e2ddcdc7c1
docs(test): codify merge gate + flaky-test deletion ratchet policy
...
- AGENTS.md: gate/non-blocking split replaces 'tests are required' framing;
new standing rule: flaky tests quarantined on sight, deleted in 2 weeks
unless rescued with root-cause fix; agent appeasement ban; gate eviction rule;
product-race escalation note
- docs/testing.md: merge-gate section with honest blind-spot statement,
quarantine ledger mechanics, updated workflow references
2026-06-05 09:10:19 -07:00
gsxdsm
5a4bb9eeeb
feat(test): pnpm test runs gate + affected set; remove implicit full-suite escalation (the local OOM path)
...
- decideExecutionPlan: implicit wide-blast reasons (missing base, diff failed,
no changes, shared infra, unmapped package) route to new gate mode instead of full
- CI===true force-full branch removed (CI no longer calls test-changed.mjs)
- changed mode runs pnpm test:gate before the affected set
- full suite reachable only via explicit --full / FUSION_TEST_FULL=1
- characterization tests updated + new only-explicit-full invariant test
2026-06-05 09:08:20 -07:00
gsxdsm
bbeb86e8f9
feat(test): add flaky-test quarantine ledger with --diff ratchet exemption note
2026-06-05 09:03:22 -07:00
gsxdsm
fd7fed22f4
refactor(ci): thin PR gate to lint/typecheck/build/gate; demote full suite to non-blocking push-to-main workflow
...
- pr-checks.yml: gate job = boot smoke + pnpm test:gate; shards/slow/inventory removed
- full-suite.yml (new): 4-way shards, engine slow tier, inventory guard on push to main
- ci.yml deleted (trigger-disabled since FN-1541; was dead config)
- ci-workflow.test.ts rewritten to pin the new gate shape; release/signing blocks preserved
- docs/contributing.md: pnpm test:gate is the merge gate; verify:workspace repositioned as deep opt-in
BRANCH-PROTECTION CUTOVER: set required checks to exactly [Lint, Typecheck, Build, Gate] after merging; open PRs must rebase.
2026-06-05 09:02:36 -07:00
gsxdsm
9d00f533ea
feat(ci): add boot smoke check (CLI --help + real serve /api/health)
2026-06-05 08:57:24 -07:00
gsxdsm
98d5d83e95
feat(test): add curated engine-core gate suite and test:gate command
2026-06-05 08:55:43 -07:00
gsxdsm
1821c177ac
chore: switch CodeRabbit scope to exclusion globs (temporary; drop before merge)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 08:55:19 -07:00
gsxdsm
74c3093726
chore: scope CodeRabbit review to cli-agent source for PR #1446
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 08:53:49 -07:00
gsxdsm
cfd1e2bf8f
fix(ci): repair dashboard tests broken by cli-agent feature
...
- TaskFieldsSection.css: restore the toggle knob fill to the themed
var(--card) token (was hardcoded to #fff on this branch), which the
AgentListModal theme-token guard scans all app CSS for and rejects.
- ListView.test.tsx: add fetchBoardWorkflows + api to the ../../api mock;
TaskDetailModal (rendered via the embedded detail) now calls both at mount
for board workflows and the cli-sessions lookup, so the object-literal mock
must provide them ("No X export is defined on the ../../api mock").
- auto-merge-toggle-blank.mobile.test.tsx / board-mobile-initial-render.test.tsx:
revert the runOnlyPendingTimers→runAllTimers change; with the installed rAF
shim that re-schedules itself, runAllTimers loops forever and trips vitest's
10000-timer infinite-loop abort.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 04:19:33 -07:00
gsxdsm
5d4733e054
fix(ci): align engine/schema test stubs with cli-agent surface
...
The cli-agent executor feature added engine.getCliAgentRuntime() (called by
the CLI dashboard command at load) and bumped @fusion/core SCHEMA_VERSION
108→110. Update the stale test stubs:
- cli dashboard.test.ts: add getCliAgentRuntime() to the mock FnAgent class
(returns undefined; runDashboard handles the no-runtime path). Fixes 52
failures all rooted at `cwdEngine?.getCliAgentRuntime is not a function`.
- roadmap-store.test.ts: the roadmap store layers on core's Database, so its
schema version tracks core; assert 110 instead of 108.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 04:19:21 -07:00
gsxdsm
79d6c6a667
fix(ci): resolve lint errors (useless-escape, prefer-const, unused param)
2026-06-05 03:56:29 -07:00
gsxdsm
b9afce306e
fix(review): schema-version gate, output-filter escape-bypass, generic double-wrap, follow-up resolution
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 03:41:54 -07:00
gsxdsm
a5e28558ac
docs: mark cli-agent executor plan completed
2026-06-05 03:27:37 -07:00
gsxdsm
58723312d8
feat: bootstrap cli-agent runtime and wire executor, transport, chat, and recovery seams
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 03:24:41 -07:00