Commit Graph

7259 Commits

Author SHA1 Message Date
Chinesezjc
44a3b7f74e Merge remote-tracking branch 'origin/feat/read-presenter' into feat/web-read-card 2026-07-30 22:37:00 +08:00
Chinesezjc
7d97418d42 test(web): refresh code-mode-round golden for read error state
The nested read of a missing file surfaces its error state as 失败 in the
code-dispatch row summary, a consequence of this PR's read-card error
presentation. The golden predated it (never re-recorded while the PR was
conflicting); refreshed keyless via DSH_SNAPSHOT=refresh over the existing
session.jsonl.
2026-07-30 22:33:03 +08:00
Chinesezjc
111a4df38e docs(fs): re-record read-card Note i18n pairing after link fix 2026-07-30 22:26:31 +08:00
Chinesezjc
fe5098a2bc fix(fs): correct Note pre-release link and restore read.ts decline coverage
The Note's pre-release-stance link used the wrong depth and target
(../../../CLAUDE.md); point it at ../../../../AGENTS.md with the section
anchor so verify-md-links passes. The presentResult decline test's meta
lacked the now-required offset, so it declined at meta narrowing instead of
exercising the content-shape decline (read.ts:181-183); add offset back.
2026-07-30 22:26:14 +08:00
Chinesezjc
8e6a035d04 Merge remote-tracking branch 'origin/master' into feat/read-presenter 2026-07-30 22:00:43 +08:00
Chinesezjc
4fbe46c381 fix(fs): persist read window offset in the read card meta
An empty read window (byte cap below the first selected line: `lines: []`
with `totalLines > 0`) dropped `offset` from the persisted presentation
meta, so a replayed read card could not report where the window starts or
where a continuation resumes. Carry `offset` on `FsReadMeta`,
`ReadResultView`, and the `presentationMeta` projection, and validate it in
`readMetaFromMeta` (1-based integer; the first line number may not fall
below it). Re-record the ACP fixtures and the cordis api catalog.

