Skip to content

feat: the stock bundle no longer loads the agent workflow UI - #137

Merged
endrix merged 2 commits into
mainfrom
feat/stock-without-agent-ui
Nov 9, 2026
Merged

endrix merged 2 commits into
mainfrom
feat/stock-without-agent-ui

Conversation

@endrix

@endrix endrix commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Stage 3, step 3 of moving wfpy's features into wfpy-ide (P5e). endrix/wfpy-ide#24, merged, has wfpy-ide's own webview bundle load the agent UI itself.

What

  • The stock feature module stops binding the agent workflow UI, i.e. bindAgentUi from feat: the agent workflow UI is a feature module a product's bundle can load #136:
    • the @tool and @agent annotation editors;
    • the agent node sections: Basic Info's Skill row, Agent Tools, the live Agent Context;
    • the wizard's @tool and @viewer templates.
  • sv, vhdl, ndf and calpy diagrams therefore show:
    • the plain annotation card, a free row per argument;
    • no Skill row, Agent Tools or Agent Context;
    • only the wizard's own "Custom annotation…" entry.
  • wfpy-ide's diagrams show all of it as before, from its bundle's agentUiModule.
  • The stock bundle drops the agent UI's code: 3.74 MB → 3.60 MB, and no agent-ui/ module is left in it.

Review (/code-review medium), addressed

The review confirmed that no non-wfpy product loses anything it used:

  • hdl-sidecar emits no tool, agent or viewer annotations.
  • ndf turns annotations off.
  • calpy, mlir-viewer and chisel have no agent nodes.

Addressed:

  • The discovery handlers (WorkflowShowAgentSkills/ClaudeAgentsActionHandler) were still bound by the stock module, although only the agent UI reads their caches. bindAgentUi configures them now; it takes the module's context. The parity baseline loses those two as well.
  • Tests: each seam also pins the stock diagram plus a product's module without the agent UI, which is what sv, vhdl, ndf and calpy run: only the product's editor, section (installed once) or template.
  • Docs and names:
    • The contribution points' docs no longer mention "stock" editors, sections or templates.
    • The lists are renamed agentUiEditors, agentUiNodeSections and agentUiTemplates.
  • CHANGELOG:
    • The entry now leads with what breaks and for whom.
    • [Unreleased] opens with the 0.9 bump this release needs.
  • Not bumped here: DIALOGRAM_API_VERSION. The bump has to ship with every product's expected version at the release, so it belongs to the release itself.
  • Next: the server's agent enrichment still scans skill and agent directories for every product on load. It is next on the server side, along with the @viewer double-click listener.

Release

Ship in the release that bumps DIALOGRAM_API_VERSION to 0.9, already due for #127 and #129. A wfpy-ide still at 0.8 is still on the stock bundle, so without the bump it would lose its agent UI quietly. With it, the version check fails loudly. The CHANGELOG entry says so.

Tests

  • Container parity: the baseline loses exactly the five agent bindings, and its doc comment loses their note.
  • Seam tests:
    • The three DI tests that relied on the stock module for the agent UI now load agentUiModule.
    • Each seam also pins that the stock diagram has none: no editors, no node sections, no templates.
  • The 32 agent-UI tests are unchanged; their harness already injects the agent UI's lists directly.
  • Local results:
    • client suite: 446/446 (after the fixes)
    • typecheck: 5/5
    • neutrality: 5/5
    • build: OK

https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv

