Commit Graph
9072 Commits
Author SHA1 Message Date
_Kerman 46665f8af7 Merge branch 'master' into xtr/identified-immutable-messages 2026-07-28 16:47:13 +08:00
creatixchu 716d3ca636 test(apiproxy): drive the browse RPCs through the fetch carrier
The full-suite coverage gate found the new listDirectory/createDirectory
client methods and handler routes unexecuted: the implementation and
schema layers were tested directly, but nothing crossed the wire form.
One round trip through InProcessApiClient covers both arrows on each
side.
2026-07-28 16:44:22 +08:00
Chinesezjc 9d8a4d50ee Merge remote-tracking branch 'origin/master' into feat/web-terminal-card
# Conflicts:
#	packages/client/ui-conversation/src/client/chat/ToolRow.tsx
2026-07-28 16:43:15 +08:00
creatixchu 0fcfc5214b Merge remote-tracking branch 'origin/doc/host-client-group-readmes' into feat/directory-picker 2026-07-28 16:42:36 +08:00
Chinesezjc f4c243c75f feat(web): state the run state on the terminal card's prompt line
The terminal card showed no run state: a running command and a settled
command that produced no output rendered the same prompt line, so whether
a command was still running had to be inferred from the absence of output.

Lead the prompt line with a StateDot in three of its states — the spinning
ring while running, red for the same exit status that renders the status
pill, green for a clean settle. That is the same indicator a tool row's
leading icon carries, so a row and its own card cannot disagree about one
command; the row/card agreement is pinned in the ui-conversation spec.
StateDot is aria-hidden, so a visually hidden text label rides beside it,
which is what the refreshed aria goldens now record.

The e2e adds what jsdom cannot compute: the dot's color resolves to the
green success token through the real theme stylesheet, and the dot precedes
the prompt label in document order.
2026-07-28 16:41:04 +08:00
Tianyi Cui f63d2deecf Merge pull request #818 from deepseek-harness/fix/wine-workspace-snapshot-flake
fix(ci): retry the Wine lane's pnpm install on the hoisted-linker rename race
2026-07-28 16:36:42 +08:00
_Kerman 1d4a6149cc feat(client): add trajectory timing overview 2026-07-28 16:28:57 +08:00
07akioni ed2e881f35 fix: remove useless file 2026-07-28 16:26:09 +08:00
Chinesezjc 75ae2cb4eb Merge remote-tracking branch 'origin/master' into feat/scrollbar-tokens 2026-07-28 16:23:44 +08:00
NI0317 6b79ce08c5 test(fs-search): minimize glob snapshot composition
Boot the glob sampling scenario from a standalone ACP composition that exposes only bash, glob, and grep. Regenerate the smaller header fixtures and trim implementation narration already owned by the Agent Note.
2026-07-28 16:21:29 +08:00
Hypatia May 032cd2f72d docs: refresh event consumer graph after master merge 2026-07-28 16:19:40 +08:00
creatixchu 34518cb012 fix(connection): judge an entry's explicit port from the parsed URL, not the raw string
WHATWG trimming strips stray whitespace before parsing, so 'host:port ' passed
the load assert while the raw-string port regex read it as port-less —
broadening an exact-port grant to every port on that hostname. The explicit-
port judgment now reads URL parses under both special schemes (:80/:443 stay
explicit), and the load assert refuses whitespace outright.
2026-07-28 16:19:31 +08:00
Tianyi Cui 6227b55e4a fix(ci): retry the Wine lane's pnpm install on the hoisted-linker rename race
The wine blocking job flaked with ERR_PNPM_ENOENT rename '_tmp_*' ->
'<pkg>/node_modules/esbuild' during workspace snapshot + pnpm install
(runs 30334004123 and 30340039598), and a plain rerun passed. Root
cause is upstream pnpm/pnpm#12880: the hoisted linker's parallel
linkers race to rename their _tmp_* staging directory onto the same
nested package path, and the loser exits although an identical
re-install succeeds. Only this lane uses nodeLinker: hoisted, so only
this lane hits it.

snapshot_and_install now retries exactly that log signature up to two
times, wiping the scratch tree's node_modules first (the snapshot
itself contains none, so the wipe restores the pre-install state) and
logging each retry with the upstream issue. Any other install failure
still fails on the first attempt, and a race that survives the final
attempt still fails loud with the install log tail.
2026-07-28 16:16:10 +08:00
Hypatia May 89ffbf5826 Merge origin/master into codex/status-bar-token-metrics
# Conflicts:
#	packages/client/runtime/README.i18n.yaml
2026-07-28 16:16:04 +08:00
imccyu 9ce201e490 Merge remote-tracking branch 'origin/master' into worktree-guifork 2026-07-28 16:12:12 +08:00
NI0317 b14fbf7031 Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool 2026-07-28 16:12:11 +08:00
Hypatia May 5340aedb8b fix(host): guard terminal metric snapshots (round 6 review) 2026-07-28 16:05:43 +08:00
creatixchu b9cbe2f029 fix(connection): fail the load on a trustedHosts entry that is not a bare authority
WHATWG parsing would quietly read a hostname out of harness.internal/path or
user@harness.internal, authorizing the typo's hostname; other typos would sit
silently ignored until requests 403. Refuse every URL part beyond host[:port]
at plugin load.
2026-07-28 15:57:02 +08:00
Hypatia May 8de4760141 fix(host): fence metric teardown reads (round 6 review) 2026-07-28 15:56:28 +08:00
07akioni fff09b2a41 Merge branch 'master' into feat/toolcall-open
Keep openFile path links (no tool-row sidebar handoff) while taking master's
cwd-relative summaries, running sweep, and expandable chevron polish.
2026-07-28 15:55:22 +08:00
_Kerman 750aa2022f fix(snapshot): refresh session title messages 2026-07-28 15:55:15 +08:00
_Kerman 1d4d6f881c Merge branch 'master' into xtr/identified-immutable-messages 2026-07-28 15:52:16 +08:00
Tianyi Cui 15ed8e5d55 Merge pull request #761 from deepseek-harness/worktree/replayable-gate-plans-20260727
feat(dev-infra): validate gate graphs and order artifact consumers
2026-07-28 15:51:14 +08:00
_Kerman 019b0abb68 Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.i18n.yaml
#	docs/core-data-structures/session.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.md
#	packages/core/session/README.i18n.yaml
#	packages/session-title/session-title/tests/persistence.spec.ts
2026-07-28 15:45:53 +08:00
creatixchu 7fd2abd828 feat(host): directory-picker capability seam with dialog and browse backends
The web GUI's folder picking was hardwired to one interaction: a native
OS chooser compiled into the gateway, unusable for remote deployments
and swappable only by editing apiproxy source.

