SDT/ROADMAP.md

8.1 KiB

SDT Roadmap / Kanban

Done (v1.2 Stabilization)

  • Python-first runtime for diagnostics/build wrappers
  • Config bootstrap generator for missing devtool.json
  • Workflow-first execution + dual schema support
  • Strict legacy mode default (targets-only blocked)
  • Compatibility escape hatch (SDT_LEGACY_MODE=compat)
  • Auto-generated migration preview (devtool.generated.workflows.json)
  • In-app migration action: Migrate legacy targets -> workflows
  • Centralized requirement inference (RequirementResolver)
  • Installer planning precedence + fallback resilience
  • Windows resolver hardening (%VAR% PATH expansion)
  • Resolver tracing surfaced in probe details
  • Secure diagnostics default (allowlist-only env capture)
  • Workspace external project add flow
  • Shared run event stream (RunEvent) across workflow + debug execution
  • TUI event rendering layer wired on top of core run events (GUI-readiness slice)
  • Persist run-event stream to JSONL for external GUI/client consumption (.sdt/events/*.jsonl)
  • TUI events viewer for persisted run-event logs (SYSTEM -> View run events)
  • Config doctor (SYSTEM -> Run config doctor)
  • Doctor autofix actions (create missing working dirs + invoke legacy migration)
  • Rich probe diagnostics panel in workflow failure summary
  • Enhanced Tauri fallback guidance (Windows/macOS/Linux package manager aware)
  • First-run setup wizard + completion state marker (.sdt/setup-state.json)
  • Toolchain hardening: probe diagnostics + toolchain doctor + auto-fix missing tools
  • Workspace-level defaults file layering (sdt-defaults.json) above per-project devtool.json
  • Add dedicated TUI "Events" viewer for last run
  • Add doctor autofix actions for common issues (missing dirs, legacy schema migration)
  • Env profiles (dev, ci, release) with deterministic merge order and runtime selection
  • Managed secrets redaction policy for diagnostics bundles (env + output patterns)
  • Setup wizard for first run (bootstrap + tool fixes)
  • Improve setup wizard to handle more edge cases and missing tools for projects
  • Add support for more project types
  • Add support for more tool types
  • Add support for more environment types
  • Add support for more environment variables
  • Favorites/quick actions across projects
  • Legacy PowerShell fallback made opt-in (SDT_PWSH_LEGACY_FALLBACK=1), Python reroute remains default
  • Bootstrap now resolves dotnet working directory from nearest .slnx/.sln/.csproj in multi-project roots
  • Bootstrap filters node/npm detection to runnable package scripts (avoids dependency-only package.json false positives)
  • Action layer now skips non-applicable stacks (npm/cargo/tauri/dotnet) instead of hard-failing
  • publish-output.py now auto-skips non-detected sidecar/web/gateway/tauri stacks in generic repos
  • Add workflow route verifier script (scripts/verify-workflow-routes.py) for static path checks + optional headless execution replay
  • Wire workflow route verifier into CI reliability matrix (.github/workflows/reliability-matrix.yml)

In Progress (next focus)

  • Execute full OS matrix verification on Windows/Linux/macOS runners
  • Native GUI shell over headless core services (Tauri-first in v1.x; Avalonia re-evaluate later)
  • GUI parity phase 1 bridge foundation shipped (sdt bridge --stdio + DevTool.Host.Bridge)
  • GUI debug + failure UX slice shipped (debug run, failure card, run context/lifecycle panel)
  • GUI history/events/env/doctor/setup-plan read views shipped via bridge methods
  • GUI workspace project switcher shipped (configured projects -> set active context)
  • GUI favorite quick action runner shipped (run favorite directly from workspace panel)
  • GUI workspace/favorites search/filter/sort ergonomics shipped
  • GUI "Switch + Run" one-click action shipped from configured projects list
  • GUI view preferences persisted (workspace-scoped filters/sorts/context defaults)
  • GUI workspace/favorites advanced grouping shipped (tool/path + project/workflow views)
  • GUI workspace/favorites bulk actions shipped (bulk run filtered projects/favorites, bulk remove filtered favorites)
  • GUI setup actions shipped (apply autofix dirs, apply legacy migration, apply recommended config with backup)
  • GUI keyboard refinements shipped (Ctrl+K command palette, ? shortcut help)
  • GUI env profile editor shipped (select/load, set-active, create/update profile values)
  • Create dedicated src/DevTool.Host.Gui/TauriShell scaffold to keep GUI work isolated from TUI/core
  • Bootstrap first Tauri command bridge: sdt workspace scan --json
  • Structural refactor to domain-separated projects under src/ (DevTool.Engine, DevTool.Runtime, DevTool.Host.Tui)
  • Add second Tauri bridge command: sdt run <workflowId> --json with live stream panel
  • Remove legacy PowerShell wrappers in v2
  • Add workspace project inventory model (all .slnx/.sln/.csproj) for GUI/TUI multi-project selector
  • Expand GUI command palette coverage across workspace/run/setup/history/events/favorites actions
  • Add full GUI env var definition editor parity (env[] model editing with validation)

Next Sprint (v1.3 UX Foundation)

  • Define stable event contract version (run_event_version) and publish schema docs
  • Add --json/headless execution mode for workflow/debug runs (machine-readable progress + result)
  • Add TUI command palette (Ctrl+K) for quick action/run/switch project
  • Add unified failure card: What failed, Why, Exact fix command, Retry action
  • Add non-interactive install mode for CI/headless (SDT_NONINTERACTIVE=1)
  • Add per-run execution context block in TUI (project, envProfile, cwd, tool resolution source)
  • Add cross-platform keybinding help screen (?) and normalize shortcuts across Windows/macOS/Linux terminals
  • Add terminal capability fallback modes (no color/no unicode/no emoji safe rendering)
  • Add workspace quick-action pinning from run results and events viewer
  • Add run history browser with re-run from prior execution context

v1.3 Reliability Matrix

  • Add project-type matrix coverage tests (dotnet, node/npm, tauri/cargo)
  • Add deterministic headless stop-reason/exit-code tests
  • Execute full OS matrix verification on Windows/Linux/macOS runners
  • 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

  • One mental model for all surfaces: Plan -> Probe -> Prompt -> Execute -> Diagnose
  • Every failure must include a copy-pastable remediation command
  • No blocking hidden prompts from package managers (always explicit/non-interactive flags where possible)
  • Keep TUI and future GUI on the same core events/state, not duplicated execution logic
  • 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

  • GUI runtime direction locked for current phase: Tauri-first now
  • Keep headless core + JSON/event contracts as the shared backend authority
  • 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