Commit Graph

9322 Commits

Author SHA1 Message Date
Chinesezjc
0cf7420e52 test(web): pin the parallel todo plan in the assembled application
The `+N` active count rides ToolRow's non-shrinking `summarySuffix` slot,
but only jsdom package suites covered it: the ACP snapshots render no web
surface and the built-boot smoke asserts no todo row. Add
`apps/web/tests/todo-row.snapshot.ts`, which boots the built client bundles
against the keyless fixture transport and records `summary`, `suffix`, and
the plan strip's header as separate fields, so folding the count back into
the summary string changes the expected output.

The three assembled-jsdom files now share `apps/web/tests/assembled-boot.ts`
instead of each carrying its own copy of the boot entry list, bundle map,
jsdom stubs, and mount call.

Also: name the policy branch in each `allowParallelInProgress` test title so
no case asserting `true` sits under a `false` describe, reword the stale cap
comment in todo-panel.spec.tsx, and record the plan strip's real header
format in the Agent Note (per-status counts, not `<done>/<total> tasks`).
2026-08-06 12:26:27 +08:00
Chinesezjc
2b9354aab5 docs(todo): state the catalog's policy branch and drop the sidecar census
The tool catalog boots every tool with its default config, but
allowParallelInProgress has no default, so the generator has to choose;
the page now says which branch it shows. The Agent Note's sidecar count
went stale twice inside this PR, so it records the refresh rule instead
of a point-in-time census. The SDK builtin entry pins its config literal
with satisfies like every sibling.
2026-08-06 12:17:10 +08:00
Chinesezjc
8985284f85 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
# Conflicts:
#	docs/core-data-structures/session.i18n.yaml
#	packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:00:33 +08:00
imccyu
0865926c38 Merge pull request #1667 from deepseek-harness/feat/add-session-data-preview
feat(web): turn ttft/tps speed metrics and context meter
2026-08-06 11:59:42 +08:00
Chinesezjc
a01d974c60 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-23-web-todo-display.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-23-web-todo-display.md
#	.agents/notes/implemented/feature/2026-07-23-web-todo-display.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
2026-08-06 11:58:06 +08:00
Chinesezjc
3888f367b1 test(todo): refresh snapshot sidecars that landed after this branch
The subagent-* scenarios pin their child tool schemas through their own
tool-schemas.1.expected.json, and the headless fixtures embed the request
header verbatim; all seven still carried the single-in_progress description.
2026-08-06 11:55:49 +08:00
imccyu
53293210e6 Merge remote-tracking branch 'origin/master' into mergebot/pr1667 2026-08-06 11:53:33 +08:00
imccyu
8711a08247 Merge pull request #1703 from deepseek-harness/worktree-conv-split
feat(client): inject slot declaration lifetimes
2026-08-06 11:52:51 +08:00
Chinesezjc
baed704fc2 test(todo): follow master's Agent shape and load-time config failure 2026-08-06 11:46:22 +08:00
Chinesezjc
c337215bae feat(todo): carry the parallel-active count through ToolRow's summarySuffix
Rebuild the todo row's parallel summary on the shared ToolRow that master
introduced: planSummary still returns the active name and the remaining
count separately, and the row hands the count to a new non-shrinking
summarySuffix slot so a narrow row clips the summary text before the count.
An error row drops the suffix, whose collapsed summary is the failure line.

