Commit Graph
95 Commits
Author SHA1 Message Date
bowenliang123 da43fe48c7 docs(AGENTS): add instructions for running individual tests with vitest 2026-10-13 23:02:33 +08:00
bowenliang123 c27d082502 docs(AGENTS): update linting and testing instructions for improved efficiency 2026-10-13 22:53:31 +08:00
bowenliang123 68d20bf1f1 doc(agents): improve build and run instructions for clarity and usability 2026-10-13 17:06:40 +08:00
bowenliang123 a1d32769e8 doc(agents): enhance guidance on using codegraph queries effectively 2026-10-13 14:16:52 +08:00
bowenliang123 ec203da758 refactor(comments): add guideline for source code file size limit 2026-10-10 01:07:06 +08:00
bowenliang123 f90bd987fe docs(agents): refine comments guideline for clarity and conciseness 2026-10-10 00:07:00 +08:00
bowenliang123 79fe95e2cf docs(agents): update comments guideline for clarity and conciseness 2026-10-09 23:49:48 +08:00
bowenliang123 0a57e3376c docs(agents): add guidance for reviewing recent issues and PRs in release notes 2026-10-09 23:27:34 +08:00
bowenliang123 70d2889b4c docs(agents): add guidance for reviewing recent issues and PRs in release notes 2026-10-09 17:46:31 +08:00
bowenliang123 aa065729f4 [c857d8c] feat(agents): add instruction to load and run code-review skill for changes verification 2026-10-09 17:22:02 +08:00
bowenliang123 168051de00 docs: enhance AGENTS.md with detailed coverage report example 2026-10-07 04:23:36 +08:00
bowenliang123 eb22c55208 docs: streamline AGENTS.md, merge one-liner sections and cut redundancy 2026-10-06 22:22:37 +08:00
bowenliang123 6b455791b1 docs: update AGENTS.md with improved coding guidelines and pre-commit checks 2026-10-06 21:56:02 +08:00
bowenliang123 36dc96fcb5 docs: update release notes and template for clarity and structure 2026-09-30 00:21:58 +08:00
bowenliang123 a5d4c29092 docs: enhance compatibility and parsing resilience sections in AGENTS.md and compatibility.md 2026-09-29 00:09:51 +08:00
bowenliang123 9acbf7eb45 feat: support dsh 0.1.5-rc.1+ and 0.1.7-rc.2+ as the supported lines
The supported range is now two baselines - dsh-v0.1.5-rc.1 (session
format V3) and dsh-v0.1.7-rc.2 (V4) - enforced by the runtime gate at
BASELINE_DSH_VERSION = 0.1.5-rc.1; below it the fallback units and the
upgrade modal take over (0.1.2/0.1.3 hosts were previously served by the
real folds).

The pre-V3 log shapes are dead code on every supported harness: the
running harness migrates historical logs on every read path (or refuses
the session wholesale), and 0.1.5-rc.1 rejects a request/header carrying
header.system outright. The fold therefore drops the V0/V2-only paths -
the header.system envelope system prompt, assistant/chunk floods,
{start, end} replacement endpoints, tool/code-dispatch - and the state
fields only they wrote (systemsFromHeader, the stepStart decode
accumulators). stateVersion stays 20: no supported log folds
differently, and pre-V3-era cached rows are discarded by the projection
cache's identity gate (and the strict stepStart sub-schema) instead of
served. The headers unit folds metadata-only epochs (envelope
systemTokens write dropped; the v1 cached-row read-compat and its pinned
stateVersion 1 stay); replaceRangeOf speaks startSeq/endSeq only; the
browser's epoch fetch maps request/header to tools and system/message to
the prompt text.

tests/baselines.ts re-fits to the two entries (the right Sidebar seam is
required on both), the compat matrix drives both tags' REAL sources
(canonical logs re-shaped to V3, the hostile probe renumbered past them),
and the version fixtures pin the new floor. Manifest: dshReleases
{0.1.5-rc.1, 0.1.7-rc.2}, dsh peers >=0.1.5-rc.1 (satisfies the 0.1.7
admission check under includePrerelease), devDeps pinned to the
0.1.5-rc.1 surface plus the ui-primitives runtime closure the client
lane inlines (test-only), and the release workflow fetches the two tags.
docs/compatibility.md is rewritten around the two-line matrix; README,
AGENTS.md and the issue template follow.

