Commit Graph

354 Commits

Author SHA1 Message Date
Tianyi Cui 40ea07a33b docs(skills): tighten GIF evidence boundaries 2026-08-08 17:35:21 +08:00
Tianyi Cui 5934bbc32e docs(skills): preserve browser GIF evidence chains 2026-08-08 17:17:14 +08:00
Tianyi Cui dac4b068c4 Merge remote-tracking branch 'origin/master' into codex/unify-landlock-release
# Conflicts:
#	.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml
#	scripts/check-workspace-constraints.ts
2026-08-08 16:01:53 +08:00
Tianyi Cui d301dbdc7d Merge pull request #1995 from deepseek-harness/worktree/remove-dsh-cli-demo
cleanup(cli): remove separate dsh-cli-demo app
2026-08-08 15:26:56 +08:00
Tianyi Cui dc57f7d854 cleanup(cli): remove dsh-cli-demo 2026-08-08 15:08:07 +08:00
Tianyi Cui 0411196489 fix(gates): address TypeRT review gaps 2026-08-08 15:03:23 +08:00
Tianyi Cui 02d81f8178 Merge pull request #1974 from deepseek-harness/worktree/retire-fixmes-20260807
cleanup: retire FIXMEs without private repository links
2026-08-08 14:14:14 +08:00
Tianyi Cui cc407a2672 Merge pull request #1982 from deepseek-harness/worktree/dedupe-issue-lifecycle-reviews-20260808
cleanup: skip redundant Issue lifecycle ready runs
2026-08-08 14:04:57 +08:00
imccyu 863abcb427 build: enforce split project reference faces 2026-08-08 12:25:41 +08:00
imccyu d85d0806cd fix(build): align Client build metadata 2026-08-08 12:02:58 +08:00
imccyu 8865548ee2 docs: explain generated Remote build order 2026-08-08 04:20:39 +08:00
Tianyi Cui eba4df1e86 cleanup: skip redundant Issue lifecycle ready runs 2026-08-08 01:50:48 +08:00
Tianyi Cui 6d09c315b9 cleanup: remove private repository references 2026-08-08 01:10:57 +08:00
Tianyi Cui a8a12ffc23 cleanup: replace FIXMEs with tracked issues 2026-08-08 00:04:55 +08:00
Tianyi Cui 356ded2ca7 Merge branch 'master' into worktree/archive-agent-notes-aggressive-20260807 2026-08-07 22:57:51 +08:00
Tianyi Cui db0133b4c7 docs(notes): archive low-value records 2026-08-07 22:52:19 +08:00
Tianyi Cui 2cfea8ab67 Merge branch 'master' into worktree/pr-to-issue-lifecycle 2026-08-07 22:25:01 +08:00
Yichen Jiang 7ce9c244ae Merge pull request #1810 from deepseek-harness/claude/docs-model-providers
docs(user): 新增「配置模型」入门文档,并让文档站点自带图片
2026-08-07 15:15:27 +08:00
Tianyi Cui 4b1528bcec Merge retargeted parent into Claude Code subagent provider 2026-08-06 21:38:47 +08:00
Yichen Jiang a48b84c001 fix(scripts): only publish images the repository owns, and keep their suffix
Review found four real gaps in the image placement this PR introduced.

Link rewriting only needs a target to exist, but publication copies its bytes
onto the site: a reference reaching out of the tree through `../..` or a
symlink would put a build-machine file on a published page. Only a regular
file whose real path stays inside the repository is copied now, and anything
else fails the projection naming the page and the target.

A placed reference kept none of its `?query` or `#fragment`, which the GitHub
branch has always carried and which decides what an SVG view fragment or a
Vite query means. The suffix rides along again, and the file name is
percent-encoded because the destination is a Markdown inline target.

Page outputs and placed images now claim projected paths from one map, so the
"fail loud rather than overwrite" invariant covers a page and an image landing
on one path, not only two images. `docsSourceFiles()` reports placed images, so
replacing a screenshot re-projects under `docs:dev` instead of serving the
previous copy until something touches the page.

The guide said to set `agent-loop`'s `agents` to change the default model,
which does nothing for `dsh web`: that default is `api-gateway`'s, and the
shipped composition leaves `agents` empty. It also promised that a catalog
provider needs only an API key, which is false for Bedrock, Vertex, Azure, and
Codex. Both are corrected.