Re-record the ACP todo-write transcript for the parallel prompt, regenerate
the config catalog for the required allowParallelInProgress field, and
re-record the bilingual pairing hashes.
2026-08-06 11:42:31 +08:00
imccyu
e5810d450e Merge remote-tracking branch 'origin/master' into mergebot/pr1667 2026-08-06 11:42:14 +08:00
Chinesezjc
a1a320cf56 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-08-06 11:39:09 +08:00
imccyu
86965b053c feat(client): inject slot declaration lifetimes 2026-08-06 11:28:46 +08:00
imccyu
bb53e25ed0 Merge pull request #1569 from deepseek-harness/feat/perf-session-load
perf(session): accelerate large-session restoration
2026-08-06 11:27:08 +08:00
Chinesezjc
e0a7f40f04 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-08-06 11:25:28 +08:00
imccyu
c93438e6b3 docs(jsonl): align restore slice interval 2026-08-06 10:40:32 +08:00
imccyu
82eb1dde46 fix(jsonl): avoid duplicate decoder control flow 2026-08-06 10:40:32 +08:00
imccyu
e89b1e612f fix(session): address restore review feedback 2026-08-06 10:40:32 +08:00
imccyu
2551b757fb perf(jsonl): shorten cooperative decode slices 2026-08-06 10:40:31 +08:00
imccyu
03bb663966 test(jsonl): cover reusable decoder branches 2026-08-06 10:40:31 +08:00
imccyu
456d4319bf fix(subagent): skip ordinary forks during child listing 2026-08-06 10:40:31 +08:00
imccyu
02c61d4481 fix(jsonl): preserve private decoder checksum validation 2026-08-06 10:40:31 +08:00
imccyu
28df863bdd docs(jsonl): refresh generated catalogs 2026-08-06 10:40:31 +08:00
imccyu
d19e598d5e test(jsonl): cover reusable decoders in node matrix 2026-08-06 10:40:31 +08:00
imccyu
44596dc0a3 docs(session): correct restore pipeline boundaries 2026-08-06 10:40:31 +08:00
imccyu
9cd2a20141 perf(session): streamline restored event admission 2026-08-06 10:40:31 +08:00
imccyu
03983ff986 perf(jsonl): scan decoded frames incrementally 2026-08-06 10:40:31 +08:00
imccyu
353226246e perf(jsonl): add reusable zstd frame decoders 2026-08-06 10:40:31 +08:00
imccyu
906ab15490 docs(session): record large-session restore pipeline 2026-08-06 10:40:31 +08:00
imccyu
53a17a8491 fix: docs 2026-08-06 10:25:17 +08:00
imccyu
e37aa41f87 fix(session-persistence): close preparation races 2026-08-06 10:19:51 +08:00
imccyu
2f98f29992 fix(session): address restore review feedback 2026-08-06 05:13:26 +08:00
imccyu
f0868d6a70 test(session): cover remaining preparation races 2026-08-06 04:29:39 +08:00
imccyu
bb5e9ea1c7 test(session): cover persistence revision races 2026-08-06 04:11:58 +08:00
imccyu
ede74b1926 fix(session-persistence): invalidate stale preparations 2026-08-06 04:11:58 +08:00
imccyu
5e317371e5 test(session): accept pre-epoch event timestamps 2026-08-06 04:11:58 +08:00
imccyu
feb2c35cef fix(session-persistence): address preparation review feedback 2026-08-06 04:11:58 +08:00
imccyu
466390c1af test: cover restored suffix init failure 2026-08-06 04:11:57 +08:00
imccyu
beb9b2a7fa test: close session preparation CI gaps 2026-08-06 04:11:57 +08:00
imccyu
2b9428f35d fix(session-persistence): satisfy preparation gates 2026-08-06 04:11:57 +08:00
imccyu
c026ad61a9 fix(session): reconcile restore after rebase 2026-08-06 04:11:57 +08:00
imccyu
e089ef92d8 docs: document session preparation flow 2026-08-06 04:11:57 +08:00
imccyu
deefceaf8a test: cover session preparation lifecycle 2026-08-06 04:11:57 +08:00
imccyu
0afc42309d feat: add reusable session preparation 2026-08-06 04:11:57 +08:00
imccyu
aacac1fec8 docs: record session preparation architecture 2026-08-06 04:11:57 +08:00
imccyu
e88bace07e Merge pull request #1716 from deepseek-harness/worktree-infdev02
ci: print exact uncovered locations when the coverage gate fails
2026-08-06 04:09:42 +08:00
imccyu
e5181e94ff doc: record the coverage uncovered-location reporter decision 2026-08-06 03:56:01 +08:00
imccyu
a9167280ac fix(fixture): restore the extended-block pricing fallback
The client graph's ContentBlock narrows to the base four members, but
fixture turns carry merge-extended blocks at runtime, so removing the
JSON fallback crashed pricing on them. Keep the fallback and suppress
the narrowing-based lint finding with the reason inline.
2026-08-06 03:30:16 +08:00
imccyu
c94de60a0c test(web): price the seeded compaction's shadow count exactly
The token-meter projections now subtract compact/summary's
shadowedTokenCount verbatim, so the seeded-history fixture's hand-picked
10k count drove the message figure negative and killed the projections
baseline. Realize the seed first (realizeSeedFixture, idempotent, shared
with seedSession) and derive the count from the shadowed rows through
the composed meter, reproducing the previous per-node fold bit for bit —
the recorded aria goldens pass unchanged.
2026-08-06 03:20:48 +08:00
imccyu
553898e529 fix(fixture): drop the unreachable merge-extension pricing fallback
Fixture-authored content is the closed base vocabulary, so after the
text/reasoning/tool-call arms only tool-result remains; the literal
comparison and its JSON fallback were dead and failed oxlint.
2026-08-06 03:20:41 +08:00