Also riding this move, from the audit pass: the fold re-proves an inject
source's form before it books the event record (the harness validates
`kind` but not `form` - a hostile one previously failed the strict
wire/state schemas on every delivery, the #44 freeze class), the headers
unit guards a data-less envelope (it has no try/catch of its own), the
schemastery schema annotations drop the explicit z<T> wrappers the 3.18.4
Mode generics reject, and the version-history note records why
stateVersion is deliberately not bumped.
2026-09-25 01:08:38 +08:00
bowenliang123 390399ff24 feat(compat): support dsh 0.1.7-alpha.1
Add the V4 baseline (session format 4, cordis 4.0.3): the fold's switched
event families are unchanged, so its entry rides the V3 seam face with a
per-generation settings surface — the `register` face and the retired
`settings.plugin.item` slot are asserted BOTH ways (present through V3,
absent on V4+), and the modal dock probe now pins the sidebar-leading
grid track the measure actually reads instead of one generation's exact
template. New ICON_SEAMS probe: every icon the client renders must exist
in at least one spelling per tag, so a platform rename fails the matrix
instead of the browser. Declare the release in the manifest, fetch its
tag in the release workflow, and document the V4 generation with its
known deltas (deferred: the preferences card's Plugins-page migration,
image-offload accounting).
2026-09-22 16:28:46 +08:00
bowenliang123 981835b0d2 chore: print only sub-100% files in the coverage table
Enable vitest coverage.skipFull so the text table lists only the files
below 100% — an empty table means full coverage. The thresholds gate
(perFile 100) still fails the run and names the offending files. Sync
the AGENTS.md coverage-output example accordingly.
2026-09-17 10:03:38 +08:00
Bowen Liang 5f7dbd6d0d docs: add instruction to run 'git push' after creating commits 2026-09-11 22:19:32 +08:00
bowenliang123 3f22d9745e docs: make compatibility.md the single source for the compatibility rules
AGENTS.md carried the full compatibility matrix — per-generation event
vocabulary, the moving V3 client seams, and the runtime gate's internals —
duplicating what docs/compatibility.md exists to document. Restate only the
requirements there and point at that page, keeping the agent-facing anchors
that have no user-facing home: the single shape-driven fold path
(`logShapes.ts`'s `firstTokenTimeOfStream` / `replaceRangeOf` / `isTokenChunk`,
`applyTimeline`), the upstream implementation mirrors (`dsh-token-meter`'s
`estimateSystemMessage`, `dsh-llm`'s `assistantStreamFirstTokenTime`), the
gated-inject rule for newer-only seams, and the baseline verification
mechanism.

docs/compatibility.md gains the previously undocumented baseline gate
(including the running-tree-first probe and fail-open behavior) and names the
V2 stream paths in full.
2026-09-11 16:20:10 +08:00
bowenliang123 86fb240ce3 compat: move the V3 baseline to dsh 0.1.5-rc.1
The supported V3 line follows the newest release: the baseline becomes
v0.1.5-rc.1 (tag, vendored session package) and the declared release map
names 0.1.5-rc.1. The release workflow fetches the new tag, and the
disposable-profile install/uninstall was verified for real against the
published 0.1.5-rc.1 CLI (install OK -> 1 composed row -> uninstall OK ->
0 rows).

At 0.1.5-rc.1 `SidebarRightGuideEntry` regained its optional `description`
line, so the guideEntry probe pins order/title/description/icon and the
now-pointless "absent" assertion plumbing is dropped.

Every support/capability label states the 0.1.5-rc.1+ floor;
`0.1.5-alpha.x+` remains only as the V3 LOG-generation label (the format
first appeared at 0.1.5-alpha.1). The docs record the verified matrix and
the seam movement across alpha.1/alpha.2/rc.1.
2026-09-10 11:37:04 +08:00
Bowen Liang a4bd0d40f9 compat: move the V3 baseline to dsh 0.1.5-alpha.2
The supported V3 line follows the newest release: the baseline becomes
v0.1.5-alpha.2 (tag, vendored session package) and the declared release
map names 0.1.5-alpha.2. The release workflow fetches the new tag.

The alpha.2 client seams are pinned in the matrix: the conversation
surface moved under the keyed `main` panel (`main.conversation`) while
the plugin's `conversation.view` seat keeps its name, and
`SidebarRightGuideEntry` dropped its description line. tests/baselines.ts
therefore gains a guideEntry probe (the fields present plus the dropped
copy field asserted absent).

Every support/capability label states the 0.1.5-alpha.2+ floor;
`0.1.5-alpha.x+` remains only as the V3 LOG-generation label. The docs
record the verified matrix, the two moved seams, and the install row
that still waits on the CLI's npm publication (the `alpha` dist-tag
lags the release).
2026-09-09 23:03:10 +08:00
Bowen Liang b93b0e24f9 feat(client): add the Context tab to the right Sidebar 2026-09-09 02:43:04 +08:00
Bowen Liang 952f985e69 docs: declare the 0.1.3-alpha.2 and 0.1.5-alpha.1 releases as compatible
Record the three session-log generations the plugin folds, how the seam matrix and the statistics differential verify them, and the one caveat of keeping the projection stateVersion stable (a session folded by an older build keeps its cached figures until its log moves; delete its cache row to force a refold).
2026-09-09 02:10:00 +08:00
bowenliang123 4ac3bba1cf docs: modify codegraph instructions in AGENTS.md 2026-09-07 14:09:48 +08:00
Bowen Liang 65de63600d feat: add the pnpm web command to restart the dsh web server 2026-09-07 00:16:05 +08:00
Bowen Liang 5b43b27de3 docs: add development server instructions to AGENTS.md 2026-09-07 00:03:00 +08:00
Bowen Liang d847304dbb docs: update CodeGraph command in AGENTS.md for improved usage instructions 2026-09-06 22:19:26 +08:00
Bowen Liang 750562878c docs: enhance CodeGraph section in AGENTS.md with initialization and usage instructions 2026-09-06 22:12:42 +08:00
Bowen Liang 7a2a0ceba9 docs: enhance CodeGraph section in AGENTS.md with initialization and usage instructions 2026-09-06 22:10:02 +08:00
Bowen Liang 6b8387df74 docs: add CodeGraph usage guidelines to AGENTS.md 2026-09-06 22:01:08 +08:00
Bowen Liang 218a80c5ce docs: update AGENTS.md with enhanced guidelines for DeepSeek Harness usage 2026-09-06 21:59:54 +08:00
Bowen Liang 3faf027330 docs: distill the layout & responsive rules to general guidance 2026-09-05 22:40:48 +08:00
Bowen Liang 37f096ca2a docs: add the layout & responsive rules to AGENTS.md 2026-09-05 22:23:38 +08:00
Bowen Liang eeed793257 docs: add the outdated-comment upkeep rule to AGENTS.md 2026-09-05 00:55:35 +08:00
Bowen Liang 8b434f2dbe feat: gate below-baseline harnesses to fallback data with an upgrade modal
At apply time the host probes the running harness's version (the
dshHomePath-anchored profiles mirror first, the plugin's module anchor
second) and compares it against BASELINE_DSH_VERSION 0.1.2-rc.1 — with
release > rc > beta > alpha ordering at equal X.Y.Z. A harness below the
baseline gets fallback projection units (both registry contract
generations) that fold nothing and serve zeroed data plus an
`unsupported` wire record; the client keeps rendering the blank cards
and pops a per-session-dismissable modal naming both versions and urging
the update. A detection failure or an unparseable version fails open, so
a probe misfire can never blank a working deployment.
2026-09-05 00:23:22 +08:00
bowenliang123 33068ee1c9 compat: narrow the support matrix to dsh 0.1.2-rc.1+
The install/runtime compatibility floor moves from 0.1.1-rc2+ and
0.1.2-alpha2+ to 0.1.2-rc.1+. The 0.1.1 line and the 0.1.2-alpha previews
leave the support matrix, so every pre-0.1.2 fallback they existed for is
removed outright:

