Commit Graph
3368 Commits
Author SHA1 Message Date
Turtle 1ffdacb2c4 fix(jsonl): handle filesystem path aliases 2026-07-24 21:50:11 +08:00
Hypatia May 224e00b2bd fix: quiesce cancelled session reconciliation 2026-07-24 21:27:07 +08:00
Turtle c14f488b00 fix(persistence): use normalized project directory names 2026-07-24 21:15:53 +08:00
Tianyi Cui 46dfd503e0 Merge origin/master into codex/sqlite-metadata-contracts 2026-07-24 21:07:23 +08:00
Hypatia May cbc6d81fc3 Merge remote-tracking branch 'origin/master' into session-query-tool
# Conflicts:
#	docs/architecture.i18n.yaml
2026-07-24 20:59:18 +08:00
Hypatia May ba6fc1cfa3 fix: harden session query authorization 2026-07-24 20:50:53 +08:00
Tianyi Cui 9e691d54c0 fix(goal): normalize strict-schema fillers 2026-07-24 20:45:23 +08:00
Tianyi Cui 145ba169f6 Merge commit 'refs/codex-unblock/20260724/pr591-base-current' into worktree/unblock-pr-591-ci-20260724 2026-07-24 20:32:02 +08:00
Tianyi Cui d08050ab69 chore(web-e2e): gate fixes — catalog, budgets, knip
Regenerate config-catalog for the llm-replay paceMs row; condense the
testing.md web-lane entry to pointer form and raise its ceiling 1020->1060
(the two-sentence tier entry for a genuinely new surface does not fit the
old ceiling after relocation-first trims); internalize two harness helpers
knip flagged (rawSessionLog/normalizeAria are module-internal).
2026-07-24 20:30:33 +08:00
Hypatia May 04c8a17de5 fix: cancel exact session observations 2026-07-24 20:08:38 +08:00
Tianyi Cui 2cd37e2765 docs(testing): web e2e lane docs + Agent Note to implemented
testing.md gains the web browser snapshot tier entry (divergent
DSH_SNAPSHOT=... test:web commands) and names apps/web/tests/snapshots/
as the web surface's snapshot home. The GUI testing note's tier map and
lane map gain the e2e scenarios (both languages, pair re-recorded) and
drop the stale verify-session-real references (those scripts left with
the missions/ tree). packages/client/AGENTS.md check ladder covers the
wire-carriage trigger and refresh/record commands. acp-snapshot README
stops claiming the whole package is ACP-specific — its normalizers are
transport-neutral with three consumers now. vitest.web.config.ts header
carries TODO(ci-browser) with the staged-reversal pointer.

The design-study Agent Note moves proposed/ -> implemented/ rewritten in
present tense: all review decisions recorded (llm:false seam over the
placeholder-key hack, providers-mode replay, whenIdle barrier stack,
single aria golden + anchors, TUI-style inline modes over a suite
factory, scrub-only header stance, CI deferral) with re-entry triggers
under Deferred.
2026-07-24 19:57:27 +08:00
Turtle 4e295221f3 refactor(persistence): group sessions in project directories 2026-07-24 19:52:47 +08:00
Hypatia May 66585635c8 fix: serialize paginated session searches 2026-07-24 19:47:23 +08:00
Turtle 800bafda3b refactor(cli): parse dsh argv through one Commander adapter
Replace the dsh CLI's three hand-rolled parsing idioms (raw argv[0]/includes
dispatch in bin.ts, per-mode node:util parseArgs in headless.ts/web.ts, and the
bespoke parseResumeArg scanner in dsh-app-boot) with a single Commander adapter
in apps/cli/src/args.ts. parseDshArgs resolves argv into a discriminated
DshInvocation union; bin.ts switches on the mode and dynamic-imports the chosen
module, which now consumes already-parsed values.

- web is a real subcommand; --host uses choices and --port an argParser range
  check, moving validation into the parser.
- --resume rejects empty and repeated forms; --prompt rejects empty; a config
  positional after --prompt and a root flag placed before web fail loud.
- adds --help/--version; removes parseResumeArg from dsh-app-boot.
- new apps/cli/tests/args.spec.ts (apps/*/tests added to vitest include,
  apps/cli/tests to tsconfig.host.json); the tui-agent keyless PTY smoke covers
  bin.ts dispatch end to end unchanged.
2026-07-24 19:43:59 +08:00
Tianyi Cui 51f697db50 test(tui): wait for scoped file completion
The fake terminal retains earlier autocomplete frames, so the directory follow-up assertion could pass before the scoped lookup completed. Wait for the quoted file mention to be applied before submitting.
2026-07-24 19:38:31 +08:00
Turtle 207aab9d8d fix(llm): classify empty model completions as retryable EMPTY_RESPONSE
A well-formed provider stream that ends with finish_reason stop and zero
content blocks previously became a successful empty assistant message: the
turn completed silently, and drivers like goal-session counted the no-op
round. Both adapters now map that degenerate completion to a finish
{kind:'error'} with the new canonical EMPTY_RESPONSE code from dsh-llm, and
dsh-llm-retry adds the code to its default retryable set, so the existing
closed-step recovery path retries it and fails loud once the budget is
exhausted.

Covered by adapter unit tests, an llm-retry default-policy test, and a new
authored keyless ACP snapshot (empty-response-retry) with a deterministic
1 ms zero-jitter retry overlay.
2026-07-24 19:23:12 +08:00
Hypatia May 795af3174e fix: cancel session authorization reads 2026-07-24 19:21:32 +08:00
Tianyi Cui a229b095d6 Merge branch 'master' into fix/goal-completion-strict-fields 2026-07-24 19:19:57 +08:00
Tianyi Cui 9ef0193dd5 feat(host-runtime,llm-replay): keyless llm seam + replay pacing/consumption handle
BootHostOptions.llm: 'deepseek' | false — false mounts no adapter, boots
keyless, and leaves the llm capability seam open for the embedder to fill
on RunningHost.ctx (now the third sanctioned ctx use, JSDoc + README
amended); an unfilled seam fails loud with NO_ADAPTER at the first stream.

dsh-llm-replay grows two additive surfaces for the web browser e2e lane:
paceMs (validated per-chunk delay so a real transport shows incremental
delivery; abort during a pace wait cancels promptly) and a ReplayHandle
return — dispose() plus assertConsumed(), the teardown check that every
recorded script bound and drained, converting silent fixture underruns
into diagnostics. Existing callers updated; config catalog regenerated.
2026-07-24 19:08:10 +08:00
Hypatia May 415948dd7b fix: redact lineage errors and parse precise times 2026-07-24 18:47:41 +08:00
Hypatia May 0d2e74ed48 docs: describe host session-query surface 2026-07-24 18:22:00 +08:00
Hypatia May fec4ce52cc fix: batch cancellable title reads 2026-07-24 18:13:11 +08:00
Hypatia May f5fc7ac04a test: scope event snapshot normalization 2026-07-24 17:25:32 +08:00
Turtle 081bb1a8fd Merge remote-tracking branch 'origin/master' into feat/send-unify
# Conflicts:
#	packages/client/runtime/src/client/sessions/fold-adapter.ts
2026-07-24 17:17:35 +08:00
Hypatia May 96c5696f80 Merge remote-tracking branch 'origin/master' into session-query-tool
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/cordis-catalog/services.md
2026-07-24 17:12:03 +08:00
07akioni 65e6a2adbe Merge branch 'master' into feat/trajectory 2026-07-24 17:06:25 +08:00
Hypatia May def026e5bc fix: harden session trace authorization 2026-07-24 17:06:10 +08:00
Turtle d2b2539f3e Merge remote-tracking branch 'origin/feat/send-unify' into feat/send-unify
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/architecture.md
2026-07-24 16:58:32 +08:00
Turtle 4be3301952 fix: migrate merged-in context/message references to user/message
The master merge introduced a tui goal-restore test and the guard parent
README that still used the removed context/message event. Point both at
the coalesced plugin-sourced user/message.
2026-07-24 16:56:36 +08:00
Turtle 80bbe959a7 Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-24 16:52:46 +08:00
Hypatia May 6be11539e2 fix: bind session authorization to observations 2026-07-24 16:40:08 +08:00
07akioni 6fc92bbb16 fix: ci 2026-07-24 16:32:35 +08:00
Turtle bb124c2869 Merge branch 'master' into feat/send-unify 2026-07-24 16:31:00 +08:00
Tianyi Cui a88364ab66 Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol 2026-07-24 16:30:03 +08:00
ZiyaZhang 12dbc00166 fix(tui): harden resume picker input 2026-07-24 01:29:35 -07:00
ZiyaZhang 33ee34b58e fix(tui): make resume picker full-screen 2026-07-24 01:29:35 -07:00
Turtle d3b00bbdff test(tui): await fresh model selector frames 2026-07-24 01:29:35 -07:00
Turtle c440217fde refactor(tui): defer cross-process resume locking 2026-07-24 01:29:35 -07:00
NI0317 54d986ed87 fix(tui): close resume handoff races 2026-07-24 01:29:35 -07:00
NI0317 2ae9f4fdf3 feat(tui): add safe session resume flow 2026-07-24 01:29:35 -07:00
07akioni 6f5321cb37 feat: workspace select menu 2026-07-24 16:09:58 +08:00
Hypatia May 01b70fd6fd fix review findings for session queries 2026-07-24 15:58:03 +08:00
Hypatia May bc47884a77 fix session-query CI invariants 2026-07-24 15:42:24 +08:00
Turtle be29b012f1 fix(jsonrpc): update agent followup test doubles 2026-07-24 15:39:04 +08:00
Hypatia May a350e95165 feat(session-query): add model-facing tools (round 1) 2026-07-24 15:09:55 +08:00
Turtle b02b438667 refactor(agent): align delivery method names 2026-07-24 15:08:36 +08:00
07akioni 06143b1a86 fix: cr 2026-07-24 14:36:44 +08:00
07akioni aeb8b1f486 feat: implement new session behavior to clear selection and show empty state
- Added bilingual notes for the new session feature, detailing the transition to an empty state upon session creation.
- Updated `SessionsService` to include a `clear()` method that resets the current selection and persists the empty state.
- Enhanced the `EmptyState` component to reflect the new design, including workspace selection and input handling.
- Modified CSS styles for improved layout and visual consistency in the empty state.
- Updated tests to cover the new session clearing functionality and its effects on the UI.
2026-07-24 14:09:00 +08:00
Tianyi Cui b01fc33492 Merge remote-tracking branch 'origin/feat/send-unify' into worktree/agent-message-intents
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/src/agent.ts
2026-07-24 13:59:37 +08:00
Turtle d3e24356ba refactor(goal): loosen executor presence checks 2026-07-24 13:53:06 +08:00