Commit Graph
100 Commits
Author SHA1 Message Date
Tianyi Cui db7cfc117b Merge pull request #2063 from deepseek-harness/worktree/ci-native-windows-20260808
ci: run native Windows alongside required Wine
2026-08-09 22:58:17 +08:00
Tianyi Cui 7257ce3dc3 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 22:42:28 +08:00
Tianyi Cui ddbc07a067 Merge pull request #2117 from deepseek-harness/worktree-skill-trim-cot-leakage
docs(skills): dsh-trim-cot-leakage — distill the CoT-leakage purge into a reusable audit skill
2026-08-09 22:35:40 +08:00
Tianyi Cui 05a4a41f4f docs(skills): distill the CoT-leakage purge into dsh-trim-cot-leakage
SKILL.md carries the resolvability test, the 8-class taxonomy, the
sanctioned-keeps list, and the owner-first fix workflow; references/
carry 24 few-shot calibration blocks (both citation-boundary directions
plus the four overcorrection traps caught in the purge's review rounds)
and the EN+zh recall batteries with their false-positive families.

dsh-doc-standards' inline leakage probes collapse into a link to the
new skill; dsh-prose-standard gains the sibling pointer; the
committed-artifact-citations note (+zh, pair re-recorded) records the
skill as the operational workflow and exempts its calibration examples
from the battery expectation.
2026-08-09 22:27:32 +08:00
Tianyi Cui bf38526354 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
# Conflicts:
#	.agents/notes/archived/process/2026-07-27-wine-windows-gates-experiment.i18n.yaml
2026-08-09 21:48:01 +08:00
Tianyi Cui c1ee0f6e3e Merge pull request #2098 from deepseek-harness/worktree-docs-cot-leakage-purge
docs: purge chain-of-thought leakage — dead design-session citations, diff narration, review choreography
2026-08-09 21:28:22 +08:00
Tianyi Cui 54b898463c fix(rebase): drop transcript-adapter files resurrected over master's deletion
Master's conversation-node engine deleted transcript-adapter.ts and its
spec; the rebase's modify/delete conflicts were staged as keep-ours,
resurrecting both with a stale dsh-compact import. Remove them; the
purge edits they carried died with the files upstream.
2026-08-09 21:20:18 +08:00
Tianyi Cui eeacdd4790 docs: fix round-3 review findings — §/used-to/v1 residuals, zh stamp example, budget freeze honored
Delete the three §-citation residuals (web-app cordis.patch.yml, two
client design.md §-headers); recast the two CSS used-to narrations and
hmr's four v1 labels as current-state prose; narrow the zh exemption
example to 'this cut' (「本版本」 legitimately renders 'This version');
extend the candidate gate list with the post-battery shapes (§\d with a
committed-owner carve-out, 'used to', bare v1) on both sides and
re-record; honor the over-target ceiling freeze — docs/AGENTS.md
condensed to 1320 and the ceiling restored to 1320.
2026-08-09 21:11:59 +08:00
Tianyi Cui 8053dc38fa test(snapshot): refresh translation-prompt expected output
The assembled request embeds docs/i18n/translation-prompt.md's header and
the bilingual-pairing-gate note as its worked example; the purge edited
both, so the recorded request text follows.
2026-08-09 21:11:46 +08:00
Tianyi Cui dd384f86ab docs: bring generated-catalog zh pairs along; raise docs/AGENTS.md ceiling to 1335
Master's bilingual-generated-docs policy pairs the five generated catalogs;
mirror the purge's regenerated English (ConPTY note, hooks TODO wording,
thinking-format and SurfaceOp JSDoc, doc-graphs templates) into their
reviewed zh sides and re-record. Condense the evidence-citation clause and
raise the docs/AGENTS.md ceiling 1320→1335: master's seam-trio definition
and this PR's review-mandated evidence rule land in the same window.
2026-08-09 21:11:45 +08:00
Tianyi Cui 4eecc58940 docs: harmonize rebase compositions — hardening phrasing, 停放约定 vocabulary, zh arm/this renderings 2026-08-09 21:11:00 +08:00
Tianyi Cui e697bb3ca1 docs: fix re-review findings — seat-migration obligation, evidence rule moved into the standard, first-cut family settled
Restore the ReactNode seats' pending-migration obligation the earlier
rewrite had flipped into a permanent exception; state the merged-PR/issue
evidence allowance in docs/AGENTS.md itself so the citations note defers
to the standard instead of overriding it; rewrite the one current-state
'first cut' fact and record the historical-stage-name exemption (with
indexical stamps still banned); pairs re-recorded.
2026-08-09 21:10:59 +08:00
Tianyi Cui ee7458b2df docs: fix review findings — residual ordinals, hypothetical IPC row, citation-rule amendments
Purge the residual task/phase ordinals review caught ((T2), (queue cut 1)
×3, T6, P-I, 'this cut' ×6 including battery-expansion finds in two
untouched notes and a workflow JSDoc); drop the 'externally logged as
Decision 21' parenthetical and rename the remaining bare decision-21
mentions; mark the gui-layering IPC bridge row as a hypothetical example;
restore the GATE_NOTICE doc-typecheck clause and the py-types 'measured'
provenance; say subprocess-backed in filesystem.md; add the picker note
path. Amend the citations note: merged-PR evidence anchors in Agent Notes
are sanctioned, and the candidate gate patterns gain the four shapes the
sweep missed. All nine touched pairs re-recorded.
2026-08-09 21:10:59 +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 4a89702503 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 21:02:18 +08:00
Tianyi Cui 6f27e6c2ce test(windows): compare canonical HMR identities 2026-08-09 20:44:10 +08:00
Tianyi Cui 548726eede ci(wine): add verified archive mirror fallback 2026-08-09 19:58:29 +08:00
Tianyi Cui a8daedc1d9 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 19:48:02 +08:00
Tianyi Cui dec4d1ffdb ci(wine): resume partial Node downloads 2026-08-09 18:13:04 +08:00
Tianyi Cui 3499c59ba8 Merge pull request #2102 from deepseek-harness/worktree/fix-fs-absent-observation
fix(fs): recover after an observed file is deleted
2026-08-09 18:03:25 +08:00
Tianyi Cui 4e26e38440 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 18:03:06 +08:00
Tianyi Cui 9b686a4203 ci(wine): bound Node distribution downloads 2026-08-09 18:01:44 +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
Tianyi Cui 88096fb2da Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 17:25:15 +08:00
Tianyi Cui 95eb4bcf40 test(windows): vary HMR polling writes 2026-08-09 17:20:58 +08:00
Tianyi Cui e94cacd088 test(hmr): separate repeated watcher failures 2026-08-09 16:50:20 +08:00
Tianyi Cui 728169a3dc Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
# Conflicts:
#	packages/settings/settings-local/README.i18n.yaml
#	packages/settings/settings-local/README.zh.md
2026-08-09 16:46:57 +08:00
Tianyi Cui 455e6ec583 fix(hmr): await module watcher readiness 2026-08-09 16:40:13 +08:00
Tianyi Cui f1c5c6e0b2 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 16:13:29 +08:00
Tianyi Cui dcb45aae65 test(windows): preserve watcher defaults 2026-08-09 15:43:01 +08:00
Tianyi Cui 48882aa988 test(windows): isolate HMR alias identity 2026-08-09 15:42:24 +08:00
Tianyi Cui bc3061cec4 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 15:00:56 +08:00
Tianyi Cui d950f60bdf test(windows): stabilize aliased HMR writes 2026-08-09 14:58:54 +08:00
Tianyi Cui 8c124f84b6 Merge pull request #2074 from deepseek-harness/worktree/headless-core-runner
fix(headless): dsh run is a direct core front door
2026-08-09 14:40:16 +08:00
Tianyi Cui 3754c0d586 test(windows): let HMR atomic changes settle 2026-08-09 14:35:46 +08:00
Tianyi Cui 2fcfcd4d92 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 13:58:01 +08:00
Tianyi Cui 3b5ee1dce1 fix(windows): address native CI review findings 2026-08-09 13:57:50 +08:00
Tianyi Cui 63b6e18f71 fix(headless): terminal model failures reach stderr 2026-08-09 13:44:44 +08:00
Tianyi Cui 9d5eb37638 fix(headless): dsh run is a direct core front door 2026-08-09 13:44:44 +08:00
Tianyi Cui eb9e7c19eb Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
# Conflicts:
#	.agents/notes/archived/process/2026-07-27-wine-windows-gates-experiment.i18n.yaml
#	.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
#	.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
#	.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
#	.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
2026-08-09 13:26:11 +08:00
Tianyi Cui f157719690 Merge origin/master into worktree/ci-native-windows-20260808
# Conflicts:
#	vendor/README.md
2026-08-09 13:00:19 +08:00
Tianyi Cui 03258467bf Merge pull request #2062 from deepseek-harness/worktree/ci-github-repository-plugin-e2e-20260808
feat(repository-plugin): run trusted Git repository packages
2026-08-09 12:03:40 +08:00
Tianyi Cui c8e0b0f3a7 test(repository-plugin): update keyless prepare fixture 2026-08-09 11:41:40 +08:00
Tianyi Cui a208bc1a92 docs(config-catalog): refresh repository source 2026-08-09 11:41:40 +08:00
Tianyi Cui fc20194733 fix(repository-plugin): follow package regrouping 2026-08-09 11:41:40 +08:00
Tianyi Cui 8d76ddaa6c fix(repository-plugin): enforce published prepare dependency 2026-08-09 11:41:40 +08:00
Tianyi Cui 690fc798a5 test(repository-plugin): isolate simulated npm release 2026-08-09 11:41:40 +08:00
Tianyi Cui e00ec8e2aa test(repository-plugin): refresh prepared wrapper fixture 2026-08-09 11:41:40 +08:00
Tianyi Cui cc7bd4948d fix(repository-plugin): reject incomplete MCP publication 2026-08-09 11:41:40 +08:00
Tianyi Cui 29b3e3fa84 fix(repository-plugin): require published prepare dependency 2026-08-09 11:41:40 +08:00
Tianyi Cui e91ff6d499 test(repository-plugin): cover MCP activation cleanup 2026-08-09 11:41:40 +08:00
Tianyi Cui 913ecf5f1d fix(mcp-client): await Cordis startup discovery 2026-08-09 11:41:40 +08:00
Tianyi Cui 67b9e9b1d6 test(repository-plugin): isolate agent mock sequence 2026-08-09 11:41:40 +08:00
Tianyi Cui c750d5a908 test(repository-plugin): resolve published Cordis types 2026-08-09 11:41:40 +08:00
Tianyi Cui a7832cbfbf fix(repository-cache): isolate Git package dependencies 2026-08-09 11:41:40 +08:00
Tianyi Cui 033fa4b0b1 feat(repository-plugin): load trusted package code 2026-08-09 11:41:40 +08:00
Tianyi Cui a0c64f4906 ci(repository-plugin): authenticate private GitHub source 2026-08-09 11:41:40 +08:00
Tianyi Cui a9af1a33f0 test(repository-plugin): update prepared fixture metadata 2026-08-09 11:41:40 +08:00
Tianyi Cui 778b9585d4 docs: refresh repository Plugin config source 2026-08-09 11:41:40 +08:00
Tianyi Cui b91b1fdefe fix(repository-plugin): make GitHub source preparation self-contained 2026-08-09 11:41:40 +08:00
Tianyi Cui da2179dd2b test(fixtures): prepare repository Plugin at prepack 2026-08-09 11:41:40 +08:00
Tianyi Cui b995b12261 test(fixtures): add private GitHub repository Plugin 2026-08-09 11:41:40 +08:00
Tianyi Cui 27159ed21b Merge pull request #2080 from deepseek-harness/docs/prose-conciseness-pass
docs,feat(doc-gates): fix 15 dead anchor fragments; verify-md-links now validates fragments
2026-08-09 11:37:55 +08:00
Tianyi Cui dad5963484 fix(doc-gates): review findings — GitHub-slugger parity and the surviving old-rule prose
ds-review-bot round: slugs now come from RENDERED heading text (links,
inline code, emphasis) with underscores kept and GitHub's occupied-set
repeat suffixes; explicit <a id> anchors register only from real HTML flow
(fences, inline code, and comments no longer produce phantoms); fragment
matching is exact-case since element ids are. anchorCache is exported and
the spec reuses it. The contradicting 'gate checks file existence, not
#anchor validity' sentence in docs/AGENTS.md is gone; the dsh-doc-standards
residual caveat names the real TS-string anchor homes; the 2026-06-18
cross-link note is updated to shipped behavior and cross-linked with the
fragment-gate note.
2026-08-09 10:56:43 +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
Tianyi Cui 80019566f2 chore(doc-gates): keep cordisModuleBodies module-local — knip flags the unused export 2026-08-09 10:56:05 +08:00
Tianyi Cui c9205901ec fix(doc-gates): review findings — scan every merge block, any quote style, .tsx too; self-check the scan
ds-review-bot round: the backstop stopped at a file's first declare-module
block while the projection it guards reads them all; the textual prefilter
matched only single quotes; .tsx sources escaped the glob. All three are the
silent-vanish class the scan exists to prevent. contextMergeFiles now yields
one entry per block (quote-agnostic prefilter, ts+tsx patterns), and a third
partition direction requires everything rendered to be scan-visible, so a
future scan regression is a hard error. Spec fixture made projection-
consistent; the partially superseded 2026-07-28 regions note is rewritten to
the current mechanism and cross-linked both ways.
2026-08-09 10:29:13 +08:00
Tianyi Cui ffb1f187ee ci: keep Wine required beside native Windows 2026-08-09 06:21:41 +08:00
Tianyi Cui 0fb062d85e feat(doc-gates): backstop every declared cordis event; deepen the Context scan to src/**
The rendering projection walks only files reachable from host-face package
exports, so client-face Events merges vanished silently (12 events) and the
services backstop's top-level glob missed 13 nested client Context keys.
Events now get the exact mirror of the service backstop (EVENT_WALK_EXEMPTIONS,
name-keyed because client events share scopes with rendered host events), both
scans read packages/*/*/src/**/*.ts, and the partition judgment is the pure
walkPartitionProblems() so every acceptance path is unit-provable.
2026-08-09 02:39:12 +08:00
Tianyi Cui da45d66b14 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
# Conflicts:
#	vendor/README.md
2026-08-09 02:11:02 +08:00
Tianyi Cui 0543a6f79d Merge pull request #1137 from deepseek-harness/worktree-docs-subsystems-readme
docs: package-anchored subsystem pages — core.md owns the agent contract, thin group READMEs, enforced folder index
2026-08-09 02:07:27 +08:00
Tianyi Cui a2aa567371 docs(subsystems): open core.md on agent creation/ownership and the Agent contract; enforce a complete folder index
core.md claimed to be the packages/core reference but opened on repo-wide type patterns and never documented the ownership vocabulary: AgentHandle, CreateAgentOptions, ResumeAgentOptions, and AgentFactory were TYPE_LINK_EXEMPTIONS pointing at a package README, invisible to the folder that calls itself the type reference. The page now reads spine map -> creation and ownership (AgentHandle pasted; the options and factory summarized with links into the generated registry section) -> the Agent handle (AgentStatus, AgentOptions, SteeringOutcome, SteeringReceipt, and SettleReason now pasted; the one settlement prose wall split by topic; delivery vocabulary ordered as a message travels) -> initiator -> interception -> a Sessions summary -> the ToolDefinition pointer -> an explicitly framed repo-wide patterns tail (the ...Map pattern, branded ids). The duplicate SessionEvent paste is gone -- session.md owns it and LINK_MAP follows -- the four ownership types moved from TYPE_LINK_EXEMPTIONS into LINK_MAP -> core.md, and three dead LINK_MAP entries (ContinuationDecision, ContinuationStop, HookContext) no longer name types absent from the source tree. The "what this page owns" meta-section folds into the intro.

