335 Commits
Author SHA1 Message Date
imccyu abe560f81e release(dsh): 0.1.0-rc.5 2026-08-13 18:49:33 +08:00
imccyu 8c1e8d9890 build(release): publish the dsh family publicly
Every release member now declares publishConfig.access: public, so the scope no
longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored
framework and the native packages.

check-workspace-constraints drops the per-sequence expectation and holds every
release member to public, which is what stops a member from drifting back.

Access is a property of the package, not of a version: the dsh packages already
published as restricted become world-readable at their next publication.
2026-08-13 18:49:32 +08:00
imccyu 8a954b2eca release(dsh): 0.1.0-rc.3 2026-08-13 18:39:06 +08:00
imccyu 60b04b6ef7 release(dsh): 0.1.0-rc.2 2026-08-13 17:19:37 +08:00
imccyu 22ab3beac1 release(dsh): 0.1.0-rc.1 2026-08-13 16:22:33 +08:00
Tianyi Cui c905c4694e Adopt MIT for DSH packages 2026-08-13 13:07:24 +08:00
imccyu 3e8a1cfa33 release(dsh): 0.0.1-rc.5 2026-08-13 06:14:27 +08:00
imccyu a90d9af1b2 release(dsh): 0.0.1-rc.4 2026-08-13 05:16:02 +08:00
imccyu 1e99f20963 release(dsh): 0.0.1-rc.3 2026-08-13 03:24:38 +08:00
Tianyi Cui a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
xjt 4806d94715 docs(i18n): include complete proofreading corpus 2026-08-12 12:30:19 +08:00
imccyu 5ca7be5dcb release(dsh): 0.0.1-rc.2 2026-08-11 22:52:39 +08:00
Turtle 0c708cb10d refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
creatixchu c1f0a6a683 Merge remote-tracking branch 'origin/master' into feat/read-image-context
# Conflicts:
#	apps/cli/tests/web-agent-presets.e2e.ts
#	packages/fs/tool-fs/package.json
2026-08-11 10:12:14 +08:00
imccyu b64c3ac1ba release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
imccyu 2c85c484d3 build(release): reference workspace members through the workspace protocol
1504 hand-written ranges pointing at workspace members become workspace:^, so
pnpm pack substitutes each member's real version at publication: sibling
peerDependencies follow the family version instead of being pinned at ^0.0.1,
and a reference to a vendored package follows that package's own line. Without
this, publishing 0.0.2 ships peer ranges naming a version that does not exist,
and 0.0.1-rc.1 does not satisfy ^0.0.1 either.

It also retires ranges that had gone stale against the workspace: ^4.0.0-rc.6
for a 4.0.0-rc.7 checkout, ^3.17.0 for schemastery 3.18.0.

workspace:* stays where an exact published version is the point, which is how
the Landlock entry pins its platform packages.

A workspace constraint now requires the protocol, so a new package cannot
reintroduce a hand-written range. The same constraint caught packages/boot/cmdline
arriving on master without the publishable trio, which this change completes.
2026-08-11 00:17:09 +08:00
imccyu 97eb14a007 build(release): make the release set publishable under the private scope
Every package under packages/, apps/, and vendor/ drops "private": true and
declares publishConfig.access "restricted": the repository now states which
packages it publishes instead of deciding it at publish time. Each one also
declares its repository and directory, which is how a consumer of a private
package reaches its source.

The Landlock packages move to restricted with them. They have never been
published, so nothing anonymous depends on them today, and the whole
@deepseek-ai scope stays private.

The workspace constraint that required every package to be private now applies
to non-members only, and asserts the publishable trio on each release member.
2026-08-11 00:09:31 +08:00
imccyu ec601ca13d build(vendor): rescope the vendored Cordis packages into @deepseek-ai
Machine-produced by `pnpm run rescope-vendor --apply` plus the regeneration it
prints: `pnpm install` for the lockfile, `pnpm run gen-third-party-notices`,
`verify-translation-pairing --write` for the touched bilingual pairs,
`gen-doc-graphs`, and one typert snapshot whose ids embed character offsets.
`pnpm run rescope-vendor --check` verifies the result.

