ollie/doc
Levi Neely d65c06f27b implement namespace-bounded capability model
Per-agent file ownership with Unix permission enforcement:
- Agent directories owned by agent ID (UID), group 'agent' (GID)
- Private files (plan, ctl, fifo): mode 0600 - owner only
- Group-readable (chat, log): mode 0440 - owner + agent group
- World-readable (state, id): mode 0444 - observable by all
- Prompt: mode 0220 - CLI and owner can write

virtfs: fix UID/GID inheritance through nested paths
- Added findChildWithInheritance() to accumulate inherited UID/GID
- Stat now correctly shows agent ID as owner for nested files

server: admin bypass for server owner
- serverAdmin variable captures the Unix user running olliesrv
- Admin bypass includes empty uname, 'admin', or server owner

Documentation updates:
- fs/doc.go: 'The Namespace IS the Security Model'
- registry/doc.go: capability-based tool access
- peer.go: capability-based peer access
- lessons-learned.md: 'Model compliance is not a security boundary'
- architecture-9p.md: per-agent file ownership section

Security evaluation:
- Added experiments/security-eval/ with NERV attack corpus adaptation
- Test scripts for Landlock sandbox validation
- RESULTS.md documenting 0% ASR on hostile operations

This implements the NERV thesis: 'An agent can only access resources
explicitly bound into its namespace.' Enforcement is structural via
file permissions, not behavioral via model compliance.
2026-10-06 17:41:27 +02:00
..
img Add Ollie image to README 2026-08-18 11:43:35 +02:00
architecture-9p.md implement namespace-bounded capability model 2026-10-06 17:41:27 +02:00
architecture-core.md update AGENTS.md and architecture-core.md for agent package reorganization 2026-08-27 10:15:31 +02:00
architecture-embedding.md doc: update architecture docs for explicit tool autoLoad 2026-08-21 10:43:58 +02:00
architecture-ide.md remove unused feed file and observer agent support 2026-10-06 12:55:39 +02:00
architecture-kde.md doc: update for bypass coordination and state indicators 2026-10-06 15:15:16 +02:00
architecture-prompting.md Document one-tool capability bootstrap 2026-08-20 18:31:31 +02:00
architecture-remote.md replace landrun with native Landlock sandbox 2026-08-18 12:36:27 +02:00
architecture-tools.md doc: update architecture docs for explicit tool autoLoad 2026-08-21 10:43:58 +02:00
architecture-toolsrv.md Document one-tool capability bootstrap 2026-08-20 18:31:31 +02:00
architecture-virtfs.md replace just build orchestration with make 2026-08-17 00:01:27 +02:00
architecture.md remove unused feed file and observer agent support 2026-10-06 12:55:39 +02:00
compatibility-roadmap.md remove plumber references 2026-08-18 13:32:43 +02:00
embedding.conf.sample skills: add embedding-based skill matching 2026-08-20 15:54:43 +02:00
event-topics.md doc: update for bypass coordination and state indicators 2026-10-06 15:15:16 +02:00
evolution.md doc: update for bypass coordination and state indicators 2026-10-06 15:15:16 +02:00
lessons-learned.md implement namespace-bounded capability model 2026-10-06 17:41:27 +02:00
nerv-outreach-draft.md implement namespace-bounded capability model 2026-10-06 17:41:27 +02:00
streaming-rdwr.md doc: document streaming rdwr pattern for filtered subscriptions 2026-10-06 12:35:10 +02:00
usage.md doc: update for bypass coordination and state indicators 2026-10-06 15:15:16 +02:00