The projection note and the doc-site skill carried the superseded "a
repository image becomes a raw GitHub URL" rule; both now describe what ships.
2026-08-06 21:14:39 +08:00
Yichen Jiang 2426be893a fix(scripts): let the documentation site carry its own images
An image the manifest does not publish was rewritten to a raw.githubusercontent
URL, which serves a private repository to nobody: raw answers 404 unauthenticated,
and a github.com session does not authenticate it. Every image on the site was
broken for every reader, and no gate could say so — link checking asks whether
the file exists in the repository, not whether a site reader can fetch it.

The projector now copies a referenced image into the generated tree beside the
page and points the reference at it, so Vite bundles it like any other site
asset and repository visibility cannot reach the published page. The copy lands
beside the page so one relative URL is right from both locale trees and a page's
assets leave with the page; two sources projecting onto one path throw rather
than letting the last copy win.

Canonical Markdown keeps writing ordinary repository-relative paths, so the same
file still renders when read in the repository.

The guide this was found through is renamed to its subject: 配置模型.
2026-08-06 20:21:17 +08:00
Hypatia May 22c7087074 fix(landlock-run): publish under deepseek scope 2026-08-06 14:41:17 +08:00
Hypatia May d3aa337c26 fix(landlock-run): close release integration gaps (review round 2) 2026-08-06 10:52:46 +08:00
Hypatia May 598f9719f4 refactor(landlock-run): unify workspace release (review round 1) 2026-08-06 10:23:26 +08:00
imccyu e5181e94ff doc: record the coverage uncovered-location reporter decision 2026-08-06 03:56:01 +08:00
Turtle 8af3babaea docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
Turtle f07f8f15ed docs: define hierarchy and document forms 2026-08-05 16:13:27 +08:00
xjt 7bd111b2af Merge origin/master into xjt/proofreading-active-docs-2-apply 2026-08-05 10:57:53 +08:00
imccyu ca27512529 fix(packages): omit source publication payloads 2026-08-05 01:15:19 +08:00
pku-xht be56f64b7a feat(subagent): add Claude Code provider 2026-08-04 20:57:55 +08:00
xjt 782d84116a docs(i18n): restore first-occurrence terminology 2026-08-04 20:54:42 +08:00
xjt edb3e82c35 docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
Tianyi Cui f22cacc63b fix: advance resolving issue status from PRs 2026-08-04 17:49:21 +08:00
xjt 2db712eec7 docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
Tianyi Cui 9a07380c23 adopt native GitHub stack workflow 2026-08-02 03:17:42 +08:00
Tianyi Cui 560f3abd21 fix(vendor): link Cordis workspaces in built artifacts 2026-08-02 01:25:01 +08:00
Turtle c435350561 docs(install): the path bug is symlinks, not /var
The comments and Agent Note blamed macOS resolving /var through
private/var. That is only how the mismatch surfaced in temp fixtures, since
mktemp hands back a /var path there.

The real condition is broader: Git always reports resolved paths, so
comparing one against an unresolved path disagrees whenever a symlink sits
anywhere above the checkout. A symlinked home directory alone triggers it —
reproduced with no /var involved — which is common wherever homes live
behind a symlink or on a network mount.

Naming the cause correctly keeps a reader from dismissing resolve_dir as
macOS-only defensiveness.
2026-07-31 23:47:58 +08:00
Turtle db432c1e74 fix(install): correct a false claim about shell assignment semantics
Review flagged the resolve_dir comment: it claimed `x=$(cmd) || fallback`
never fires "because the assignment succeeds even when the substitution
fails." That is wrong — command substitution propagates exit status and the
fallback does fire, confirmed in sh, bash, dash, and zsh.

Reproducing the original code shows the fallback also worked, so the second
"recurrence" the Agent Note described never existed. Both real defects were
the same one: comparing a resolved path against an unresolved one. The note
now says that instead of inventing a mechanism.

resolve_dir keeps its `|| printf` because it makes every caller a plain
assignment, so no site can compare against an empty path by forgetting its
own fallback — the reason is now stated accurately.

Also from review: REPO_COMMON is now resolved on both branches, matching
REPO_ROOT, and _repo_root notes why it is already physical without its own
resolve_dir call.
2026-07-31 23:40:40 +08:00
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 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
Ziya bdf59193d5 Merge branch 'master' into docs/third-party-notices 2026-07-31 01:59:04 -04: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 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
NI0317 46515aec6c Merge remote-tracking branch 'origin/master' into feature/readme-current-capabilities 2026-07-31 11:00:05 +08:00
ZiyaZhang 7b8fa8c510 Merge branch 'master' into docs/third-party-notices 2026-07-30 19:46:01 -07: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 074f0e4393 Merge pinned master into Web transcript 2026-07-31 09:18:45 +08:00