Renames nine vendored packages (cordis, cosmokit, schemastery and the six
@cordisjs plugins) and every reference that resolves them: manifest names and
dependency keys, module specifiers including declare-module merges, cordis.yml
plugin names, tsconfig paths, every Markdown fence, and `docs/` prose.
Directory names, upstream versions, and dependency ranges are unchanged, so
vendor/README.md still reads as an upstream snapshot; its manifest table gains
an upstream-name column so THIRD_PARTY_NOTICES keeps MIT attribution pointed
at each fork's origin.

The tutorial tier follows the rename end to end: its yaml fences named plugins
the Loader can no longer resolve, its `ts ignore-check` fences disagreed with
the compiled fences beside them, and its prose quoted both. The contracts that
told readers to keep upstream names — the root convention and the vendoring
cookbook's tree comment and manifest invariant — now say to rescope instead.

Two rules read `@deepseek-ai/` as "another workspace plugin": the client bundle
purity gate now names the vendored libraries a browser bundle inlines, and the
files where a bare `cordis` is an agent-preset id keep that product data.
2026-08-10 22:04:13 +08:00
creatixchu 0a6561fa76 refactor(fs): share read preflight helpers 2026-08-10 20:36:24 +08:00
creatixchu 2b90207770 Merge remote-tracking branch 'origin/master' into feat/read-image-context
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/support/llm-replay/src/index.ts
#	packages/support/llm-replay/tests/llm-replay.spec.ts
2026-08-10 20:25:25 +08:00
creatixchu 767e5a5723 fix(fs): close read-image review gaps 2026-08-10 19:56:18 +08:00
creatixchu b07844dd4c Merge branch 'master' into feat/read-image-context
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
2026-08-10 19:01:47 +08:00
ZiyaZhang c969d69f10 Merge latest master into PR branch 2026-08-10 02:10:57 -07:00
Turtle a27efdef36 docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
ZiyaZhang 191c7625a4 Merge master and repair CI for bounded diff basis 2026-08-10 01:18:38 -07:00
creatixchu 97a9ec5a0e fix(review): bound E2B readBytes at the seam, prove conditional-registration disposal, and align read_image contracts
- E2BFileSystem.readBytes now short-circuits on the stat size before any
  content transfer and streams the remote object, cancelling at the first
  chunk past the cap, honoring the seam's bounded-buffering contract; the
  fs-e2b README pair documents the new primitive.
- The tool-fs HMR test now proves the attachments-scoped registration:
  disposing the store withdraws read_image while read/write/edit stay,
  remounting restores it, and disposing the plugin withdraws everything.
- read_image caps reads at the smaller of maxImageBytes and
  maxMessageImageBytes, records an absent observation for a missing
  target like its sibling read, widens the mismatch remedy to cover
  out-of-family formats, and renames the gate's parameter to
  requestedPath; module/apply/registration JSDoc now match the shipped
  composition. zh terminology aligned; the examples manifest keeps its
  literal arrow.
2026-08-10 15:35:33 +08:00
creatixchu 1861a3fc7c feat(fs): add a minimal read_image tool over the attachment and fs seams
The model reads a PNG/JPEG/WebP/GIF file, the bytes commit through the
durable attachment lifecycle, and the tool result carries the real
ImageBlock so the image enters context from the next request onward.
FileSystem gains a bounded readBytes primitive (local + E2B providers);
registration is conditional on the attachment store, and a strict
execution gate refuses routes that do not declare image input, so a
text route's durable history stays free of image blocks. llm-replay
models may declare inputModalities, letting keyless ACP snapshots pin
both the sha256-referenced success and the verbatim refusal.