The @tool and @agent annotation editors, the agent sections of a node's
panel and the wizard's @tool and @viewer templates are wfpy's, yet every
product's diagram showed them, because the stock feature module bound
them. It binds none now: they are agentUiModule (#136), which
wfpy-ide's own webview bundle loads (endrix/wfpy-ide#24). sv, vhdl, ndf
and calpy get the plain annotation card, no Skill row, no Agent Tools,
no Agent Context, and only the wizard's own "Custom annotation…".

The stock bundle drops the agent UI's code (141 KB). The parity baseline
loses the five bindings; the seam tests that relied on the stock module
for them load agentUiModule, and each now also pins that the stock
diagram has none.

Ship after wfpy-ide#24, in the release that bumps the API to 0.9.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
…overs in the docs

Review of #137:
- The handlers of the server's skill and agent-preset answers
  (WorkflowShowAgentSkills/ClaudeAgentsActionHandler) were still bound
  by the stock module, though only the agent UI reads their caches:
  agentUiModule worked only because the stock module bound them for it.
  bindAgentUi configures them now (it takes the module's context), and
  the stock module does not; the parity baseline loses the two.
- Each seam now also pins the stock diagram plus a product's module
  without the agent UI, what sv, vhdl, ndf and calpy run: only the
  product's editor, section (installed once) or template.
- The contribution points' docs no longer speak of "stock" editors,
  sections and templates, and the panel's model-root listener is
  justified by in-place node-section updates rather than agent context;
  the lists are agentUiEditors/agentUiNodeSections/agentUiTemplates.
- CHANGELOG: the entry leads with what breaks and for whom, and
  [Unreleased] opens with the 0.9 API bump this release needs.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
@endrix
endrix merged commit 34f5489 into main Nov 9, 2026
1 check passed
endrix added a commit that referenced this pull request Nov 9, 2026
- The load breadcrumb no longer has agent-enrichment phases: the
  skillStatus/skills/agents buckets, setEnrichment and the enrichment=
  field always read 0 or n/a. Its test pins that they are gone.
- Docs that described the deleted scan: both READMEs' debugging note
  (the one in the VSIX too), the caller-redelivery guard's comment and a
  toolkit test's comment.
- The CHANGELOG's release note names #137 and #139 among what needs the
  0.9 bump; the contribution-points entry no longer credits the platform
  with fixes to code that has left it.
- Tests: the neutral panel harness drops the viewer-editor bridge
  defaults only the @viewer template used; the node-section test that
  passed trivially (the platform has nothing that could draw agent
  sections) is gone; a new one pins that a redraw a contribution asks for
  tells the annotation editors not to request discovery again, which only
  wfpy-ide's tests checked after the agent UI left.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
endrix added a commit that referenced this pull request Nov 9, 2026
…139)

* refactor: the platform no longer discovers agent skills and presets

wfpy-ide asks its own host for an @agent task's skills and agent presets
(endrix/wfpy-ide#26, #27) and holds the agent workflow UI itself, so the
platform's copies go:

- Server: the per-load agent enrichment in WorkflowSourceModelStorage
  (about 400 lines: the warm-or-defer scan of .wf/skills, .claude/skills,
  ~/.claude/skills and the .claude/agents directories on every diagram
  load of every product, the skills and presets snapshots on the root,
  the skill status on @agent nodes, the cache, and the second model
  refresh it dispatched when the scan found something); the two discovery
  operation handlers (request-agent-skills-handler.ts,
  request-claude-agents-handler.ts) and their tests; the
  refresh-agent-enrichment- polling prefix.
- Client: the discovery requests, answers and their handlers' caches in
  editing-action-handlers.ts; src/agent-ui/ (agentUiModule), its tests and
  its path-import fixture. The contribution-point tests keep a neutral
  panel harness (test/panel-harness/) and exercise the points with their
  own probes.
- Toolkit tests: the enrichment deferral test, and the stub of
  applyAgentEnrichment the others carried.

The cal:agentSkillStatus key stays in the shared metadata for now:
wfpy-ide's Skill row still writes it. The load breadcrumb keeps its
skillStatus/skills/agents phases, which now read 0.

wfpy-ide main passes its 138 tests and builds its bundle against this
tree.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv

* fix: what the review of the discovery deletion turned up

- The load breadcrumb no longer has agent-enrichment phases: the
  skillStatus/skills/agents buckets, setEnrichment and the enrichment=
  field always read 0 or n/a. Its test pins that they are gone.
- Docs that described the deleted scan: both READMEs' debugging note
  (the one in the VSIX too), the caller-redelivery guard's comment and a
  toolkit test's comment.
- The CHANGELOG's release note names #137 and #139 among what needs the
  0.9 bump; the contribution-points entry no longer credits the platform
  with fixes to code that has left it.
- Tests: the neutral panel harness drops the viewer-editor bridge
  defaults only the @viewer template used; the node-section test that
  passed trivially (the platform has nothing that could draw agent
  sections) is gone; a new one pins that a redraw a contribution asks for
  tells the annotation editors not to request discovery again, which only
  wfpy-ide's tests checked after the agent UI left.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
endrix added a commit that referenced this pull request Nov 9, 2026
…ase reads it (#142)

What the review of #141 asked for and #141 merged without: the removal
under Removed, and #141 in the release note's list of what needs the 0.9
bump, as #137 is.

Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant