One-line-class follow-up to #44, found by the next deploy:
./scripts/deploy-remote.sh: line 1445: CHECKOUT: unbound variable
deploy_llm_dragoon's new containment gate parsed scripts/frank-dragoon.env through a $CHECKOUT variable that does not exist in deploy-remote.sh, so under set -u the deployer exited before it touched the unit — endpoint stayed healthy and lane-off (the gate runs pre-stop, which is exactly why it was written there), but the enablement could not deploy.
deploy-remote.sh runs from the checkout root and every other path in that defaults block is a parity twin (LLM_DRAGOON_CKPT, _VISION, _TOK_DIR), so the payload dir gets the same shape: LLM_DRAGOON_MODEL_DIR defaulted to the deployed path and compared directly. No env parsing, no invented variable.
Seam asserts the new twin against the env file beside the NPU twins it already checks.
Containment comparison verified both ways on the real strings: inside accepted; the old outside path refused; a shared-prefix sibling (…-abliteratedX) refused — the trailing / is what makes that case fail correctly.
tests/frank_dragoon_unit.bats 33/33; full ./tests/run.sh before merge.
One-line-class follow-up to #44, found by the next deploy:
```
./scripts/deploy-remote.sh: line 1445: CHECKOUT: unbound variable
```
`deploy_llm_dragoon`'s new containment gate parsed `scripts/frank-dragoon.env` through a `$CHECKOUT` variable that does not exist in `deploy-remote.sh`, so under `set -u` the deployer exited before it touched the unit — endpoint stayed healthy and lane-off (the gate runs pre-stop, which is exactly why it was written there), but the enablement could not deploy.
`deploy-remote.sh` runs from the checkout root and every other path in that defaults block is a parity twin (`LLM_DRAGOON_CKPT`, `_VISION`, `_TOK_DIR`), so the payload dir gets the same shape: `LLM_DRAGOON_MODEL_DIR` defaulted to the deployed path and compared directly. No env parsing, no invented variable.
- Seam asserts the new twin against the env file beside the NPU twins it already checks.
- Containment comparison verified both ways on the real strings: inside accepted; the old outside path refused; a shared-prefix sibling (`…-abliteratedX`) refused — the trailing `/` is what makes that case fail correctly.
- `tests/frank_dragoon_unit.bats` 33/33; full `./tests/run.sh` before merge.
---
cwd: /home/blank/.omp/wt/wt-20261019-020309-6d1fc1f · session: 01a15366-7601-7175-bb69-c62186c3f8b5
(build worktree: /home/blank/.omp/wt/wt-dragoon-npu)
The containment gate added in #44 parsed scripts/frank-dragoon.env through a
$CHECKOUT variable that does not exist in deploy-remote.sh, so the very next
deploy died at `set -u` before it touched the unit:
./scripts/deploy-remote.sh: line 1445: CHECKOUT: unbound variable
deploy-remote.sh runs from the checkout root and every other path in that block
is a parity-twin default (LLM_DRAGOON_CKPT/_VISION/_TOK_DIR), so the payload dir
gets the same treatment: LLM_DRAGOON_MODEL_DIR, defaulted to the deployed path,
compared directly. The seam now asserts that twin against the env file next to
the NPU twins it already checks, and the containment comparison itself is
verified both ways (inside accepted; the old outside path and a shared-prefix
sibling both refused).
dank
merged commit 861920797d into main2026-10-19 21:49:17 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
One-line-class follow-up to #44, found by the next deploy:
deploy_llm_dragoon's new containment gate parsedscripts/frank-dragoon.envthrough a$CHECKOUTvariable that does not exist indeploy-remote.sh, so underset -uthe deployer exited before it touched the unit — endpoint stayed healthy and lane-off (the gate runs pre-stop, which is exactly why it was written there), but the enablement could not deploy.deploy-remote.shruns from the checkout root and every other path in that defaults block is a parity twin (LLM_DRAGOON_CKPT,_VISION,_TOK_DIR), so the payload dir gets the same shape:LLM_DRAGOON_MODEL_DIRdefaulted to the deployed path and compared directly. No env parsing, no invented variable.…-abliteratedX) refused — the trailing/is what makes that case fail correctly.tests/frank_dragoon_unit.bats33/33; full./tests/run.shbefore merge.cwd: /home/blank/.omp/wt/wt-20261019-020309-6d1fc1f · session: 01a15366-7601-7175-bb69-c62186c3f8b5
(build worktree: /home/blank/.omp/wt/wt-dragoon-npu)