119 lines
8.1 KiB
Markdown
119 lines
8.1 KiB
Markdown
# SDT Roadmap / Kanban
|
|
|
|
## Done (v1.2 Stabilization)
|
|
|
|
- [x] Python-first runtime for diagnostics/build wrappers
|
|
- [x] Config bootstrap generator for missing `devtool.json`
|
|
- [x] Workflow-first execution + dual schema support
|
|
- [x] Strict legacy mode default (`targets`-only blocked)
|
|
- [x] Compatibility escape hatch (`SDT_LEGACY_MODE=compat`)
|
|
- [x] Auto-generated migration preview (`devtool.generated.workflows.json`)
|
|
- [x] In-app migration action: `Migrate legacy targets -> workflows`
|
|
- [x] Centralized requirement inference (`RequirementResolver`)
|
|
- [x] Installer planning precedence + fallback resilience
|
|
- [x] Windows resolver hardening (`%VAR%` PATH expansion)
|
|
- [x] Resolver tracing surfaced in probe details
|
|
- [x] Secure diagnostics default (allowlist-only env capture)
|
|
- [x] Workspace external project add flow
|
|
- [x] Shared run event stream (`RunEvent`) across workflow + debug execution
|
|
- [x] TUI event rendering layer wired on top of core run events (GUI-readiness slice)
|
|
- [x] Persist run-event stream to JSONL for external GUI/client consumption (`.sdt/events/*.jsonl`)
|
|
- [x] TUI events viewer for persisted run-event logs (`SYSTEM -> View run events`)
|
|
- [x] Config doctor (`SYSTEM -> Run config doctor`)
|
|
- [x] Doctor autofix actions (create missing working dirs + invoke legacy migration)
|
|
- [x] Rich probe diagnostics panel in workflow failure summary
|
|
- [x] Enhanced Tauri fallback guidance (Windows/macOS/Linux package manager aware)
|
|
- [x] First-run setup wizard + completion state marker (`.sdt/setup-state.json`)
|
|
- [x] Toolchain hardening: probe diagnostics + toolchain doctor + auto-fix missing tools
|
|
- [x] Workspace-level defaults file layering (`sdt-defaults.json`) above per-project `devtool.json`
|
|
- [x] Add dedicated TUI "Events" viewer for last run
|
|
- [x] Add doctor autofix actions for common issues (missing dirs, legacy schema migration)
|
|
- [x] Env profiles (`dev`, `ci`, `release`) with deterministic merge order and runtime selection
|
|
- [x] Managed secrets redaction policy for diagnostics bundles (env + output patterns)
|
|
- [x] Setup wizard for first run (bootstrap + tool fixes)
|
|
- [x] Improve setup wizard to handle more edge cases and missing tools for projects
|
|
- [x] Add support for more project types
|
|
- [x] Add support for more tool types
|
|
- [x] Add support for more environment types
|
|
- [x] Add support for more environment variables
|
|
- [x] Favorites/quick actions across projects
|
|
- [x] Legacy PowerShell fallback made opt-in (`SDT_PWSH_LEGACY_FALLBACK=1`), Python reroute remains default
|
|
- [x] Bootstrap now resolves dotnet working directory from nearest `.slnx/.sln/.csproj` in multi-project roots
|
|
- [x] Bootstrap filters node/npm detection to runnable package scripts (avoids dependency-only `package.json` false positives)
|
|
- [x] Action layer now skips non-applicable stacks (`npm`/`cargo`/`tauri`/`dotnet`) instead of hard-failing
|
|
- [x] `publish-output.py` now auto-skips non-detected sidecar/web/gateway/tauri stacks in generic repos
|
|
- [x] Add workflow route verifier script (`scripts/verify-workflow-routes.py`) for static path checks + optional headless execution replay
|
|
- [x] Wire workflow route verifier into CI reliability matrix (`.github/workflows/reliability-matrix.yml`)
|
|
|
|
## In Progress (next focus)
|
|
|
|
- [ ] Execute full OS matrix verification on Linux runners
|
|
- [ ] Native GUI shell over headless core services (Tauri-first in v1.x; Avalonia re-evaluate later)
|
|
- [x] GUI parity phase 1 bridge foundation shipped (`sdt bridge --stdio` + `DevTool.Host.Bridge`)
|
|
- [x] GUI debug + failure UX slice shipped (debug run, failure card, run context/lifecycle panel)
|
|
- [x] GUI history/events/env/doctor/setup-plan read views shipped via bridge methods
|
|
- [x] GUI workspace project switcher shipped (configured projects -> set active context)
|
|
- [x] GUI favorite quick action runner shipped (run favorite directly from workspace panel)
|
|
- [x] GUI workspace/favorites search/filter/sort ergonomics shipped
|
|
- [x] GUI "Switch + Run" one-click action shipped from configured projects list
|
|
- [x] GUI view preferences persisted (workspace-scoped filters/sorts/context defaults)
|
|
- [x] GUI workspace/favorites advanced grouping shipped (tool/path + project/workflow views)
|
|
- [x] GUI workspace/favorites bulk actions shipped (bulk run filtered projects/favorites, bulk remove filtered favorites)
|
|
- [x] GUI setup actions shipped (apply autofix dirs, apply legacy migration, apply recommended config with backup)
|
|
- [x] GUI keyboard refinements shipped (`Ctrl+K` command palette, `?` shortcut help)
|
|
- [x] GUI env profile editor shipped (select/load, set-active, create/update profile values)
|
|
- [x] Create dedicated `src/DevTool.Host.Gui/TauriShell` scaffold to keep GUI work isolated from TUI/core
|
|
- [x] Bootstrap first Tauri command bridge: `sdt workspace scan --json`
|
|
- [x] Structural refactor to domain-separated projects under `src/` (`DevTool.Engine`, `DevTool.Runtime`, `DevTool.Host.Tui`)
|
|
- [x] Add second Tauri bridge command: `sdt run <workflowId> --json` with live stream panel
|
|
- [x] Add workspace project inventory model (all `.slnx/.sln/.csproj`) for GUI/TUI multi-project selector
|
|
- [x] Expand GUI command palette coverage across workspace/run/setup/history/events/favorites actions
|
|
- [x] Add full GUI env var definition editor parity (`env[]` model editing with validation)
|
|
|
|
## Next Sprint (v1.3 UX Foundation)
|
|
|
|
- [x] Define stable event contract version (`run_event_version`) and publish schema docs
|
|
- [x] Add `--json`/headless execution mode for workflow/debug runs (machine-readable progress + result)
|
|
- [x] Add TUI command palette (`Ctrl+K`) for quick action/run/switch project
|
|
- [x] Add unified failure card: `What failed`, `Why`, `Exact fix command`, `Retry action`
|
|
- [x] Add non-interactive install mode for CI/headless (`SDT_NONINTERACTIVE=1`)
|
|
- [x] Add per-run execution context block in TUI (`project`, `envProfile`, `cwd`, `tool resolution source`)
|
|
- [x] Add cross-platform keybinding help screen (`?`) and normalize shortcuts across Windows/macOS/Linux terminals
|
|
- [x] Add terminal capability fallback modes (no color/no unicode/no emoji safe rendering)
|
|
- [x] Add workspace quick-action pinning from run results and events viewer
|
|
- [x] Add run history browser with re-run from prior execution context
|
|
|
|
## v1.3 Reliability Matrix
|
|
|
|
- [x] Add project-type matrix coverage tests (`dotnet`, `node/npm`, `tauri/cargo`)
|
|
- [x] Add deterministic headless stop-reason/exit-code tests
|
|
- [ ] Execute Full OS matrix verification on Linux runners because the linux runner in theory should be able to be able to build/publish/release to windows/linux/ macos (but fuck apple.)
|
|
- [x] Publish reliability matrix runbook + results artifact in docs
|
|
- Blocked in current local workspace: no `.git` repo context and no `gh` CLI/auth; execute from Git-connected checkout.
|
|
- v1.4 policy: ship Windows/Linux, macOS delegated with checklist in `docs/matrix-status.md`.
|
|
|
|
## Cross-Platform UX Principles
|
|
|
|
- [x] One mental model for all surfaces: `Plan -> Probe -> Prompt -> Execute -> Diagnose`
|
|
- [x] Every failure must include a copy-pastable remediation command
|
|
- [x] No blocking hidden prompts from package managers (always explicit/non-interactive flags where possible)
|
|
- [x] Keep TUI and future GUI on the same core events/state, not duplicated execution logic
|
|
- [x] Preserve deterministic behavior across shell/env differences via explicit working directory + env profile display
|
|
- [ ] Remove legacy PowerShell wrappers in v2
|
|
|
|
## Current Milestone Status
|
|
|
|
- v1.1 expansion items shipped partially (debug profiles + diagnostics + workspace add external)
|
|
- Robustness Sprint v1.2: **complete**
|
|
- v1.3 workstreams A/B/C: **complete**
|
|
- v1.3 workstream D: **in progress** (matrix test suite implemented; cross-OS execution pending)
|
|
- v1.3 UX foundation backlog items: **complete**
|
|
- Remaining gaps for broader AIO vision are GUI shell, cross-OS matrix run completion, and advanced orchestration scale.
|
|
|
|
## GUI Decision Record
|
|
|
|
- [x] GUI runtime direction locked for current phase: **Tauri-first now**
|
|
- [x] Keep headless core + JSON/event contracts as the shared backend authority
|
|
- [x] Defer Avalonia shell implementation to a re-evaluation checkpoint after Tauri shell proves workflow/debug/event parity
|
|
- [ ] Avalonia re-evaluation gate criteria documented and reviewed after first Tauri shell milestone
|