Commit Graph

299 Commits

Author SHA1 Message Date
NI0317
e9cbfa153a docs: address README review 2026-07-31 11:18:49 +08:00
NI0317
46515aec6c Merge remote-tracking branch 'origin/master' into feature/readme-current-capabilities 2026-07-31 11:00:05 +08:00
Turtle
aa39d6c6ed Merge remote-tracking branch 'origin/master' into fix/node26-vitest-webstorage
# Conflicts:
#	scripts/run-gates.spec.ts
#	vitest.config.ts
2026-07-31 10:26:05 +08:00
imccyu
c368a89dc1 doc: record the coverage-exempt heavy suites decision
Agent Note (both languages, pairing recorded): what is exempted, the
per-entry reconciliation showing no threshold input changes, the
membership contract, and why the per-file 100% thresholds police the
roster automatically.
2026-07-31 02:55:37 +08:00
imccyu
493c49aeab Merge pull request #1012 from deepseek-harness/fix/tui-prompt-source-resolution
fix(cli): resolve @deepseek-ai/dsh-tui/prompt in the source plane
2026-07-30 23:38:13 +08:00
Tianyi Cui
b74ea23670 Merge branch 'master' into feature/readme-current-capabilities 2026-07-30 21:51:13 +08:00
Turtle
f04b35c6a4 fix(test): isolate jsdom storage on Node 26 2026-07-30 21:49:33 +08:00
Turtle
37116d0b0a test(scripts): gate source-plane resolution of configured plugins
verify-cordis-config now requires every configured specifier of a local
workspace package to resolve through the tsconfig.base.json paths facade
to a .ts/.tsx source file. A failed resolution or a .d.ts hit (the exports
fallback into built lib/types) fails the gate, so a missing paths mapping
is a red gate instead of a clean-tree-only startup crash masked by built
trees in CI. Removing the dsh-tui/prompt mapping reproduces the failure.

Agent Note records the decision and alternatives.
2026-07-30 21:47:13 +08:00
Tianyi Cui
ec1f08d3ba Merge branch 'master' into worktree/ci-independent-consumer-build 2026-07-30 21:07:14 +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
Tianyi Cui
6d6c146f81 ci: allocate consumer runner independently 2026-07-30 19:02:10 +08:00
NI0317
013761f850 docs: verify and simplify launch instructions 2026-07-30 17:17:22 +08:00
NI0317
4d3e324467 docs: preserve established README voice 2026-07-30 16:47:27 +08:00
NI0317
544d3f8267 docs: refresh root README for current capabilities 2026-07-30 15:52:20 +08:00
imccyu
6303b22487 ci: run web replay on master linux 2026-07-30 11:16:37 +08:00
imccyu
72c9d40ad9 ci: isolate web snapshots to consumer lane 2026-07-30 10:54:51 +08:00
imccyu
4b4f7752c1 ci: gate web browser snapshots 2026-07-30 10:23:05 +08:00
Tianyi Cui
50350088f9 docs: correct the Oxlint workflow contract 2026-07-29 23:45:06 +08:00
Tianyi Cui
e91ef39f5a fix: preserve lint migration contracts 2026-07-29 22:38:20 +08:00
Tianyi Cui
32aaa8983e Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr885-20260729
# Conflicts:
#	docs/development.i18n.yaml
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
#	packages/client/ui-primitives/src/markdown/CodeBlock.tsx
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-29 21:37:43 +08:00
Tianyi Cui
4368c2d40c Merge branch 'master' into fix/translation-brief-uncommitted-pair 2026-07-29 20:54:30 +08:00
Chinesezjc
c87a20b506 Merge remote-tracking branch 'origin/master' into feat/web-terminal-card
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
2026-07-29 15:44:58 +08:00
Turtle
203767cd37 test: prove ESLint to Oxlint rule parity 2026-07-29 14:47:50 +08:00
Turtle
95a995968b refactor: migrate linting to Oxlint 2026-07-29 14:32:11 +08:00
Hypatia May
173a1a8319 fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
Chinesezjc
eba81fe1f2 Merge remote-tracking branch 'origin/master' into feat/web-terminal-card
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-29 11:49:10 +08:00
ZiyaZhang
612b527cd2 fix(i18n): pin translation snapshots against gc 2026-07-28 10:28:49 -07:00
ZiyaZhang
2edc186047 Merge remote-tracking branch 'upstream/master' into fix/translation-brief-uncommitted-pair 2026-07-28 09:56:23 -07:00
imccyu
c804dfde3e docs: document native TypeScript source launch 2026-07-28 23:13:28 +08:00
ZiyaZhang
7febd4b557 fix(i18n): persist uncommitted translation snapshots 2026-07-28 04:34:05 -07: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
Tianyi Cui
d70cb63833 Merge remote-tracking branch 'origin/master' into worktree/replayable-gate-plans-20260727 2026-07-28 15:41:26 +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
Tianyi Cui
cbbd888cab simplify gate graph validation 2026-07-28 15:33:20 +08:00
Tianyi Cui
f85736e814 ci: run sandbox matrix on master only 2026-07-28 15:26:00 +08:00
Chinesezjc
5081697aaf feat(web): render bash tool output as a terminal card
The bash tool already declares the `card: 'terminal'` render intent for
both its call and its result, and host/connection/runtime already deliver
it to the browser as callView/resultView. The Web client ignored it:
rows derived from raw args, and the details panel flattened every tool's
content into one soft-wrapping `<pre>`. Column-aligned output folded into
a paragraph and a long listing stretched the panel without bound.