Also correct the Note's `parallel-file-reads` golden path
(examples/tui-agent -> apps/cli) and record the pre-card replay-degradation
tradeoff in the Decision section.
2026-07-30 22:00:35 +08:00
Tianyi Cui
589f0aa773 Merge pull request #992 from deepseek-harness/worktree/ci-independent-consumer-build
fix(ci): allocate consumer runner independently
2026-07-30 21:48:57 +08:00
Tianyi Cui
ef9fbb0621 Merge branch 'master' into worktree/ci-independent-consumer-build 2026-07-30 21:48:44 +08:00
Tianyi Cui
36d5f0ac68 Merge pull request #1011 from deepseek-harness/worktree/temporarily-disable-serial-runners-20260730
ci: temporarily disable hosted serial reference runners
2026-07-30 21:47:53 +08:00
Chinesezjc
c7d95f5b7f fix(web-read-card): align read spec with real schema and correct grammar docs
Top-level read samples in read-card.spec use the read tool's real file_path
schema key (web_fetch keeps its own path key); the Input-JSON assertion follows.
The LANGS/LANG_ALIASES JSDoc no longer claims the TypeScript grammar embeds
JSX/TSX — shiki's TS grammar tokenizes JSX approximately, an accepted trade to
keep one JS-family boot grammar.
2026-07-30 21:46:05 +08:00
Tianyi Cui
85d721458a ci: keep self-hosted serial standby enabled 2026-07-30 21:45:43 +08:00
Tianyi Cui
26f0dc1aef Merge branch 'master' into worktree/ci-independent-consumer-build 2026-07-30 21:44:31 +08:00
Tianyi Cui
82e1ee4a6b Merge remote-tracking branch 'origin/master' into worktree/temporarily-disable-serial-runners-20260730 2026-07-30 21:41:09 +08:00
Yichen Jiang
3e354c2c6a Merge pull request #870 from deepseek-harness/worktree-config-settings-seam
feat(settings): user-settings seam (ctx.settings) with file-backed provider
2026-07-30 21:40:27 +08:00
Tianyi Cui
7dff9c3ad0 ci: temporarily disable serial reference runners 2026-07-30 21:38:04 +08:00
Chinesezjc
e98f458852 perf(web-read-card): lazy-load read grammars and guard empty-window copy
Only TypeScript, shell, and JSON grammars load at Web boot; the read card's
wider langFromPath extension set loads through dynamic imports on first use,
so a session that never opens a read card in one of those languages avoids
~1.6 MB of grammar modules and their synchronous init. ReadBlock/CodeBlock
re-render on grammar-load via useSyncExternalStore, picking up highlighting
once the grammar registers. ReadBlock hides the copy control on an empty
window (a successful read of an empty file settles to lines: [] with
card:'read'), matching TerminalBlock so it cannot wipe the clipboard.
2026-07-30 21:28:38 +08:00
Tianyi Cui
81e5eb9800 Merge latest master into worktree-config-settings-seam 2026-07-30 21:21:35 +08:00
hypatiamay
5fc2f4ba04 Merge pull request #897 from deepseek-harness/fix/human-transcript-projection
fix(tui,host): project the human transcript from append-origin events
2026-07-30 21:19:14 +08:00
Tianyi Cui
ec1f08d3ba Merge branch 'master' into worktree/ci-independent-consumer-build 2026-07-30 21:07:14 +08:00
Chinesezjc
ca6af9cd7c Merge remote-tracking branch 'origin/feat/read-presenter' into feat/web-read-card 2026-07-30 21:06:22 +08:00
Chinesezjc
ca19468ae2 Merge remote-tracking branch 'origin/master' into feat/read-presenter 2026-07-30 21:05:17 +08:00
Chinesezjc
60747195a6 Merge remote-tracking branch 'origin/feat/read-presenter' into feat/web-read-card 2026-07-30 21:02:27 +08:00
Hypatia May
acca880015 Merge latest origin/master into fix/human-transcript-projection
Build-review integration round 2.
2026-07-30 20:51:45 +08:00
Tianyi Cui
bec424b9f3 Merge latest master into worktree-config-settings-seam 2026-07-30 20:51:34 +08:00
CreatixChu
5335d61d11 Merge pull request #943 from deepseek-harness/feat/directory-picker-quiet-navigation
feat(directory-picker-browse): quiet navigation — one-frame landings and a slow-scan loading pill
2026-07-30 20:47:36 +08:00
Hypatia May
c6e06e289e Merge origin/master into fix/human-transcript-projection
Build-review integration round 1.
2026-07-30 20:45:39 +08:00
Chinesezjc
0ae52fbb9f fix(fs): guard langFromPath against Object.prototype extension keys
A filename whose extension is an Object.prototype key (foo.constructor,
foo.__proto__) resolved to the inherited member through the plain-object index,
so a function reached the read card's lang hint and failed the tool-output JSON
validation, failing an otherwise successful read. Look the extension up as an
own property only. Added rejection tests, converted the zh Note headings to the
all-English sibling convention, and named the parallel-file-reads terminal
golden as the TUI-unchanged evidence in the Testing section (both languages).
2026-07-30 20:32:51 +08:00
Yichen Jiang
a56678e115 Merge remote worktree-config-settings-seam 2026-07-30 20:28:53 +08:00
Yichen Jiang
ff5b65bb62 Merge latest master into worktree-config-settings-seam
# Conflicts:
#	packages/typert/generator/tests/cordis-catalog-contract.spec.ts
2026-07-30 20:28:25 +08:00
Tianyi Cui
780a601635 Merge latest master into worktree-config-settings-seam
# Conflicts:
#	packages/typert/generator/tests/cordis-catalog-contract.spec.ts
2026-07-30 20:26:36 +08:00
Chinesezjc
43583c75d2 Merge remote-tracking branch 'origin/master' into feat/web-read-card 2026-07-30 20:22:51 +08:00
Chinesezjc
22ff54dda4 Merge remote-tracking branch 'origin/master' into feat/read-presenter 2026-07-30 20:22:51 +08:00
creatixchu
b6fc6328f3 Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation 2026-07-30 20:22:35 +08:00
Tianyi Cui
2fb90a744e Merge pull request #929 from deepseek-harness/worktree-optgate
perf(scripts): gen-doc-graphs and typert gen
2026-07-30 20:21:18 +08:00
imccyu
e3388cee87 ci: reduce typert cost 2026-07-30 20:03:58 +08:00
Hypatia May
fe97451604 Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
#	docs/cordis-catalog/services.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-30 19:57:49 +08:00
imccyu
82a151ed35 ci: increase coverage memory 2026-07-30 19:57:18 +08:00
imccyu
67de3e12b6 ci: reduce coverage cocurrency 2026-07-30 19:57:18 +08:00
imccyu
9f0febe070 perf: typert add cache 2026-07-30 19:57:17 +08:00
imccyu
7326b9b2a4 fix(scripts): share package-source selection to clear the jscpd clone
The spec duplicated collectEventRelations' source-selection block; extract
collectPackageSources and use it from both sides.
2026-07-30 19:57:17 +08:00
imccyu
f988ca9b86 fix(scripts): own the locality proof's premises in gen-doc-graphs
Review follow-up. provenLocalCallee inferred file-local calls from module
scoping but borrowed non-exportedness from its one caller and never checked
module-ness: a helper in a global script file (no import/export) is
program-visible and callable cross-file with no same-file reference, so the
proof passed and those call sites were dropped as silently missing matrix
cells. Guard both premises at the proof entry, failing toward the global
fallback.

