Commit Graph
6253 Commits
Author SHA1 Message Date
_KermanandTianyi Cui f4a32dbd0a refactor(llm): flatten tool results and validate native V4 sessions
Represent tool results as tool-role messages and migrate released wrappers
without losing outer own JSON fields, call identity, error state, or writer
field order. Refuse nested or wrapper-only information that has no lossless
current representation before successor publication.

Validate current event relationships directly instead of projecting V4 data
back into V3. Keep lifecycle, PTC, title/command, compaction, system-field and
retired-syntax checks on catalog restoration and ordinary JSONL opens. The
Worker JSON equality helper must inspect own keys so it cannot admit PTC
arguments that Node rejects.

Keep the source role change, required native admission and consumer fixture
updates in one complete review layer. Explain shared-type changes in the
persistence record and the native reader rationale in its existing note.
Use checked branded fixture identities and discriminant narrowing instead
of unknown double casts; fixture values and assertions remain intact.

This recomposes the original tool-role work by _Kerman with the independently
validated migration and admission repairs by Tianyi Cui. Frozen generations
and snapshot input version selection are retained.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:05:32 +08:00
Tianyi Cui c6e62ff971 fix(persistence): retain explicitly forbidden JSON fields
A reader can reject a property name while its type declares that property
as optional never. Dropping it from the extracted schema makes a future
optional JSON value look additive, although the existing reader refuses it.
The type history must retain that explicit prohibition.

Support the argument-free @persistenceReserved marker only on optional
properties whose values are never or undefined. Keep those properties as
optional primitive-never nodes, so later JSON values change an existing
field and require a version bump. Reject invalid placement, arguments,
repeated tags, required or JSON-valued declarations, and mapped uses that
violate the reservation. Keep every unmarked omission rule unchanged.

The classification regression failed before this change with an additive
optional-property result and now requires a type-change bump. All fifteen
focused reservation cases and all 210 tooling tests pass, including inherited
fields, misuse, and unmarked preservation. Host typecheck, scoped lint, and
pairing pass. Regeneration leaves the unannotated baseline catalog and
inventory byte-identical; all 61 roots still match their existing history.
No runtime property is activated in this tooling commit.
2026-09-18 19:05:32 +08:00
Tianyi Cui a6981c56f6 feat(persistence): add stable catalogs and policy-aware schema review
Traversal ordinals and first-owner paths gave shared persistence types
unstable display names. Keep authored names and source locations as metadata,
use structural digests for identity, and render complete kind/form groups
with bounded array labels. Preserve historical rendering and stored graphs.

Record supported source compatibility promises with their property binding,
policy version, discriminator, preservation rule, and qualified kind set.
The extractor and classifier require explicit opt-ins in both compared
schemas; ordinary or unsupported changes retain strict classification.
Policy-bearing graphs use the format-2 fingerprint domain while unannotated
graphs keep their format-1 fingerprints. Runtime owners activate bindings
only with the corresponding reader behavior; this tooling layer activates
none and changes no package source or Session generation.

Provide a read-only before/after review command that groups shared structural
evidence without replacing authoritative compatibility diagnostics. Match
changed alternatives only through unique literal discriminators and retain
ambiguous additions and removals as independent facts.

At the X baseline, all 61 roots and 472 schemas, digests, and source fields
are unchanged. The inventory remains format 1 and removes only 296 synthetic
names. Existing acknowledgement history still matches every root. All 195
focused tooling tests, Host build/full lint, and bilingual pairing pass.
2026-09-18 19:05:32 +08:00
Tianyi Cui c95d045fdc docs(session): correct fork seed marker ownership
Arbitrary-sequence forks place the inherited end-seed marker before their
synthetic tool, step and turn closers. The Session constructor receives that
whole prepared seed, so firstLiveSeq can follow the inherited marker and the
constructor is no longer its sole producer. The retained documentation still
claimed both facts and could lead a consumer to use the wrong ownership cut.

Name buildForkSeed and the constructor as the two core producers, distinguish
the inherited cut from ordinary restore markers, and retain the warning about
plugins appending their own markers. Correct the subsystem reference's claim
that interrupted is the only synthetic turn ending: forked is also never
emitted by a live loop. Keep the bilingual reference and type-equivalent
excerpts aligned with the source JSDoc.

Refresh the required persistence catalog after the JSDoc change. Its schema
inventory changes only three source-line locations; all 61 roots, 472 types
and fingerprints remain identical. Parsed TypeScript declarations printed
without comments are also identical, so this changes neither runtime behavior
nor persisted fields, historical generations or recorded Session fixtures.
2026-09-18 18:25:39 +08:00
Tianyi Cui 044cd4fb49 merge: integrate pinned master into session-log-v4 base
Merge master 01d96c168a84227374e3aa741e94ddfbb498e27e, observed when
this integration started, after the published 6de3db41 checkpoint. Keep
master's author history and preserve the release writer, adjacent
migrations, historical Session generations, and parent-owned catalogs.

Combine blank Session writer acquisition and superseded-startup
cancellation with the release branch's projection refresh and panel
preservation. A startup acquisition may finish after a later navigation,
but must not retain a stale main Session or reveal its Conversation.
Update the existing regression's retention expectation while preserving
its panel and active-navigation assertions.

