deepseek-harness/scripts
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
..
fixtures/translation-prompt fix(i18n): harden prompt response handling 2026-07-23 23:12:56 +08:00
snapshots Merge latest master into codex/migrate-to-oxlint 2026-07-30 00:13:30 +08:00
agent-note-tree.ts fix(notes): keep archive helpers internal 2026-07-26 23:29:46 +08:00
AGENTS.md docs(windows): clarify portability rules 2026-07-18 13:03:44 +08:00
archived-agent-notes.spec.ts Merge remote-tracking branch 'origin/master' into worktree/archive-agent-notes-20260726 2026-07-27 00:53:07 +08:00
archived-agent-notes.ts fix(notes): anchor archive seals to prior Git state 2026-07-27 00:01:39 +08:00
build-exe-for-python-sdk.ts Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
build-python-release.py python: derive release version from repository 2026-07-13 17:49:01 +08:00
change-scope.spec.ts refactor(dev-infra): narrow change scope report 2026-07-28 01:02:43 +08:00
change-scope.ts refactor(dev-infra): narrow change scope report 2026-07-28 01:02:43 +08:00
check-expected-filenames.sh ci: reject golden filenames on matching PRs 2026-07-19 21:24:42 +08:00
check-vendor-manifest.sh
check-workspace-constraints.ts feat(tui): personal TUI rework, integrating upstream model reasoning-effort selection 2026-07-27 18:55:13 +08:00
ci-workflow.spec.ts fix(ci): isolate pnpm setup per runner 2026-07-29 00:45:52 +08:00
clean.spec.ts fix(build): contain clean targets within repository 2026-07-26 02:51:58 +08:00
clean.ts fix(build): contain clean targets within repository 2026-07-26 02:51:58 +08:00
client-bundle-css.spec.ts feat(ui): complete trajectory request inspection 2026-07-28 09:53:32 +08:00
client-bundle-purity.spec.ts feat(agent): add addressable queue operations 2026-07-30 00:05:00 +08:00
client-tsconfig.spec.ts fix(ci): make local Wine gate portable on macOS 2026-07-27 18:43:00 +08:00
cordis-config-files.spec.ts Stabilize master CI across platforms 2026-07-25 00:10:37 +08:00
cordis-config-files.ts fix(ci): ignore translation records in Cordis config scan 2026-07-23 00:39:55 +08:00
cordis-core-api.spec.ts docs: restore generated Cordis core API 2026-07-20 16:33:44 +08:00
cordis-core-api.ts docs: restore generated Cordis core API 2026-07-20 16:33:44 +08:00
cordis-walk.ts refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
demo-code-mode.mjs feat(cli): launch dsh source through the tsx ESM hook 2026-07-29 13:15:24 +08:00
demo-cordis.mjs feat(web): present Cordis lifecycle tools 2026-07-27 17:57:59 +08:00
dev-web.ts refactor(scripts): consolidate gate scripts on mdast fences, parseArgs, and globSync 2026-07-26 23:14:28 +08:00
doc-budgets.manifest.json fix: docs budget 2026-07-30 00:12:03 +08:00
doc-typecheck-paths.spec.ts fix(docs): map exact source aliases in built checks 2026-07-19 19:26:38 +08:00
doc-typecheck-paths.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
doc-typecheck.ts Merge remote-tracking branch 'origin/master' into nih-imp-gates 2026-07-27 06:21:53 +08:00
gen-config-catalog.ts Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
gen-cordis-api.ts refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
gen-cordis-catalog.ts Merge remote-tracking branch 'origin/master' into codex/web-queue-actions 2026-07-30 01:04:25 +08:00
gen-doc-graphs.ts refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
gen-module-graph.ts refactor(acp): reduce bridge to automation protocol 2026-07-24 01:40:25 +08:00
gen-persistence-catalog.ts docs(notes): aggressive archive sweep of low-value decision records 2026-07-28 00:00:51 +08:00
gen-scoped-events.ts refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
gen-tool-catalog.ts Merge latest master into skill catalog hot refresh 2026-07-28 01:10:33 +08:00
gen-translation-brief.ts feat(i18n): unit-mapped briefings with mechanical --apply, adopting the #684 planner mechanics 2026-07-27 02:31:07 +08:00
hero-composer-dom-continuity.mjs docs(web): the composer bar is one session-maybe slot, not a swapped pair 2026-07-30 15:18:06 +08:00
install-lefthook.mjs fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
install-lefthook.spec.ts fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
install.sh feat(install): consolidate checkouts under ~/.dsh/source and route PATH through a stable current symlink 2026-07-27 19:08:26 +08:00
jsdoc.ts feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
lint-rule-fingerprint.spec.ts test: make lint profile fingerprint honest 2026-07-29 23:26:16 +08:00
markdown.ts fix(scripts): address review findings on the gate consolidation 2026-07-27 12:02:39 +08:00
migrate-packed-session-fixtures.ts feat(session): default JSONL writes to packed rows 2026-07-26 23:44:52 +08:00
oxlint-contract.spec.ts fix: allow ignored-only staged lint 2026-07-29 23:36:08 +08:00
package-graph.ts fix: normalize glob paths with split(sep).join('/') on Windows 2026-07-15 19:11:20 +08:00
package-invariants.spec.ts fix(invariants): harden runtime contracts and gates 2026-07-21 00:25:38 +08:00
package-invariants.ts fix(invariants): harden runtime contracts and gates 2026-07-21 00:25:38 +08:00
paired-markdown-derivatives.spec.ts docs: deduplicate paired code-block checks 2026-07-26 02:52:48 +08:00
paired-markdown-derivatives.ts docs: deduplicate paired code-block checks 2026-07-26 02:52:48 +08:00
prepare-ci-bubblewrap.sh docs: record final larger-runner evidence 2026-07-22 16:55:39 +08:00
project-doc-site.spec.ts docs(site): publish translated core data pages 2026-07-24 18:07:56 +08:00
project-doc-site.ts fix duplicate documentation homepage content 2026-07-20 15:25:47 +08:00
publint-all.spec.ts feat(dev-infra): make gate plans inspectable and replayable 2026-07-27 21:27:42 +08:00
publint-all.ts fix(scripts): address review findings on the gate consolidation 2026-07-27 12:02:39 +08:00
repo-files.ts Merge remote-tracking branch 'origin/master' into worktree/archive-agent-notes-20260726 2026-07-27 00:53:07 +08:00
run-gates.spec.ts ci: run web replay on master linux 2026-07-30 11:16:37 +08:00
run-gates.ts ci: run web replay on master linux 2026-07-30 11:16:37 +08:00
run-oxlint.spec.ts refactor: centralize Oxlint worker bounds 2026-07-29 23:39:49 +08:00
run-oxlint.ts refactor: centralize Oxlint worker bounds 2026-07-29 23:39:49 +08:00
session-fixture-layout.snapshot.ts feat(session): default JSONL writes to packed rows 2026-07-26 23:44:52 +08:00
session-fixture-layout.spec.ts fix(scripts): complete fixture migration diagnostics 2026-07-27 03:54:33 +08:00
session-fixture-layout.ts fix(scripts): complete fixture migration diagnostics 2026-07-27 03:54:33 +08:00
smoke-python-runtime.py Merge remote-tracking branch 'origin/master' into worktree/pr743-merge-20260727 2026-07-27 23:59:33 +08:00
test-invariants.spec.ts Merge origin/master into codex/invariant-service-seam 2026-07-21 00:44:39 +08:00
test-invariants.ts refactor: migrate linting to Oxlint 2026-07-29 14:32:11 +08:00
translation-brief.spec.ts feat(i18n): unit-mapped briefings with mechanical --apply, adopting the #684 planner mechanics 2026-07-27 02:31:07 +08:00
translation-brief.ts feat(i18n): unit-mapped briefings with mechanical --apply, adopting the #684 planner mechanics 2026-07-27 02:31:07 +08:00
translation-pairing-git.ts fix(i18n): pin translation snapshots against gc 2026-07-28 10:28:49 -07:00
translation-pairing.manifest.json docs(subprocess): bilingual pair for the consumer-migration Agent Note 2026-07-26 15:51:24 +08:00
translation-pairing.spec.ts fix(i18n): pin translation snapshots against gc 2026-07-28 10:28:49 -07:00
translation-pairing.ts Merge remote-tracking branch 'origin/master' into worktree-i18n-update-workflow 2026-07-27 09:39:54 +08:00
translation-prompt.snapshot.ts fix(i18n): complete prompt v4 pipeline path 2026-07-23 22:41:53 +08:00
translation-prompt.spec.ts fix(i18n): harden prompt response handling 2026-07-23 23:12:56 +08:00
translation-prompt.ts fix(i18n): harden prompt response handling 2026-07-23 23:12:56 +08:00
ts-project.ts fix(build): reuse TypeScript config host 2026-07-26 00:30:20 +08:00
type-equiv.manifest.json Merge remote-tracking branch 'origin/master' into codex/web-queue-actions 2026-07-30 00:30:38 +08:00
verify-agent-note-classification.ts Remove generated Agent Note index 2026-07-19 23:15:23 +08:00
verify-agent-note-format.ts Remove generated Agent Note index 2026-07-19 23:15:23 +08:00
verify-archived-agent-notes.ts fix(notes): anchor archive seals to prior Git state 2026-07-27 00:01:39 +08:00
verify-built-package-invariants.mjs refactor(scripts): consolidate gate scripts on mdast fences, parseArgs, and globSync 2026-07-26 23:14:28 +08:00
verify-built-package-invariants.spec.ts ci: enforce bounded build lanes 2026-07-21 20:15:09 +08:00
verify-client-domain-graph.ts refactor(scripts): consolidate gate scripts on mdast fences, parseArgs, and globSync 2026-07-26 23:14:28 +08:00
verify-cordis-config.ts feat: launch dsh source with native TypeScript 2026-07-28 23:06:27 +08:00
verify-doc-budgets.ts docs: rebalance prose cleanup and add trimming skill 2026-07-13 23:27:00 +08:00
verify-doc-refs.ts Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
verify-export-jsdoc.ts refactor: migrate linting to Oxlint 2026-07-29 14:32:11 +08:00
verify-md-links.ts feat(skills): bundle and harden personal maintenance workflows 2026-07-27 18:53:30 +08:00
verify-md-wrap.ts docs(notes): archive low-value decision records 2026-07-26 23:06:00 +08:00
verify-mermaid.ts feat(skills): bundle and harden personal maintenance workflows 2026-07-27 18:53:30 +08:00
verify-node-next-types.ts fix(scripts): run publint/tsc via node JS entry, not a shell .cmd shim 2026-07-15 16:38:22 +08:00
verify-package-invariants.ts feat(invariants): implement package runtime checks 2026-07-20 00:38:37 +08:00
verify-package-paths.ts Merge remote-tracking branch 'origin/master' into nih-imp-gates 2026-07-27 06:21:53 +08:00
verify-package-readme-limitations.ts Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
verify-package-readme-model-experience.ts feat(typert): add compiler-independent type pipeline 2026-07-29 23:45:42 +08:00
verify-runtime-closure.ts refactor(scripts): consolidate gate scripts on mdast fences, parseArgs, and globSync 2026-07-26 23:14:28 +08:00
verify-translation-pairing.ts fix(i18n): persist uncommitted translation snapshots 2026-07-28 04:34:05 -07:00
verify-translation-prompt.ts fix(i18n): harden prompt response handling 2026-07-23 23:12:56 +08:00
verify-type-equiv.ts fix(scripts): address review findings on the gate consolidation 2026-07-27 12:02:39 +08:00
wine-windows-gates.sh fix(ci): retry the Wine lane's pnpm install on the hoisted-linker rename race 2026-07-28 16:16:10 +08:00