Add research/0002: virtualisation and containment prior art - #15
Merged
Conversation
The second prior-art review, on the maintainer's initiative: what the virtualisation and containerisation fields learned under production fire, mined for Setonix. Six research sweeps - hypervisors/microVMs, container runtimes and sandboxes, images and supply chain, resource control at scale, plus two gaps a completeness critic identified against the twenty obligations: control-plane confused-deputy failures (the only unfed obligation, O-10) and the path-resolution escape corpus (the thinnest pillar, schemes). 69 lessons, primary sources only, every lesson mapped to a pillar, an obligation by number, or the RFC it feeds. Sixteen lessons are production-quantified validation of decisions already made: the container era's survivors - gVisor, Kata, Firecracker, WASI, pKVM - each rebuilt part of this architecture as a retrofit, at retrofit prices. The decision-forcing findings: the store's Merkle naming must be fixed before the store is built (resolving RFC-0001's open questions 1-3); the broker inherits a decade of confused-deputy CVEs as design rules plus three proposed obligations (O-21 mediation auditability, O-22 broker compromise containment, O-23 fail-closed mediation); the scheme registry's resolution semantics arrive essentially specified by Capsicum and openat2, expressible entirely within O-2's calculus; and seL4 MCS's budget-expiry hole yields a proposed RFC-0004 amendment. Rejected by name: eBPF-style in-kernel extensibility, command-keyed build caches, a bootstrap superuser. Three graves proposed for the constitution's list - flagged for the maintainer, not taken. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The second prior-art review β the goldmine you called: what virtualisation and containerisation learned under production fire, mined for Setonix. Six research sweeps (four planned domains + two gaps a completeness critic found by checking coverage against all twenty obligations), 69 lessons, primary sources only β papers, official design docs, CVE analyses, maintainer postmortems. Every lesson carries a verdict (adopt / adapt / reject / validates-existing) and names the pillar, obligation, or RFC it feeds.
Headline findings
16 lessons are validation with production numbers β the container era's survivors each rebuilt part of Setonix's architecture as a retrofit, at retrofit prices: gVisor (a second kernel in Go to get a narrow interface), Kata (a VM per pod β the industry's confession that shared-kernel isolation failed), the runc maintainer's ~14 path-string CVEs ending at handle-not-path, Kubernetes re-deriving capability-shaped grants (KEP-1205's object-bound tokens are RFC-0003 Β§8's generation check, reinvented).
The decision-forcing findings:
system:masters-style bootstrap superusers are rejected by name.openat2arrive as the specification β resolve once to a held capability, bounded during resolution, no alias nodes β expressible entirely within RFC-0003's existing calculus (O-11 falls out of O-2).Flagged for the maintainer, not taken: three proposed Β§3 graves (drivers pulled into the kernel for the fast path β vhost-net; compiled-in unused device paths β VENOM; the catch-all right β CAP_SYS_ADMIN). Constitution text is yours; wording ready on request.
Method note
Four domain researchers ran in parallel; a completeness critic then checked the combined lessons against O-1β¦O-20 and found exactly two load-bearing holes β O-10 was the only unfed obligation, pillar 5 the thinnest β which two follow-up sweeps closed. Logged in
docs/CHANGELOG.md.Follow-ups this proposes (each its own future PR, per Β§5.3)
Markdown and British-spelling gates clean (66 files).
π€ Generated with Claude Code