Capability-Infrastructure Cluster Backlog
A planning audit found a cluster of maturing proposals whose Phase 1 slices are
now extractable (their stated prerequisites have landed) plus the Stage 6
capability remainder. Most of these slices ADD interfaces to
schema/capos.capnp and therefore share the schema serial surface: only one
plan at a time may change the schema (docs/backlog/index.md “Concurrency
Notes”), and the next plan must rebase on the generated-code refresh. This file
decomposes the cluster and records the recommended ordering so the slices do not
all become ready at once and collide on that surface.
docs/tasks/README.md points here for the cluster; it should not inline the details.
Ordering Contract
- The non-schema slices (capos-service framework, tickless idle, default avatar) are dispatchable in parallel today and have their own ready task files; they do NOT queue here.
- The schema-touching slices below queue on the shared schema serial surface.
Promote ONE at a time from this backlog into a
docs/tasks/file, land it, refresh generated bindings, then promote the next. Do not file all of them asreadysimultaneously. - The
ResourceProfileRecord/ManifestResourceProfileschema,capos_config::ResourceProfilecarrier, and non-schema spawn-limit enforcement have landed. Crypto key caps Phase 1 has also landed. The next queued schema-serial slice iscrash-recovery-stale-cap-phase1. - Recommended schema promotion order from here: crash-recovery stale-cap →
authority-broker → live-upgrade
CapRetarget→ Stage 6 remainder. Reorder by explicit user priority. Do not promote a schema slice in parallel with another schema-surface task.
Schema-Serial Phase-1 Slices
Each slice names a 1-line scope, the owning proposal, and the conflict domains
its eventual task file should carry. All share
interface:schema-capos-capnp + path:schema/capos.capnp +
path:tools/generated/ (the serial surface) in addition to the listed domains.
monitoring-log-surface (landed)
- Scope:
LogSink/LogReaderschema + a minimal userspace log service backed byConsole, withlogLevelenforcement and scopedLogSinkcaps granted to children at spawn. Source:docs/proposals/system-monitoring-proposal.md. - Domains:
resource:system-monitoring,path:kernel/src/cap/,path:demos/,docs:system-monitoring. - Landed (2026-05-25): additive
LogSink.write @38/LogReader.read @39plusLogRecord/LogFilter(reusingLogLevel), backed by a bounded drop-oldest kernel ring (kernel/src/cap/log.rs). The sink drops below-SystemConfig.logLevelrecords (boot-seeded) and forwards accepted records to serial; the reader returns cursor/filtered records withnextCursor/dropped.capos-rtLogSinkClient/LogReaderClient, producer/reader demos,system-monitoring-log.cue, andmake run-monitoring-log-smokeprove the sink drop, read-back, and reader-sideminLevelfilter. The widerSeverity(critical), correlation fields, token-bucket backpressure, and persistent retention remain later phases. Task:docs/tasks/done/2026-05-25/cap-infra-monitoring-log-surface.md.
crypto-key-caps-phase1 (landed)
- Scope:
SymmetricKey/PrivateKey/PublicKeyschema interfaces + a software-backed userspace key service + a QEMU encrypt/sign smoke over the cap boundary. Unblocks TLS, OIDC, volume encryption, signed audit, SSH cert upgrade. Source:docs/proposals/cryptography-and-key-management-proposal.md. - Domains:
resource:crypto-key-service,path:demos/,docs:cryptography-and-key-management. - Landed (2026-06-06): minimal RAM-only
SymmetricKey,PrivateKey, andPublicKeyABI inschema/capos.capnp, regenerated bindings,capos-tlsXChaCha20+HMAC-SHA256/P-256 cores, RAMKeyVaultprivate-key custody, and the development-onlyKeySourcebootstrap. Local proofs cover symmetric AEAD/MAC, private/public signing, KeyVault stale-handle custody, and development-source admission/rejection. Remaining work is production/runtime key service wiring, symmetric derivation/wrapping, persistence, hardware/cloud custody, ACME/TLS handshakes, and production public-ingress key sources. Task:docs/tasks/done/2026-06-06/cap-infra-crypto-key-caps-phase1-reconcile-local-proof.md.
time-wallclock-phase1 (landed)
- Scope:
WallClockread cap +ClockProvenancelabel + manifest-seeded boot time; WASIclock_time_get(REALTIME)and audit timestamp delegate to it. Source:docs/proposals/time-and-clock-proposal.md. - Domains:
resource:time-clock-authority,path:kernel/src/cap/,docs:time-and-clock. - Landed (2026-05-24, fixed-boot-base variant):
WallClock.wallTimeread cap +ClockProvenanceenum (untrusted @0fail-closed zero value),KernelCapSource::wallClock @36,kernel/src/cap/wall_clock.rs, thecapos-rtWallClockClient, and a shelldatecommand grantedwall_clockinsystem-shell.cueand asserted bymake run-shell. ManifestseedUtcSeconds, a statefulWallClockState, WASI realtime-clock delegation, and init audit/TLS grants remain Phase 1.x / Phase 2 follow-ups. Task:docs/tasks/done/2026/time-wallclock-phase1.md.
crash-recovery-stale-cap-phase1
- Scope: stale-cap
DISCONNECTED/server-death CQE propagation to in-flight callers and endpoint holders on unplanned process death, plus a redactedCrashRecordappended toAuditLog. Source:docs/proposals/crash-recovery-supervision-proposal.md. - Domains:
resource:crash-recovery,path:kernel/src/cap/,path:kernel/src/process.rs,docs:crash-recovery.
debug-session-phase1
- Scope:
DebugSessionattach cap (owner-consent or broker maintenance grant, audited) + read-only cap-table snapshot that transfers no authority. Source:docs/proposals/debug-trace-authority-proposal.md. - Domains:
resource:debug-trace-authority,path:kernel/src/cap/,docs:debug-trace.
authority-broker-phase1
- Scope: endpoint-served
AuthorityBroker+ShutdownControlschema + runtime client + a QEMU proof that an anonymous shell cannot invoke shutdown. Source:docs/proposals/userspace-authority-broker-proposal.md. - Domains:
resource:authority-broker,path:init/,path:shell/,docs:userspace-authority-broker. - Status note: the interim kernel broker no longer owns hard-coded demo binary
allowlists.
kernelParams.authorityBrokerPolicynow carries the admitted session-context, remote-client spawn, and worker service grant policy with manifest validation. The endpoint-served userspace broker and shutdown-control interfaces remain the queued Phase 1 work.
live-upgrade-capretarget-phase1
- Scope:
ProcessControl+retargetCapskernel op for stateless Case 1 upgrades, with a QEMU retarget-mid-call smoke. Foundation for DDF userspace-driver fault containment. Source:docs/proposals/live-upgrade-proposal.md. - Domains:
resource:live-upgrade,path:kernel/src/cap/,docs:live-upgrade.
system-info-hostname (done)
- Scope: add
hostnameto theSystemInfocap +kernelParams.hostname+ manifest field. Source:docs/proposals/system-info-proposal.mdPhase 3. - Domains:
resource:system-info,path:kernel/src/cap/,docs:system-info. - Landed:
SystemInfo.hostname @1served fromkernelParams.hostname(defaultcapos), printed by the shellhostnamecommand, asserted inrun-shell. Task:docs/tasks/done/cap-infra-system-info-hostname.md.
stage6-remainder
- Scope: the remaining Stage 6 capability semantics –
SharedBufferSQE opcode + kernel mapping authority, typed notification objects with ringRecvintegration, andCapabilityManager.list/grant. Decomposed indocs/backlog/stage-6-capability-semantics.md; queue each as its own slice on the schema surface. Source: roadmap Stage 6. - Domains:
resource:stage6-capability-semantics,path:kernel/src/cap/,path:kernel/src/cap/ring.rs,docs:stage-6.
Non-Schema Slices
These are dispatchable now and are tracked as ready or done tasks, not queued on the schema serial surface:
- Done:
cap-infra-resource-profile-enforcement-local-proof– binds the existingResourceProfileRecord/ManifestResourceProfileandcapos_config::ResourceProfilecarrier to remaining cap-slot and thread spawn-limit enforcement, with rollback proof (docs/tasks/done/2026-06-06/cap-infra-resource-profile-enforcement-local-proof.md). - Done:
capos-service-lifecycle-slice1–ServiceMain/lifecycle framework abovecapos-rt, one converted gateway proof (docs/tasks/done/2026/capos-service-lifecycle-slice1.md). - Done:
default-user-avatar– deterministic native-shell avatar selection over the shipped flat catalog, printed in the shellsessionoutput without schema or broker changes (docs/tasks/done/2026/default-user-avatar.md). - Done:
scheduler-tickless-idle-step6– enable true-idle tickless windows while keeping cap-enter polling dependencies periodic (docs/tasks/done/2026/scheduler-tickless-idle-step6.md).
Still-Gated (not in this cluster)
Memory-authority, OOM/swap, certificates/TLS, OIDC, volume-encryption,
go-runtime, chat-multimedia, llm/agent, browser, GPU, formal-MAC/MIC,
cloud-metadata, HPC, scientific, hosted-agent-swarm remain gated on this
cluster, DDF, networking, storage persistence, or SMP Phase C / Ring v2. See
each proposal’s gating note and docs/backlog/research-design-gaps.md.