Local checks
Invariants to keep
- argv-only. Never pass user input through a host shell. Every
sbxinvocation goes throughsrc/sbx.tswithspawn(bin, args, { shell: false }); only that module may importchild_process(a test guards this). - Containment. All path checks go through the shared helper. Do not hand-roll containment or sanitization at call sites.
- Policy. Do not weaken the bot-enforced permission policy or the re-assert-after-wake behavior.
- No secrets. Never commit tokens, passwords, or
.envfiles. Provider credentials belong insbx secret, not in code or test fixtures.
Host-only checks
Two host-only scripts exercise the realsbx chain. They are not run by the
Linux test suite:
npm run build first; the scripts import from dist/. See the spike notes
in the repository for recorded results and open items.
Changesets
Every pull request that changes behavior should add a changeset:.changeset/. On release, npm run changeset:version bumps
the version, updates CHANGELOG.md, and regenerates the changelog
page from it (npm run changelog:sync).
Docs
The documentation site lives indocs-site/. Preview and validate it locally:
Related
- Security — the invariants in detail.
- Architecture — where each concern lives.
- Changelog — what has shipped.