Repository navigation
v0.1.7-rc1
One artifact that runs on both harness lines: 0.1.5-rc.1 .. 0.1.5-rc.3 and 0.1.7-rc.1.
Peer ranges are now >=0.1.5-rc.1 <0.1.6-0 || >=0.1.7-rc.1 <0.1.8-0, and a runtime probe (src/compat.ts) picks the right shape for the generation it booted on.
Compatibility fixes
- Remote contribution codec shape. The strict validator moved from
{ typeSymbol, schema }to{ typeSymbol, create: () => schema }; the descriptor now carries both, so either registry accepts it. Without this the session-scoped Remote never mounted and the composer's engine picker sat on 「读取中」 forever, while the settings page (a different path) looked fine. - Agent-presets roster read. Prefer
readDocument(0.1.7) and fall back toread(0.1.5). - Protected
system/messagehead. A session that started on a hosted engine and later ran the harness loop used to fail the V3→V4 migration (system/message requires a protected first surface head). Each driver now writes one empty-content head on the session's first step, only while no surface event exists yet. Gated off on 0.1.5, which cannot drive that event.
Chat turn-status row
- One row selector per harness generation:
[class$="_turnStatus"](0.1.5) andbutton[data-turn-process] [class$="_label"](0.1.7, whose row is a button and whose CSS-module classes are[hash]_[local]). - The gradient sweep is re-supplied by the plugin: 0.1.7's row is plain tertiary text.
- The whole sheet is now gated on a mid-turn attribute (
data-loop-engine-running, fromsession.running), so the 0.1.7 row stops painting once the turn it belongs to has ended — that row stays on screen afterwards as the collapsed 「用时 X 秒」 summary.
Verification
The same suite is run against both generations: 62 files / 1152 cases, each green. 0.1.7 runs through pnpm run test:coverage (per-file 100%); the 0.1.5 line runs through vitest.config.compat015.ts against the isolated .compat-015/ dependency set. Both pnpm run typecheck and the build are green, and the published bundle was verified as served by running dsh web on both generations.