Context
PR #3 proves the shipped bundle with a fresh real DSH profile and dsh web --dump-config: the composed tree has exactly one active filesystem provider (@drive9-ai/drive9-dsh/filesystem), stock fs-sandbox is disabled, and shared sandbox-policy remains active.
The current checked-in tests/bundle.spec.ts protects only the patch text. It would not catch a future DSH base-profile or composition change that reintroduces a second active filesystem provider.
Acceptance criteria
- compose the real DSH base profile with the packaged Drive9 bundle (or invoke the canonical dump path) in an automated test
- parse the composed tree rather than matching only
cordis.patch.yml text
- assert exactly one active filesystem provider and that it is
@drive9-ai/drive9-dsh/filesystem
- assert stock
fs-sandbox is disabled
- assert shared
sandbox-policy remains active
- run the discriminator in CI without requiring Drive9 service credentials or a live mount
Follow-up from PR #3 review; non-blocking for that PR because the exact composed property was independently machine-proven and recorded there.
Context
PR #3 proves the shipped bundle with a fresh real DSH profile and
dsh web --dump-config: the composed tree has exactly one active filesystem provider (@drive9-ai/drive9-dsh/filesystem), stockfs-sandboxis disabled, and sharedsandbox-policyremains active.The current checked-in
tests/bundle.spec.tsprotects only the patch text. It would not catch a future DSH base-profile or composition change that reintroduces a second active filesystem provider.Acceptance criteria
cordis.patch.ymltext@drive9-ai/drive9-dsh/filesystemfs-sandboxis disabledsandbox-policyremains activeFollow-up from PR #3 review; non-blocking for that PR because the exact composed property was independently machine-proven and recorded there.