Releases: amemiya02/deepseekcode
Releases · amemiya02/deepseekcode
v0.4.1
Changelog
- 617524d Merge branch 'feat/gui-deepseekgui-fidelity' into main
- 4ec3a14 docs(cache): record empirically measured DeepSeek cache block unit
- adf43d3 feat(cache): add [cache] align_unit config (default 0/off)
- 7e9f668 feat(cache): compaction-only Epoch enabling compact_reset attribution (M3)
- a91e28b feat(cache): emit per-turn cache receipt to trace inspect (M1 wiring)
- 1810ec8 feat(cache): four-cause miss attribution receipt (reasonix A-group M1)
- 71b3a28 feat(cache): gated FIM cheap-edit fast path, default off (M5)
- b2490df feat(cache): head-to-head four-cause cost benchmark harness (M6)
- 4371897 feat(cache): isolate second-model (Duet/route) cache session test (M4)
- 9d04a8d feat(cache): observable compaction frequency + archival of dropped turns (M3)
- 3fbcaae feat(cache): window-aware compaction timing toward 1M (M3)
- 836d03a feat(cache): wire cacheunit block alignment into prefix assembly (M2)
- 63d3169 feat(git): wire GitBranchPicker to real git branch listing and checkout
- d93b75c feat(review): per-file approve/reject + permission tier control (A4+A5)
- 9cb4163 feat(tui): clean-room guard test — no crush imports (TU5)
- 0ebf803 feat(tui): file-picker dialog (TU3.4)
- aee75a2 feat(tui): four-cause cache-cost HUD with graceful degrade (TU4)
- 5f8e5f7 feat(tui): inline edit diff in approval card (TU3.1)
- a07e5a8 feat(tui): per-tool rich card renderers (TU1b)
- 769e509 feat(tui): quit-confirm dialog (TU3.3)
- cb6c4d9 feat(tui): reasoning-effort picker overlay (TU3.2)
- 274b545 feat(tui): route tool transcript items through RenderTool cards (TU1c)
- 2f8971a feat(tui): split DiffView with width-based auto-select (TU2)
- 5cf047f feat(tui): tool-card registry + default card (TU1a)
- 8132010 feat(upload): real attachment pipeline — files reach the workspace AND the model
- 1c1e5f4 feat(web): /goal long-running goal panel (B3)
- d39901b feat(web): DeepSeek-GUI pane sizing + spacing rhythm + empty states (P0.7)
- 8853799 feat(web): SDD new-requirement flow panel (B2)
- 077ac93 feat(web): accent discipline — blue only for actionable, neutral inline code (P0.3)
- dba636a feat(web): capabilities introspection + runtime banner (B4)
- c313fec feat(web): composer glass shell + glow + focus ring (P0.5)
- 36a12f3 feat(web): git branch picker in topbar (A3)
- babd407 feat(web): glass surfaces + body glaze + topbar gradient (P0.2)
- 4f3685a feat(web): lightweight dismissible update banner (P0.6)
- 91613f9 feat(web): live message timeline with distinct block types (A2)
- e029e5e feat(web): mode-tab shell in topbar (A1)
- 1f89921 feat(web): progressive MCP discovery panel (B1)
- bdf6770 feat(web): systematic motion language (lift/press/pulse/shimmer) + reduced-motion (P0.1)
- 1fcbb24 feat(web): theme-adaptive code blocks (light/dark), flip always-obsidian island (P0.4)
- 33736cc fix(agent): lazy Events() bridge — unconsumed compat channel wedged GUI permission asks
- c89a2dd fix(agent): ring-buffer Events() compat forwarding — supersedes the lazy bridge
- bb1562f fix(cache): address review findings — real M4 test, wire TailTokens, end-to-end epoch test, align_unit default 128, migrate to PadTextConcat
- 2dbc63b fix(cache): revert align_unit default to 0 — benefit unproven by benchmark
- b82a8a6 fix(cleanup): remove SddPanel + GoalPanel (no backend APIs, dead code)
- 6cc1d9e fix(cleanup): remove orphaned ModeTabs.tsx + test (dead code from Write-mode removal)
- 6f7c2f2 fix(composer): WebKit-safe IME guard — Enter that drives the IME never sends
- fb162db fix(gateway): deriveTitle no longer panics on long CJK prompts
- 8bd6b67 fix(gui): make composer model/effort/mode selections actually apply to the agent
- da2dfb2 fix(test): drain Shutdown helper goroutines before returning
- 7d76b1b fix(tui): apply DeepSeek brand accents to tool card status glyphs and headers
- 7376394 fix(tui): wire MissCauses from CacheReceipt into live status HUD
- 880eeac fix(tui): wire dialog triggers — quit-confirm, file-picker, effort picker
- 1bb6121 fix(ui): Codex-style inline approvals — kill the screen-blanking PermissionModal
- ff01cd5 fix(ui): queue concurrent permission requests — one gate per request, in order
- bf7041c fix(ui): remove RuntimeBanner, PermissionTier from composer, compact GitBranchPicker
- 6d3281f fix(ui): remove duplicated bottom tool-call timeline + chat lane fills the zone
- 2888c17 fix(ui): strip telemetry from messages, file upload feedback, review pane closed by default
- 9dd79ce fix(web): type fix in tokens.test.ts (as const for mode literal)
- b1e0c72 fix(wire): connect CapabilitiesView + RuntimeBanner to real APIs (B4)
- 420c349 fix(wire): connect McpDiscovery to real mcpSearch/mcpCall API (B1)
- 2f7f769 fix(wire): mount CapabilitiesView in settings + RuntimeBanner in App (B4)
- c2c8741 fix(wire): mount PermissionTier in Composer + wire TitleBar + McpDiscovery (A1,A3,A5,B1)
- cb41839 fix(wire): mount SddPanel + GoalPanel in App (B2, B3)
- 6dd5d3b fix(wire): remove ModeTabs Code/Write toggle — no Write mode needed
- 56e22b0 fix(wire): render MessageTimeline in Transcript (A2)
v0.4.0
Changelog
- 95a765d Create CNAME
- 0e063be Delete CNAME
- e536a10 Merge pull request #4 from amemiya02/feat/cache-savings-demo
- bdab6e5 Merge pull request #5 from amemiya02/feat/routing-clarify-exposure
- 8520a25 Merge pull request #6 from amemiya02/feat/reasonix-competitive-proof
- 61082b7 Merge pull request #7 from amemiya02/feat/industrial-plans-execution
- e66b6bf Merge remote-tracking branch 'origin/main'
- 20e4b1b Revert "feat(agent): fire cost-driven body compaction in maybeCompact"
- ad39e99 Revert "feat(compact): ShouldCompactBody cost-driven trigger + tests"
- 86da8c5 Revert "feat(compact): add cost-driven BodyTokenBudget config (disabled until wired)"
- f24d88f add cname
- f591992 build(desktop): self-contained macOS .app packaging for
make desktop - 3ee5f84 build(web): React 18 + Vitest jsdom + jest-dom toolchain (wave 3)
- d0c9279 build(web): add React 18 + react-markdown/katex/monaco/lucide + testing-library deps for Wave 2
- 5411436 build(web): convert toolchain Svelte->React (vite-plugin-react, tsx, RTL+jest-dom); drop svelte SPA
- 69232ba build: add build-web/install-web targets; embed SPA in desktop build (-tags withwebapp)
- 42c2cd1 build: add ci target combining web-test and go test
- 7708e6d build: add make web and web-test targets
- 91ab174 chore(bench): remove stray doubled-path bench/bench/ trace
- 7b7cd2d chore(demo): address low-severity review nits
- 251e305 chore(demo): gitignore live results.json
- 38d0de6 chore(desktop): Phase 1 verification fixups
- dd2001f chore(gitignore): collapse dated competitive-doc entries into directory glob
- 75d9c20 chore(llm): all provider tests green
- 60580ef chore(llm): untrack scope-creep artifacts from Task H commit
- 9053d89 chore(release): prune internal docs, refresh bilingual README, bump to v0.4.0
- 295eab3 chore(web): remove unused empty-convo chips + polish SessionRail/Transcript
- 59945f6 chore(web/p3.2b): drop stale cycle-theme e2e tests + truthful Duet deny copy
- 2f7cf78 docs(cache): document §3.4/§3.6 status and correct §3.7 (done)
- 3c65a12 docs(cache): wire-body-diff capture + diff usage
- 14a2eb6 docs(competitive): add 3-arm cache A/B benchmark runbook
- 9f28689 docs(competitive): add Lever D (code-mode) head-to-head result
- 2a2c1f4 docs(competitive): detailed controlled-experiments compendium (raw per-run data)
- 588fb4c docs(competitive): drop run-1; keep clean code-mode run as sole figure
- f640159 docs(competitive): honest cache-cost head-to-head findings vs Reasonix
- 509c2d7 docs(competitive): record read-only dsc-vs-reasonix head-to-head
- 9818245 docs(desktop): checkpoint/rewind disclaimer (bash/external edits untracked; git is source of truth)
- dfca8a0 docs(readme): add measured cache-savings numbers (86.8% / 3.8x)
- 24a80b4 docs(readme): refresh cache number (94.7% / 4.5x, reproducible) + --auto-route + honest tau-bench parity note
- 2f623aa feat(acp): SessionManager.Steer — forward mid-turn steering to the live agent
- 7ca8553 feat(acp): add AgentAdapter bridging internal/agent to AgentRunner
- 212d966 feat(acp): add Content-Length framed transport
- 2772f68 feat(acp): add HTTP+SSE gateway
- eeae378 feat(acp): add RealAgentFactory wiring config+permissions+agent
- 4567a87 feat(acp): add SessionManager with AgentRunner interface
- abbd99c feat(acp): add dsc serve --acp/--http subcommand
- a2817bc feat(acp): add stdio JSON-RPC ACPServer dispatcher
- c8c3504 feat(acp): define ACP JSON-RPC types
- e8352e3 feat(acp): widen AgentEvent vocabulary for interactive gateway events
- 2be2fe2 feat(agent): add BranchAt / resolveBranchBoundary for checkpoint forking
- e42167e feat(agent): add CheckpointIndex for named checkpoint tracking
- 7ff1cfa feat(agent): add Compact(ctx) method, RunCompact helper, and --compact subcommand
- b1ddf13 feat(agent): add StopVerifiedDone stop reason
- 5f6ede7 feat(agent): add VerifyHook post-step verification command runner
- cd01b4d feat(agent): add WarmthNotice formatter for cross-session cache-warmth hint
- 520394d feat(agent): cross-session cache-warmth predicate
- 0ce76d6 feat(agent): fire cost-driven body compaction in maybeCompact
- 2d63821 feat(agent): intent-clarify gate predicate (off by default)
- 58c9930 feat(agent): mid-turn Steer — inject user instruction at next step boundary
- 8821c0c feat(agent): routeTurn helper mapping routing.Decision to request fields
- 0cafabf feat(agent): selectable ThinkingMode (on/off/adaptive) for cost A/B
- 59e45a4 feat(agent): wire CheckpointIndex into Agent.RecordCheckpoint
- e07ba32 feat(agent): wire VerifyHook into agent loop post-step and stop promotion
- 37f3f46 feat(agent): wire cost-aware routeTurn into request construction (off by default)
- 2cf7520 feat(agent): wire cost-aware routeTurn into request construction (off by default)
- bc1174b feat(agent): wire intent-clarify gate into the run loop (off by default)
- b10b858 feat(agent,cli): wire cross-session cache-warmth notice at session start
- 9b9c2a0 feat(bench): add drift arm to cachedemo (mid-session tool append busts prefix)
- 06a87dd feat(bench): per-run nonce in cachedemo busting arms for reproducible A/B
- e31eeae feat(bench): production-scale prefix option for cache-drift demo
- 0e48038 feat(cache): §3.4 cache-unit prefix padding inside the frozen epoch (gated on measured unit)
- 9f27b44 feat(cache): §3.6 boundary-aligned compaction + frozen-prefix guard test
- e573d4b feat(cacheprobe): measure DeepSeek effective cache-unit granularity
- b7632da feat(cacheunit): prefix alignment math for V4 compression-block boundaries
- a1a4376 feat(cli): add --auto-route/--auto-clarify/--escalation-model flags
- c19fca3 feat(cli): add dsc trace diff-body subcommand
- b485a4b feat(cli): wire AutoRoute/AutoClarify onto the agent in both run paths
- 8ddd53e feat(cmd): add --resume-at flag for checkpoint-based session resume
- c93c566 feat(cmd): add --verify-cmd flag for in-loop verification
- 8462c14 feat(cmd): register spawn_batch tool in main tool registry
- 612935d feat(cmd): wire dsc init and dsc doctor subcommands + first-run onboarding gate
- 8ab044c feat(cmd/dsc): add cache explain subcommand
- 1a9e6dd feat(cmd/dsc): wire NewClientWithEnv and i18n.ReloadLocale at startup
- 0c4451a feat(codegraph): add Index with Rebuild, Search, Callers, Callees, Impact
- 21ce975 feat(codegraph): add LatentInjector with boundary-position safety test
- be27f95 feat(codegraph): add Node/Edge/Store types
- 8c122e7 feat(codegraph): add PageRank centrality ranking over CALLS edges
- 52aa0a0 feat(codegraph): add go/ast parser producing nodes and CALLS edges
- 447f902 feat(codegraph): add integration smoke test and document agent startup wiring
- 3ad7105 feat(commands): add /checkpoint and /branch argument parsers
- 80c6b9a feat(compact): ShouldCompactBody cost-driven trigger + tests
- 9d5bd96 feat(compact): add cost-driven BodyTokenBudget config (disabled until wired)
- 41ccc5e feat(config): add MCPServer...
v0.3.7
Changelog
- 80b32ed Enhance MCP and LSP server status management
- 48e1fdb feat(agent): implement post-edit diagnostics feedback mechanism
- 8a1dbfe feat(tokenizer): add count cache and refine pretokenize/template
- f68a3bd feat(tui): add contrast module and refresh render surface
- e187519 feat: Add permissions overlay and notification system for agent events
- 2bbec6f feat: Enhance MCP transport with Done channel and add schema flattening functionality
v0.3.6
v0.3.4
Changelog
- 3195c5e Add pricing metadata tests, corpus handling, and usage summary features
- 0bb086d feat(tui): add account balance display and related functionality
- b96b4b7 feat(tui): add tests for /clear functionality and ensure render cache invalidation
- fa2005d feat: enhance DeepSeek capabilities with reasoning effort and user ID support
v0.3.3
Changelog
- d5c9ff7 Refactor TUI components and enhance markdown rendering
- e155305 Remove v2 API notes document as it is no longer needed.
- 2730914 fix(config): use UserConfigDir in StatePath, set USERPROFILE in tests for Windows CI
- e76c337 refactor(logo): simplify logo rendering and remove brand/version repetition test(logo): update tests to ensure brand/version are not repeated in output refactor(markdown): improve rendering logic for stable prefix handling test(markdown): add test to verify streaming markdown does not drop content test(welcome): ensure welcome logo does not repeat brand in wide output
v0.3.2
Changelog
- 2be40ae chore(docs): update baseline version to v0.3.1 in README files
- 959d81b feat(help): implement tabbed help interface with navigation and content organization
- 9cd8e35 feat(tui): enhance overlay rendering and add selection colors for improved UI
- 748759b feat: add theme switching command and enhance slash command submission
- 4acde00 feat: implement theme switching and preview functionality
v0.3.1
v0.3.0
Changelog
- e3464da Implement dynamic textarea placeholder and prompt queueing features
- a177e07 Merge pull request #3 from amemiya02/feat/tui-beautify
- 2de4985 feat(docs): add intent levels table to bash validation documentation
- 157f26f feat(release): enable Homebrew tap, Scoop bucket, and fix install URL
- 6cbfba3 feat(tui): add Shift+Enter binding to insert newline in textarea
- 3c3272d feat(tui): beautification pass — owned canvas, panels, badges, rich diffs
- 2c587b2 fix(tui): calm inline-code style + repair the 'press e to expand' affordance
- 5e5e2a3 fix(tui): normalize CRLF in golden file reads for Windows CI
- b364719 fix(tui): stop painting the full-screen canvas (it bled black through glamour resets)
v0.2.0
Changelog
- e2f0e42 Initial v0.1 implementation of deepseekcode
- 9faccd2 Merge pull request #1 from amemiya02/refactor/prefix-fingerprint
- 0612286 Merge pull request #2 from amemiya02/feat/industrial-agent
- 019a2f2 docs(cache): document the Prefix Fingerprint / Capability Set split (M4)
- 9f9ae9b docs(cache): establish prefix-fingerprint glossary, ADR, and refactor plan
- aaae6c8 docs(docs): add parity testing documentation
- e266090 docs(readme): document DEEPSEEKCODE_AUTO_COMPACT_INPUT_TOKENS (T-214)
- 5fd5249 docs(readme): rewrite project documentation for v0.2.0 baseline
- 7cbb15e docs(roadmap): T2 complete (T2.3 landed + hardened); next is T4
- c8bcdbc docs(roadmap): T4.1 landed; T4 design pass done; T4.2 next
- 0c7ff96 docs(roadmap): add living progress log (T6.3, T1.1-T1.3, T3.1, T3.3, T5.1)
- 8e84e93 docs(roadmap): mark T2.1/T2.2/T2.4 done; T2.3 held pending spec fixes
- d64fe5c docs(tui): pin chatItem.kind ↔ llm.BlockKind mapping (T-017)
- ab40f9b feat(agent): /undo reconciles the transcript, not just files (T3.5)
- 4f98e32 feat(agent): CompactSession pipeline + summary stub (T-205)
- e32a5a8 feat(agent): CompactionConfig + DefaultCompactionConfig skeleton (T-201)
- c8baa39 feat(agent): EstimateTokens char/4 heuristic for compaction (T-202)
- 435f842 feat(agent): ShouldCompact threshold + window selection (T-203)
- 212a1d0 feat(agent): add background job registry and async tool execution
- dc724fd feat(agent): add session budget gating, context folding, and MCP drift detection
- 1cfed0f feat(agent): adjustBoundary keeps tool_use/tool_result pairs together (T-204)
- 4d4c531 feat(agent): apply agent-def frontmatter at spawn (T7.1)
- 43e61b6 feat(agent): assemble assistant message from EventFinish.Blocks (T-011)
- 3185fe7 feat(agent): assistant-role compaction summary + cross-round merge (T4.3)
- 9630e9a feat(agent): cache-aware budget projection + unknown-model warn (T4.2)
- 67f56e3 feat(agent): calibrate token estimate from provider usage (T4.1)
- 74cd6a5 feat(agent): full deterministic compact summary (T-206)
- 8fd783b feat(agent): implement cache-stable skill directory and trace-based reliability gate
- 5e474cd feat(agent): implement event bus for multi-consumer fan-out
- df20b4d feat(agent): implement sub-agent spawning and plan mode
- f81a301 feat(agent): mergeCompactSummaries dedups across rounds (T-207)
- 10c0318 feat(agent): mid-stream salvage + bounded re-issue, overflow→compaction (T1.4)
- fb427f9 feat(agent): model-driven escalation to a stronger model (T2.3)
- e2db1b0 feat(agent): one-shot loop-break nudge before hard-stopping (T2.1)
- 3290d1b feat(agent): per-step deadline, tool-call rate cap, arg validation
- 96e79c0 feat(agent): project turn cost before streaming
- 31bfa2b feat(agent): raise context limits for DeepSeek V4 1M window
- 11ec347 feat(agent): refresh git context per step (T-110)
- d761319 feat(agent): reserve EventCompaction and EventHookFired (T-022)
- 39c7298 feat(agent): skill hot-reload, lean subagents, admin policy floor (T7.3)
- 84f882e feat(agent): typed budget/permission events, drop dead abort branch (T1.3)
- 055f8a5 feat(agent): typed stop reasons — StopStepTimeout + StopUserRequested (T1.3)
- f8657e5 feat(agent): unify compaction triggers, delete dead context_fold (T4.4)
- e673fa5 feat(agent): wire maybeCompact into the Run loop (T-210)
- c69c731 feat(agent): wrap tool results as ToolResultBlock (T-012)
- 0e9713e feat(agent,cli): wire PromptBuilder into the agent's System (T-109)
- ded3212 feat(agent,session): Persister append methods take blocks (T-014)
- ff1ffc5 feat(agent,session): reserve ReplaceWithCompaction interface (T-016)
- 9b02d00 feat(agent,tui): /compact slash command forces an immediate compaction (T-211)
- 17cdc94 feat(agents): parse extended agent frontmatter
- ea5d294 feat(bash): add ClassifyBash intent classifier and integrate into permissions (T-1101~T-1105)
- 7b5feb6 feat(bench): add benchmark fixtures, tool tier filtering, and cache gate enforcement
- 73456e3 feat(bench): enforce complete subagent traces for cache isolation validation
- 788f6f4 feat(bench): implement fail-closed cache reliability gates and subagent trace isolation
- 735165f feat(cli): add agent management commands
- 6bb0eb8 feat(cli): add upgrade subcommand and version management
- 281bf5f feat(cli): dsc doctor, mode-aware logging, -c/-r resume wiring
- 42b4776 feat(cli): inspect agent trace JSONL
- 6f0ec3f feat(cli): render session receipts
- 3bb0fa1 feat(commands): implement custom slash commands with template expansion
- 1b212d7 feat(config): add structured schema validation — ValidateStrict (T-1001~T-1005)
- 6f62a09 feat(config): add web tool configuration and search provider support
- 10356ef feat(doctor): add instructions check, soften missing-git to warn (T-112)
- faffdf5 feat(doctor): builtin-hook cross-check + agent-def diagnostics + doc-linkage (T7.2)
- f6f8f64 feat(edit): add line-level Levenshtein fuzzy hint for edit_file (T-1201~T-1204)
- f6d0d74 feat(events): define canonical event schema names
- 89215f1 feat(gitctx): 5s TTL cache on Reader.Read (T-111)
- 13f3cd9 feat(gitctx): subprocess-based git state reader (T-106)
- 744367e feat(hooks,agent,config,tui): Phase 3 hooks system — runner, subprocess, lifecycle (T-301~T-313)
- a820209 feat(hooks,llm,agent,tui): migrate Duet to builtin hook, remove legacy validator (T-401~T-406)
- f9d120f feat(init): add dsc init subcommand with language detection (T-1301~T-1305)
- 380d62a feat(llm): EventFinish carries assembled Blocks (T-010)
- 2d6339a feat(llm): MarshalBlocks / UnmarshalBlocks with kind discriminator (T-003)
- 97f50ff feat(llm): MarshalCacheStable flattens Blocks via flattenForWire (T-008)
- c17a85d feat(llm): add Blocks field on Message; mark legacy fields deprecated (T-005)
- cb5655b feat(llm): add Text/Thinking/ToolUse/ToolResult block types (T-002)
- 8ea69c3 feat(llm): add request sanitization for DeepSeek thinking mode
- 9b3c3ae feat(llm): declare ContentBlock interface and BlockKind constants (T-001)
- b46e882 feat(llm): implement auto-reasoning via keyword-based thinking selection
- b90d166 feat(llm): introduce multi-provider support and secret management
- b94964b feat(llm): retry transient errors with exponential backoff
- 05aa85c feat(llm): wireMessage + flattenForWire (T-006)
- c0ad4ee feat(lsp): add LSP client — JSON-RPC transport, initialize handshake, hover/definition/references/diagnostics (T-901~T-912)
- f939cfb feat(mcp): add liveness watcher with bounded reconnect and backoff
- b74b831 feat(mcp): add streamable HTTP transport
- bc68f4e feat(mcp): implement Model Context Protocol (MCP) support
- ab530db feat(permissions): implement rule-based engine for fine-grained tool control
- eaade8d feat(prompt): DiscoverProjectContext for OS/Shell/Date (T-107)
- f5c1a5f feat(prompt): SystemPromptBuilder.Build with stable static prefix (T-108)
- c020c85 feat(prompt): fill Section 1 — identity, mission, posture (T-102)
- 9d255bb feat(prompt): fill Section ...