Directory picking becomes a three-package capability seam in
packages/host: ctx.directoryPicker returns a discriminated capability —
dialog (the extracted native chooser; host-display only) or browse
(new: one-level listing + child creation over Node stdlib, hidden flags
host-stamped, symlinks followed, ancestry crumbs; remote-capable). The
gateway injects the seam, advertises the kind via
host.describe.directoryPicker, serves host.listDirectory /
host.createDirectory under browse, and answers
directory-picker-unavailable across kinds. cordis.yml is the swap
point; apps/cli keeps dialog mounted, so behavior is unchanged until
the in-app browser PR flips the default. The connection fixture serves
a deterministic browse tree; WorkspacesService gains the browse calls
the browser UI will drive. Decision record:
.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md
2026-07-28 15:44:53 +08:00
_Kerman 40c29495af Merge branch 'master' into xtr/trajectory-inspection-ui 2026-07-28 15:41:45 +08:00
Hypatia May 03ca568246 fix(host): refresh metric capacity metadata (round 6) 2026-07-28 15:41:38 +08:00
Tianyi Cui d70cb63833 Merge remote-tracking branch 'origin/master' into worktree/replayable-gate-plans-20260727 2026-07-28 15:41:26 +08:00
_Kerman 14c3d2ef9c Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
# Conflicts:
#	packages/client/ui-primitives/src/Menu.tsx
2026-07-28 15:41:03 +08:00
imccyu 453c475c72 Merge pull request #809 from deepseek-harness/xtr/remove-append-out-of-band
refactor(session): remove synthetic log-only turns
2026-07-28 15:40:23 +08:00
creatixchu 01eea07bab fix(connection): keep LAN serving working under the /api browser-trust fence
Markerless requests pass on any Host (a non-browser sender is the principal
and forges headers anyway); browser Host matching gains port-less entries and
WHATWG normalization; dsh derives LAN IP-literal authorities for an
all-interfaces bind and web grows --trusted-host for named ones.
2026-07-28 15:40:02 +08:00
Tianyi Cui 108374772f Merge branch 'master' into xtr/remove-append-out-of-band 2026-07-28 15:36:20 +08:00
Tianyi Cui 463ab62a6a Merge pull request #816 from deepseek-harness/worktree/sandbox-master-only-20260728
ci: run sandbox matrix on master only
2026-07-28 15:36:12 +08:00
Tianyi Cui 2a5137f0e9 Merge branch 'master' into worktree/sandbox-master-only-20260728 2026-07-28 15:35:36 +08:00
Tianyi Cui 09a65125ba Merge remote-tracking branch 'origin/master' into worktree/replayable-gate-plans-20260727 2026-07-28 15:34:30 +08:00
_Kerman 102ebb8772 Merge branch 'master' into xtr/remove-append-out-of-band 2026-07-28 15:33:34 +08:00
imccyu d42f6e9e1d Merge pull request #801 from deepseek-harness/fix/web-ui-optimization
fix(web-ui): conversation UI polish sweep
2026-07-28 15:33:22 +08:00
Tianyi Cui cbbd888cab simplify gate graph validation 2026-07-28 15:33:20 +08:00
_Kerman b1af35145b fix: enforce message snapshot invariants 2026-07-28 15:33:00 +08:00
_Kerman 0cd28959e8 Merge branch 'master' into xtr/remove-append-out-of-band 2026-07-28 15:32:42 +08:00
Tianyi Cui 0a09924c00 Merge remote-tracking branch 'origin/master' into worktree/sandbox-master-only-20260728 2026-07-28 15:28:53 +08:00
imccyu 0bc9fa9546 Merge branch 'master' into fix/web-ui-optimization 2026-07-28 15:26:38 +08:00
Tianyi Cui 032aa16018 Merge pull request #811 from deepseek-harness/worktree/ci-flake-followup-20260728
fix(ci): stabilize readiness timing boundaries
2026-07-28 15:26:20 +08:00
Tianyi Cui f85736e814 ci: run sandbox matrix on master only 2026-07-28 15:26:00 +08:00
imccyu 0b1a8b3fee fix: ci 2026-07-28 15:25:38 +08:00
_Kerman 833a58784f docs(session): refresh invariant metadata 2026-07-28 15:22:16 +08:00
Tianyi Cui 16958cdbe7 fix(pty): observe readiness before exact probe threshold 2026-07-28 15:22:05 +08:00
07akioni c30c891628 fix: ci 2026-07-28 15:21:34 +08:00
_Kerman f074444cf0 Merge remote-tracking branch 'origin/master' into xtr/remove-append-out-of-band 2026-07-28 15:19:00 +08:00
_Kerman a39ffb095a fix(session): preserve plugin turn invariants 2026-07-28 15:18:48 +08:00