- client history: drop the legacy `connection.api.sessions.history` face,
  the `result`-nested envelope, and the `events` rows field — the gateway
  `remote.session.page` face and its ClientResult envelope are the only
  served shapes.
- client image loader: drop the pre-0.1.2 `conversation.resolveImage` face;
  `uiConversation.imageUrl` only.
- client node join: drop the pre-0.1.2 `useSession.nodes` seat;
  `useChat`'s ChatSnapshot `legacy.nodes` only (UseSessionLike removed).
- tests/baselines.ts: single baseline `v0.1.2-rc.1`; HostSeam dropped (the
  registry generation hard-codes header-passing init and seq-0 eager
  seeding, now mirrored with the exact `init(header, inheritedEventCount)`
  arity); ClientSeam slimmed to the consumed probes.
- deps: devDeps re-pinned to the 0.1.2-rc.1 generation (types compile
  against the real rc.1 surfaces); cordis ^4.0.2 and schemastery ^3.18.2
  per the rc.1 peer requirements; dsh-scope/dsh-invariants declared as dev
  deps; peer floors >=0.1.2-rc.1; dshReleases table trimmed.
- release workflow fetches only the dsh-v0.1.2-rc.1 tag; docs updated
  (AGENTS.md, README, docs/compatibility.md).