- State the EVENT_API_METHODS obligation: a visitSource branch for an
  unlisted method name is dead because the prefilter drops the call first.
- Add gen-doc-graphs.spec.ts pinning fast path vs global fallback equivalence
  on fixture programs: a proven-local helper, an alias-escaping helper, and a
  global-script helper (negative control that keeps the fallback exercised).
- Record the demand-driven indexing decision in the Program-backed semantic
  gates Agent Note (both languages, pairing re-recorded).

Generated docs stay byte-identical (verify-doc-graphs green).
2026-07-30 19:57:17 +08:00
imccyu
0a3cf3b5a6 perf(scripts): drop the whole-repo call-site pre-index from gen-doc-graphs
The event-relation collector resolved every CallExpression in all package
sources up front (getResolvedSignature is the most expensive checker query)
and type-classified every property-access receiver before looking at the
method name. Both costs served a tiny fraction of call sites.

- Filter by event API method name first; receiver classification now runs
  on those calls only.
- Replace the eager global call-site index with demand-driven indexing:
  when a non-exported local helper's same-file references are all provably
  direct callees, only that file is indexed; any other reference shape
  (alias escape) falls back to the original full package-source index.

Generated docs are byte-identical; verify-doc-graphs stays green. Halves
the script's CPU time (23.4s -> ~13s user on a warm run).
2026-07-30 19:57:16 +08:00
Chinesezjc
69a84e1403 fix(web-read-card): align highlight grammars with read hints, fix fixture schema, restore running sweep
Register the full grammar set the read tool's langFromPath emits (python,
go, rust, yaml, markdown, html, and the rest) so a read card highlights the
same extensions the backend recognizes instead of returning undefined for
them. Rewrite highlightLines' terminator-line check to the explicit
last !== undefined form to keep a single branch for per-file coverage.

Add the running-state sweep animation to ReadRow, matching BashRow/ToolRow,
so a running read row shows executing feedback.

Use file_path (the real read tool schema field) in the turn 66 read fixture
sample, its presentCall branch, and the turn 64 run_code read sub-dispatches,
so the built-boot snapshot replays a production-shaped call and the details
panel shows the correct Input JSON.

Document why ReadBlock omits TerminalBlock's empty-window copy guard, and
correct the read-card-model {@link} and the turn 66 fixture comment.
2026-07-30 19:56:06 +08:00
Tianyi Cui
9d5a59eadf Merge latest master into worktree-config-settings-seam 2026-07-30 19:48:06 +08:00
creatixchu
94f115725c Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation 2026-07-30 19:48:02 +08:00
Tianyi Cui
49678f38ae test(typert): allow catalog analysis under coverage 2026-07-30 19:46:47 +08:00
imccyu
e6a621d17d Merge pull request #968 from deepseek-harness/codex/figma-context-injection-row
feat(web): match context injection disclosure design
2026-07-30 19:45:57 +08:00
Chinesezjc
26488d6e82 fix(fs): validate read meta semantics and sync public result-view docs
readMetaFromMeta narrows the opaque persisted meta boundary, so beyond
shape it now rejects replayed JSON that is well-typed but semantically
invalid: line numbers must be 1-based integers, totalLines a non-negative
integer, and line numbers must strictly increase without exceeding
totalLines. Any violation declines to the generic fallback.

Sync the public ToolResultView contract across the core/tools and
tool-fs READMEs and docs/core-data-structures/tools for the fourth
result-view member and the ReadFileLine vocabulary, and expand the
Agent Note Testing section with the new rejection paths and the snapshot
evidence this PR carries.
2026-07-30 19:42:25 +08:00
imccyu
a1f1f9c29a Merge branch 'master' into codex/figma-context-injection-row 2026-07-30 19:20:21 +08:00
Chinesezjc
d34211d781 Merge remote-tracking branch 'origin/feat/read-presenter' into feat/web-read-card
# Conflicts:
#	packages/client/ui-conversation/tests/chat-apply.spec.tsx
2026-07-30 19:09:40 +08:00