Commit Graph
100 Commits
Author SHA1 Message Date
imccyu 1ea5507bf8 fix(typert): close remote gateway review gaps 2026-08-07 21:47:15 +08:00
imccyu 22bec5e63f feat(typert): propagate Remote cancellation 2026-08-07 21:47:15 +08:00
imccyu 9b63d72c94 fix(typert): harden remote reflection boundaries 2026-08-07 21:47:15 +08:00
imccyu 88385a658e docs(cordis): refresh gateway service location 2026-08-07 21:47:15 +08:00
imccyu cd566f26f5 test(client-remotes): cover shared API bundle chain 2026-08-07 21:47:15 +08:00
imccyu 36516e97b9 feat(connection): dispatch TypeRT remotes through shared API 2026-08-07 21:47:15 +08:00
imccyu 4eff751058 test(client): mount TypeRT remote assembly in fixtures 2026-08-07 21:47:15 +08:00
imccyu 9400926bdf feat(goal): add TypeRT gateway example 2026-08-07 21:47:14 +08:00
imccyu 61c2c15dc4 refactor(goal): own direct goal operations 2026-08-07 21:47:14 +08:00
imccyu 41677c3be0 fix(ci): preserve TypeRT contract build order on Windows 2026-08-07 21:47:14 +08:00
imccyu 9a0a9350c4 fix(typert): satisfy workspace static gates 2026-08-07 21:47:14 +08:00
imccyu 64a963da0b feat: add TypeRT remote gateway infrastructure 2026-08-07 21:47:14 +08:00
imccyu effd8e1ebd docs: add TypeRT remote gateway RFC 2026-08-07 21:47:14 +08:00
imccyu dc7857746a Merge pull request #1828 from deepseek-harness/fix/npm-pub-2
fix(npm): drop stale default-config baseline probe
2026-08-07 19:53:48 +08:00
imccyu 2da1309836 fix: npm publish for profile 2026-08-07 19:43:40 +08:00
imccyu 56208886a8 Merge pull request #1860 from deepseek-harness/worktree/default-model-persistence
feat: the composer model switch becomes the default for new sessions
2026-08-07 19:37:07 +08:00
imccyu c631236a08 Merge pull request #1859 from deepseek-harness/fix/hero-preview-badge
feat(web): change preview badge position
2026-08-07 19:29:54 +08:00
imccyu daac50c84c fix(client): name turn-tail selector owner 2026-08-07 17:19:26 +08:00
imccyu 2efce69d79 fix(client): route turn-tail through chain selector 2026-08-07 17:15:27 +08:00
imccyu a6ae15c0f6 Merge remote-tracking branch 'origin/master' into feat/web-workspace-file-links
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/src/client/chat/ToolRow.module.css
#	packages/host/apiproxy/src/native-path-opener.ts
2026-08-07 16:49:20 +08:00
imccyu 5c3d2a1706 Merge pull request #1802 from deepseek-harness/worktree-subagent-pref
feat: subagent list use preparation + projection
2026-08-07 10:45:25 +08:00
imccyu 3216150ae0 fix: address review round next
- subagents.history computes its projections best-effort on both arms
  (a hostile unit's fold rejection serves the page without the block,
  matching the session-list precedent) with dual-arm coverage
- the lifecycle-witness spec probes every field of the seven-key
  witness, protecting the key list itself
- list-children's own module docs catch up with the seq-gate contract,
  and the design note records the rung-two later-event window as an
  accepted, self-healing deviation of the corruption class
2026-08-07 10:17:35 +08:00
imccyu c98a754ccb fix: address review round four
- the cached-identity rung gains a finality gate: the identity value
  carries its descriptor seq and a cached row is served only when that
  seq lands in the child's own suffix, so a fork seed's replayed
  ancestor identity can never outrank the authoritative refold
  (stateVersion bumped for the state-shape change)
- the cold preparation validates the inspected header against the
  enumerated candidate's lifecycle witness; a republished id degrades to
  that child's corrupt diagnostic instead of leaking the new owner's log
- the new projection registration proves HMR disposal; companion notes
  qualify the superseded decision text and record the deliberate
  error-face asymmetry
2026-08-07 00:05:43 +08:00
imccyu b9886d1615 refactor(apiproxy): read subagent history like session history
subagents.history drops its session-query read: a live child serves its
in-memory events with the registry watermark snapshot, a cold child goes
through inspectServable with a detached fold, and the retired
SESSION_QUERY_* arms disappear while every wire face stays put. The
design note records the shared read source.
2026-08-07 00:05:43 +08:00
imccyu ba791c0ac3 fix: ci 2026-08-07 00:05:43 +08:00
imccyu 397d70d545 fix: address review round three
- the subagent projection's empty state becomes a serializable null
  sentinel (undefined fields vanish in JSON push frames, leaving stale
  identities in clients); consumers treat null and a missing key alike,
  and cached sentinels defer to the authoritative refold