- verified against the rc.1 sources: the tool-attribution map (names and
  packages, incl. the documented `subagent_fork` alias), MCP naming, the
  page/imageUrl/legacy.nodes faces, and the registry contract.
2026-09-04 17:23:08 +08:00
bowenliang123 7f4793211d docs: remove codegraph instructions in AGENTS.md 2026-09-04 13:42:32 +08:00
Bowen Liang 5909730671 docs(agents): refine guidelines for reviewing code changes 2026-09-01 22:33:05 +08:00
bowenliang123 a234d0caeb test: fold the bundle smoke and the compat matrix into one pnpm test
Drop the test:bundle / test:compat scripts. The bundle smoke moves into
the `compat` vitest project (tests/compat/bundle.spec.ts): the
__ModuleLoader__ handoff, the CSS channel, slot/trigger registrations,
and HMR safety over the BUILT lib/client.js — so `pnpm test` runs the
whole verification (host, client, built artifacts, real-code compat
matrix) in one pass with the per-file 100% coverage gate. The
built-artifact specs skip cleanly when lib/ is absent; the release
workflow builds before Test, so they always run there.

Also drop the standalone Bundle smoke step from the release workflow
and refresh the docs/comments that referenced the removed scripts.
2026-08-31 15:20:59 +08:00
bowenliang123 986d45a2bb test: add the cross-baseline compatibility matrix
tests/baselines.ts is the single source of truth for the supported dsh
baselines and their seam faces. Three layers verify them:

- always-on host registry-contract drivers over the REAL projection
  definitions (plain-JSON cache-write gate, wire delivery, checkpoint
  restore, init-header tolerance) — the recurring host incidents,
- always-on client-face matrix (nodes seat, image loader service,
  history face + envelope, markdown chrome, full tab render) — the
  recurring client incidents,
- the `compat` vitest project: stages the REAL harness sources at each
  baseline tag, boots the tag's registry on the cordis release that line
  vendors, applies the BUILT plugin, and probes slots/faces/vocabulary/
  platform table from the tag's sources. The release workflow fetches
  the baseline tags before `pnpm test` so the matrix always runs there.

Adding a future baseline = one tests/baselines.ts entry + one fetched
tag; a failing probe names the seam to re-fit.
2026-08-31 14:58:08 +08:00
bowenliang123 7d2a1e7e90 refactor(host): converge on the 0.1.1-rc2+ / 0.1.2-alpha2+ baselines
Drop the pre-0.1.1 session-projection adaptation: the units emit the
single supported contract (stateSchema + a REQUIRED wire block) instead
of the dual schema/view + stateSchema/wire shape, and the peer ranges
move from >=0.1.0-rc.7 to >=0.1.1-rc.2. The 0.1.2 init(header) widening
stays satisfied by the zero-argument init. Spec helpers and call sites
follow the V2-only shape.
2026-08-31 14:57:46 +08:00
Bowen Liang 32ae8efe48 docs(agents): update compatibility note for dsh version 0.1.2-alpha2 2026-08-31 00:29:44 +08:00
bowenliang123 166a7ac21e docs(agents): update usage examples for code exploration with codegraph 2026-08-29 13:50:52 +08:00
bowenliang123 d8e90a1a7e docs(agents): add mandatory usage guidelines for code exploration with codegraph 2026-08-29 13:42:59 +08:00
bowenliang123 b7e06ad42c docs(agents): add mandatory usage guidelines for code exploration with codegraph 2026-08-29 13:41:39 +08:00
bowenliang123 bd24a7b474 docs(AGENTS): update README.md guidelines for embedding images 2026-08-29 10:43:25 +08:00
bowenliang123 8aec839816 feat(context): draw card and control edges with the border-l2 token
Also: settings entry copy polish (reworded descriptions, unbolded row
value) and AGENTS.md adds style tokens to the harness reuse guidance.
2026-08-29 10:32:43 +08:00
bowenliang123 b3746a5340 docs(AGENTS): update testing instructions to require combined linting, testing, and building command 2026-08-29 09:55:26 +08:00
bowenliang123 bc6f2f160a docs(AGENTS): remove mandatory pre-step section from code exploration protocol 2026-08-29 09:48:53 +08:00