Skip to content

feat(native): verify retained file grants and protected secret modes - #226

Closed
roodboi wants to merge 22 commits into
nextfrom
feat/native-retained-secret-permissions
Closed

roodboi wants to merge 22 commits into
nextfrom
feat/native-retained-secret-permissions

Conversation

@roodboi

@roodboi roodboi commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Retained file adoption has a closed version-8 owner for explicit file grants on the supported default-network family. It verifies original bind/source identity, effective guest UID/GID and permissions; only private snapshots may use 0444, 0400 or 0600. Current start/restart/exec and final publication recheck material and operation completion. Saved stop/recovery does not need current source material. Original files are never chmodded or rewritten, and public reports omit material values and digests.

The container observation now treats an omitted bind Mounts.Name as the exact empty string. Present malformed values remain preserved or strictly refused, and named-volume names remain exact. The production formatter is exercised by a pinned real Docker CLI against an isolated synthetic Unix HTTP fixture; it never forwards to an engine.

Current head: 7be8ad22f88468131d2ecb82e6ca3e8e0b113dec, normally reconciled with canonical fe06bfc14b86c4313015a533bfd2c15c95dc9a47. Completed-job 7, file 8, and canonical recovery owner families remain separate. All file publication callbacks retain the shared beforeCommit contract and final receipt/artifact fences.

Validation:

  • Independent cumulative SOURCE review; scoped CLI typecheck, lint, staged privacy, diff and commitlint passed.
  • Mount formatter/binding controls: 8 passed / 0 failed. The initial 4-pass/4-fail synthetic test-oracle result is preserved separately; null must retain exact null, while other malformed values may only remain exact or produce the probe owner's issued child refusal.
  • Current shared-lock controls: 9 passed / 58 assertions. File-8 failed-effect/saved-stop interaction: 1 passed / 5 assertions. Every owned child and pipe settled.
  • Earlier unchanged job final-source control passed alone with 16 assertions; its preceding combined 6-pass/1-fail deadline diagnostic remains preserved. Fresh exact-head CI is required; prior-head checks are historical evidence.

Actual protected guest access and retained two-worktree lifecycle remain pending. Four maintained M3 attempts stopped in prerequisites: Unix socket canonicalization, Darwin Git link metadata, omitted bind Name inspection, then unsupported synthetic retained-source fields. None reached protected material/application setup. Captured commands settled, and ROOT independently verified complete original engine inventories after each. No live permission acceptance, performance improvement or full NC04 completion is claimed.

The dependency fixture now pins the exact shipping presence-specific ownership and alias templates while retaining the separate config-hash observation and every read-only argument/resource gate. Current formatter/guard controls: 42 passed; the added runtime-format control passed with 4 assertions, and both affected preparation/lifecycle positives passed with 22 assertions. Earlier exact-head hosted failures and the initial draft 1-pass/2-fail result are preserved. A private fixed-fact capsule identified the draft’s removed runtime-format dependency; no product predicate, deadline or cleanup was widened. All children settled; fresh exact-head CI remains required.

hack-cli-tests added 17 commits October 8, 2026 13:11
Map closed file declarations and explicit read-only service grants without
acquiring file material. Preserve authored provenance and compiler validation,
and keep retained adoption refused until its runtime ownership proof is qualified.
Map closed file declarations and explicit read-only service grants without
acquiring file material. Preserve authored provenance and compiler validation,
and keep retained adoption refused until its runtime ownership proof is qualified.
Preserve preview-only build and job adoption fences while retaining current
completed-job conversion. Bind converted job build provenance to native job
targets and preserve the original Compose source pointers.
Preserve the closed config0444 file proof family and canonical bridge
receipt semantics. Ordinary file adoption, mixed families and broader
secret permissions remain refused until their separate proof gates.
Support exact 0444, 0400 and 0600 modes on exclusive private file snapshots.
Keep version 1 limited to 0444 and require protected members for version 2.
Original source permissions remain unchanged; guest and retained-bind
acceptance are separate gates.
Bind omitted and explicit secret permission intent to the observed original
source and guest in closed private file proof2. Normalize the candidate only
after that proof and reproduce it from saved intent for read-only recovery.
Keep config proof1 and original material ownership unchanged.

Actual guest access, readonly writes, linked isolation and lifecycle acceptance
remain separate gates; this checkpoint carries source and focused controls.
@blacksmith-sh

blacksmith-sh Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
native-compose-adoption-job-worktrees (22.0s) — Completed-job worktree acceptance refus
ed; values omitted./
native-compose-adoption-job-worktrees (22.0s) — Completed-job worktree acceptance refus
ed; values omitted.
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@roodboi

roodboi commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

Closing as source consolidation into #227. The complete head and all 29 owning file blobs are preserved there. Historical failed checks remain recorded; protected retained-file guest permissions, lifecycle and recovery remain open in #227. New VM material transport #250 is a separate capability. Branch retained.

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