public/release.md
Release verification
Pre-publish regression scripts
Scripts and checks run before publishing a new create-workframe version or signing off an install. For day-to-day development, see Develop.
CI parity (monorepo)
From repository root:
pnpm test:ci
This matches GitHub Actions: public-repo verify, API py_compile typecheck, web build, UI bundle copy, and scaffold smoke tests.
Scaffold regression
From repository root:
node packages/create-workframe/scripts/test-scaffold.mjs
Expected: scaffold tests pass for native, core, product, engineering, and vanilla packs.
Generated project smoke
node packages/create-workframe/scripts/new-project.mjs SmokeDemo --out /tmp --force
cd /tmp/SmokeDemo
docker compose up -d
node scripts/workframe.mjs doctor
Expected: UI loads, /hermes-dashboard/ loads, API health OK, native SOUL present.
After Hermes setup in the generated project:
./scripts/bootstrap-native.sh
./scripts/verify-bootstrap.sh
Expected: Agents/SOUL.md, Agents/profiles/{slug}-agent/SOUL.md, terminal.cwd → /workspace.
Session routing sanity
Via the API:
- same profile + different
client_id→ different sessions - same profile + same
client_id→ same persisted session
Specialist lifecycle
node scripts/agent-lifecycle.mjs create --slug qa-proof --display-name "QA Proof" --role "Smoke-test child"
node scripts/agent-lifecycle.mjs delete --slug qa-proof
Public deploy preflight
bash scripts/workframe/verify-public-deploy.sh
With a configured public overlay and WORKFRAME_DEPLOYMENT_MODE=public_multi_user. See PUBLIC_DEPLOY.md.
Install gate
Full sign-off before npm publish:
bash scripts/workframe/install-gate.sh # Windows: install-gate.ps1
Install-window test flags
Use only on loopback or dedicated test stacks — never on a public URL.
| Flag | Use |
|---|---|
WORKFRAME_E2E=1 |
Loopback, install window only |
WORKFRAME_E2E_UNSAFE=1 |
CI/local test stacks |
DEV_LOCAL_UNSAFE=true |
Trusted local operators only |
OTP-in-JSON exposure stops after install completes.
Canonical sync before pack
- Edit
apps/web/src/and/orservices/workframe-api/ pnpm build:webif UI touchednode packages/create-workframe/scripts/sync-canonical-to-package.mjsif API/supervisor touchednode packages/create-workframe/scripts/bundle-workframe-ui.mjsif UI touched- Rebuild Docker API/supervisor images and re-run checks above
If docs disagree with code, code wins.