@@ -461,7 +461,65 @@ specsmith can now improve itself via `specsmith agent improve <task>`. Use it fo
461461- [ ] Agent tab: populate model dropdown from provider API
462462- [ ] Agent tab: pre-fill defaults from Global Settings
463463- [ ] Interactive architecture/requirements gap fixing
464- - [ ] Git diff coloring in chat (green/red)
465464- [ ] Agent task visualization panel
466465- [ ] GPU support: AMD ROCm, Apple M, Intel Arc, CPU fallback detection
467- - [ ] Phase 4: feature flags, instinct, eval, memory, multi-agent, server, Theia
466+ - [ ] Phase 4: feature flags, instinct, eval, memory, multi-agent, Theia
467+
468+ ---
469+
470+ ## Session 2026-04-22 (cont.) \u2014 Service Mode, Settings Overhaul, Stable Release
471+
472+ ** Status:** Complete
473+ ** Branch:** develop \u2192 main
474+ ** Releases:** specsmith v0.3.13, specsmith-vscode v0.3.15
475+
476+ ### What changed
477+
478+ ** specsmith (Python CLI):**
479+ - ` specsmith serve --port 8421 ` \u2014 persistent HTTP server (stdlib, zero deps).
480+ SSE event stream, POST /api/send, GET /api/status. Keeps Python + Ollama warm.
481+ - EXEC-001 rule in agent system prompt (no python -c for non-trivial code)
482+ - Supplementary rules audit (check_supplementary_rules in auditor.py)
483+ - Minimal startup protocol \u2014 no tools, no audit, just greeting
484+ - Broader JSON filtering (suppress structured status/action JSON from LLM)
485+ - Version bumped to 0.3.13 for pre-release channel
486+ - CI fixes: ruff lint/format, mypy type errors, conftest.py SIM105
487+
488+ ** specsmith-vscode (VS Code extension):**
489+ - ** Service mode** : Ollama keep-alive pings (3min), ProcessPool (10min idle),
490+ HTTP client auto-detects specsmith serve on localhost:8421
491+ - ** Platform-agnostic operations** : all pip/Ollama ops use cp.spawn (no shell).
492+ Removed all PowerShell/bash-specific code.
493+ - ** Settings panel overhaul** :
494+ - Version marker file (.specsmith-version) for instant version detection
495+ - Smart install tracking: polls version, inline Restart button
496+ - Channel switch: auto-check, show Install button for any version difference
497+ - Ollama upgrade: downloads OllamaSetup.exe via Node https, runs /SILENT
498+ - Update banner: shows both specsmith + Ollama updates with tab links
499+ - Auto-check on every panel reveal
500+ - Ollama tab matches specsmith UI (Check/Install/Last check)
501+ - ** Session panel** :
502+ - Tool-call JSON regression fixed (filter raw JSON from llm_chunk)
503+ - Startup busy state (setBusy(true) on ready, cleared by turn_done)
504+ - Accept All only after 2+ proposals
505+ - VCS bar: +additions (green) / -deletions (red), merged token stats
506+ - Governance check shows Fix Now / Skip proposal buttons
507+ - Broader proposal detection (i recommend, i suggest, etc.)
508+ - Removed chat spam (VCS state, starting session messages)
509+ - ** Bug fixes** :
510+ - SettingsPanel esbuild regression (\\ ' \u2192 ' ; in onclick)
511+ - _ parseVer NaN for .devN builds (parseInt('dev') \u2192 parseInt(m[ 5] ))
512+ - pip downgrade from pre-release (--force-reinstall)
513+ - Stale version marker invalidation
514+ - Corrupted pip temp dir cleanup (~ pecsmith)
515+ - spawn EPERM/EBUSY handling
516+ - Mocha upgraded to 11.3.0 (jsdiff DoS fix)
517+
518+ ### Verification
519+ - specsmith: 249 tests pass, ruff clean, mypy clean, CI green
520+ - specsmith-vscode: 23 tests pass, tsc clean, esbuild clean, CI green
521+ - 0 open issues on both repos
522+ - Pre-release 0.3.13.dev215 published to PyPI
523+
524+ ### Next step
525+ Phase 4: feature flags, instinct/learning, eval harness, agent memory, multi-agent coordination via AG2 GroupChat.
0 commit comments