openpencil/crates
Fini aef03e5541 test(host): end-to-end actor-channel round-trip for DesignSession
Task #28 prep. The orchestrator side has its own end-to-end tests
under `crates/op-orchestrator/`, but the host's actor seam
(worker → mpsc → UI thread → ack → mirror update + Progress → chat
bubble) was only exercised piecewise by the three `RemoteDocSink`
tests. This adds a single end-to-end smoke that drives both
`pump_commands` + `pump_progress` from a fake worker thread against a
real `WidgetHostNative`, then asserts:

- Progress events rendered into the trailing assistant bubble
  (`• Planning…` line surfaces verbatim).
- `RunSummary::Ok` rendered as the `Done — K subtask(s) succeeded`
  trailer with `streaming = false`.
- `*current` cleared after `Done` so the event loop stops ticking
  at 33ms for this turn.

Internal hook: `DesignSession::from_channels` (cfg(test)) wraps
externally-supplied channels so a fake worker can drive the UI
pumps without spinning up `Orchestrator::run` / an `agent::Provider`
/ a live API key. Production path still goes through
`DesignSession::start`.

The full LLM smoke is documented separately in
openpencil-docs/superpowers/notes/2026-05-24-orchestrator-smoke-steps.md
— it needs `OPENPENCIL_ANTHROPIC_API_KEY` and can't live in cargo test.

cargo test -p op-host-desktop 106 passed (was 105). cargo fmt + clippy
--workspace -D warnings clean.
2026-05-24 15:35:25 +08:00
..
op-acp style: clear clippy lints for the workspace -D warnings gate 2026-05-17 23:12:16 +08:00
op-ai feat(ai): chat image attachments + per-provider thinking/effort 2026-05-17 22:44:28 +08:00
op-ai-skills style: clear clippy lints for the workspace -D warnings gate 2026-05-17 23:12:16 +08:00
op-app refactor(rust): add op-app composition-root crate 2026-05-16 23:57:03 +08:00
op-cli feat: close six TS-parity gaps in the Rust shell 2026-05-17 13:03:11 +08:00
op-codegen feat(editor): add Design-MD panel and complete i18n coverage 2026-05-19 22:29:22 +08:00
op-design-lint Merge branch 'v0.8.0-new' of github.com:ZSeven-W/openpencil into v0.8.0-new 2026-05-24 13:03:26 +08:00
op-editor-core fix(panels): keep image fill popover interactive 2026-05-24 14:01:39 +08:00
op-editor-ui fix(panels): keep image fill popover interactive 2026-05-24 14:01:39 +08:00
op-figma feat(editor): add Design-MD panel and complete i18n coverage 2026-05-19 22:29:22 +08:00
op-git Merge branch 's3a-orchestrator' into v0.8.0-new 2026-05-23 01:27:30 +08:00
op-host-desktop test(host): end-to-end actor-channel round-trip for DesignSession 2026-05-24 15:35:25 +08:00
op-host-native fix(panels): keep image fill popover interactive 2026-05-24 14:01:39 +08:00
op-host-web fix(panels): keep image fill popover interactive 2026-05-24 14:01:39 +08:00
op-i18n Merge branch 's3a-orchestrator' into v0.8.0-new 2026-05-23 01:27:30 +08:00
op-mcp fix(editor): wire rust ui interactions 2026-05-24 12:57:32 +08:00
op-opmerge Merge branch 's3a-orchestrator' into v0.8.0-new 2026-05-23 01:27:30 +08:00
op-orchestrator Merge branch 'v0.8.0-new' of github.com:ZSeven-W/openpencil into v0.8.0-new 2026-05-24 00:39:09 +08:00
op-pen-loader fix(canvas): render image fills on canvas 2026-05-23 23:48:11 +08:00
wasm-libc-shim fix: clear clippy -D warnings across the workspace 2026-05-17 01:26:29 +08:00
CLAUDE.md docs: fix stale i18n + renderer paths flagged by Codex review 2026-05-16 15:45:54 +08:00