| docs: sync remaining code mode-value prose to ptc in notes and spill README Review bot findings: DSH_TOOLS_MODE values, the wire-replacement wording, 'code-only' mode references, and the spill README's dispatch-log waterfall name all still named the removed 'code' value. | 18 days ago |
| docs: accuracy sweep, architecture restructure, two ADRs, review skill - AGENTS.md Commands: fix typecheck/build descriptions; add lint, lint:fix, test:coverage, knip, publint, hygiene (were undocumented). - Drop the bare `yarn demo` for explicit `demo:echo` + `demo:coding`; update README, examples READMEs (and document coding-agent in examples/README). - New cookbook guide: adding-a-vendored-package.md (the missing "add" half of vendor/README's update-only procedure). - architecture.md: add a table-of-contents and extract the Extension cookbook to docs/cookbook/extension-cookbook.md (link-preserving); drop the completed "restructure this document" TODO. - ADR 0009 (capability seams) + 0010 (twin LLM adapters), and a "when to write an ADR" standard in adr/README. - Add a committed dsh-code-review skill under .agents/skills, exposed to Claude Code via a tracked .claude/skills symlink (gitignore carve-out). | 3 months ago |
| ci: isolate non-Windows pnpm setup per run attempt Stacked on #3115: keep its windows-* setup-pnpm-js-<run_id>-<run_attempt>-<job> destination, and extend the same isolation to non-Windows jobs in ci.yml and ci-master.yml with setup-pnpm-<run_id>-<run_attempt>. This prevents sequential self-hosted Windows jobs from tripping over a stale locked pnpm.exe/reflink native module. | 19 days ago |
| release(dsh): 0.1.2-alpha.1 | 18 days ago |
| docs(zh): sync remaining code mode-value prose to ptc The review bot found stale 'code' configuration values in the zh tools and agent-tool-presentation READMEs and the zh tool catalog, which the runtime schema already rejects in favor of 'ptc'. | 18 days ago |
| docs: trim CoT leakage from post-purge prose Remove dead design-session citations, change narration, indexical stamps, and review-adjacent justification found by the dsh-trim-cot-leakage recall batteries in prose that landed after the last purge. Bilingual README pairs are re-recorded. | 24 days ago |
| release(dsh): 0.1.2-alpha.1 | 18 days ago |
| chore(subprocess-local): bump node-pty beta | 1 month ago |
| docs: rebuild the documentation skill and standards (#2983) | 20 days ago |
| rename code-mode to ptc (PTC mode), except session-persistent vocabulary Rename the tool-presentation transport from code-mode to ptc everywhere that is not written into session logs: the mode config value becomes 'ptc', the preset directory/id becomes ptc, the demo becomes demo:ptc, the dispatch waterfall becomes tools/ptc-dispatch-log (types PtcDispatch*), the prompt rule becomes tools:ptc-only, source/test files become ptc.ts etc., and prose says PTC mode / PTC 模式. The session-persistent vocabulary (durable events tool/code-dispatch*, logged plugin name tools-code-mode, sub-call id segment :code:) intentionally stays and moves in the stacked persistence PR, which is blocked until the SESSION_FORMAT_VERSION v0→v1 migration lands with it. run_code, its code parameter, CodeSdkLanguage, CodeRunFailedError, the dsh-code-runtime family, third-party codex names, and frozen archived notes keep their names. | 19 days ago |
| test(snapshot): restore canonical packed fixture layout The DSH_SNAPSHOT refresh recorded the internal seq-range form; the canonical fixture layout expands those ranges. Apply the mechanical migration instead. | 19 days ago |
| release(vendor): cordis 4.0.1, cosmokit 1.8.2, group 1.0.1, hmr 1.0.16, include 1.0.6, loader 1.0.2, logger-console 1.0.1, schemastery 3.18.1, timer 1.1.3 | 1 month ago |
| fix(docs): harden build output cleanup | 20 days ago |
| Declare LF and final-newline conventions in .editorconfig Pairs with .gitattributes: eol=lf pins what git produces at checkout; .editorconfig pins what editors write to disk - the one CRLF vector git's filters cannot reach (git never rewrites the working tree, so an editor-written CRLF file would persist with a clean status while the doc gates misbehave on it). insert_final_newline declares the existing one-trailing-newline policy (AGENTS.md, gated by git diff --check) at the editor layer too. (cherry picked from commit 7a09602fd76efff81a0875fb177289004c3dfc9b) | 2 months ago |
| feat(i18n): compose pairing records during merges | 1 month ago |
| feat(python-runtime): package the dsh CLI and profile assets Make the zero-code dsh-python-runtime-closure depend on the real @deepseek-ai/dsh application and every required profile peer, then package apps/cli's built bin instead of the deleted Python carrier. Rename executables to deepseek-harness-sdk-runtime-<platform>-<arch>, update wheel/platform/build workflow discovery, and install a Python dsh console command that requires explicit DSH_HOME before exec. Include profile, bundle, preset, native addon, and shared-library assets needed by the full CLI. Remove the checked-in default cordis.yml and preserve the existing wheel distribution names, Python module names, sidecar validation, and wire identity. Runtime resolution and release tests pin the new artifacts and dev Node carrier. | 22 days ago |
| fix(python): make Windows release paths native Run the GitHub Windows runtime leg under the runner’s native PowerShell instead of inheriting the POSIX Bash body. POSIX and Windows now own explicit output resolution, virtual-environment setup, environment scrubbing, and keyless/live black-box commands, while portable build commands continue to use each runner’s default shell. Put the pinned uv installation on the GitLab Windows job PATH before either the smoke or release builder invokes it. Reject a runtime executable whose basename does not match the selected platform manifest, and reject Intel macOS at platform selection instead of reporting a misleading missing artifact. Add a complete PowerShell path to the published Python tutorial and record the three-phase shutdown-time bound in the Windows runtime decision. Workflow, Python, and bilingual documentation tests pin the resulting behavior. | 22 days ago |
| chore(lint): bring .tsx files into the eslint, lefthook, and jscpd lanes .tsx sources and specs were invisible to every lint surface: the eslint flat-config globs, the lefthook staged-file glob, and the jscpd clone scan all matched *.ts only. Widen the five eslint file groups (source, test, client-test, sonar, formatting), the pre-commit glob, and the jscpd format/pattern to cover .tsx. Existing .tsx files predate these lanes; follow-up commits on this PR clear the backlog they surface. | 1 month ago |
| feat(util): mint UUIDs without crypto.randomUUID in every context | 25 days ago |
| refactor: make lint workflows Oxlint-only | 1 month ago |
| chore: exclude archived Agent Notes from rg | 1 month ago |
| rename code-mode to ptc (PTC mode), except session-persistent vocabulary Rename the tool-presentation transport from code-mode to ptc everywhere that is not written into session logs: the mode config value becomes 'ptc', the preset directory/id becomes ptc, the demo becomes demo:ptc, the dispatch waterfall becomes tools/ptc-dispatch-log (types PtcDispatch*), the prompt rule becomes tools:ptc-only, source/test files become ptc.ts etc., and prose says PTC mode / PTC 模式. The session-persistent vocabulary (durable events tool/code-dispatch*, logged plugin name tools-code-mode, sub-call id segment :code:) intentionally stays and moves in the stacked persistence PR, which is blocked until the SESSION_FORMAT_VERSION v0→v1 migration lands with it. run_code, its code parameter, CodeSdkLanguage, CodeRunFailedError, the dsh-code-runtime family, third-party codex names, and frozen archived notes keep their names. | 19 days ago |
| docs: make Web UI the primary onboarding path | 1 month ago |
| docs: split brand guidelines into bilingual pair | 27 days ago |
| docs: split brand guidelines into bilingual pair | 27 days ago |
| docs: split brand guidelines into bilingual pair | 27 days ago |
| Initialize repo with README, AGENTS.md, and CLAUDE.md symlink | 3 months ago |
| docs(i18n): polish contribution greeting | 1 month ago |
| docs(i18n): refine contribution guide wording | 1 month ago |
| docs(i18n): polish contribution greeting | 1 month ago |
| Adopt MIT for DSH packages | 1 month ago |
| docs: link Cordis paper on arXiv | 19 days ago |
| docs: link Cordis paper on arXiv | 19 days ago |
| docs: link Cordis paper on arXiv | 19 days ago |
| Merge pull request #2560 from deepseek-harness/codex/add-security-policy docs: add bilingual experimental safety notice | 23 days ago |
| Merge pull request #2560 from deepseek-harness/codex/add-security-policy docs: add bilingual experimental safety notice | 23 days ago |
| Merge pull request #2560 from deepseek-harness/codex/add-security-policy docs: add bilingual experimental safety notice | 23 days ago |
| fix(notices): resolve current installed dependency versions | 19 days ago |
| fix(api): preserve native path opening behavior | 19 days ago |
| Revert "fix(client): declare browser-only externals as devDependencies" | 1 month ago |
| release(dsh): 0.1.2-alpha.1 | 18 days ago |
| refactor(api): remove ApiProxy package | 19 days ago |
| Merge commit '80d68a54120fc87e6b354e41562a9fbfd6874e48' into codex/product-subagent-runtime-refresh-codex # Conflicts: # examples/acp-agent/tests/snapshots/product-subagent-result-diagnostic/stdout.expected.jsonl # snapshots/session/product-subagent-result-diagnostic/session.jsonl | 21 days ago |
| Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose # Conflicts: # docs/config-catalog.md # docs/event-producer-consumer.md # docs/rfc/implemented/feature/2026-07-05-dynamic-workflows.md # examples/acp-agent/tests/acp.snapshot.ts # packages/code-runtime/code-runtime-worker/tests/built-lib.e2e.ts # packages/code-runtime/code-runtime-worker/tsdown.config.ts | 2 months ago |
| feat(client): inject public build environment | 27 days ago |
| refactor(api): remove ApiProxy package | 19 days ago |
| fix: build | 19 days ago |
| rename code-mode to ptc (PTC mode), except session-persistent vocabulary Rename the tool-presentation transport from code-mode to ptc everywhere that is not written into session logs: the mode config value becomes 'ptc', the preset directory/id becomes ptc, the demo becomes demo:ptc, the dispatch waterfall becomes tools/ptc-dispatch-log (types PtcDispatch*), the prompt rule becomes tools:ptc-only, source/test files become ptc.ts etc., and prose says PTC mode / PTC 模式. The session-persistent vocabulary (durable events tool/code-dispatch*, logged plugin name tools-code-mode, sub-call id segment :code:) intentionally stays and moves in the stacked persistence PR, which is blocked until the SESSION_FORMAT_VERSION v0→v1 migration lands with it. run_code, its code parameter, CodeSdkLanguage, CodeRunFailedError, the dsh-code-runtime family, third-party codex names, and frozen archived notes keep their names. | 19 days ago |
| refactor(repo): retire top-level examples | 22 days ago |
| refactor: apply repository naming contract Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change. | 1 month ago |
| refactor(api): remove ApiProxy package | 19 days ago |
| feat(inspector): define shared protocol foundation | 19 days ago |
| refactor(repo): retire top-level examples | 22 days ago |
| fix(typert): close remote gateway review gaps | 1 month ago |
| fix(test): use expected-output naming | 22 days ago |
| test(web): add opt-in reasoning chunk stress lane | 1 month ago |
| feat(inspector): define shared protocol foundation | 19 days ago |
| fix(history): adapt packed pages to session journal | 21 days ago |