The subsystems README index silently lost tasks.md and session-reference.md on both language sides during a base absorption; the rows are restored and scripts/project-doc-site.spec.ts now fails when any page misses either side of the index (proven red on a removed row). tools.md links ToolSchema to its llm-streaming.md declaration instead of calling it core; subagent.md links AgentHandle and CreateAgentOptions.seed to the new section. A new Agent Note records the package-anchored page-scoping decision; the 2026-06-20 catalog note marks its spine-vs-seam rule superseded as the page-scoping rule while keeping the type-equiv mechanism current, and docs/AGENTS.md cites the new note.
2026-08-09 01:34:23 +08:00
Tianyi Cui 43a4763923 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-09 01:32:57 +08: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 2886ba45db docs: give subsystems/ its own README index; retire the data-structures-catalog framing
core.md doubled as the folder index: its intro claimed "this folder catalogs the data structures" and carried the 38-row page table, wording that predates the one-page-per-subsystem shape where every page also carries its generated Cordis surface. The folder index now lives in docs/subsystems/README.md (page table plus the type-equiv note), and core.md is one subsystem page among siblings: the spine vocabulary. Structural referents move with it: the docs/AGENTS.md tier table and update rule, development.md's type-equiv pointer, the dsh-code-review skill, the two owning catalog Agent Notes, and website/docs.ts (README projects as reference/subsystems/index.md and takes the docs/subsystems folder alias; sidebar orders shift by one). Remaining "data-structure catalog" / "sub-page" phrasing in active notes and READMEs is reworded to subsystem-page terms in both languages; touched pairs re-recorded; translation-prompt snapshot re-recorded (its example embeds development.md).
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 44b035c711 docs: qualify plan-mode timing and workspace no-write claims
ds-review-bot round 3:
- set() after a turn's final step lands in a later turn (selection
  never forces continuation) — the same-turn phrasing overstated the
  guarantee; set() JSDoc + subsystem page (both languages).
