Commit Graph
272 Commits
Author SHA1 Message Date
Yichen Jiang eaecfd59bf fix(plugins): notify only changed diagnostics and remove stale probe cleanup 2026-09-11 17:29:56 +08:00
Yichen Jiang 3ace0d0cf7 Merge profile settlement and await it before runtime notifications 2026-09-11 16:13:21 +08:00
Yichen Jiang 8c33df5d8e fix(boot): expose profile recomposition settlement to observers 2026-09-11 16:11:46 +08:00
Yichen Jiang b351ca0578 refactor(plugins): manage static declarations and native row outcomes 2026-09-11 16:11:03 +08:00
Yichen Jiang 96be622603 Merge native entry loading into plugin manager 2026-09-11 15:56:37 +08:00
Yichen Jiang 1144cf1e8e refactor(boot): use native entry diagnostics and static plugin declarations 2026-09-11 15:54:14 +08:00
Yichen Jiang 90aa315f40 Merge master boot checkpoint into plugin manager 2026-09-11 15:31:04 +08:00
Yichen Jiang 7c34e7a328 Merge master before native plugin loading migration 2026-09-11 15:28:51 +08:00
turtle1999 85c37d1950 docs(boot): document startup and reload failure behavior 2026-09-11 14:45:37 +08:00
Turtle 239f695e1f Merge pull request #3830 from deepseek-harness/turtle/required-plugin-startup-policy
feat(boot): distinguish required startup failures
2026-09-11 13:28:59 +08:00
turtle1999 6894e93a12 refactor(app-boot): keep required startup policy private 2026-09-11 12:47:48 +08:00
turtle1999 4cd20c1a1e fix(app-boot): bound cyclic startup error diagnostics 2026-09-11 12:47:48 +08:00
turtle1999 25d5efcd86 Classify disabled expression errors in startup audits 2026-09-11 12:47:48 +08:00
turtle1999 f5b5a9da51 Require Web modules and connection during startup 2026-09-11 12:47:47 +08:00
turtle1999 7fd41b833b fix(boot): limit required IDs to application endpoints 2026-09-11 12:47:47 +08:00
turtle1999 f4a7dd6077 fix(boot): preserve failure policy on nontransactional Loader 2026-09-11 12:47:46 +08:00
Turtle f308742050 test(boot): cover startup diagnostic variants 2026-09-11 12:47:46 +08:00
Turtle bd4cfc7c46 feat(boot): distinguish required startup failures 2026-09-11 12:47:46 +08:00
Yichen Jiang 59f2e3be33 Merge release/dsh-0.1.5 version 0.1.5-rc.2 into master sync branch 2026-09-10 21:53:53 +08:00
Yichen Jiang a305303422 release(dsh): 0.1.5-rc.2 2026-09-10 21:38:20 +08:00
Yichen Jiang b12febec56 Merge manifest-compatible boot layer into plugin manager 2026-09-10 16:36:04 +08:00
Yichen Jiang fcb3882e28 fix(boot): adapt plugin manifests to public package metadata 2026-09-10 16:24:00 +08:00
turtle1999 3407d15bb3 Merge master into the Cordis revert branch 2026-09-10 15:18:28 +08:00
turtle1999 2376d210bd Preserve nested plugin errors after Cordis revert 2026-09-10 13:36:05 +08:00
turtle1999 a38c302e4a Merge master and resolve revert documentation conflicts 2026-09-10 13:09:19 +08:00
Yichen Jiang 081e054c54 Merge remote-tracking branch 'origin/master' into worktree/manifest-plugin-metadata
# Conflicts:
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.zh.md
2026-09-10 11:35:22 +08:00
j-xiang 4ddf777ad8 Merge master into README proofreading branch 2026-09-10 10:42:13 +08:00
Yichen Jiang 5c82aa9371 refactor(manifest): separate package metadata from public DSH fields 2026-09-10 10:28:47 +08:00
imccyu 1ef9c1fa9a release(dsh): 0.1.5-rc.1 2026-09-10 09:13:14 +08:00
j-xiang b5578ae46a Merge master into README proofreading branch 2026-09-10 01:29:37 +08:00
j-xiang 8e8fb2fc62 docs(i18n): proofread bilingual README corpus 2026-09-10 00:21:32 +08:00
imccyu dd393c1820 release(dsh): 0.1.5-alpha.2 2026-09-09 22:02:09 +08:00
turtle1999 d225dbba50 Remove nonessential remnants of Cordis PR 932 2026-09-09 18:34:11 +08:00
turtle1999 2abb542a22 Adapt current consumers to nontransactional Cordis Loader
Move exact user-patch watching into app boot and audit activation explicitly.
Wait for CLI fallback HMR and preset subtrees. Join the first fiber-disposal
result in the directory chooser and browser package runner. Keep async
update errors observable without restoring generic Loader rollback.

Restore the current workspace-link and Schemastery manifests and their gate.
Preserve unconditional patch-input cloning, awaited Include initialization,
and durable teardown writes. Update diagnostics, snapshots, bilingual docs,
and the exhaustive vendor divergence ledger.

Validation: focused Loader, watcher, preset, inventory, and cleanup tests;
100% watcher coverage; 32 Web preset cases; real CLI webhook model session;
SDK smokes; 13 headless expected cases; 3 recorded-session replays; build,
typecheck, lint contracts, and all 34 doc-sync gates.

A full Node 24/Python 3.12 Vitest run had 21806 passes and two failures:
a baseline-reproduced experimental CSS import failure and a Python probe
timeout that passed alone. The default Node 26/Python 3.9 run additionally
exposed unsupported Python and FileHandle-GC host failures.
2026-09-09 17:33:32 +08:00
turtle1999 e07f41d5fd Revert #932 transactional Cordis reload changes
Apply real git revert --no-commit operations in reverse order:

