Commit Graph

1968 Commits

Author SHA1 Message Date
Tianyi Cui
99db7e8fc3 Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool 2026-07-30 21:35:08 +08:00
Tianyi Cui
6777e4fab9 fix(fs-search): make glob sampling an explicit choice 2026-07-30 21:14:03 +08:00
Tianyi Cui
21e8af2b3a Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
# Conflicts:
#	packages/fs/tool-fs-search/README.i18n.yaml
#	packages/fs/tool-fs-search/README.zh.md
2026-07-30 20:56:27 +08:00
Hypatia May
acca880015 Merge latest origin/master into fix/human-transcript-projection
Build-review integration round 2.
2026-07-30 20:51:45 +08:00
Hypatia May
c6e06e289e Merge origin/master into fix/human-transcript-projection
Build-review integration round 1.
2026-07-30 20:45:39 +08:00
creatixchu
b6fc6328f3 Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation 2026-07-30 20:22:35 +08:00
Hypatia May
fe97451604 Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
#	docs/cordis-catalog/services.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-30 19:57:49 +08:00
imccyu
f988ca9b86 fix(scripts): own the locality proof's premises in gen-doc-graphs
Review follow-up. provenLocalCallee inferred file-local calls from module
scoping but borrowed non-exportedness from its one caller and never checked
module-ness: a helper in a global script file (no import/export) is
program-visible and callable cross-file with no same-file reference, so the
proof passed and those call sites were dropped as silently missing matrix
cells. Guard both premises at the proof entry, failing toward the global
fallback.

- State the EVENT_API_METHODS obligation: a visitSource branch for an
  unlisted method name is dead because the prefilter drops the call first.
- Add gen-doc-graphs.spec.ts pinning fast path vs global fallback equivalence
  on fixture programs: a proven-local helper, an alias-escaping helper, and a
  global-script helper (negative control that keeps the fallback exercised).
- Record the demand-driven indexing decision in the Program-backed semantic
  gates Agent Note (both languages, pairing re-recorded).

Generated docs stay byte-identical (verify-doc-graphs green).
2026-07-30 19:57:17 +08:00
creatixchu
94f115725c Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation 2026-07-30 19:48:02 +08:00
imccyu
a1f1f9c29a Merge branch 'master' into codex/figma-context-injection-row 2026-07-30 19:20:21 +08:00
creatixchu
18abd8ecd7 Merge remote-tracking branch 'origin/feat/directory-picker-show-hidden' into feat/directory-picker-quiet-navigation 2026-07-30 18:30:39 +08:00
creatixchu
33bb266932 Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 18:29:37 +08:00
kingwl
1f5d09c2d7 Merge origin/master into codex/figma-context-injection-row
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-30 18:27:49 +08:00
creatixchu
cf21f0a1ea Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 18:08:30 +08:00
creatixchu
e080ff2c34 fix(directory-picker-browse): resolve quiet-navigation review 2026-07-30 18:08:22 +08:00
creatixchu
3d26b8a696 fix(directory-picker-browse): bot round 1 — pill cascade+corner, slow-scan close reset, asymmetry+calibration recorded
- .loadingFloat moved after the .status/.error block (its padding was
  losing the same-specificity race) and re-anchored bottom-right: the
  truncated/error rows own the bottom left and keep rendering through a
  scan, so the pill can never cover them; confirmCreate's relist now
  clears the stale failure text like every other scan launch.
- The close edge resets loading, so the slow-scan effect disarms while
  hidden and a reopened dialog waits out a fresh silence window
  (regression test added).
- The truncated note's survival through a scan is now asserted in the
  slow-scan test; the wait-bound test moved to fake timers with the
  200ms bound explicit.
- select()'s exemption from the one-frame rule and the constants' local
  calibration premise are recorded in JSDoc and the capability-seam
  Agent Note; the themed-scrollbars note's rebinding enumeration is
  replaced by a pointer to the mechanical gate (it had drifted twice).
  Both pairs re-recorded.