- Workspace attach/insert/detach no-op claims now carry the
  filtered-candidate-prune caveat: mutate() durably prunes stale
  candidates even when the requested change is a no-op, a state the
  sessionIds contract explicitly permits; Workspace fence re-synced on
  both page sides; catalogs regenerated.
2026-08-09 01:28:29 +08:00
Tianyi Cui 3e1c7351be docs: state the plan-mode flush as a step boundary
ds-review-bot round 2: set() during an open multi-step turn applies at
the next request derivation in that same turn, so 'next turn boundary'
misstated the public timing contract (and propagated into the generated
catalogs). set()'s JSDoc, the module JSDoc, the pending-intent field
comment, and the subsystem page (both languages) now say step boundary;
catalogs regenerated; plan pair re-recorded.
2026-08-09 01:27:20 +08:00
Tianyi Cui bd62b6c032 docs: qualify the telemetry dedupe key as ledger-only
ds-review-bot: ops records deliberately omit event.seq, so the
(session.id, event.seq) dedupe advice cannot apply to them — they are
alert signals that tolerate duplicates. Both language sides; pair
re-recorded.
2026-08-09 01:27:20 +08:00
Tianyi Cui 0dd3ac14eb docs: regenerate catalogs after the plan-mode JSDoc expansion shifted source lines
Codex round-2: the two-line module-JSDoc fix moved every later
declaration in packages/plan/plan-mode/src/index.ts, so the three
generated catalogs' source-line links went stale. Three one-line
regenerated updates; doc-sync back to 25/25.
2026-08-09 01:27:20 +08:00
Tianyi Cui 061100f6f2 docs: fix four factual errors found by Codex review round 1
- plan.md/.zh.md (+ plan-mode module JSDoc and README pair): the sole
  flush point is the prepended agent/step listener; prompt admission is
  pre-turn and never flushes — the pages had it backwards.