- the tool catalog generator mounts the projection registry for
  list_agents; the shared unavailable-error copy goes catalog-neutral
- the design note's verification section records the new
  subagent-diagnostic snapshot honestly, the 2026-07-22 note's test
  inventory is rewritten to the current mechanism, and the session-store
  error code is documented
2026-08-07 00:05:43 +08:00
imccyu a25d4331d7 feat(subagent): opportunistic projection-cache rung for cold listings
Cold children consult the optional session-projection-cache checkpoint
before paying a preparation recompute: the identity is immutable once
appended, so a cached value is definitive regardless of its watermark.
The cache stays a read-only accelerator (absent service or any rung-two
fault falls through silently; verdicts stay with the authoritative
refold), and the note plus core-data-structures pages describe the
three-rung ladder.
2026-08-07 00:05:42 +08:00
imccyu 6ff4fc0ed0 fix: address review round two
- listChildren contains per-child projection faults on both ladder rungs
  (any registered unit's fold/schema rejection maps to that child's corrupt
  diagnostic) and pins the whole-enumeration listing-failure rethrow
- the base bundle mounts session-projection (web-app's own insert retired
  to avoid the double mount); stale composition comment updated
- the shared projections-unavailable wire face is pinned across
  list/history/prompt; retired session-query arms removed from the catalog
  paths
- the design note records the unknown-parent semantics shift and the
  fold-fault isolation rule
2026-08-07 00:05:42 +08:00
imccyu efd78f44f4 fix: refresh graph docs and retire a dead spec reference
Mounting session-projection in the example compositions staled the
generated composition and module graphs; the 2026-07-22 note now
describes the retired optional-session-query spec without a live path.
2026-08-07 00:05:42 +08:00
imccyu ac1dffb809 test(session-query): pin the persisted-corruption wrapping branch
The retired subagent list path was the only caller exercising
inspectPersisted's corruption arm; cover it directly.
2026-08-07 00:05:42 +08:00
imccyu 96e7c0496a fix: regenerate cordis catalog and allowlist the diagnostic fixture
The subagent API surface change staled the committed catalog artifacts;
the snapshot fixture agent is referenced only from its cordis.snapshot.yml,
so knip learns it as an entry like its siblings.
2026-08-07 00:05:41 +08:00
imccyu 0b0b9e4707 fix: address PR #1802 review round
- listChildren reads the session store via strict ctx.get (property proxy
  is caller-scoped), orders candidates branchlessly, narrows the cold-read
  return type, and pins the cost model and store/registry composition gaps
  with tests; per-file coverage restored
- acp-agent and headless-agent compositions mount session-projection; a
  keyless snapshot pins the descriptor-less diagnostic row
- api-proxy cold spec pins header-origin ownership and the legacy
  descriptor-only opt-out
- design note ships as implemented with its English pairing; companion
  notes and core-data-structures pages synced
