No description
  • Rust 69.2%
  • Shell 17.8%
  • Python 9.5%
  • Slint 3.2%
  • C 0.3%
Find a file
infinityabundance fb23672cb1 Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted
ui/close-during-transaction — the audit's explicit race-hunt mandate
('witnessing the oracle's actual crash behavior is race-hunting,
explicitly Phase 12's mandate') — now REPRODUCED and courted PASS on
fixture close-transaction (gui-integration stack + a transaction-aware
slow-pacman wrapper that keeps the transaction terminal in-flight 30s +
the packaged terminal-helper/rootshell staged at the packaged paths).

The court drives each side's PACKAGED binary through a REAL transaction
(toggle + Execute), closes the MAIN window mid-flight via WM_DELETE_WINDOW
(the same ClientMessage a WM sends — synthesized with ctypes X11, exact
title match), and validates the D-008 divergence expectations:
- ORACLE: SIGABRT rc=134 — closeEvent (km-window.cpp:327-338) releases
  the alpm handle and lets the app exit while the worker QThread is
  still blocked in the transaction (Qt: 'QThread: Destroyed while thread
  is still running');
- CANDIDATE: clean exit rc=0 — the transaction task is a runtime-owned
  detached thread; Effect::Close exits the event loop;
- the machine residuals match byte-for-byte: the close corrupts nothing
  on either side.

Also: the fixture baker now stages arbitrary payload files from the
fixture spec dir (payload-* in the chroot) so fixtures can install the
packaged helper scripts. Atlas (status + coverage-gaps gap-010 covered),
SECURITY.md (dispositions + the reproduced gap-010), COURTS.md,
KNOWN_DIVERGENCES.md (D-008 extended with the transaction-close witness)
updated; the audit-checklist dispositions table documents the full
Phase 12 hostile-review surface. Remaining Phase 12 work: D-001 (the
production narrow typed privilege helper + polkit shim — Phase 13
implementation) and the dependency audit.
2026-08-24 00:03:09 +01:00
.cargo Phase 6 complete: AUR lifecycle, build failure/cancellation courts, evidence publication — build subsystem SEALED 2026-08-22 08:26:10 +01:00
.github/workflows Phase 12: production-integration closure (ui/gui-drive PASS) + discovery/sort parity fixes 2026-08-23 21:51:42 +01:00
atlas Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
courts Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
crates Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
docs Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
evidence/releases Phase 7: SCX — typed org.scx.Loader client + 8 sched-ext courts, sealed 2026-08-22 09:15:33 +01:00
fixtures Phase 0/1/3 foundation: frozen oracle v1.19.0, forensic atlas, domain core 2026-08-21 16:40:40 +01:00
oracle Phase 10 part 1: packaging — PKGBUILD + file-layout + upgrade/revert courts PASS 2026-08-22 13:42:54 +01:00
packaging Phase 12: production-integration closure (ui/gui-drive PASS) + discovery/sort parity fixes 2026-08-23 21:51:42 +01:00
src Phase 12: production-integration closure (ui/gui-drive PASS) + discovery/sort parity fixes 2026-08-23 21:51:42 +01:00
tools Phase 12: production-integration closure (ui/gui-drive PASS) + discovery/sort parity fixes 2026-08-23 21:51:42 +01:00
vm Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
xtask Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00
.gitignore Phase 8 rendering: Slint port of the kernel-manager GUI 2026-08-23 15:45:24 +01:00
Cargo.lock Phase 8 rendering: Slint port of the kernel-manager GUI 2026-08-23 15:45:24 +01:00
Cargo.toml Phase 12: production-integration closure (ui/gui-drive PASS) + discovery/sort parity fixes 2026-08-23 21:51:42 +01:00
README.md Phase 12 hostile review: gap-010 close-during-transaction REPRODUCED + courted 2026-08-24 00:03:09 +01:00

cachyos-kernel-manager-rs

Native Rust + Slint custodial reimplementation of CachyOS Kernel Manager, built under the Forensic Residual Framework (FRF) methodology: behavior is proven by differential execution against the frozen upstream oracle in disposable VMs, and every discrepancy is treated as evidence.

The quality target: a skeptical CachyOS maintainer should be able to inspect this repository and see exactly why trusting the Rust implementation would be reasonable.

The shipped cachyos-kernel-manager binary is the Phase 8 Slint GUI (feature gui; gui-alpm adds the real libalpm discovery + the scx D-Bus client), rendered with winit + the winit-software renderer (SLINT_BACKEND=winit-software in the VM courts) so no GL/Vulkan is required. The foundation diagnostics remain behind --diagnose. Nothing beyond the sealed phases is claimed complete.

Status

phase scope status
0 Freeze authority sealed
1 Build atlas sealed
2 Oracle instrumentation sealed
3 Pure domain core sealed
4 ALPM layer sealed
5 Execution/privilege sealed
6 Build subsystem sealed
7 SCX sealed
8 Slint UI sealed
9 Full differential court matrix sealed
10 Packaging and migration sealed
11 Boot/system courts sealed
12 Hostile review in progress
13 Release evidence pending

Quick start

cargo build                     # builds the workspace (the GUI needs `--features gui`)
cargo build --features gui-alpm # the full Phase 8 GUI (real libalpm + scx dbus)
cargo test --workspace         # 167 unit/property tests over the reconstructed semantics
cargo test -p cachyos-kernel-manager-ui --features rendering --release  # + 35 GUI/i18n tests
cargo xtask oracle verify   # verifies the frozen source archive hash
cargo xtask oracle info     # prints the frozen authority record
cargo xtask court list      # lists court case directories
cargo xtask court run --all # runs the pure courts whose fixtures are present
cargo xtask court run <case> --vm  # differential VM court (real oracle GUI)
cargo xtask upstream diff <ref>  # diff locked oracle vs a candidate ref

What the oracle is (v1.19.0, frozen)

  • Qt6/C++23 app; libalpm authoritative for package state; pacman for transactions; polkit org.cachyos.KernelManager.pkexec.policy.run-root-terminal via an arbitrary-root-shell helper (rootshell.sh = exec /bin/bash "$@"); terminal-helper chain for interactive pacman/makepkg; TOML build config schema defined by an in-tree Rust crate (config-option-lib, cxxbridge); sched-ext UI from scxctl-ui; AUR kernels behind ENABLE_AUR_KERNELS.

Full archaeology: docs/UPSTREAM_ARCHAEOLOGY.md. Machine-readable surface inventory: atlas/inventory.json.

Repository layout

oracle/     frozen upstream clone + deterministic source archive + UPSTREAM.lock
atlas/      inventory.json, court ledger, residual ledger, coverage gaps
courts/     reproducible FRF parity-court case directories
crates/     layered workspace (core → plan/exec/build/config → ui; see docs/ARCHITECTURE.md)
docs/       the custodial documentation set
vm/         VM image definitions (Phase 2)
fixtures/   static fixture corpora (Phase 2+)
packaging/  Arch package (Phase 10)
xtask/      Rust-native orchestration

License

GPL-2.0-or-later (matching the upstream headers; note upstream ships GPLv3 text in its LICENSE while every source header says "version 2 or later" — recorded in the archaeology docs).