- workspace.md/.zh.md: pending-mutation recovery deletes the marked
  table row — completing an interrupted delete but rolling back an
  interrupted create; 'completes exactly the marked mutation' oversold.
- telemetry.md/.zh.md: delivery is best-effort with possible loss AND
  duplication, not at-most-once; TelemetryRecord.attributes JSDoc (source
  + both fences) now lists session.seed_length, which the coordinator
  emits for forked sessions.
- Agent Note consequence bullet: nine pages cover ten services (storage
  owns two keys); client-modules.zh.md wire-single-source phrasing.

Pairs re-recorded; plan-mode and telemetry suites green.
2026-08-09 01:27:20 +08:00
Tianyi Cui a8cf78630c docs: align zh subsystem pages with late en-side precision edits
The translators' clause-by-clause verification pass caught the English
pages' final wording refinements (tui built-in dialogs enumeration and
display()'s line-feed exception, invariants whitespace-padded/companion
phrasing, client-modules fiber-lifecycle parenthetical, storage strict
sequence, workspace first-successful-start) landing after the initial
zh versions; this aligns the eight pages and re-records their pairs.
2026-08-09 01:27:20 +08:00
Tianyi Cui 3f9c58855b docs: telemetry subsystem page and Chinese counterparts for the nine new pages
telemetry.md joins the eight pages after the OTel telemetry seam landed
on master (ctx.telemetry + telemetry/record were the one service and
event scope still without a page). All nine pages gain zh counterparts
translated whole-document per dsh-translate-docs; the eleven touched
pairs (nine new + core + the subsystems-catalog note) are recorded;
TelemetryRecord moves from TYPE_LINK_EXEMPTIONS to LINK_MAP and the
catalogs are regenerated.
2026-08-09 01:27:20 +08:00
Tianyi Cui e3af8d2ed2 docs: add eight lean subsystem pages covering every remaining service
permission, plan, invariants, http-server, storage (hub + backend seam +
domain form + domain/changed), workspace, tui, and client-modules complete
the docs/subsystems tier: every ctx service and event scope now has one
owning page, the precondition for generating per-subsystem service/event
reference into these pages. 25 new type-equiv manifest entries; 16 types
move from TYPE_LINK_EXEMPTIONS to LINK_MAP now that they have catalog
homes (dead InvariantRegistration exemption removed; catalogs
regenerated); core.md's sub-page table gains the eight rows in both
languages; the owning subsystems-catalog Agent Note records the coverage
extension. Chinese counterparts and pair records follow in the next
commit.
2026-08-09 01:27:20 +08:00
Tianyi Cui cf5e53e051 docs: fix stale package README claims found while writing subsystem pages
- dsh-host-webserver: the service is HttpServerService under ctx.httpServer
  (README said WebServerService/ctx.webServer, matching no symbol in source),
  and the dev-mode bundle-watch paragraph described machinery that moved to
  dsh-client-modules/dsh-client-hmr in the webserver rewrite — removed; those
  packages' READMEs already document the current pipeline.
