v0.7.42 — SDK Embedder Surface Closure + Compaction Systemic Fixes + Plan-List Resilience + Hits Ledger
What's changed in v0.7.42
- docs(release,v0.7.42): CHANGELOG sync + FEATURE_LIST current-version bump (110a2be)
- feat(repl+coding,v0.7.42): FEATURE_173 — Session Management Public SDK + session.id propagation fix (a8258d2)
- test(feature_189,v0.7.43): B.4 RULE A/B/C label removal — eval-driven DEFER + permanent regression sweep (7122af1)
- docs(feature_189,v0.7.43): expand to full prompt-system overhaul + ADR-033 §6 Layered prompt principle (94f08d7)
- refactor(coding,v0.7.42): FAN-OUT PLAN GRANULARITY block 18-line → claudecode 3-bullet (ADR-033 systemic application + judge-validated) (1e60eeb)
- docs(feature_189,v0.7.43): Systemic Prompt Audit + Anti-Pattern Hygiene Sweep — ADR-033 Phase 2 落地 (9f81afa)
- refactor(coding,v0.7.42): PLAN-FIRST trigger qualitative swap (ADR-033 hygiene follow-up to FEATURE_188) (5569c49)
- feat(coding,v0.7.42): FEATURE_188 — claudecode-parity dispatch_child architecture (drop forced worktree + qualitative prompt) (221ba20)
- fix(repl,v0.7.42): InkREPL — onThinkingEnd no longer creates duplicate thinking item after assistant text (4798e66)
- revert(coding,v0.7.42): FEATURE_177 RULE D + ADR-033 claudecode-style prompt design principles (9082551)
- docs(features,v0.7.42): relocate FEATURE_184 design v0.7.45.md → v0.7.42.md (ac4d026)
- test(observer-bridge,v0.7.42): D.3 sidecarStarted — pin upgradeCeiling + no-checkpoint (42bc57e)
- test(transcript-layout,v0.7.42): D.3 precondition — no Verifying row when isLoading=false (92fe271)
- feat(sidecar-verifier,v0.7.42): FEATURE_184 Phase D.3 — Verifying spinner (75c5896)
- feat(coding,v0.7.45): FEATURE_177 commit 2/2 — Worker prompt RULE D (flag-gated) + Layer 2 eval (eac09f6)
- docs(coding,v0.7.45): todo-store init() — clarify activeForm non-preservation + add in_progress note-carry test (475d52c)
- fix(test,v0.7.45): permission.test importOriginal + F184 eval driver guards (b3771fc)
- chore(release,v0.7.42): version bump 0.7.41 → 0.7.42 + CHANGELOG + FEATURE_186 + ADR-032 (41d065c)
- fix(coding,v0.7.45): todo-store init() preserves in_progress on id match (f4cbe83)
- fix(repl,v0.7.42): InkREPL spinner fallback —
item.content→item.subject(Step 1 follow-up) (157b162) - feat(repl,v0.7.42): MCP server CRUD + @kodax-ai/kodax/mcp subpath (523e9a2)
- feat(coding,v0.7.42): RunningSession + sessionControl mid-run mutators (9ba68f2)
- docs(v0.7.45): FEATURE_184 Phase D.4 SHIP outcome + ADR-030 Accepted (f30df1e)
- feat(sidecar-verifier,v0.7.45): FEATURE_184 Phase D.4 — verifier prompt tightening (SHIP gate met) (84ae6c2)
- feat(repl,v0.7.42): custom provider CRUD API + dynamic config path resolution (ee549d6)
- feat(coding,v0.7.42): declarative tool side-effect metadata + metadata-driven plan-mode gate (7defd65)
- Revert "fix(repl,v0.7.42): wire onCompactStats callback in InkREPL command bridge" (829401a)
- fix(repl,v0.7.42): wire onCompactStats callback in InkREPL command bridge (c058aef)
- fix(repl,v0.7.42): /compact updates live token count via onCompactStats (4da0928)
- fix(repl,v0.7.45): transcript Ctrl+O — implement missing hidden-count divider (a8bf752)
- feat(skills,v0.7.42): SDK-embedder hook for skill !`cmd` dynamic-context resolution (9b1e440)
- feat(sdk,v0.7.42): expose bootstrapAutoMode + loadCommands + getAppDataDir to SDK consumers (d3ab38b)
- chore(build,v0.7.42): build-dts self-test + hard-assert no @kodax-ai/* import leaks in entry .d.ts (2e33b68)
- fix(eval,v0.7.45): FEATURE_184 driver — re-mkdir DUMP_ROOT before every write (fc63928)
- feat(coding,v0.7.45): FEATURE_177 commit 1/2 — task_output substrate + tool (334756b)
- refactor(FEATURE_184,v0.7.45): Phase C.3 — remove EVALUATOR_AGENT_NAME and dead evaluator branches (b8a6780)
- refactor(ama-chain,v0.7.45): FEATURE_184 Phase C.1+C.2 — chain swap continuation (deletes + test updates) (597ef4f)
- refactor(ama-chain,v0.7.45): FEATURE_184 Phase C.1+C.2 — delete in-chain Evaluator + F167 fallback (1a105db)
- test(eval,v0.7.42): FEATURE_104 hygiene LLM-judge majority-vote audit driver (3a69201)
- fix(eval,v0.7.42): FEATURE_104 cases.ts — judges use
judgefield notrun(0304d84) - test(eval,v0.7.42): FEATURE_104 v0.7.42 plan-list hygiene Layer 2 eval — cases + driver (3e72f02)
- feat(coding,v0.7.42): verification nudge — todo_update appends reminder on terminal-completion transition (c9a3fe9)
- feat(coding,v0.7.42): plan-list hygiene — teach staleness refresh + dedup scan (a7748bb)
- feat(coding,v0.7.42): deprecate LLM-side op:'init' — todo_create batch is the canonical path (3f06330)
- feat(coding,v0.7.42): plan-list metadata per-key delete — todo_update patch granularity (9094edd)
- feat(coding,v0.7.42): plan-list todo_get tool — claudecode V2 TaskGet parity (35b93cd)
- feat(coding,v0.7.42): plan-list subject/description schema split — claudecode V2 parity (0833aeb)
- feat(eval,v0.7.45): FEATURE_184 Phase D.4 — Layer 2 single-turn probe driver + dataset (d54aa6a)
- docs(adr,v0.7.45): ADR-030 §E/F — reject MetaCogAgent paper's 5b verdict-outcome JSONL log + 5c 0-100 confidence score (b1ff49f)
- chore(sidecar-verifier,v0.7.45): code-review fixes — LOW (b) + (c) from c357477 review (4f6a325)
- fix(sidecar-verifier,v0.7.45): correct verifier provider resolver to default-inherit-main + env-var override (c357477)
- docs(v0.7.45): FEATURE_184 Phase D.4 — Layer 2 baseline-vs-treatment eval design (7b0b3b6)
- fix(coding,v0.7.45): dispatch_child_task — V2 Worker write fan-out + failed-empty envelope (1b3f2d6)
- feat(sidecar-verifier,v0.7.45): FEATURE_184 Phase D.2 — wire sidecar verifier into runOnce stopHook (gated) (f2d7c0e)
- feat(sidecar-verifier,v0.7.45): FEATURE_184 Phase D.1+ — provider resolver (model decoupling) (08ca562)
- chore(benchmark,v0.7.45): canonical eval alias panel — ds/v4* → ark/v4* (coding-plan only) (a6a3530)
- feat(coding,v0.7.45): FEATURE_184 commit 4/n — Phase D.1 verifier→recorder bridge + context builder (760d6f6)
- feat(coding,v0.7.45): FEATURE_184 commit 3/n — Phase D.1 sidecar verifier substrate (966aabb)
- docs(v0.7.45): FEATURE_184 — C/D phase order revised post-audit (c22ca63)
- feat(coding,v0.7.45): FEATURE_184 commit 2/4 — extension turn:complete bridge (bd8bdca)
- feat(agent,v0.7.45): FEATURE_184 commit 1/4 — agent-layer stopHook primitive (5b6eb6e)
- docs(v0.7.42): FEATURE_185 commit 5/5 — full F185 section + ADR-031 + FEATURE_LIST range bump (fcd4cc7)
- feat(session-lineage,v0.7.42): FEATURE_185 commit 4/5 — Layer 2 eval SHIP + render-preview fix (bddc3d5)
- feat(session-lineage,v0.7.42): FEATURE_185 commit 3/5 — end-to-end timing validation + integration tests (da8d7b2)
- feat(session-lineage,v0.7.42): FEATURE_185 commit 2/5 — bash exit_code + tail enrichment (8397614)
- feat(session-lineage,v0.7.42): FEATURE_185 commit 1/5 — grep/glob result-side hits enrichment (15b1ea3)
- fix(build,v0.7.42): narrow RunnerToolResult.content union at string-only consumers (ab2c63b)
- docs(v0.7.45): ADR-030 + FEATURE_184 — claudecode-shape Main Agent + Sidecar Verifier substrate (0f5d75c)
- fix(llm,v0.7.42): correct glm-5-turbo contextWindow 128K → 200K (zhipu / zhipu-coding) (5324889)
- fix(coding,v0.7.42): loadCompactionConfig uses per-model contextWindow for adaptive triggerPercent (0cef1b6)
- fix(repl,v0.7.42): status bar contextWindow re-resolves on /model swap (c9f6203)
- feat(llm,v0.7.42): two-layer cascade for replay/strict/streamMax (custom provider parity) (a7615d5)
- feat(llm,v0.7.42): ark-coding adds deepseek-v4-pro / v4-flash (1M ctx) (c312e89)
- fix(session-lineage+coding,v0.7.42): FEATURE_183 review-amend — add todo_create/update/list + reviewer fixes (c322d83)
- fix(session-lineage+coding,v0.7.42): FEATURE_183 PROTECTED tool whitelist expansion 1→23 (claudecode parity) (f6a51be)
- docs(v0.7.42): FEATURE_177/178/179/180/181/182 sections + ADR-029 (af60758)
- feat(coding,v0.7.42): FEATURE_178 commit 4/4 — orchestrator + nudge injection (control plane) (d9c5263)
- feat(coding,v0.7.42): FEATURE_178 commit 3/4 — production wiring (data plane only) + eval prompt extraction (9bc209f)
- feat(coding,v0.7.42): FEATURE_178 commit 2/4 — L2 sidecar invoker (with defensive normalization) (f91cf7c)
- feat(coding,v0.7.42): FEATURE_178 commit 1/4 — L1 stall detector module (standalone) (e79008c)
- fix(session-lineage,v0.7.42): FEATURE_182 fast-path requires non-empty previousSummary (d67aa77)
- fix(session-lineage,v0.7.42): FEATURE_181 empty LLM summary must not overwrite a real prior summary (57a7976)
- fix(session-lineage,v0.7.42): FEATURE_180 dedup duplicate system messages by content hash (e1782ff)
- test(eval,v0.7.42): F178 scale eval — incremental dump + longer timeout (1909d5d)
- fix(agent,v0.7.42): FEATURE_179 AMA compaction trigger parity — move hook to top-of-loop (02836a7)
- fix(coding+skills,v0.7.42): dedicated
skilltool replaces read-SKILL.md invocation (claudecode parity) (09e84aa) - test(eval,v0.7.42): FEATURE_178 stall-sidecar viability probe — scaffold + pilot validated (832dfb8)
- fix(coding+llm,v0.7.42): read tool image-aware via multimodal tool_result (claudecode parity) (286c16d)
- fix(repl,v0.7.42): drop [Image #N] anchor from user-message text (claudecode parity) (1eac821)
- fix(compaction,v0.7.42): preserve image blocks + count image tokens (92b11e6)
- test(eval,v0.7.42): image-vision-perception — tighten regex + Layer 3 priming/compaction variants (fe76d3d)
- revert(coding,v0.7.42): worker image-perception block (bc04581) — no measurable lift, refuse→lie regression (2fd8d8f)
- fix(coding,v0.7.42): FEATURE_177 — fire onPostCompact on microcompact-only changes (c66e240)
- fix(coding,v0.7.42): worker image-perception block — prevent tool-reach on attached images (bc04581)
- revert(repl,v0.7.42): restore aliasedCurrent — semantic intent, not redundancy (3637bce)
- fix(coding,v0.7.42): dispatch_child_task review pass — flaky test + minor cleanups (3b5a862)
- refactor(repl,v0.7.42): drop redundant aliasedCurrent mapping in cycle handler (32396db)
- fix(repl,v0.7.42): Shift-Tab cycle uses canonical 'auto', removes Windows-SSH cursor misalignment root cause (1b51382)
- feat(coding,v0.7.42): FEATURE_177 — per-task read-file-state cache (anti-loop) (8e64e09)
- fix(coding,v0.7.42): dispatch_child_task — empty-summary fallback + opt-in trace (8c17dba)
- docs(readme,v0.7.42): features icon grid + competitor comparison table (1d992d9)
- docs(known-issues,v0.7.42): backfill Issues 134 + 135 — resolved by FEATURE_175 (a4a3a81)
- docs(readme,v0.7.42): embed kodax.gif demo (1874x1106, 7.4MB) (7075035)
- fix(coding,v0.7.42): FEATURE_175 — plan-list resilience (init id-preserve + B2 synth autoComplete; dirty-reject reverted post-eval) (1368ce5)
- refactor(coding,v0.7.42): retire P2b plumbing — adapter / re-export / docs cleanup (33bb214)
- docs(readme,v0.7.42): add KodaX SVG banner (terminal-prompt aesthetic) (5686517)
- docs(readme): GitHub-page promotion pass — hero rewrite, 30-second install, 4-way usage table, Why differentiators (Commit 1 of 2) (67b2ce5)
- fix(repl,v0.7.42): queue layout — budget reserves N+1 rows for QueuedCommandsSurface (f4267d4)
- Revert "fix(repl,v0.7.42): FEATURE_172 — Output.width follows terminal viewport to eliminate Windows-SSH ghost cells" (e62312b)
- fix(repl,v0.7.42): FEATURE_172 — Output.width follows terminal viewport to eliminate Windows-SSH ghost cells (fabe0b4)
- docs,eval,v0.7.42: FEATURE_094 cancelled (0/43) + FEATURE_173 session SDK design (ac2752a)
- fix(coding,v0.7.42): narrow P2b RST-prone default list to zhipu-coding only (8e9b452)
Downloads
Each archive contains the kodax executable and a sidecar builtin/ directory.
Extract anywhere and run ./kodax (or kodax.exe on Windows). No Node.js required.
Verify integrity with the matching .sha256 file or the aggregated SHA256SUMS.