Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
The English summary is being prepared. Showing the original description.
Phase G of a WinForms-to-Avalonia migration: decompose oversized UI state and orchestration, harden asynchronous workflows and external boundaries, preserve composition lifetimes, keep Headless tests process-isolated, and update ownership documentation. Use only when an explicit migration has post-port structural or resilience debt, or when the orchestrator routes here. Baseline input security belongs in the phase that introduces the boundary, not only here.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Keep the Avalonia trunk secure and maintainable after features accumulate. Behavior-preserving structural changes preferred; ship large work as ordered PR slices.
Read decomposition checklist to select the tracks supported by code evidence; do not introduce a session/workspace abstraction by default.
Composition root
└── Main ViewModel (thin: commands + bindable projections)
└── State aggregate
├── Domain/application state
├── Interaction mode (typed, not flag soup)
├── Pending changes
├── Derived presentation state
└── Operation preferences
└── Workflow coordinators
└── Narrow collaborator ports
| Rule | Behavior |
|---|---|
| Revision | Monotonic; superseding work advances it |
| Progress | Apply only if revision current |
| Commit | Atomic if revision/context still match |
| Incremental update | Revision + context token match |
| Cancel | No partial mutation |
| Stale failure | Must not clobber newer state |
Require regression tests when touching this.
Move multi-step orchestration out of the ViewModel:
| Collaborator | Owns |
|---|---|
| Primary workflow coordinator | async state machine + revision |
| State transition service | selection/mode and structural changes when present |
| Presentation projection | derived view state and option snapshots |
| Status presenter | status, progress, and diagnostic formatting |
ViewModel remains INPC façade. Half-extraction ban: extracted modules must be wired or deleted.
Expect bridge/proxy lines to remain (bindings need VM properties).
Keep one command semantics on the ViewModel; code-behind contains only control/host adapters.
Shared long-lived services; identity tests if needed; controls re-bind when services arrive (not only constructor fallbacks for production hosts).
dotnet testProduct features → wfa-post-port-evolve
Legacy delete → wfa-parity-verify
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
The English summary is being prepared. Showing the original description.
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
The English summary is being prepared. Showing the original description.
Archive multiple completed changes at once. Use when archiving several parallel changes.
The English summary is being prepared. Showing the original description.
Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.
The English summary is being prepared. Showing the original description.
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
The English summary is being prepared. Showing the original description.
Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.
The English summary is being prepared. Showing the original description.