- dsh-workspace: ctx.workspace.touchSession(id) does not exist; the
  activity-pinning chain was replaced by Workspace.insertSessionBefore
  (2026-07-25 session-list note) — the bullet now documents the real method.
- packages/storage group table: the domain package directory is
  storage-domain/, not domain/.

All three pairs updated on both sides and re-recorded.
2026-08-09 01:27:20 +08:00
Tianyi Cui ba3125234a docs: rename core-data-structures/ to subsystems/
The folder is becoming the home of one-doc-per-subsystem pages (intro +
data structures + cordis services/events), so the name must describe the
whole contract, not just the type-vocabulary third of it. Mechanical
rename rebuilt on current master: every inbound Markdown link, generator
constant, website route, type-equiv manifest path, and spec expectation
moves together; the zh sides of the notes whose prose names the folder
are aligned (子系统) in the same change; touched bilingual pairs
re-recorded; translation-prompt snapshot re-recorded (its example embeds
development.md). Historical Agent Note slugs keep their dated
filenames.
2026-08-09 01:27:09 +08:00
Tianyi Cui 36cf4f32f4 docs(agent-note): flip the regrouping note to implemented
Move the triplet to implemented/architecture/, rewrite Proposal into a
present-tense Decision, fold Acceptance criteria and Risks into
Consequences (recording what pins the result), retitle the migration
section to what the move actually touched, and repoint the seven
inbound FIXME/README links.
2026-08-09 01:25:24 +08:00
Tianyi Cui 2a40cbf8ef refactor(packages): merge timeout/ into guard/, rename cordis/ to self-modification/
git mv timeout-policy beside repeat-tool-guard (both are loop-hygiene
policies on the tool-execution pipeline, and the timeout/ group name
collided with util/timeout) and tool-cordis into self-modification/
(naming the role the framework name obscured). Merged/renamed group
README triplets, tsconfig globs, generator sources, hierarchy tables,
catalogs, and the timeout-policy design note's group references
follow. Adds the fifth FIXME marker (dsh-timeout-guard, recorded as a
suggestion to settle at resolution time).

