NS6 slice: Guard local socket scope and not-built diagnostics #36
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OBJECTIVE: Make socket access local/session-scoped and ensure excluded profile capabilities fail with
not built in this profilediagnostics.AUTHORITY: Parent #6
NS6: Pi and local tool bridge; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: session/002; req: session/004; req: governance/002-003).AGENT AUTHORITY:
PARENT: #6 via explicit issue link and parent checklist.
SCOPE: The smallest source/docs/tests needed to make this behavior real and verified.
BOUNDARIES: No remote network control plane.
ACCEPTANCE: Tests verify socket path scope/permissions where possible and profile stubs return clear messages.
VERIFICATION: Run the cheapest command that proves acceptance. Include regular tests for the intended payoff and adversarial tests for realistic failure, boundary, or regression cases. If no implementation test command exists yet, create/record the canonical command in AGENTS.md as part of the slice.
BLOCKERS: none
GOAL: Implement this vertical slice to the ACCEPTANCE above, keep the repo clean, cite relevant
req:anchors in code/tests where applicable, and close only after verification passes.Implemented in commit
fb68747848(Fence local profile capabilities).Verification:
Regular tests: profile status reports
profile:v1, activedev-local, local-only socket, and not-built fences for remote transport, plugin host, bundled Pi, and background agent. CLI exposesmim profile. Local socket validation accepts only/tmp/and/var/tmp/socket paths and rejects relative/home/newline paths. Socket listen now binds under restrictive umask for owner-only socket permissions.Adversarial tests: excluded capabilities (
remote,plugin,background-agent,bundled-pi) route to explicitnot built in this profilestubs instead of silently no-oping or implying unavailable features exist.Boundary: profile/status fences and local socket hardening only. No sandbox framework, remote auth, plugin runtime, capability negotiation service, or alternate build matrix added.