Plans index¶
This page summarises every planning document in chronological order. Master plans decompose work into numbered phases, each with its own detailed plan file. Standalone plans track issues, follow-ups, or design decisions that do not require phased execution.
New plans should follow the structure in PLAN-TEMPLATE.md at the
repo root. For pre-push audits of our own work see
PUSH-AUDIT.md.
Master plans¶
| Date | Plan | Intent | Status | Phases |
|---|---|---|---|---|
| 2026-06-02 | Automated SPICE test harness | End-to-end SPICE test harness driving Uncalibrated Sextant via Ryll's control socket, with assertions against the visual digest and serial drain; replaces the OpenStack-dependent integration tests with a direct qemu/KVM lane | Complete | phase 1 (done), phase 2 (done), phase 3 (done), phase 4 (done), phase 5 (done), phase 6 (done), phase 7 (done), phase 8 (done) |
| 2026-07-04 | Rust SPICE proxy (kerbside-proxy) | Replace the Python SPICE proxy with a Rust kerbside-proxy that talks tonic/gRPC over a UDS to the Python daemon, reuses ryll's shakenfist-spice-protocol crate, enforces L0+L1 firewall policy from day one, and ships inside the kerbside pip install via a maturin bin wheel | Complete | phase 1 (done), phase 2 (done), phase 3 (done), phase 4 (done), phase 5 (done), phase 6 (done), phase 7 (done), phase 8 (done) |
| 2026-07-17 | Backend host_subject enforcement | Restore hypervisor certificate subject pinning on the proxy's backend TLS leg, lost in the Rust proxy cutover: enforce spice-common host-subject matching semantics in ryll's shakenfist-spice-protocol verifier, adopt it in kerbside, and prove both accept and refuse paths in the direct-qemu CI lane | Complete | phase 1 (done, ryll PR #166), phase 2 (done, kerbside PR #114) |
| 2026-07-19 | Shaken Fist VDI console tokens | Cross-repo plan (master in shakenfist's docs/plans/): per-instance console authorisation via short-lived Ed25519-signed tokens minted by Shaken Fist and validated offline by kerbside; kerbside side adds an /sf-console.vv exchange endpoint mirroring the Nova flow, a jti replay table, cluster-wide scraping, and host_subject for SF consoles |
Complete | phase 5 (done), phase 6 (done), phase 7 (done, SF mint-path test; kerbside exchange lane moved to phase 9), phase 8 (done), phase 9 (done, lane green 2026-07-31, run 30608314535) — post-merge cross-repo e2e + kerbside exchange lane |
| 2026-08-02 | Two-tier CI | Adopt the shakenfist/shakenfist two-tier CI flow: smoke gates (sanity, direct-qemu, Rust, single-node sf-e2e) on PRs; oVirt and Kolla/OpenStack move to a merge-queue tier; fix the oVirt lane to actually deploy kerbside; record the oVirt front-door architecture decision | Draft, blocked on sf-e2e PR-readiness | phase 1 (done), phases 2-4 not yet planned |
Standalone plans¶
| Date | Plan | Intent | Status |
|---|---|---|---|
| 2026-07-16 | Consistency audit deferred work | Track items from the PROJECT-CONSISTENCY-AUDITS.md review that need manual GitHub UI action: security settings and repository merge settings | In progress |
| 2026-08-02 | Use case documentation | One docs page per deployment permutation (Shaken Fist, OpenStack, oVirt, multi-cloud aggregation, placement topologies, static, later Proxmox), each covering value proposition, how it works, and setup; the oVirt page is delivered by two-tier CI phase 4 as the format-setting first instance | Not started |