Turtle
f3a1ff41b7
cleanup(install): drop the master.path record
...
Nothing read it. The launcher, dsh-upgrade, and the installer's own re-run
all ignored the file, and the diagnostic it was meant to feed was never
built, so it was write-only state.
Git already owns the fact it recorded: a staging worktree's .git file names
the repository path, and `git worktree list` in that clone enumerates every
worktree depending on it. An installer-written copy only adds state that can
go stale while nothing validates it.
The containment caveat it documented is real and stays in the script header
and the Agent Note, now pointing at git's own records.
2026-07-31 21:17:28 +08:00
Turtle
00c5f2abd1
refactor(install): always adopt, dropping the link-in-place path
...
Retaining link-in-place behind a prompt and DSH_ADOPT kept the divergent
install shape that this change exists to remove, and cost a flag, a prompt,
a dirty-tree warning, a no-commit fallback, and a second linking path.
In-repo mode now adopts unconditionally. A dirty tree adopts silently:
`worktree add` from HEAD cannot carry uncommitted work, so a prompt only
adds a decision the user cannot act on differently.
The original reason for link-in-place — keeping the script testable against
local source — survives adoption, since the staging worktree branches from
the checkout's HEAD and runs the same code. DSH_SOURCE remains the escape
hatch for installing a separate tree.
Net 47 fewer lines in the installer.
2026-07-31 20:31:30 +08:00
Turtle
631510f54e
feat(install): adopt an existing checkout into the managed layout
...
Running scripts/install.sh from a checkout linked `dsh` straight at that
checkout, producing an install that `dsh-upgrade` cannot upgrade (there is
no `current` to repoint), that dangles if the checkout moves, and whose
launcher resolves to an arbitrary working branch.
In-repo mode still never clones and never touches the working tree, but it
now offers to adopt the checkout, and adoption is the default. The container
owns staging worktrees and `current`; the repository is discovered via
`git rev-parse --git-common-dir` rather than owned, so a clone anywhere on
disk converges on the same upgradable layout as a curl install and both
share one worktree/exclude/lock/link sequence.
Declining, or DSH_ADOPT=0, keeps the previous link-in-place behavior with a
warning naming what it costs, preserving the path that makes this script
testable against local source.
All path comparisons run on physical paths: macOS resolves /var through a
symlink to /private/var, and comparing a resolved path against an unresolved
one misclassified an existing managed install as a foreign clone.
Verified manually (no install.spec.ts, per request) with a harness driving
the real script under a stubbed pnpm across 33 assertions, plus both
interactive outcomes under tmux.
2026-07-31 20:22:40 +08:00
Tianyi Cui
1f8dd72bd9
Merge latest master into manual compaction
2026-07-31 18:28:21 +08:00
Tianyi Cui
ba43750e68
Merge pull request #1070 from deepseek-harness/agent/memory-mcp-examples
...
feat(examples): add generic MCP memory examples
2026-07-31 18:18:21 +08:00
Tianyi Cui
20cb7e7360
Merge latest master into manual compaction
2026-07-31 17:58:30 +08:00
Tianyi Cui
6e26f9fd83
Merge latest master into manual compaction
...
# Conflicts:
# apps/cli/README.i18n.yaml
# docs/architecture.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/compact/compact-basic/README.i18n.yaml
# packages/pty/pty-local/tests/index.spec.ts
2026-07-31 17:57:11 +08:00
Tianyi Cui
2692d2fef7
Merge commit 'refs/codex/pr948/master-current' into worktree/retarget-pr948-current-20260731
...
# Conflicts:
# README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-31 17:44:13 +08:00
Tianyi Cui
5210afb8f0
Merge pull request #1055 from deepseek-harness/feature/gui-welcome-copy-v2
...
feat(web): update the versioned internal testing notice
2026-07-31 17:30:44 +08:00
Tianyi Cui
26c5e18b14
fix(notices): validate SPDX expressions strictly
2026-07-31 17:16:37 +08:00
Tianyi Cui
c7a04a10f9
fix(notices): derive first-party Python projects
2026-07-31 17:16:37 +08:00
Tianyi Cui
76e9bcbba0
fix(notices): parse Python manifests as TOML
2026-07-31 17:16:37 +08:00
NI0317
9f1d9196eb
Merge remote-tracking branch 'origin/master' into feature/gui-welcome-copy-v2
2026-07-31 17:11:41 +08:00
NI0317
978f61f9e7
docs(onboarding): document telemetry opt-out
2026-07-31 17:05:30 +08:00
ZiyaZhang
7e929d3d50
feat(examples): add generic memory MCP overlays
2026-07-31 02:00:14 -07:00
Hypatia May
a23a6bdd15
Merge origin/master into codex/status-bar-token-metrics
...
Resolve the agent-loop import conflict by retaining both durable request context and runtime policy context. Refresh the combined session fixtures and regenerate documentation catalogs. Mark PDF artifacts as binary so staged whitespace checks do not parse PDF bytes as text.
2026-07-31 16:53:03 +08:00
Tianyi Cui
7906c1032f
Merge pinned master into status bar token metrics
2026-07-31 15:41:52 +08:00
Hypatia May
1114a80a45
Merge branch 'fix/web-transcript-projection' into feat/manual-compact-single-lock
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-07-31 15:36:49 +08:00
Hypatia May
d67de808b0
Merge remote-tracking branch 'origin/master' into fix/web-transcript-projection
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 15:32:36 +08:00
NI0317
b9863e4c3a
Merge remote-tracking branch 'origin/master' into feature/gui-welcome-copy-v2
2026-07-31 15:12:02 +08:00
NI0317
469dc8ffce
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-31 15:05:37 +08:00
NI0317
d3ff2c3653
docs(onboarding): update internal testing notice
2026-07-31 15:04:24 +08:00
NI0317
1b2f05d438
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-31 15:04:11 +08:00
Turtle
e8626a2baa
Merge pull request #1044 from deepseek-harness/codex/fix-persistence-catalog-toc
...
fix(docs): index persistence events in page outline
2026-07-31 15:03:26 +08:00
ZiyaZhang
82c1788c25
docs: re-record the README pair and translation snapshot after the master merge
2026-07-30 23:07:02 -07:00
NI0317
8e7a36db01
test(web): publish welcome acknowledgement before browser boot
2026-07-31 13:59:29 +08:00
Ziya
bdf59193d5
Merge branch 'master' into docs/third-party-notices
2026-07-31 01:59:04 -04:00
Turtle
d4a93cbc1a
fix(docs): index the full persistence outline
2026-07-31 13:47:51 +08:00
Turtle
50b98383de
Merge remote-tracking branch 'origin/master' into codex/fix-persistence-catalog-toc
2026-07-31 13:43:11 +08:00
Turtle
db1765c90e
fix(docs): index persistence events in page outline
2026-07-31 13:43:03 +08:00
Tianyi Cui
98f48fd83a
Merge finalized Web transcript parent
...
# Conflicts:
# apps/cli/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-trajectory/README.i18n.yaml
# packages/client/ui-trajectory/README.zh.md
2026-07-31 13:42:47 +08:00
Tianyi Cui
bb3d6a0de8
Merge latest master into Web transcript
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/chat/chat-flow.ts
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
2026-07-31 13:12:37 +08:00
Tianyi Cui
fbf28700af
Merge master into codex/sandbox-policy-context
...
# Conflicts:
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tsconfig.json
# tsconfig.host.json
2026-07-31 13:04:21 +08:00
imccyu
5afdb5c235
Merge remote-tracking branch 'origin/master' into mergebot/pr998
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 12:23:03 +08:00
ZiyaZhang
45e5317ecd
fix(ci): stabilize merged coverage gates
2026-07-30 20:52:35 -07:00
ZiyaZhang
9095d3874a
test: file the committed-manifest case under the parser it exercises
2026-07-30 20:45:12 -07:00
Tianyi Cui
ef722cc14a
Merge latest master into Web transcript
2026-07-31 11:39:49 +08:00
NI0317
e9cbfa153a
docs: address README review
2026-07-31 11:18:49 +08:00
ZiyaZhang
45627bd93b
fix(ci): tolerate initializing Lefthook lock
2026-07-30 20:17:04 -07:00
NI0317
05c4b916cb
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
2026-07-31 11:05:02 +08:00
NI0317
4e1ccebfff
Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context
...
# Conflicts:
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# packages/core/agent-loop/src/agent.ts
2026-07-31 11:02:45 +08:00
NI0317
46515aec6c
Merge remote-tracking branch 'origin/master' into feature/readme-current-capabilities
2026-07-31 11:00:05 +08:00
ZiyaZhang
f13cef0148
test: re-record the translation prompt snapshot for the development.md edit
2026-07-30 19:59:02 -07:00
Hypatia May
3a99cf7446
Merge current master into status bar projection
2026-07-31 10:56:34 +08:00
ZiyaZhang
421594472a
docs: evaluate SPDX conjunctions and read every Python manifest
...
Reject a copyleft conjunct in an expression like '(MIT OR Apache-2.0)
AND GPL-3.0-only', which a permissive-alternative search accepted.
Discover python/*/pyproject.toml by glob, accept single-quoted TOML
literals, and fail on a requirement whose name cannot be read. Say that
the development tier records who declares a package rather than what a
build bundles, since a runtime dependency can pull one in transitively,
and sync the contributor guide's pre-commit list.
2026-07-30 19:54:27 -07:00
ZiyaZhang
7b8fa8c510
Merge branch 'master' into docs/third-party-notices
2026-07-30 19:46:01 -07:00
Hypatia May
669acedcad
fix(test): preserve invariant config failures
2026-07-31 10:41:44 +08:00
imccyu
f850676785
Merge pull request #711 from deepseek-harness/codex/basic-session-search
...
Add basic past-session search
2026-07-31 10:33:53 +08:00
Turtle
aa39d6c6ed
Merge remote-tracking branch 'origin/master' into fix/node26-vitest-webstorage
...
# Conflicts:
# scripts/run-gates.spec.ts
# vitest.config.ts
2026-07-31 10:26:05 +08:00
Hypatia May
01e64c6350
Merge finalized Web transcript parent
2026-07-31 09:46:32 +08:00