2026-08-07 00:05:41 +08:00
imccyu a328fd34d5 feat: subagent list use preparation + projection 2026-08-07 00:05:41 +08:00
imccyu e6fd547cd9 Merge pull request #1812 from deepseek-harness/fix/onboarding-step-owned-chrome
fix(ui): move the onboarding takeover chrome into the step
2026-08-06 21:44:41 +08:00
imccyu 6afca00a77 Merge pull request #1801 from deepseek-harness/worktree-projerr
fix(token-meter): fold unpriced surface replacements neutrally instead of throwing
2026-08-06 19:43:51 +08:00
imccyu 0c719179ae Merge pull request #1793 from deepseek-harness/fix/hero-workspace-stable-tree
fix(ui): preserve Hero tree when selecting a Workspace
2026-08-06 18:07:03 +08:00
imccyu 05f092870b Merge pull request #1776 from deepseek-harness/web-dist-chunk-layout
build(web): split the shell dist into index and vendor chunks with langs/ and fonts/ dirs
2026-08-06 17:05:11 +08:00
imccyu 90f738a4c7 build(web): react-free vendor list for the incremental markdown pipeline, npmPackageOf scoped guard, chunk audit script 2026-08-06 16:38:25 +08:00
imccyu 193473dab2 doc(web): update the chunk-layout note for the react-free vendor invariant and the audit tool 2026-08-06 16:38:25 +08:00
imccyu 021074c0ee build(web): split the shell dist into index and vendor chunks with langs/ and fonts/ dirs 2026-08-06 16:38:25 +08:00
imccyu c1364a2f25 doc(web): agent note for the shell dist chunk split and directory layout 2026-08-06 16:38:25 +08:00
imccyu bc7f240cb3 Merge pull request #1753 from deepseek-harness/feat/md-incre-2
feat: markdown 增量解析
2026-08-06 15:42:54 +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
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
imccyu e5810d450e Merge remote-tracking branch 'origin/master' into mergebot/pr1667 2026-08-06 11:42:14 +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
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
imccyu 297edd512d fix(token-meter): drop the dead deep-compare from claim bookkeeping
A defined fold claim is always freshly built and adjacent metering events
cannot repeat, so presence alone decides the claim transition; the value
comparison was unreachable and failed the per-file branch gate.
2026-08-06 03:20:34 +08:00
imccyu 4f7b9ac5ee ci: print exact uncovered locations when the coverage gate fails
The per-file 100% thresholds name only the failing file. A custom istanbul
reporter now prints one clickable path:line:col record per uncovered
statement, branch path, and function, right above the threshold errors, in
both the CI coverage lane and local test:coverage runs (they share this
config). CJS because istanbul-reports loads custom reporters with a bare
require() outside the tsx/ESM pipeline.
2026-08-06 03:18:17 +08:00
imccyu 59df683ef1 fix(token-meter): bound projection state via logged shadow prices
The contextBreakdown and contextPressure units carried the full priced
surface, so each session's persisted projection checkpoint grew without
bound. A surface replacement is now priced by the shadow-price event
logged directly before it — compact/summary for compaction, the new
compact/prune from tool-result pruning (priced through the injected
token meter) — and the unit states shrink to a fixed handful of numbers.
Regenerate the persistence/cordis/module/config catalogs.
2026-08-06 02:50:38 +08:00
imccyu 6400e521ba fix(fixture): avoid duplicated token estimator shape 2026-08-06 00:29:40 +08:00
imccyu a17eebcaca docs(metrics): clarify projection and latency contracts 2026-08-06 00:22:09 +08:00
imccyu aaca2fa52f fix(web): localize stats and close stale context meter 2026-08-06 00:21:34 +08:00
imccyu e94d539de1 fix(fixture): mirror context breakdown projection 2026-08-06 00:21:17 +08:00
imccyu b0d1d9445e Merge remote-tracking branch 'origin/master' into mergebot/pr1667
# Conflicts:
#	apps/web/tests/snapshots/queue-actions/preserved.expected.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/session.i18n.yaml
#	packages/client/runtime/src/client/session-history/history-fold.ts
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/core/session/src/index.ts
2026-08-05 22:56:57 +08:00
imccyu d0cb6770a9 Merge pull request #1668 from deepseek-harness/codex/fix-math-rendering
fix(ui): render common TeX math delimiters
2026-08-05 21:00:24 +08:00
imccyu 0664c27c76 Merge pull request #1385 from deepseek-harness/xtr/trajectory-virtual-scroll
fix(trajectory): keep long sessions responsive
2026-08-05 20:44:30 +08:00
imccyu 749108c2b0 Merge branch 'master' into xtr/trajectory-virtual-scroll 2026-08-05 20:02:53 +08:00
imccyu e4d5ec548e Merge pull request #1050 from deepseek-harness/worktree/custom-deepseek-models
feat(web): configure custom DeepSeek models, with a restyled Models card
2026-08-05 14:04:18 +08:00
imccyu b5da33c9ac Merge pull request #1567 from deepseek-harness/feat/perf-session-create
refactor(session): route construction through Session.create
2026-08-05 13:07:17 +08:00
imccyu a1221f315f Merge pull request #1621 from deepseek-harness/fix/npm-publish-vendor-packages
fix(npm): publish vendored baseline packages
2026-08-05 10:41:02 +08:00
imccyu 55e0dc3565 Merge pull request #1548 from deepseek-harness/codex/session-pending-interactions
feat(client): show pending interactions in the session sidebar
2026-08-04 20:50:55 +08:00
imccyu 6f10f9c01c Merge pull request #1527 from deepseek-harness/worktree-websocket
feat(web): move connection downlinks to WebSocket
2026-08-04 18:18:32 +08:00
imccyu 7f3ea406e1 Merge pull request #1389 from deepseek-harness/fix/UI-polish-pack
Fix/UI polish pack
2026-08-04 17:31:06 +08:00
imccyu 69d5a83b87 test(web): align snapshots with responsive chrome 2026-08-04 17:16:53 +08:00
imccyu b0b50be64f style(connection): satisfy callback lint 2026-08-04 16:58:40 +08:00
imccyu 3caa175286 test(connection): use valid mux frames 2026-08-04 16:49:06 +08:00
imccyu 7f3a2dae91 fix(web): quiesce websocket teardown 2026-08-04 16:42:50 +08:00
imccyu c6d0cbd8de test(web): cover WebSocket downlink races 2026-08-04 16:34:56 +08:00
imccyu 72f82f65c9 Merge remote-tracking branch 'origin/master' into mergebot/pr1389
# Conflicts:
#	apps/web/tests/snapshots/sidebar-scrollbar/geometry.expected.md
#	packages/client/ui-conversation/src/client/chat/MessageIconActions.tsx
#	packages/client/ui-conversation/src/client/chat/message-chrome.ts
2026-08-04 16:33:55 +08:00
imccyu 11bad56fc3 Merge pull request #1396 from deepseek-harness/worktree/sidebar-scrollbar-reveal
feat(web): draw the sidebar's scrollbar only under the pointer
2026-08-04 16:31:56 +08:00
imccyu 98a24a395d docs: refresh third-party notices 2026-08-04 16:25:49 +08:00
imccyu e9d76dae64 fix(web): address UI polish review feedback 2026-08-04 16:25:09 +08:00
imccyu a36c641db6 chore(docs): refresh WebSocket API catalogs 2026-08-04 16:21:09 +08:00
imccyu 828cb2ae20 Merge pull request #1345 from deepseek-harness/feat/turn-running-time
feat/turn-running-time
2026-08-04 16:11:32 +08:00
imccyu 8b4ddfe60c feat(web): move connection downlinks to WebSocket 2026-08-04 16:07:35 +08:00
imccyu b9f4e46462 Merge remote-tracking branch 'origin/master' into mergebot/pr1389
# Conflicts:
#	packages/client/ui-workspace/src/client/WorkspaceBrowser.module.css
2026-08-04 16:06:38 +08:00
imccyu 3be257ba1d fix(web): preserve polish accessibility contracts 2026-08-04 16:04:26 +08:00
imccyu ad03ccbd7a Merge branch 'master' into feat/turn-running-time 2026-08-04 16:03:31 +08:00
imccyu bcf595f41c Merge pull request #1370 from deepseek-harness/codex/fix-headless-sigint
fix(cli): bound telemetry shutdown and honor repeated signals
2026-08-04 15:38:11 +08:00
imccyu 9f33f1d652 Merge pull request #1391 from deepseek-harness/worktree-tsx-map
fix(client): correct sourcemap in devtools
2026-08-04 14:56:08 +08:00
imccyu 4af4c10075 Merge pull request #1161 from deepseek-harness/agent/reasoning-chunk-stress-test
perf(web): optimize reasoning chunk stress
2026-08-04 14:47:41 +08:00
imccyu 33b52502f4 Merge branch 'master' into agent/fix-remote-welcome-onboarding 2026-08-03 18:37:37 +08:00
imccyu 49ede3ebf3 Merge pull request #1333 from deepseek-harness/codex/fix-subagent-catalog-padding
fix(web): align subagent catalog spacing with Figma
2026-08-03 18:34:24 +08:00
imccyu e47ad8e393 Merge remote-tracking branch 'origin/master' into agent/fix-remote-welcome-onboarding 2026-08-03 18:19:24 +08:00
imccyu 7f7c86c512 Merge pull request #1174 from deepseek-harness/xtr/trajectory-marker-tooltip-fixes
Fix trajectory request markers and disclosure affordances
2026-08-03 18:17:06 +08:00
imccyu ae5ee37591 Merge remote-tracking branch 'origin/master' into mergebot/pr927-r3
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/src/components/dialogs.ts
2026-08-03 17:57:50 +08:00
imccyu 4f68543a29 Merge pull request #965 from deepseek-harness/fix/session-waiting-approval
fix(ui-workspace): distinguish approval-waiting sessions
2026-08-03 17:51:09 +08:00
imccyu 6b79907ffd Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer 2026-08-03 17:19:53 +08:00
imccyu 553fb9a119 fix: test 2026-08-03 17:17:41 +08:00
imccyu e3ecbf9c0f Merge remote-tracking branch 'origin/fix/session-waiting-approval' into mergebot/pr965 2026-08-03 17:12:08 +08:00
imccyu a3d897359f test(web): refresh Markdown image golden for the fork-eligibility gate 2026-08-03 17:11:36 +08:00
imccyu a8670bdec3 Merge remote-tracking branch 'origin/master' into mergebot/pr965 2026-08-03 17:04:00 +08:00
imccyu 987a835803 Merge branch 'master' into fix/session-waiting-approval 2026-08-03 17:03:02 +08:00