Keep the workflow:
- agent-agnostic
- Git-native
- dependency-light
- deterministic before AI-assisted
- default-deny for external side effects
- clear about evidence versus claims
Run the full local check:
npm run checkGenerate and validate a fresh evidence packet:
node scripts/write-tabellio-evidence-envelope.mjs --out /tmp/tabellio-pr-evidence.json
node scripts/check-tabellio-evidence-envelope.mjs --evidence /tmp/tabellio-pr-evidence.json
node scripts/check-tabellio-external-actions.mjs --evidence /tmp/tabellio-pr-evidence.jsonCheck script syntax:
node --check scripts/check-tabellio-evidence-envelope.mjs
node --check scripts/check-tabellio-external-actions.mjs
node --check scripts/check-tabellio-run.mjs
node --check scripts/tabellio-run.mjs
node --check scripts/write-tabellio-evidence-envelope.mjsValidate the canonical platform and exact-commit manifest before release:
npm run tabellio:platform:check
node scripts/check-tabellio-validation.mjs --manifest tabellio.validation.jsonEach PR should include:
- evidence envelope path or artifact
- commands run
- check result summary
- external-action policy summary
- skipped-check notes, if any
Do not include:
- secret values
- private session logs
- local machine paths
- provider account data
- unredacted credentials
Ask for extra review when changing:
- required evidence fields
- required action classes
- default-deny behavior
- approval handling
- control-ref allow lists and approval checks
- forge credentials or validation worker isolation
Prefer:
- short sections
- tables for comparisons
- code blocks for commands
- direct current-state wording
Avoid:
- compliance claims not implemented by code
- long roadmap text in the README
- burying security boundaries in prose
Before tagging a release:
- run
node scripts/tabellio-preflight.mjs --profile release - run
tabellio-review gateon the open exact-head pull request before merge - keep preflight read-only; run
entire doctoronly as an explicit operator-approved repair step - update
CHANGELOG.md - confirm README examples use the intended release tag
- run local checks
- run an exact-head
tabellio-validatepass - confirm the durable review cycle has exact-head
readyevidence before merge - tag from a clean
origin/maincommit
After the release PR is explicitly merged, use tabellio-release plan to run merged-head validation, synchronize the terminal review cycle, and bind exact publishable control refs. Review the generated intent, create a short-lived tabellio-release-approval/v0.1, then run tabellio-release execute once. The executor publishes control refs, the annotated tag, and the GitHub release. It never merges the pull request.