guard + self-modification suites: 197 passed.
2026-08-09 01:21:12 +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 7e445c3a67 refactor(session): fold the session family into packages/session/
git mv the 12 packages from session-persistence/, session-projection/,
session-title/, and telemetry/ into one session/ group per the
regrouping RFC; merge the four group READMEs into one bilingual
triplet; rewrite the group segment in tsconfig references (intra-group
references shorten to ../<pkg>), tsconfig.base.json paths/globs,
knip.json keys, vitest include, gate scripts, and authored doc/note
citations; regenerate module graph, doc graphs, catalogs, and the
lockfile importer keys. No npm names change.

Full unit suite: 8779 passed; the 18 reported failures reproduce as
env flakes (ambient-proxy IPv6 tunneling, watched-dir inotify
timeouts under parallel load) — each passes in isolation with
NO_PROXY set, matching their known pre-existing behavior on master.
2026-08-09 01:21:11 +08:00
Tianyi Cui 645fcf5713 docs(agent-note): propose packages/ regrouping by measured clustering
RFC settling the target group map: fold the session family into one
session/ group, dissolve ui/ into interaction/ (+tui), boot/, and the
scaffold/ developer-tooling family (absorbing jsonrpc as server),
merge timeout/ into guard/, and rename cordis/ to self-modification/.
Zero npm renames now; five FIXME-tracked intended renames. Squash of
the reviewed RFC iterations (turtle1999 map corrections applied).
2026-08-09 01:21:10 +08:00
Tianyi Cui f3b76e1afa Merge pull request #2072 from deepseek-harness/worktree/fix-e2b-pty-sandbox-policy-test
test(e2b): mount sandbox policy in live PTY composition
2026-08-09 01:13:07 +08:00
Tianyi Cui 047348300a Merge pull request #2069 from deepseek-harness/worktree/auto-i18n-merge-driver
feat(i18n): compose pairing records during merges
2026-08-09 01:12:05 +08:00
Tianyi Cui f34b2bb634 ci(e2b): add manual live sandbox workflow 2026-08-09 00:51:56 +08:00
Tianyi Cui 58b89fb6b4 test(i18n): align merge failure fixtures 2026-08-09 00:50:13 +08:00
Tianyi Cui 9c13a62702 fix(i18n): preserve merge conflicts without runtime 2026-08-09 00:37:46 +08:00
Tianyi Cui b77dbf8ad8 fix(e2b): mount sandbox policy in live PTY test 2026-08-09 00:06:26 +08:00
Tianyi Cui e2b7d8ed31 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808 2026-08-08 23:57:01 +08:00