Skip to content

feat(boatstack): bind detached external config - #300

Merged
bigboateng merged 1 commit into
mainfrom
feat/boatstack-detached-external-config
Aug 5, 2026
Merged

feat(boatstack): bind detached external config#300
bigboateng merged 1 commit into
mainfrom
feat/boatstack-detached-external-config

Conversation

@bigboateng

Copy link
Copy Markdown
Contributor

Summary

  • accept a validated external project configuration during detached attachment
  • copy exact configuration bytes only into the detached control root and bind their SHA-256 to status and generated snapshots
  • fail closed on source, generated configuration, or lock drift across detached resume and mutation paths

Boundary conformance

Boundary: external project config to detached controller state.
Control law: every detached resume or mutation requires the copied source config, binding digest, generated lock digest, and generated project hash to agree.
Authorized actor: explicit detached attach or forced reattach.
Failure behavior: report unverified status and refuse resume or mutation without partial state changes.

Tests cover valid attachment, invalid and repository-local inputs, symlink aliases, digest propagation, drift and restoration, forced reattachment, resume paths, mutation paths, and publication bypasses.

Verification

  • go test -count=1 ./...
  • go build ./...
  • go vet ./...
  • python3 -m unittest discover -s tests -p test_*.py
  • Boatstack distribution projection check: 406 files
  • release-note validation and preflight
  • git diff --check

Release note: 2026-08-05-detached-external-config.md

Disclosure-Reviewed: reviewed — public-safe only, private facet kept out of this commit
@bigboateng
bigboateng merged commit 2b61577 into main Aug 5, 2026
12 checks passed
@bigboateng
bigboateng deleted the feat/boatstack-detached-external-config branch August 5, 2026 21:37
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