Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 30 May 03:00
· 734 commits to main since this release

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 2 — when-to-use-which tool catalog (T-103)
  • 073e577 feat(prompt): fill Section 3 — output style and clarification posture (T-104)
  • 14f06e4 feat(prompt): implement cross-tool skill discovery and injection
  • a56b404 feat(prompt): package skeleton with Builder and BasePromptV1 (T-101)
  • 0899486 feat(prompt): whitelist-based instruction file loader (T-105)
  • 7914d56 feat(repair): implement EventRepair handling and associated tests
  • 7b5e67f feat(sandbox): implement OS-native sandboxing for shell tools
  • 9c67e98 feat(session): LoadMessages prefers blocks column, falls back to legacy (T-015)
  • 813dccc feat(session): ReplaceWithCompaction transactional implementation (T-208)
  • 799fecb feat(session): add workspace fingerprinting and compaction tracking
  • dcedc17 feat(session): persister forwards ReplaceWithCompaction to store (T-209)
  • 7e546e9 feat(session): schema v2 — messages.blocks, sessions compaction/workspace_fp (T-013)
  • 4e07f03 feat(session,doctor): expose compaction history via Session + Doctor (T-215)
  • 6f39256 feat(snapshots): durable writes, concurrency guard, tested pruning (T3.3)
  • 2279eac feat(tests): add parity test for agent bus second consumer
  • cca218f feat(tools): add BashPTY tool and implement PTY command execution feat(tests): add tests for BashPTY and PTY runner functionality fix(permissions): update policy to classify bash_pty as bash
  • 1bd0d2c feat(tools): add apply_patch tool for multi-hunk file operations
  • 94ca5ce feat(tools): add file safety protections — binary detect, size limits, symlink escape (T-601~T-609)
  • 548d6d1 feat(tools): add local structural search
  • 71c2e81 feat(tools): cap tool-result size with rune-safe Truncate
  • c49cb3f feat(tools): fuzzy multi-strategy edit replacer cascade
  • 1d87f37 feat(tools): implement question tool for interactive user input
  • acca8be feat(tools): implement git worktree isolation and web fetching
  • ecf86ef feat(tools): read-before-write freshness guard (T3.2)
  • 0e35a67 feat(trace): add JSONL trace inspection summary
  • eebd02d feat(traceinspect): lifecycle counts + realized-vs-projected cost + offline re-grade (T6.4)
  • 3218180 feat(tui): ASCII whale + DEEPSEEKCODE welcome banner
  • e691bef feat(tui): add mouse leak detection and corresponding tests
  • 7af7655 feat(tui): add status HUD and tool summary renderers
  • c4fea2e feat(tui): diff auto-detection + golden-per-width tests (T5.4)
  • 78be02a feat(tui): disable mouse to stop SGR escape leak, beautify tool render
  • 4097d62 feat(tui): implement DeepSeek Ocean visual identity
  • aabea35 feat(tui): implement live activity indicator and visual selection mode
  • e7b95ff feat(tui): markdown rendering + width-aware wrap for assistant text
  • b9c5dc1 feat(tui): surface DeepSeek cache + streaming progress in the HUD (T5.3)
  • bf6c9e2 feat(tui): surface cache epoch status in HUD
  • f1fd170 feat(tui): update available models and remove deprecated HUD fields
  • 7f2e042 feat: add support for feature flags and enhance tool tier management in agents
  • e255ebc feat: enhance agent profiles and tool registry
  • a9401a0 fix(.gitignore): add docs/superpowers/ to ignore list
  • 066ab56 fix(agent): persist partial assistant turn on mid-stream error (T1.1)
  • 2bdc84c fix(agent): use monotonic counter for epoch IDs
  • 11d2e23 fix(agent,tui): route Run terminator through Events channel
  • ea96ea6 fix(bash): fix gofmt, classify go mod tidy/verify as safe, add ; to splitChain, quote-aware redirect detection
  • 293eb40 fix(bench): enforce plain-dir commit validation and shell-based test execution
  • e2553a9 fix(cli): strict validation for dsc agent validate
  • 8444c0f fix(llm): echo reasoning_content back on assistant messages
  • 67fadd0 fix(permissions): resolve symlinks in Decide so the gate agrees with the tool layer
  • 89160e9 fix(pty): handle Linux EIO as normal PTY close and prevent sandbox fork-bomb
  • 0e0834c fix(session): repair dangling tool_calls on replay (T1.2)
  • 5d81f60 fix(test): harden T-9001 golden test and add missing T-9002 e2e scenarios
  • 21a310b fix(tests): replace custom string check with strings.Contains and remove unused functions chore(go.mod): update dependencies for improved compatibility
  • 454759f fix(tui): clean heading style + drop standing welcome line
  • 6c12446 fix(tui): complete render cache keys and reset on clear
  • 4cbffc7 fix(tui): disable horizontal scrolling in viewport and pager
  • 17117f1 fix(tui): mouse leak, right-edge clipping, stale key hints
  • ea33f65 fix(tui): presentation-correctness — line counts, JSON args, theme (T5.2)
  • 2e64439 fix(tui): stop stream rebind at turn boundary
  • 060efe2 fix(tui): use dynamic textarea height in layout to prevent garbled scroll overlap
  • 8125605 fix(upgrade): correct timeout duration in runUpgrade function
  • a50fc97 fix(version): normalize the version prefix and show a formal version
  • 20fd4ac fix: improve PathToURI and URIToPath handling for cross-platform compatibility
  • 426577b perf(llm): add prefix cache drift detection
  • ebe4852 perf(tui): cache rendered tool results
  • 6a26435 refactor(agent): unify skill management and harden trace integrity
  • 332055f refactor(agent,tui,cli): replace Callbacks struct with Events channel
  • 0361f52 refactor(bench): shift subagent trace validation from aggregate to per-epoch
  • 401b056 refactor(config): improve configuration merging and web tool security
  • c58270c refactor(llm): consolidate prefix canonicalization + typed drift diff (M0-M2)
  • 925c8ab refactor(llm): drop Message legacy fields, Blocks is sole carrier (T-019)
  • a1d79ae refactor(llm,agent): rename EventToolCallDelta → EventToolUseDelta (T-021)
  • 3bc7986 refactor(repair): implement tool-call repair and suppression pipeline
  • 8294a57 refactor(session): extract transcript receipts and skill store into separate packages
  • d774378 refactor(tools): extract OutputAppender interface to dedicated file
  • 613c15e refactor(tools): extract fakeSandbox test helper to dedicated file
  • 9a4b824 refactor(trace): single trace-schema source of truth + schema_version (T6.1)
  • 0843ec7 refactor(tui): drop whale, keep wordmark in welcome banner
  • 172ae9e refactor(tui): extract Scrollback module owning items + streams + selection
  • 52b9429 refactor(tui): migrate to bubbletea and lipgloss v2
  • b0fde1e refactor(tui): wrap chrome, overlay, permission flow as deep modules
  • 0c274eb refactor: retire eventschema (T6.2, route a)
  • 086388a refactor: split epoch identity into Prefix Fingerprint vs Capability Set (M3)
  • b0b3bb4 test(agent): Phase 0 e2e Blocks roundtrip (T-023)
  • 12acda3 test(agent): Phase 1 e2e — prompt prefix stable across turns (T-113)
  • 39dda19 test(agent): Phase 2 e2e — multi-turn auto compaction (T-213)
  • 8f5c3ab test(agent): Phase 2 full smoke — auto + manual compaction (T-218)
  • 42a3104 test(agent): add offline mock-DeepSeek harness + loop tests (T6.3)
  • 26fbdd2 test(agent): cover compact summary helpers (T-212)
  • 2464c60 test(bench): add golden cache gate traces
  • b75d41e test(bench): validate subagent trace integrity and prevent async epoch loss
  • 2fcfa24 test(llm): flattenForWire coverage incl. tool_call ID sort (T-007)
  • ffc0f36 test(llm): pin byte-compat between legacy and Blocks marshaling (T-009)
  • 788f002 test(llm): roundtrip + error-path tests for blocks marshaling (T-004)
  • 6c1d897 test(session): branch after parent compaction replays correctly (T-216)
  • cfe6afc test(session): e2e v1→v2 migrate + Blocks roundtrip (T-020)
  • 2bd49d8 test(snapshots): /undo survives SQL-layer compaction (T-217)
  • 8c09c36 test(tui): add QA harness for scrollback snapshot testing
  • 08212a6 test(tui): add key-flow regression harness for the intercepted contract