Keep the release catalog loading, known-leaf, and parent availability
behavior alongside master's completed-turn status and aligned sidebar
icons. Regenerate the config locations and pair the combined README
contracts. Preserve upstream's Linux process-state assertion repair.
2026-09-18 18:21:47 +08:00
creatixchu ac0a042f08 Merge remote-tracking branch 'origin/master' into worktree/present-changes-dedup 2026-09-18 17:16:34 +08:00
creatixchu 223385954d fix: recommend at most four files per presentation 2026-09-18 17:10:38 +08:00
creatixchu 63c1e04b93 fix: keep file access available across presentation clients 2026-09-18 17:09:02 +08:00
Turtle de662ee010 fix(boot): skip failed profile bundles and retain recovery controls (#4516) 2026-09-18 16:35:50 +08:00
creatixchu 28fbe7433d fix: guide selective file presentation through prompts 2026-09-18 16:31:13 +08:00
Tianyi Cui c3cfe83d2e merge: update the session-log-v4 integration base from master
Merge a2acc7d3eb620bb52f09f7ea3b5a3a1c23353e18 after preserving the earlier
master checkpoint and its successful CI. Carry current provider input-history
handling, UI controls, agent targeting, and runner-concurrency changes into
the integration base without changing the Session migration feature layers.

Keep durable direct-child catalog semantics alongside the upstream running /
inactive vocabulary. Resolve the snapshot description conflicts by retaining
that upstream status text and the existing descendants-only diagnostic rule;
the source and all 53 JSON tool descriptions agree. Preserve parent-session
availability handling with the upstream stale-blank and batched-history fixes.

The merged application builds, all 41 documentation gates pass, and focused
provider, tool-control, and Session Controller tests pass (98, 29, and 125).
Recorded input changes come from master: one refreshed v3 list-agents sample
and three new v3 scenarios; no migration bumps an existing snapshot generation.
2026-09-18 15:52:56 +08:00
creatixchu e22005ae10 Sync session controller configuration catalog translation 2026-09-18 15:51:49 +08:00
creatixchu 363343fb83 Refresh config locations and satisfy typed fixture lint 2026-09-18 15:36:56 +08:00
creatixchu 04d0235673 Verify local file opening and address sidebar review findings 2026-09-18 15:31:50 +08:00
07akioni 3f5b1e283b Merge pull request #4464 from deepseek-harness/07akioni/fix-sessionless-sidebar-controls
fix(client): keep sidebar navigation available without a session
2026-09-18 14:55:25 +08:00
07akioni d6002c1018 Merge master and preserve compact conversation header layout 2026-09-18 14:39:32 +08:00
Dudu-0223 cda99db4c0 docs: align remaining agent availability prose with the shipped vocabulary
Sync the pinned schedule-catalog tool-schema sidecar with the refreshed
list_agents, send_message, subagent, and subagent_fork descriptions; the
catalog e2e does not compare it, so the refresh missed it. Rewrite the
Agent Teams note's Steer sentence and the ownership-release limitation so
`idle` no longer appears where the roster vocabulary is running/inactive,
and fix the two-clause comma splice and a zh full-width spacing slip.
2026-09-18 14:29:35 +08:00
Dudu-0223 b9e59cbaee refactor: unify Team availability in the service 2026-09-18 14:29:35 +08:00
Dudu-0223 507e0e6dfe fix: expose Team targets and simplify model agent statuses 2026-09-18 14:29:35 +08:00
Yichen Jiang 51d8c45413 Merge pull request #4477 from deepseek-harness/worktree/unify-agent-team-bundle
fix(agent-team): enable tools and Web UI with one bundle
2026-09-18 13:21:45 +08:00
Tianyi Cui 8306ddaa14 merge: refresh session-log-v4 base from master
Merge master 0fdadce5189dcf13a00c2ed8293be95b9bb29c2c into the reviewed
Session V4 integration base. Preserve its V4 persistence and direct-catalog
subagent navigation while carrying forward current UI controls, decorative
icons, Desktop signing/runtime changes, and upstream tests.

Resolve lineage conflicts by retaining interaction-time catalog authority,
known-leaf handling and row order together with the shared status icons.
Keep both Desktop shell-routing regressions and one production route; master
now includes the route repair previously carried by this integration branch.

The full build, 41 documentation gates, two Desktop shell tests and 34 focused
Client lineage tests pass. Further built Web and packaging checks precede
publication. Preserve this pinned merge checkpoint before taking a newer
master tip, and propagate it through the reorganized feature stack.
2026-09-18 13:11:25 +08:00
Turtle de742f7f45 Prune active Agent Notes and preserve historical archive formatting (#4431) 2026-09-18 04:50:47 +00:00
Yichen Jiang 231798102a Merge remote-tracking branch 'origin/master' into worktree/unify-agent-team-bundle 2026-09-18 12:32:38 +08:00
yudshj da37b69fb9 Merge master into fix/office-font-warning 2026-09-18 12:07:58 +08:00
yudshj 19736552c0 fix(web): align Office font warning with shared toolbar styles 2026-09-18 12:03:54 +08:00
Yichen Jiang dd8d39c843 Merge remote-tracking branch 'origin/master' into worktree/unify-agent-team-bundle
# Conflicts:
#	packages/experimental/agent-team-profile/package.json
#	packages/experimental/agent-team-web-profile/package.json
2026-09-18 11:34:21 +08:00
07akioni 21c347913d fix(client): preserve sessionless header geometry across platforms 2026-09-18 11:30:37 +08:00
07akioni e0c8b1dfca Merge remote-tracking branch 'origin/master' into 07akioni/fix-sessionless-sidebar-controls
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
2026-09-18 11:23:23 +08:00
zhc caaaf89b1e fix(client): separate developer tool policy and harden static previews 2026-09-18 11:03:06 +08:00
zhc cdaafbc456 feat(client): add shared developer tools setting 2026-09-18 11:03:05 +08:00
winewill 831ea36f2c Merge pull request #4461 from deepseek-harness/ihsiang/unify-web-ui-visual-language
Unify the Web UI visual language
2026-09-18 11:00:11 +08:00
Tianyi Cui d66b21894c merge: integrate latest master into session-log-v4
Merge master 62b700bba7bb71e66d2d5a3b850ba8f4dd0fd6b4 into release/session-log-v4 at 4825bc01a999f564e79172a6af28e34fc757c540. Preserve this pinned integration checkpoint before any later upstream movement so the dependent session-format repairs have an immutable rebase base.

Keep release projection-backed child catalogs, independent Session references, exact fork behavior, V4 writer, and existing migration data. Adapt the incoming subagent sidebar chat to refreshProjections rather than the removed dedicated catalog API, preserve title projections in complete projection fixtures, and retain both sidebar actions and release lineage/status behavior. Remove the duplicate SessionProjectionMap import introduced by automatic merging.

Preserve both disjoint archive seals without changing any existing hash. Regenerate current Cordis and documentation catalogs from the combined source, retaining release session methods plus master slot factories. The frozen V0-V3 runtime paths are unchanged. Initial validation passed the full build, 93 focused Client tests, and all 1905 archived artifact seals; remaining integration and snapshot checks follow on this checkpoint.
2026-09-17 23:23:48 +08:00
yixiangihsiang 488e438277 fix(web): address review feedback 2026-09-17 21:04:42 +08:00
Yichen Jiang 9f21d7842a fix(agent-team): enable tools and Web UI with one bundle 2026-09-17 20:41:39 +08:00
imccyu 0ea890044f test(cli): cover runtime profile defaults and sync docs 2026-09-17 20:23:14 +08:00
07akioni 1628e911c8 fix(client): keep sidebar navigation available without a session 2026-09-17 19:38:57 +08:00
yixiangihsiang 4937343a5e feat(web): unify the client visual language 2026-09-17 19:14:41 +08:00
imccyu d05b42980b refactor(client): move sidebar chat to subagent 2026-09-17 18:04:02 +08:00
imccyu 4f38c60797 fix(client): satisfy sidebar chat gates 2026-09-17 18:04:02 +08:00
imccyu 3e136c2f30 docs: refresh module graph 2026-09-17 18:04:02 +08:00
imccyu da7dc34f7d fix(client): align subagent sidebar references 2026-09-17 18:04:01 +08:00
imccyu e62587c163 feat(client): open subagent chats in sidebar 2026-09-17 18:03:57 +08:00
Yichen Jiang 3958f801e3 Merge pull request #4414 from deepseek-harness/worktree/plan-sidebar-cards
feat(web): keep plan artifacts and automatically open sidebar previews
2026-09-17 17:49:08 +08:00
Yichen Jiang 9d93fbd7ad Merge remote-tracking branch 'origin/master' into worktree/plan-sidebar-cards
# Conflicts:
#	packages/client/ui-deliverables/README.i18n.yaml
#	packages/client/ui-deliverables/README.md
#	packages/client/ui-deliverables/README.zh.md
2026-09-17 17:18:51 +08:00
gengruilin 4ab1fc3bfe Merge master into feat/docs-platform-command-tabs 2026-09-17 17:11:07 +08:00
Turtle ad9a4c37a2 Merge pull request #4436 from deepseek-harness/turtle/agent-note-creation-threshold
docs: require lasting rationale before creating agent notes
2026-09-17 16:53:01 +08:00
Yichen Jiang eae08a9745 Merge origin/master into worktree/plan-sidebar-cards 2026-09-17 16:49:40 +08:00
Turtle adce1b4b5c docs: preserve mechanical and local edit exemptions 2026-09-17 16:23:18 +08:00
Turtle 730bcc7c85 docs: require lasting rationale before creating agent notes 2026-09-17 16:11:04 +08:00
Yichen Jiang 8c3ec757df Merge remote-tracking branch 'origin/master' into worktree/plan-sidebar-cards
# Conflicts:
#	packages/client/ui-user-questions/src/client/PlanReviewPanel.tsx
#	packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
2026-09-17 16:05:19 +08:00