Supersedes the withdrawn route-scoped design of PR #598; the decision
record is .agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.md.
2026-08-10 15:09:07 +08:00
Tianyi Cui 25dcd7293c docs: purge chain-of-thought leakage from prose
Delete design-session citations (decision/audit/plan ordinals, stack
positions), change narration, review choreography, and reviewer-addressed
justification from comments, JSDoc, docs, READMEs, Agent Notes, tests, and
generator templates; restate every affected fact as current-state contract
prose. Fix generated docs at their sources and regenerate the catalogs and
cordis-surface regions; re-paste type-equiv blocks; update every bilingual
counterpart and re-record the pairs. Record the citation rule in the
committed-artifact-citations Agent Note.
2026-08-09 21:10:59 +08:00
Tianyi Cui 39d8678a02 docs(fs): enumerate absence observation paths 2026-08-09 17:49:10 +08:00
Tianyi Cui 7132b9730e fix(fs): harden guarded-create publication 2026-08-09 17:44:34 +08:00
Tianyi Cui ceba53edd7 fix(fs): observe absence before guarded recreation 2026-08-09 17:43:53 +08:00
Turtle dda02250f5 docs: reserve seam for complete capabilities 2026-08-09 17:26:57 +08:00
Turtle 27ac49e687 docs: define a seam as the (Service, Service provider, Consumer) trio 2026-08-09 17:11:16 +08:00
Turtle 93f519b8b8 Merge remote-tracking branch 'origin/master' into codex/concrete-provenance-prose
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.zh.md
#	.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.zh.md
#	.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml
#	.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.zh.md
#	docs/architecture.i18n.yaml
#	docs/architecture.zh.md
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
2026-08-09 16:39:34 +08:00
Turtle 9704749b01 docs: replace vague provenance prose with recorded facts 2026-08-09 15:35:02 +08:00
ZiyaZhang 4bfa127eb7 Merge remote-tracking branch 'origin/master' into fs-overwrite-diff-bound-v2 2026-08-09 00:34:29 -07:00
xjt 30e3e5a50c Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md
#	.agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.zh.md
#	.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md
#	.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.zh.md
#	.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md
#	.agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.zh.md
#	.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md
#	.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md
#	.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md
#	.agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.zh.md
#	.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md
#	.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md
#	.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md
#	.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md
#	.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml
#	.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md
#	.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md
#	.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md
#	.agents/notes/implemented/feature/2026-07-05-skill-system.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-05-skill-system.zh.md
#	.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
#	.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md
#	.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md
#	.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md
#	.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
#	.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md
#	.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md
#	.agents/notes/implemented/feature/2026-07-27-web-session-search.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md
#	.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
#	.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.zh.md
#	.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.zh.md
#	.agents/notes/implemented/feature/2026-07-28-web-terminal-card.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md
#	.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md
#	.agents/notes/implemented/feature/2026-07-30-search-render-card.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-diff-card.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-read-card.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-result-card.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md
#	.agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.zh.md
#	.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md
#	.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.zh.md
#	.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md
#	.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md
#	.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md
#	.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md
#	.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md
#	.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md
#	.agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml
#	.agents/notes/implemented/process/2026-06-17-ts-build-config.zh.md
#	.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml
#	.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md
#	.agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.i18n.yaml
#	.agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.zh.md
#	.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml
#	.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md
#	.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml
#	.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md
#	.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml
#	.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md
#	.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml
#	.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
#	.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml
#	.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.zh.md
#	.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml
#	.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.zh.md
#	.agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.i18n.yaml
#	.agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.zh.md
#	apps/cli/reference/README.i18n.yaml
#	apps/cli/reference/README.zh.md
#	docs/api-gateway.i18n.yaml
#	docs/api-gateway.zh.md
#	docs/cookbook/adding-a-package.i18n.yaml
#	docs/cookbook/adding-a-package.zh.md
#	docs/cookbook/adding-a-tool.i18n.yaml
#	docs/cookbook/adding-a-tool.zh.md
#	docs/development.i18n.yaml
#	docs/development.zh.md
#	docs/i18n/README.i18n.yaml
#	docs/i18n/README.zh.md
#	docs/i18n/style-samples.md
#	docs/i18n/terminology.md
#	docs/testing.i18n.yaml
#	docs/testing.zh.md
#	examples/web-cordis/README.i18n.yaml
#	examples/web-cordis/README.zh.md
#	packages/api/gateway/README.i18n.yaml
#	packages/api/gateway/README.zh.md
#	packages/bash/bash-env/README.i18n.yaml
#	packages/bash/bash-env/README.zh.md
#	packages/bash/tool-bash/README.i18n.yaml
#	packages/bash/tool-bash/README.zh.md
#	packages/bash/tool-pwsh/README.i18n.yaml
#	packages/bash/tool-pwsh/README.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-tool/README.i18n.yaml
#	packages/client/ui-tool/README.zh.md
#	packages/feedback/command-feedback/README.i18n.yaml
#	packages/feedback/command-feedback/README.zh.md
#	packages/host/webserver/README.i18n.yaml
#	packages/host/webserver/README.zh.md
#	packages/pty/tool-bash-persistent/README.i18n.yaml
#	packages/pty/tool-bash-persistent/README.zh.md
#	packages/subagent/subagent-claude-code/README.i18n.yaml
#	packages/subagent/subagent-claude-code/README.zh.md
#	packages/subagent/subagent-codex/README.i18n.yaml
#	packages/subagent/subagent-codex/README.zh.md
#	packages/typert/type-meta/README.i18n.yaml
#	packages/typert/type-meta/README.zh.md
#	packages/util/atomic-write/README.i18n.yaml
#	packages/util/atomic-write/README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-09 13:15:27 +08:00
xjt aad0030fe0 Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
# Conflicts:
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
2026-08-09 11:45:58 +08:00
xjt 0c3354e582 Merge origin/master into xjt/incremental-proofreading-275-apply 2026-08-09 11:44:26 +08:00
xjt a7af54a8d3 docs(i18n): standardize contract terminology 2026-08-09 11:33:14 +08:00
xjt 7ff0cbcb7e docs: complete Chinese proofreading and generated reference pairing 2026-08-09 11:02:16 +08:00
Tianyi Cui 10ef3d4924 docs,feat(doc-gates): fix 15 dead anchor fragments; verify-md-links now validates fragments
A corpus sweep under the doc/prose standards found 15 links whose #fragment
named no anchor in its target — reworded headings, one relocated contract
(tool-fs → the group README's no-timeout rule), and zh sides citing English
slugs their Chinese headings never produce. Fixed all 15 (zh sides get the
conventional explicit <a id> + English fragment), fixed the one generator-owned
instance at its source (gen-doc-graphs), and extended verify-md-links to
resolve fragments onto Markdown targets — same-file anchors included — against
heading slugs and explicit <a id>, so the class is gated instead of manually
grepped. Remaining probes (narrated history, duplication shingles, comment
transcripts, budgets) came back clean; sibling-adapter README symmetry and
implemented-note contrasts are deliberate keeps.
2026-08-09 10:56:42 +08:00
xjt 5d46c11784 docs(i18n): reconcile source-drifted translations 2026-08-09 10:24:11 +08:00
ZiyaZhang 1a6037c9fb Merge remote-tracking branch 'origin/master' into fs-overwrite-diff-bound-v2
# Conflicts:
#	docs/subsystems/lsp.i18n.yaml
#	packages/fs/fs-local/README.i18n.yaml
#	packages/fs/fs-local/README.md
#	packages/fs/fs-local/README.zh.md
#	packages/fs/fs-local/src/index.ts
2026-08-08 12:20:09 -07:00
ZiyaZhang 9a299f9827 fix(fs-local): degrade basis I/O failures to null
Descriptor-phase errnos in readTextForDiff fold to before: null so a file
deleted or made unreadable after the caller's preflight cannot fail the
committed write; cancellation and non-errno faults still propagate. Drops
the now-covered isFile v8 ignore, extends llm-replay with catalog
capability parity (defaultMaxTokens/reasoningEfforts), and records the
fs-write-overwrite-bounded keyless snapshot pinning the over-limit
whole-file fallback through the real acp-agent composition.
2026-08-08 11:49:42 -07:00
Tianyi Cui aa0ca6c836 docs: anchor each subsystem page to its package group; make group READMEs thin tables
core.md read as a type grab-bag: LLM wire vocabulary up front, the agent/loop story buried, and no correspondence to packages/core. It now opens on the packages/core control spine — the package-by-package loop map with a Page column into session/system-prompt/tools/scope — and keeps only what the spine group declares plus the repo-wide patterns: the Agent handle with its delivery/cancellation/interception contracts, the SessionEvent envelope, branded ids, the …Map pattern. The conversation vocabulary (Message/ContentBlock, the model request, adapters — 17 type-equiv blocks) moves to llm-streaming.md, which now declares packages/llm end-to-end; the duplicate ContentBlockMap paste near its seam section folds into the moved section, and the manifest, LINK_MAP, README table rows, website label (Core data structures → Core), and inbound anchors follow.

Every packages/<group>/README pair is now a thin front door in one shape: a why-first intro (bash's seam-pattern-first paragraph rewritten as 'shell execution for the agent'), the package table, and a closing pointer to the owning docs/subsystems page — the bash-style table stays the load-bearing middle. Load-bearing trailing paragraphs relocate rather than vanish: the fs no-timeout rationale becomes a filesystem.md section (both languages), session's four sectioned tables merge into one 12-row table, examples' legacy-bin H2 collapses to a pointer at jsonrpc-demo's README, and design rationale that already lives in an Agent Note or subsystem page is now linked instead of restated. All 40 pair records re-recorded.
2026-08-09 01:32:39 +08:00
Tianyi Cui f7323354bb docs: generate each subsystem's cordis surface into its own page; delete the flat catalogs
Rebuild of the region machinery (PR3) on the post-#904 Typert projection:
renderPageRegion/renderInheritedPage live in dsh-typert-generator beside the
projection; scripts/gen-cordis-catalog.ts owns the curated SERVICE_PAGE /
EVENT_SCOPE_PAGE / SERVICE_WALK_EXEMPTIONS / LINK_MAP partition (fail-loud in
both directions, with the independent Context-merge scan backstopping the
projection's blind spot), spliceRegion, and the guarded pair auto-record.
docs/cordis-catalog/ is deleted: the flat events/services catalogs dissolve
into per-page regions and docs/cordis-catalog/core moves to docs/cordis-api/
with the inherited tier as its own generated page. The partition absorbs the
post-regrouping surface: ctx.typert → invariants.md, ctx.directoryPicker →
workspace.md, skills/* events → skills.md, and the four launcher-provided tui
accessor values join the named exemptions.
2026-08-09 01:31:57 +08:00
Tianyi Cui 3fc35c91ff refactor(packages): dissolve ui/ and rename sdk/ to scaffold/
git mv per the regrouping RFC: the five human-collaboration seams and
tui join packages/interaction/, app-boot becomes packages/boot/, and
jsonrpc joins the renamed scaffold/ (formerly sdk/) as its server half
beside client/protocol/create-sdk/helper/scripts/telemetry, whose
folders drop the legacy sdk- prefix. Three new group README triplets
replace the ui/ and sdk/ ones; tsconfig references/paths/globs,
knip keys, vitest globs, gate scripts, catalogs, docs, and the
lockfile follow. Adds the four settled FIXME rename markers
(dsh-sdk-server, dsh-sdk-telemetry, dsh-sdk-helper, dsh-sdk-scripts).

The scaffold folders diverge from their npm names until those renames
land, so tsconfig.base.json maps the three affected names explicitly
beside the group wildcard. Also repairs two pre-existing stale-path
classes the strengthened sweep surfaced: docs/web-styling.md's retired
web-ui host package and type-model spec fixture-literal joins.

app-boot's three Loader-composition specs time out at the default 5s
under full-suite parallel load on this filesystem (pre-existing;
pass isolated with --testTimeout=30000); interaction/scaffold/boot
suites otherwise green (687 passed).
2026-08-09 01:21:12 +08:00
Tianyi Cui 917a7493f7 refactor(e2b): keep provider layer substrate-only 2026-08-08 22:19:12 +08:00
Tianyi Cui 2abc9823e7 refactor(e2b): compose portable runtime consumers 2026-08-08 22:19:11 +08:00