Files
deepseek-harness/packages/boot
Tianyi Cui 1c0234e7b1 test(boot): isolate plugin-manager Git children from host command-line config
The self-hosted Windows serial lane failed 12 cases from one cause: the host
exported Git's indexed command-line configuration (`GIT_CONFIG_COUNT` with
`GIT_CONFIG_KEY_0` / `GIT_CONFIG_VALUE_0`), and the shared subprocess scrub
removes credential-shaped names, so a child inherited the counter without its
key and died with `error: missing config key GIT_CONFIG_KEY_0` before it read
any configuration file.

Both spec files now delete that group from their own environment before they
spawn Git, because they judge profile behavior rather than host state. The
product-side handling stays out of this change; it is preserved on the branch
`deferred/git-command-line-config-scrub-20260927` for a later product PR.

GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=core.bare GIT_CONFIG_VALUE_0=true pnpm exec
vitest run packages/boot/plugin-manager/tests/github-connection.spec.ts
packages/boot/plugin-manager/tests/manager.spec.ts -> 12 failed at the parent
revision, 95/95 passed with the isolation.
2026-09-27 20:03:56 +08:00
..
2026-09-24 21:24:26 +08:00
2026-09-24 21:24:26 +08:00
2026-09-24 21:24:26 +08:00

description, kind
description kind
The boot package group: how dsh app bins start — environment loading, profile and patch layers, clear startup failures, and app-owned command lines. package-group

boot/ — shared app-bin boot glue

English | 中文

Summary

The boot group launches profile applications and manages their installed composition. app-boot resolves configuration and starts the Loader, cmdline supplies application arguments, and plugin-manager exposes current-profile operations shared with the CLI. Each package README owns its details.

Table of Contents

Packages

Package Role ctx key
app-boot Boots a dsh app from a cordis.yml: loads .env, applies profile and patch layers, and reports startup failures clearly (library for the bins)
cmdline Lets the app own its flags, --help, and exit code; passes everything after the launcher's flags through verbatim cmdlineArgs, appExit
hmr Coordinates module and configuration reloads with package mutations hmr
config-editor Persists active profile configuration through Loader reconciliation configEditor
plugin-manager Manages current-profile plugins and bundle packages through shared CLI operations pluginManager

  • dsh app — the dsh bin that consumes these helpers for its boot sequence.

  • Profile bundles — installable patch layers that dsh --profile compositions mount.

  • dsh-home-paths — the harness-home resolver both packages build on.

  • dsh-cmdline — how an app owns its flag family instead of the launcher.

  • Profile management — service methods and result records.

Dev Note

None.