T-VAW3-built-plugin-runs-outside-the-repo
State: closed/done · Impact: high · Complexity: medium
The agent-pants build (M-AX01) ships a self-contained plugin tree, but its
launcher and several skill scripts still only work when they sit inside this
repo. An installed copy (the Claude Code plugin cache, a harness install claude --mode copy) cannot run the CLI or those scripts.
cli/sdlcis copied verbatim into<packs>/sdlc/cli/sdlc. Its local layer computesself="$(cd -P "$here/../../..")", which is right only atsolutions/ontological/cli/; from a built pack it names a dir with nosolutions/ontological/cli/sdlc.ts, and there is nocli/sdlc.jsbeside it. Outside the repo the launcher works only throughSDLC_HOMEor a linked checkout. This was already true of every installed copy before the vault inversion.- Every per-skill
scripts/sdlcshim resolves to that launcher, so the shim has no working path in an installed copy either. start_task.ts,dedup_search.ts,ensure_ready_mutate.ts,scan_corpus_assumptions.tsandsummarize_dedup_telemetry.tsimport../../../../../lib/...; frompacks/sdlc/skills/<x>/that climbs out of the plugin and lands onsolutions/ontological/only by accident of the in-repo layout. Run from a copy they fail withCannot find module '@sksizer/cli-tool'.- The shim’s target (
cli/sdlc) is a literal inside agent-pants’export.rs.
Proposed
Section titled “Proposed”A built pack copied anywhere runs ${CLAUDE_PLUGIN_ROOT}/cli/sdlc <verb> and
every skill script the prose invokes, with no checkout present.
Approach
Section titled “Approach”- Ship the bundled
cli/sdlc.jsentry as a plugin asset and render a pack-specific launcher (devlinkrender-launcherat the pack’s depth). - Move the five skill scripts behind CLI ops (or bundle them) so no skill
script imports
lib/by relative path. - Make the agent-pants shim target configurable instead of the
cli/sdlcliteral.
| Area | Note |
|---|---|
solutions/ontological/cli/ | launcher and bundled entry |
solutions/ontological/scripts/render-launcher.ts | pack-depth launcher |
solutions/ontological/plugin/plugins/sdlc/skills/ | scripts importing lib/ |
solutions/agent-pants/crates/agent-adapt-core/src/export.rs | shim target |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
<copy of packs/sdlc>/cli/sdlc --versionsucceeds with nosdlccheckout,SDLC_HOMEor link present. - AC-2: every
bun run ${CLAUDE_PLUGIN_ROOT}/skills/...invocation in skill prose runs from a copied pack. - AC-3: the shim’s target is declared in the project file, not hardcoded.
Out of scope
Section titled “Out of scope”- The npm wrapper’s
plugin/staged-dist layout (T-XTGT).
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Adversarial review of the Phase 3 gate (findings B2, round-2 MINOR 2, M8), parked from the vault-inversion PR as pre-existing.