@@ -2363,6 +2363,126 @@ Exit criteria:
23632363- Aesynx has a documented path to a small per-core kernel plus isolated
23642364 monitor/services before distributed policy becomes live.
23652365
2366+ ### v0.37.8 - Cache-Aware Atomic Fabric Queues
2367+
2368+ Goal:
2369+
2370+ Replace model-only core-to-core queue evidence with the hardware-ordering shape
2371+ required for live multicore endpoints.
2372+
2373+ Rationale:
2374+
2375+ The v0.36/v0.37 IPC smokes prove route validation, sequencing, and fail-closed
2376+ backpressure, but the queue implementation remains sequential model code with
2377+ plain indices. Live AP execution needs queues whose memory layout, ownership,
2378+ cache behavior, and atomic publication protocol are correct on weakly ordered
2379+ architectures as well as x86_64.
2380+
2381+ Deliverables:
2382+
2383+ - Hardware SPSC queue design that removes shared mutable ` len ` from producer
2384+ and consumer hot paths.
2385+ - Monotonic producer and consumer cursors, each written by exactly one endpoint.
2386+ - Cached remote-cursor observations that are explicitly advisory and refreshed
2387+ through acquire loads.
2388+ - Producer and consumer metadata separated onto distinct cache lines, with an
2389+ option to place endpoint metadata on separate pages when permissions differ.
2390+ - Slot publication protocol:
2391+ - producer writes payload;
2392+ - producer scrubs or initializes authority-bearing padding;
2393+ - producer performs a release store of slot sequence or tail;
2394+ - consumer performs an acquire load before reading payload.
2395+ - Slot reuse protocol with generation or sequence numbers so wraparound cannot
2396+ expose stale payloads.
2397+ - Mandatory zero/scrub-on-vacate policy before a slot can be observed by a
2398+ different trust domain.
2399+ - Doorbell bitmap or equivalent pending-link summary so each core does not have
2400+ to poll every inbound link at high core counts.
2401+ - IPI coalescing and batch receive/send policy.
2402+ - Queue placement policy for NUMA-local allocation and traffic-class
2403+ separation.
2404+ - Separate traffic classes for authority-critical revoke/topology messages,
2405+ best-effort telemetry, and ordinary service requests. Revocation and topology
2406+ control must not sit behind best-effort telemetry in the same FIFO.
2407+ - Per-principal/service credits, deadlines, retry budgets, cancellation, and
2408+ dead-letter records for noisy or stalled peers.
2409+ - Explicit memory-ordering tests and model checks for x86_64, aarch64, and
2410+ RISC-V assumptions. Release/acquire evidence must correspond to actual atomic
2411+ stores/loads, not metadata fields.
2412+
2413+ Verification:
2414+
2415+ - Host model tests prove full, empty, wraparound, stale-slot, and retry cases
2416+ fail closed without payload reuse.
2417+ - Loom/Kani-style or equivalent bounded model tests prove the SPSC publication
2418+ protocol does not permit payload reads before release publication.
2419+ - Cache-line layout tests prove producer and consumer hot metadata do not share
2420+ a cache line.
2421+ - QEMU smoke reports direct-link evidence only after the atomic queue path is
2422+ used by the kernel smoke.
2423+
2424+ Exit criteria:
2425+
2426+ - Aesynx has a queue implementation shape that can be wired to live APs without
2427+ pretending model ` Ordering ` evidence is a hardware happens-before relation.
2428+
2429+ ### v0.37.9 - Strong Revocation And Mapping Invalidation Semantics
2430+
2431+ Goal:
2432+
2433+ Define and model the difference between prospective revocation and strong
2434+ revocation before mappings, DMA, or in-flight endpoint operations can carry
2435+ real authority across domains.
2436+
2437+ Rationale:
2438+
2439+ Incrementing a revocation epoch is enough for later live checks to fail, but it
2440+ does not automatically remove receiver table entries, tear down mappings, flush
2441+ remote TLBs, cancel DMA, cancel in-flight IPC, or prove every core has observed
2442+ the new epoch. Aesynx needs an explicit revoke contract before shared memory,
2443+ driver DMA, or cross-core delegation becomes live.
2444+
2445+ Deliverables:
2446+
2447+ - Two documented revoke classes:
2448+ - Prospective revoke: no operation beginning after the revoke linearization
2449+ point may succeed.
2450+ - Strong revoke: when revoke returns, no stale operation, mapping, DMA
2451+ request, delegated entry, or in-flight endpoint operation can still commit.
2452+ - Revocation messages carry object incarnation, previous epoch, new epoch,
2453+ transaction ID, reason code, coordinator proof, and affected authority class.
2454+ - Distributed prepare/freeze/ack/commit/abort model for strong revocation.
2455+ - Mapping teardown protocol that unmaps every affected address space before
2456+ strong revoke commit.
2457+ - Mandatory local and remote TLB invalidation acknowledgements before a
2458+ permission reduction or unmap is reported complete.
2459+ - DMA quiesce/cancel/drain requirement before strong revocation of device-visible
2460+ memory.
2461+ - In-flight IPC cancellation or replay policy for operations authorized before
2462+ the revoke linearization point.
2463+ - Failure handling for dead cores or domains: timeout leads to quarantine,
2464+ degraded fail-closed state, or system halt depending on authority class.
2465+ - Audit records linking proposal, freeze, acknowledgement, TLB/DMA cleanup,
2466+ commit, abort, and timeout.
2467+ - Redacted diagnostics that expose counts, classes, and reason codes without
2468+ raw object IDs, physical frames, or table slots.
2469+
2470+ Verification:
2471+
2472+ - Host model tests prove prospective revoke rejects every operation starting
2473+ after the linearization point.
2474+ - Host model tests prove strong revoke cannot complete until modeled mappings,
2475+ TLB acknowledgements, DMA ownership, and pending grants are resolved.
2476+ - Timeout tests prove dead participants cannot let stale authority remain
2477+ silently usable.
2478+ - Mapper tests prove permission reduction/unmap cannot be acknowledged until
2479+ the required flush obligation is consumed.
2480+
2481+ Exit criteria:
2482+
2483+ - Revocation semantics are precise enough for live shared memory, driver DMA,
2484+ and cross-core capability transfer to build on them.
2485+
23662486## Phase 10: Driver Foundation
23672487
23682488### v0.38.0 - Device Model
@@ -2702,6 +2822,58 @@ Exit criteria:
27022822- The kernel has one reviewed path for user memory access before userspace can
27032823 pass pointers into kernel services.
27042824
2825+ ### v0.44.5 - Domain Transition And Speculation Hardening
2826+
2827+ Goal:
2828+
2829+ Define and smoke-test the CPU and address-space hardening required before ring
2830+ 3, mutually distrusting domains, or context switches can be treated as a real
2831+ security boundary.
2832+
2833+ Deliverables:
2834+
2835+ - Correct x86_64 CPUID feature detection for Intel and AMD speculative controls,
2836+ including AMD extended-leaf IBRS bit 14, IBPB bit 12, STIBP bit 15, and SSBD
2837+ bit 24.
2838+ - ` IA32_ARCH_CAPABILITIES ` field decoding plan for eIBRS/IBRS_ALL, RDCL_NO,
2839+ MDS_NO, TAA_NO, RSBA, and newer vendor-documented controls where available.
2840+ - Context-transition mitigation policy for switching between mutually
2841+ distrusting domains:
2842+ - when IBPB is required;
2843+ - when STIBP is redundant or required;
2844+ - when RSB stuffing or BHB/BHI mitigation is required;
2845+ - when VERW-based MDS/RFDS buffer clearing is required;
2846+ - when L1D flush policy is required.
2847+ - Explicit SMT-domain policy for high-assurance workloads.
2848+ - KPTI or dual-root page-table plan for processors affected by rogue data-cache
2849+ load, with a documented QEMU/general-mode fallback.
2850+ - L1TF hygiene policy: non-present PTEs are all-zero unless a reviewed
2851+ exception exists, and physical page zero must never contain secrets.
2852+ - Hardened syscall/sysret or interrupt-return entry/exit plan with per-core
2853+ TSS/RSP0, swapgs fencing if used, contained user faults, and no reliance on
2854+ compiler-generated prologues for critical transition assembly.
2855+ - Full architectural state-switch plan including SIMD/FPU ownership before
2856+ SSE/AVX is enabled in kernel or user contexts.
2857+ - Trampoline or boot-order policy that enables compatible NX/WP/SMEP/SMAP/UMIP
2858+ protections before untrusted code or APs can execute with the final CR3.
2859+ - Redacted serial markers for supported, requested, applied, and deferred
2860+ hardening controls.
2861+
2862+ Verification:
2863+
2864+ - Host tests cover Intel/AMD CPUID matrices, including the AMD IBRS bit-14
2865+ regression and unrelated-bit rejection.
2866+ - Host tests cover ` ARCH_CAPABILITIES ` decode cases and strict/general policy
2867+ selection.
2868+ - QEMU smoke reports boolean hardening evidence without raw MSR values.
2869+ - Documentation states which mitigations are active, which are planned, and
2870+ which are not relevant on the current QEMU CPU model.
2871+
2872+ Exit criteria:
2873+
2874+ - The ring-3 path has an explicit security-transition hardening plan and tests
2875+ before user address spaces become a hostile input boundary.
2876+
27052877## Phase 11: Native Userspace
27062878
27072879### v0.45.0 - User Address Space
@@ -3268,6 +3440,60 @@ Exit criteria:
32683440
32693441- AI assistance exists as a constrained shell helper, not an authority source.
32703442
3443+ ### v0.61.2 - Metered Asynchronous AI Policy Service
3444+
3445+ Goal:
3446+
3447+ Ensure AI advice can never block scheduler progress, bypass deterministic
3448+ validation, or become a hidden reference monitor.
3449+
3450+ Deliverables:
3451+
3452+ - AI/model execution runs outside ring 0 in a capability-confined policy
3453+ service, not in the scheduler hot path.
3454+ - Model evaluation has explicit fuel, deadline, memory, and output-size limits.
3455+ - Manifest step and memory ceilings are consumed by the evaluator, not only
3456+ stored as metadata.
3457+ - Kernel scheduling path never waits synchronously for model output. Advice is
3458+ accepted only if already available and still fresh.
3459+ - Advice records carry topology epoch, task incarnation, model version, expiry,
3460+ and confidence bounded by the validated manifest.
3461+ - Kernel-side validator is total and bounded:
3462+ - computes the finite admissible action set for the current scheduler state;
3463+ - rejects stale topology/task epochs;
3464+ - rejects invalid cores, ownership violations, affinity violations, and
3465+ migration-budget violations;
3466+ - executes deterministic fallback when advice is missing, stale, invalid, or
3467+ over budget.
3468+ - Formal scheduler invariant statement: every admissible action preserves task
3469+ ownership, queue membership, budget accounting, and security-domain placement
3470+ constraints.
3471+ - Task time budgets are decremented or explicitly documented as advisory until
3472+ preemption lands.
3473+ - Telemetry buffer-full behavior cannot stop scheduling. Noncritical telemetry
3474+ drops or overwrites records with a loss counter; security audit events use a
3475+ separate reserved channel with an explicit fail-open/fail-closed policy.
3476+ - OS-world trace emission targets zero allocation, zero locking, and zero copy
3477+ on the normal event path: per-core single-writer binary rings, read-only
3478+ collector mappings, sequence gaps, redaction at export, and user-space hash
3479+ chaining or Merkle aggregation for persistent tamper evidence.
3480+
3481+ Verification:
3482+
3483+ - Host tests prove invalid, stale, over-budget, or unavailable advice falls
3484+ back without blocking dispatch.
3485+ - Host tests prove a full noncritical telemetry buffer increments loss and does
3486+ not prevent task dispatch.
3487+ - Host tests prove advice cannot select an invalid core or migrate a task
3488+ outside allowed affinity/security-domain policy.
3489+ - QEMU smoke proves the scheduler continues with AI disabled, model timeout,
3490+ and telemetry loss counters.
3491+
3492+ Exit criteria:
3493+
3494+ - AI is a bounded proposal source, and deterministic scheduler safety does not
3495+ depend on model liveness or correctness.
3496+
32713497## Phase 15: Integration And 1.0 Hardening
32723498
32733499### v0.62.0 - QEMU Smoke Suite
0 commit comments