You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2c4fe1f
Browse filesBrowse the repository at this point in the historyBrowse files
feat(s025): seal the blob classes a deployment names, and close the slice
Trinity.Vault gains per-class sealing, off by default. The skills staging seals
staged changes on write and opens either kind on read, so the only place that has
to know is the one that writes; the archive export seals its manifest the same
way.
Off by default is a decision rather than an omission, and the module says why. A
sealed export restores only where the key is, which is exactly what a regulated
deployment wants and exactly what someone moving their data to a new laptop does
not, and a sealed skill file cannot be edited in a text editor. The mechanism is
built and proven; which blobs it covers is the deployment's call, and open/1
passes unsealed blobs through so the choice can change later without a migration.
maybe_seal!/2 keeps the call site reading the same whether sealing is on or off,
because a path that branches on whether encryption is enabled is a path where one
branch is less tested than the other.
The boundary refused the first version of this, correctly: Trinity.Vault had to
be exported before the skills and archive sub-boundaries could call it.
mix gate exit 0; 610 passed; coverage 80.31%.
Signed-off-by: Ayla Croft <aylacroft@proton.me>
0 commit comments