Skip to content

Fix Workflow stage UI and keep node replies off Chief chat - #1461

Merged
Birfy merged 3 commits into
mainfrom
cursor/fix-workflow-stage-ui-b173
Oct 27, 2026
Merged

Birfy merged 3 commits into
mainfrom
cursor/fix-workflow-stage-ui-b173

Conversation

@Birfy

@Birfy Birfy commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Owner: Dev
Reviewer: Reviewer

Fixes #1459

What changed

  • Flowchart wires: Anchor the wire SVG on the zero-width plane (--wf-wire-span / --bt-wf-wire-span) so linear edges connect nodes top-down; documented in docs/subsystems/core-client.md.
  • Stage chrome: Compact mini-flow thumbnails; no message composer on the workflow stage (view/control only).
  • Running node: wf-node-live breathing border on .running only (prefers-reduced-motion respected).
  • Chief leak: workflow-step middleware denies ephemeral node replies after stepResult.
  • Bot palette: Gripped roster chips with avatar, duplicate-name hints, hover states, and drag ghost (data-bot drop unchanged).

Verification at the tip

Tip SHA: d1b10546106cd19480ce7e0269c49100fcf0261f
Ran: TZ=UTC PATH=/workspace/tools/node24/bin:$PATH npm run verify (green at tip)
Not run: smoke (no host seam change)

Checkpoint

{
  "pr": 1461,
  "claim": "Dev",
  "issue": 1459,
  "summary": "Workflow stage and Settings flowcharts now anchor edge SVGs on the zero-width plane so wires meet node centers instead of fanning away. The stage drops the message composer, polishes sidebar and pill thumbnails, and pulses the running node. Ephemeral step replies advance the run but are denied delivery to persistent Bots such as Chief. Edit-mode palette chips show avatars, role or id hints for duplicate names, and a drag ghost while keeping drop-to-graph behavior.",
  "files": [
    "plugins/workflow/client.js",
    "plugins/workflow/index.js",
    "plugins/workflow/src/service.js",
    "plugins/workflow/test/client.test.js",
    "plugins/workflow/test/ephemeral.test.js",
    "core/src/client/workflows.js",
    "core/src/client/styles.js",
    "docs/subsystems/workflow.md",
    "docs/subsystems/core-client.md",
    "changelog.d/1459.fixed.md"
  ],
  "checks": { "ran": "TZ=UTC npm run verify", "result": "green", "at": "d1b10546106cd19480ce7e0269c49100fcf0261f" },
  "next": "none — ready for review"
}
Open in Web Open in Cursor 

Align flowchart wires with the zero-width plane, drop the stage message
composer, absorb ephemeral step replies in middleware, and animate the
running node on the graph.

Fixes #1459

Co-authored-by: Danyang Chen <birfychen@gmail.com>
@Birfy

Birfy commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator Author

Owner: polish「把 Bot 拖到图上」roster chips (same tip train). Agent bc-563ccf30 queued.

Replace flat name pills with gripped roster chips (avatar, role or id
hint for duplicate names), hover states, and a fixed drag ghost.

Fixes #1459

Co-authored-by: Danyang Chen <birfychen@gmail.com>
@Birfy

Birfy commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: FAIL at 2ede9d8
Written-by: Reviewer
Attestation: 2ede9d8 role=Reviewer

Ran:

  • git rev-parse HEAD → pass (2ede9d8)
  • gh pr view 1461 --json headRefOid → pass (matches tip)
  • PATH=/workspace/tools/node24/bin:$PATH TZ=UTC npm run verify → fail (arch-docs: core-client owned paths without doc or Docs-not-needed)
  • PATH=/workspace/tools/node24/bin:$PATH npm --prefix plugins/workflow test → pass (73/73)
  • PATH=/workspace/tools/node24/bin:$PATH npm --prefix core test → pass (1825/1825)
  • GH_REPO=ThinkFlowLab/FlyBot node .github/scripts/risk-gate.mjs --pr 1461 → pass (report: T3)
  • GH_REPO=ThinkFlowLab/FlyBot node .github/scripts/enqueue-guard.mjs --pr 1461 → pass (REFUSE as expected pre-PASS)
  • gh pr checks 1461 → fail (tests-ok red; plugins/workflow green)

Not run:

Findings:

  • arch-docs (blocking): Update docs/subsystems/core-client.md for Settings workflow wire anchoring (or add Docs-not-needed: … to PR body and tip commit) so npm run verify and tests-ok go green.
  • Enqueue hygiene: Add agent-pr; expand checkpoint summary to 3–5 sentences.
  • Workflow stage: fix broken flowchart edges; hide message composer #1459 behavior: No actionable defect found in scoped acceptance — wires, stage chrome, animation, deny middleware, palette, workflow docs/changelog align with owner list once arch-docs is fixed.

This report is not merge authority. Do not enqueue until FAIL items are fixed, a new tip is reviewed, and T3 has PASS + green tests-ok at that tip.

@Birfy Birfy added the agent-pr Pull request opened by an agent label Oct 27, 2026
arch-docs: Settings and plugin flowcharts share WIRE_SPAN / CSS var
anchoring for edge SVGs (#1459).

Fixes #1459

Co-authored-by: Danyang Chen <birfychen@gmail.com>
@Birfy

Birfy commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at d1b1054
Written-by: Reviewer
Attestation: d1b1054 role=Reviewer

Ran:

  • gh pr view 1461 --json headRefOid → pass (d1b1054)
  • PATH=/workspace/tools/node24/bin:$PATH TZ=UTC npm run verify → pass
  • PATH=/workspace/tools/node24/bin:$PATH npm --prefix plugins/workflow test → pass (73/73)
  • GH_REPO=ThinkFlowLab/FlyBot node .github/scripts/risk-gate.mjs --pr 1461 → pass (report: T3)
  • GH_REPO=ThinkFlowLab/FlyBot node .github/scripts/enqueue-guard.mjs --pr 1461 → pass (REFUSE pre-PASS: no conclusion at tip; stale FAIL at 2ede9d8…)
  • gh pr checks 1461 → pass (tests-ok green at tip)

Not run:

Findings:

This report is not merge authority. T3: gating agent may enqueue after this PASS lands on the PR as Birfy and enqueue-guard reports allow.

@github-actions github-actions Bot added the pass label Oct 27, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit 952d635 Oct 27, 2026
13 of 15 checks passed
@Birfy
Birfy deleted the cursor/fix-workflow-stage-ui-b173 branch October 27, 2026 14:39
@github-actions github-actions Bot removed the agent-pr Pull request opened by an agent label Oct 27, 2026
HugoXK added a commit to HugoXK/FlyBot that referenced this pull request Oct 28, 2026
The stage composer that called workflow/say went away in ThinkFlowLab#1461 (owner
decision in ThinkFlowLab#1459), so nothing in the product can send one. What was left
still lied when called: say() always recorded the text and, while a node
ran, invented a "收到。我继续处理「…」" receipt no Bot ever said.

Delete the registration (index.js), the say() method and that fabricated
line (service.js), the endpoint token in docs/subsystems/workflow.md and
the bare `say` in the plugin README. The read-only assign test keeps its
half; the say half and its /Planner|收到/ assertion go.

A new host test boots the real ctx.flybot and pins the acceptance shape:
the plugin is loaded (workflow/state answers), and flybot/workflow/say is
unknown to the host — `Unknown FlyBot endpoint workflow/say` with code
bot/not-found, not { ok: true } and not an empty object.

Fixes ThinkFlowLab#1475
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Workflow stage: fix broken flowchart edges; hide message composer

2 participants