2026-07-30 18:08:22 +08:00
creatixchu
101c3908f3 feat(directory-picker-browse): quiet navigation — one-frame landings and a slow-scan loading pill
Navigations keep the previous view rendering while scanning: target and
parent legs land as one two-pane frame when the parent leg settles within
a 200ms wait bound (past it the target lands alone and the late leg
upgrades in place; Escape inside the landing window withdraws the
navigation). The loading indicator floats over the content on the card
background and appears only once a scan outlives a 300ms silence window,
so navigation never shifts the columns or flashes an intermediate frame.
The truncated note now describes the on-screen panes instead of hiding
during scans.
2026-07-30 18:08:22 +08:00
imccyu
d4d5a11e8d Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 18:07:42 +08:00
Tianyi Cui
53ff5c6ef2 Merge branch 'master' into feature/shared-cli-config-foundation 2026-07-30 18:02:07 +08:00
Tianyi Cui
66e182b516 Merge branch 'master' into feature/shared-cli-config-foundation 2026-07-30 17:35:47 +08:00
kingwl
3d6cacc59b Merge remote-tracking branch 'origin/master' into codex/composer-dock-stacking
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-30 17:35:22 +08:00
kingwl
0f0564b3d0 Merge origin/master into codex/figma-context-injection-row 2026-07-30 17:35:04 +08:00
kingwl
f5228e7c71 Merge origin/master into codex/figma-context-injection-row
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/src/client/chat/ToolRow.module.css
#	packages/client/ui-conversation/src/client/chat/ToolRow.tsx
2026-07-30 17:34:14 +08:00
creatixchu
295813f6eb Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 17:32:46 +08:00
Hypatia May
47d2bcb18c Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection 2026-07-30 17:28:49 +08:00
Hypatia May
82817570b0 Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/session.i18n.yaml
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/ui/tui/src/index.ts
2026-07-30 17:28:26 +08:00
kingwl
abf498b8dc fix(web): align composer context stack 2026-07-30 17:26:44 +08:00
creatixchu
b8d9fb1ede Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 17:17:03 +08:00
imccyu
4cd5745b94 Merge branch 'master' into codex/details-default-closed 2026-07-30 17:14:51 +08:00
Tianyi Cui
abd7d57358 Merge branch 'master' into feature/shared-cli-config-foundation 2026-07-30 17:08:42 +08:00
creatixchu
3809795fd5 Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 17:02:33 +08:00
imccyu
34d5f8f2e2 Merge branch 'master' into feat/ask-question-gui 2026-07-30 16:55:54 +08:00
Turtle
3c620a0cb6 Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	docs/cordis-catalog/services.md
#	packages/host/apiproxy/README.i18n.yaml
2026-07-30 16:53:55 +08:00
Tianyi Cui
9e679c89b6 Merge branch 'master' into feat/session-inherited-boundary 2026-07-30 16:30:42 +08:00
kingwl
d7641ec028 Merge origin/master into codex/figma-context-injection-row 2026-07-30 16:20:47 +08:00
kingwl
17893c503e feat(web): match context injection disclosure design 2026-07-30 16:20:34 +08:00
creatixchu
380b215287 Merge remote-tracking branch 'origin/master' into feat/directory-picker-show-hidden 2026-07-30 16:12:35 +08:00
Turtle
674c25a6a2 Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	docs/tool-catalog.md
#	examples/package.json
#	packages/examples/agent-spine-demo/README.i18n.yaml
#	packages/examples/agent-spine-demo/README.zh.md
#	pnpm-lock.yaml
2026-07-30 16:11:21 +08:00
imccyu
f88d324f01 Merge branch 'master' into codex/details-default-closed 2026-07-30 15:53:01 +08:00
Hypatia May
8fdd01e4ae Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection 2026-07-30 15:52:09 +08:00
imccyu
69a58ddd6f Merge branch 'master' into feat/ask-question-gui 2026-07-30 15:50:59 +08:00
Hypatia May
7bcf8d660d Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/ui/tui/README.i18n.yaml
2026-07-30 15:42:47 +08:00
Hypatia May
8527137230 refactor(session): rename the seed boundary to end-seed 2026-07-30 15:32:06 +08:00
Tianyi Cui
2550882875 Merge branch 'master' into worktree/persistent-bash-str-replace-editor 2026-07-30 15:19:27 +08:00
imccyu
6ea1238714 docs(web): the composer bar is one session-maybe slot, not a swapped pair
fix(web): keep one composer bar DOM across the no-workspace transition

The composer.bar slot moves from session to session-maybe scope: with no
current session the entry still mounts, the machine faces (keyboard, stop,
command) arrive undefined, and the bar renders its normal DOM inert via the
disabled owner prop. DisabledInputBar and its parallel tree are gone, so the
textarea node survives the cold-start workspace pick instead of flashing
through a remount. A blank session whose workspace was deleted takes the
same inert path through owner props.

test(web): add the composer DOM-continuity acceptance probe

Drives a real dsh web server with headless chromium through the cold-start
-> pick-workspace -> type flow and asserts the composer textarea is the
same DOM node throughout (a marker property must survive). Rerun
prerequisites are in the header comment.

docs(web): session-maybe identity is adoption, not hold-forever

fix(web): session-maybe entries adopt the first session, then remount like strict entries

A session-maybe entry used to keep one React instance across every
transition, so component-local state leaked between sessions once the
composer bar moved to that scope (PermissionSelect's optimistic pick, the
IME composition guard). Identity is now adoption: an incarnation born
session-less holds through the arrival of the first session (the blank
shell's DOM survives the workspace pick), and afterwards behaves exactly
like a strict session entry — a switch or a drop to no-session remounts,
clearing local state by construction. The child key is an incarnation
counter kept in the stable outlet wrapper via render-phase setState.

chore: knip knows the root acceptance probe's playwright dependency

scripts/hero-composer-dom-continuity.mjs resolves playwright through
apps/web's devDependency tree (createRequire), which knip cannot follow;
ignore it at the root workspace.
2026-07-30 15:18:06 +08:00
Hypatia May
e8f0934bc2 Merge remote-tracking branch 'origin/master' into feat/session-inherited-boundary 2026-07-30 15:14:16 +08:00
imccyu
6c7520c652 Merge remote-tracking branch 'origin/master' into mergebot/pr883
# Conflicts:
#	apps/web/tests/snapshots/question-composer/answered.expected.md
#	apps/web/tests/snapshots/question-composer/ui.expected.md
2026-07-30 15:04:59 +08:00
imccyu
03936cb320 Merge remote-tracking branch 'origin/master' into mergebot/pr883
# Conflicts:
#	packages/client/ui-question/package.json
#	packages/client/ui-question/src/client/QuestionComposer.tsx
#	packages/client/ui-question/src/client/contract/slots.ts
#	packages/client/ui-question/src/client/index.ts
#	packages/client/ui-question/src/client/locales.ts
#	packages/client/ui-question/tests/browser-plugin.spec.ts
#	packages/client/ui-question/tests/question-composer.spec.tsx
2026-07-30 15:01:10 +08:00
Turtle
39efc3dd73 Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
#	docs/testing.i18n.yaml
2026-07-30 15:00:42 +08:00
Turtle
36f6d8fd05 Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-07-30 14:58:10 +08:00