Skip to content

Make Boatstack inert outside active delivery - #182

Merged
bigboateng merged 3 commits into
mainfrom
feat/explicit-engagement
Aug 10, 2026
Merged

Make Boatstack inert outside active delivery#182
bigboateng merged 3 commits into
mainfrom
feat/explicit-engagement

Conversation

@bigboateng

@bigboateng bigboateng commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Boatstack previously treated repository presence as enough authority for ambient safety and workflow behavior. That made ordinary repository administration observable—and sometimes blockable—even when no delivery was active.

This rewrite introduces one engagement boundary shared by commands, hooks, and host adapters:

  • DORMANT applies no Boatstack policy and emits no output.
  • COMMAND grants temporary authority only for an explicitly invoked Boatstack operation.
  • ACTIVE is backed by a verified worktree-, branch-, feature-, slice-, and plan-lock-bound lease.

Activation creates the durable lease transactionally, allowing genuine pre-publication deliveries to survive host restarts. Verified PR publication releases it. Generated Cursor, Claude, Codex, and Gemini hooks now use inert lease probes, and stale ambient contracts and path-authority exemptions have been removed. An event-completeness registry prevents future entry points from bypassing the resolver.

Cross-platform CI also exposed a shared-runtime publication race: helper and manifest paths could become visible before the hydrate writer released its lock. POSIX and PowerShell launchers and guards now treat lock release as the publication point, with deterministic regressions for ready-looking incomplete manifests.

Test Plan

  • cd boatstack && go test ./... -count=1
  • cd boatstack && go vet ./...
  • python3 -m unittest discover -s .github/tests -p "test_*.py"
  • python3 .github/scripts/release_notes.py validate --repo .
  • Generated parity, confidentiality, and diff-hygiene checks

@bigboateng
bigboateng merged commit f178f2b into main Aug 10, 2026
9 checks passed
@bigboateng
bigboateng deleted the feat/explicit-engagement branch August 10, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant