fix(memory,gate): complete Step 3 jail policy wiring and observation fixes #231

Merged
clawdie merged 8 commits from clawdie/fix/probe-unprivileged-bastille-discovery into main 2026-10-29 16:36:32 +01:00 AGit
Owner

Follow-up on the nine-property Oxy observation contract and Step 3 gate wiring.

Includes the previously reviewed changes through bf63563 plus one focused correction:

  • Hydrator refresh updates both colibri:observedAt and colibri:dynamicHeadroomObservedAt.
  • QueryNodeCapacity selects and uses ?nodeID; future clock-skew is rejected.
  • Protected Core Services Veto now applies to clone sources as well as destinations, so jail:src:cms cannot bypass the veto.
  • Create-only provision/clone and destroy invariants remain fail-closed.
  • Lineage unit_name validation, ZFS doas fallback, and first-non-empty-line parsing retained.
  • Contract documentation aligned with the nine-property ZFS schema.

Native/local verification at this head:

go test ./...                                             rc=0
go test -race -count=1 ./internal/memory/... ./pkg/gate/... ./internal/task/...  rc=0

No real jail/dataset mutations were performed.

Follow-up on the nine-property Oxy observation contract and Step 3 gate wiring. Includes the previously reviewed changes through `bf63563` plus one focused correction: - Hydrator refresh updates both `colibri:observedAt` and `colibri:dynamicHeadroomObservedAt`. - `QueryNodeCapacity` selects and uses `?nodeID`; future clock-skew is rejected. - Protected Core Services Veto now applies to **clone sources as well as destinations**, so `jail:src:cms` cannot bypass the veto. - Create-only provision/clone and destroy invariants remain fail-closed. - Lineage `unit_name` validation, ZFS `doas` fallback, and first-non-empty-line parsing retained. - Contract documentation aligned with the nine-property ZFS schema. Native/local verification at this head: ```text go test ./... rc=0 go test -race -count=1 ./internal/memory/... ./pkg/gate/... ./internal/task/... rc=0 ``` No real jail/dataset mutations were performed.
docs(memory): document nine-property ZFS observation schema
Some checks failed
CI / markdown (pull_request) Successful in 10s
CI / packaging (pull_request) Successful in 2s
CI / python-tests (pull_request) Failing after 20s
CI / mcp-cross-language (pull_request) Successful in 34s
CI / go (pull_request) Successful in 43s
leak-guard / guard (pull_request) Successful in 2s
caae416e4b
chore(memory): refresh Go token badge
All checks were successful
CI / markdown (pull_request) Successful in 10s
CI / packaging (pull_request) Successful in 2s
CI / python-tests (pull_request) Successful in 22s
CI / mcp-cross-language (pull_request) Successful in 28s
CI / go (pull_request) Successful in 40s
leak-guard / guard (pull_request) Successful in 2s
b088a24fc2
fix(memory): veto clones whose source is a protected core service
Some checks failed
CI / markdown (pull_request) Successful in 10s
CI / packaging (pull_request) Successful in 3s
CI / python-tests (pull_request) Failing after 21s
CI / mcp-cross-language (pull_request) Successful in 29s
leak-guard / guard (pull_request) Has been cancelled
CI / go (pull_request) Has been cancelled
e219416fda
chore(memory): refresh Go token badge for Step 3 gate
All checks were successful
CI / markdown (pull_request) Successful in 11s
CI / packaging (pull_request) Successful in 2s
CI / python-tests (pull_request) Successful in 22s
CI / mcp-cross-language (pull_request) Successful in 27s
CI / go (pull_request) Successful in 41s
leak-guard / guard (pull_request) Successful in 14s
3976f64714
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/colibri!231
No description provided.