acb0797a1421eab128a4bd03355e930c1a221fb0
 af97714f2413a3e55f0f15ab1b283beb133b3f2d
2018b0b7e64b444bff82b62c9466f13adc4603bb
43170c027cfbf9155dad7a43c01ca39364d4aef2
a621e927d6b3763798c3929e28912d86c9576f2d

Resolve the app-boot package move, preserve deleted files and frozen archived
notes, retain the modern lockfile graph, and preserve independent later
lifecycle and lazy-config changes. Do not revert 6ac7d72d: that merge also
contains eight unrelated commits from the #936 dependency chain.

This is the mechanical intermediate result. Its focused check exposed
consumer and packaging incompatibilities. The following compatibility
commit supplies those adaptations and reconciles the vendor ledger.
2026-09-09 17:32:09 +08:00
Tianyi Cui bd24f8a17f test(app-boot): control user-patch HMR event delivery 2026-09-09 11:26:48 +08:00
Yichen Jiang 8d8a69f423 chore(plugin-manager): align the package versions with release 0.1.5-alpha.1 2026-09-09 00:05:12 +08:00
Yichen Jiang a75db2e521 Merge branch 'feat/plugin-mgmt-1-boot' into feat/plugin-mgmt-2-manager
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/architecture.md
#	docs/architecture.zh.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
2026-09-09 00:05:04 +08:00
Yichen Jiang a8c97e33e5 Merge remote-tracking branch 'origin/master' into feat/plugin-mgmt-1-boot 2026-09-08 23:57:12 +08:00
imccyu 2faa751be9 release(dsh): 0.1.5-alpha.1 2026-09-08 23:06:34 +08:00
Yichen Jiang 770f239fc6 Merge branch 'feat/plugin-mgmt-1-boot' into feat/plugin-mgmt-2-manager 2026-09-08 17:51:01 +08:00
Yichen Jiang a8f2e84946 fix(app-boot): keep the probe's stderr tail across reads of any size
The tail dropped a whole kept chunk whenever a later chunk pushed the total
over the limit, so a flood that arrived as one read (Linux) left only the
bytes written after it. `StreamTail` trims the oldest kept chunk instead and
is unit-tested with both read patterns.
2026-09-08 17:50:29 +08:00
Yichen Jiang aee2d84cc5 docs(plugin-manager): name the disabled-bundle record the installer keeps 2026-09-08 17:30:49 +08:00
Yichen Jiang 464264aede Merge branch 'feat/plugin-mgmt-1-boot' into feat/plugin-mgmt-2-manager 2026-09-08 17:30:21 +08:00
Yichen Jiang 07878ae1d3 fix(app-boot): record user-disabled bundles in the profile manifest
`disableBundle` now moves a package from `dsh.profile.bundles` to
`dsh.profile.disabledBundles`, and `reconcileInstalledBundles` enables only
a bundle named in neither list, so an unrelated pnpm run never re-enables a
bundle the user turned off while an update that gives a dependency
`dsh.bundle` still activates it (the built-bin e2e scenario the previous
"new dependencies only" rule broke). The record goes when its dependency
does.

Also: `visitIdentifiedRows` in patch-rows owns the per-patch restatement
tracking that compose-stack and external-bundles had cloned (duplication
gate), and the probe spec's flood fixture retries short and EAGAIN writes
because the child's stderr pipe is non-blocking once tsx touched
process.stderr (the test raced the parent's drain).
2026-09-08 17:29:35 +08:00
Yichen Jiang 7868fdcf3b chore(plugin-manager): follow the root version bump 2026-09-08 16:55:49 +08:00
Yichen Jiang ca291b0100 docs(plugin-manager): keep the package summaries within the summary budget
master now bounds a README Summary at 100 words; the boot group, the plugin
manager, and its host face say the same in fewer. The zh config catalog gains
the paragraph break the merge dropped.
2026-09-08 16:55:27 +08:00
Yichen Jiang bb408abe28 Merge branch 'feat/plugin-mgmt-1-boot' into feat/plugin-mgmt-2-manager
# Conflicts:
#	apps/cli/src/bin.ts
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/api/remotes/src/client/index.ts
#	packages/boot/app-boot/src/index.ts
#	packages/boot/app-boot/src/profile.ts
#	packages/host/README.i18n.yaml
#	packages/host/README.md
#	packages/host/README.zh.md
#	scripts/verify-package-readme-model-experience.ts
2026-09-08 16:52:09 +08:00
Yichen Jiang 5a9e1760fd Merge remote-tracking branch 'origin/master' into feat/plugin-mgmt-1-boot
# Conflicts:
#	apps/cli/src/dump-config.ts
#	apps/cli/src/profile-boot.ts
#	docs/capability-seams.i18n.yaml
#	docs/capability-seams.md
#	docs/capability-seams.zh.md
#	packages/boot/app-boot/src/profile.ts
#	packages/util/launch-environment/tests/launch-environment.spec.ts
#	scripts/check-workspace-constraints.ts
#	scripts/gen-cordis-catalog.ts
2026-09-08 16:42:34 +08:00
Yichen Jiang afa57ae093 refactor(boot): keep containment and composition internals off the package root
The root entry now exports only what the CLI, the plugin inventory, the
plugin manager, and tool-cordis use, plus the parameter and result types of
those operations. The contained group and its registry, the external-layer
composition, the row-ownership helpers, the probe format number, and the
runtime option type stay module exports the package's own tests import.
2026-09-08 16:37:16 +08:00