`TerminalBlock` (ui-primitives) renders a command as a terminal surface:
a shortened-cwd prompt line, output at `white-space: pre` in a
horizontally scrolling box, a head/tail height cap with an expand
control, an exit-code/signal status pill, and a copy control for the raw
output. ANSI SGR runs are parsed with `anser` and resolved onto `--dsw-*`
theme tokens, with literal rgb kept for values the design system has no
token for. Geometry and fonts mirror CodeBlock; the clipboard write both
need moved into a package-internal `clipboard.ts`.

Both Web render sites for a bash call consume the intent through one
derivation (`terminal-card-model.ts`), so they cannot disagree about a
command, its cwd, or its exit status: the keyed BashRow carries the card
resident below its summary row, and the render-site fallback row keeps it
behind its existing expand control. Rows cap at 8 lines against the
panel's 16.

Inline output in the chat row reverses this package's stated
no-inline-output convention, on the owner's explicit decision; the Agent
Note records the reversal and its bound.

Tests: TerminalBlock/ansi/clipboard unit specs, ui-conversation wiring
specs at every render site, a built-client-graph snapshot covering both
chat-row shapes, and a real-browser e2e asserting the no-wrap layout and
the page's own Clipboard API.
2026-07-28 14:58:06 +08:00
Tianyi Cui
2b539346c8 Merge remote-tracking branch 'origin/master' into worktree/change-scope-trim-20260728 2026-07-28 01:12:16 +08:00
Tianyi Cui
a5ed3a5cfc refactor(dev-infra): narrow change scope report 2026-07-28 01:02:43 +08:00
Tianyi Cui
9c6de3644e Merge branch 'master' into archive-agent-notes-sweep-2 2026-07-28 00:49:13 +08:00
Tianyi Cui
d29cd145c9 Merge origin/master into worktree/replayable-gate-plans-20260727 2026-07-28 00:37:52 +08:00
Tianyi Cui
02f9b55699 docs(dev-infra): synchronize gate plan consequences 2026-07-28 00:37:42 +08:00
Tianyi Cui
5b79a43d4c fix(dev-infra): serialize lint after invariant staging 2026-07-28 00:36:05 +08:00
Tianyi Cui
b1dc759fee Merge remote-tracking branch 'origin/master' into worktree/pr762-merge-20260728 2026-07-28 00:29:00 +08:00
Tianyi Cui
e62ad4fddc Merge remote-tracking branch 'origin/master' into worktree/replayable-gate-plans-20260727 2026-07-28 00:14:37 +08:00
Tianyi Cui
55d6ab5220 fix(dev-infra): harden gate runner execution 2026-07-28 00:12:16 +08:00
Tianyi Cui
59122b9e85 Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-28 00:06:16 +08:00
Tianyi Cui
c982cf7805 refactor(dev-infra): narrow worktree hook safety checks 2026-07-28 00:05:31 +08:00
Tianyi Cui
f2c0021941 docs(notes): aggressive archive sweep of low-value decision records
Archive 21 implemented triplets whose shipped decisions are complete and
whose bodies no longer guide future work (one-off UI chrome, generator
applications whose scripts are self-explanatory, superseded implementation
detail, process history owned by current contracts/skills). Delete 4
rejected triplets whose premises are obsolete: the DeepReadonly proposal
(dev-invariants note now carries the alternative inline), the collapse
tool-owned presentation proposal (superseded by the shipped render-intent
union), retire-mid-turn-steering (steering is now load-bearing across
plan-mode/apiproxy/TUI), and single-session-ACP (automation-only ACP
resolved the question; multi-session isolation is pinned by tests).

Repair every inbound link: retarget intentional historical citations to
archived paths, replace decision-current citations with the surviving
authority, and fix the stale example-execute-over-tsx pointer in
pnpm-workspace.yaml. Re-record pairing sidecars and seal the archive
manifest (append-only; existing seals unchanged).
2026-07-28 00:00:51 +08:00
Tianyi Cui
3e6fbccffa refactor(dev-infra): trim gate plan surfaces 2026-07-27 23:58:27 +08:00
Tianyi Cui
752d4b9204 Merge updated origin/master into feat/tui-master-port 2026-07-27 23:56:54 +08:00