Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
386 commits
Select commit Hold shift + click to select a range
b437d02
verify jq inside appliance squashfs
Deadbytes101 Jul 7, 2026
1bfd02a
test jq appliance dependency contract
Deadbytes101 Jul 7, 2026
7321640
test missing jq fails before publication
Deadbytes101 Jul 7, 2026
e86c2a5
normalize appliance package list bytes
Deadbytes101 Jul 7, 2026
11471b9
test package list LF contract
Deadbytes101 Jul 7, 2026
2237945
enforce LF for RIGOS package manifest
Deadbytes101 Jul 7, 2026
926072a
add reversible RandomX MSR authority
Deadbytes101 Jul 7, 2026
3e41085
wire reversible RandomX MSR service
Deadbytes101 Jul 7, 2026
72a8725
order miner after RandomX MSR authority
Deadbytes101 Jul 7, 2026
dbb4c8e
make kmod an explicit MSR runtime dependency
Deadbytes101 Jul 7, 2026
edae33a
run MSR authority through packaged Python runtime
Deadbytes101 Jul 7, 2026
7425965
allow absent MSR device path before module load
Deadbytes101 Jul 7, 2026
12229b8
test reversible RandomX MSR authority
Deadbytes101 Jul 7, 2026
4d0363c
verify RandomX performance authority inside image
Deadbytes101 Jul 7, 2026
2c771ba
gate image build on RandomX authority tests
Deadbytes101 Jul 7, 2026
1489db7
use performance-gated image build entrypoint
Deadbytes101 Jul 7, 2026
60eb695
format RandomX MSR authority tests
Deadbytes101 Jul 7, 2026
528c4e4
preserve non-login builder entrypoint contract
Deadbytes101 Jul 7, 2026
afbda05
add RandomX MSR gate skeleton
Deadbytes101 Jul 7, 2026
ab77896
implement fail-closed RandomX MSR miner gate
Deadbytes101 Jul 7, 2026
2546994
run RandomX MSR gate without privileged hardware access
Deadbytes101 Jul 7, 2026
3b8d0f7
enforce RandomX MSR safety in existing miner gate
Deadbytes101 Jul 7, 2026
967a533
remove superseded standalone MSR gate
Deadbytes101 Jul 7, 2026
5340c49
test miner gate against RandomX MSR authority outcomes
Deadbytes101 Jul 7, 2026
5c5d62c
preserve synthetic miner-gate fixtures without weakening production M…
Deadbytes101 Jul 7, 2026
c84dee3
strengthen built-image RandomX authority verification
Deadbytes101 Jul 7, 2026
3b8f051
format MSR miner-gate denial assertion
Deadbytes101 Jul 8, 2026
810a1b0
enforce LF for USB version authority
Deadbytes101 Jul 8, 2026
4093cc9
read image version from exact Git blob
Deadbytes101 Jul 8, 2026
96ef72a
test exact Git version authority for performance build
Deadbytes101 Jul 8, 2026
cd5abcb
accept modular or built-in kernel MSR support
Deadbytes101 Jul 8, 2026
bb799c9
test modular and built-in kernel MSR image support
Deadbytes101 Jul 8, 2026
72d6b75
format kernel MSR verifier regression assertion
Deadbytes101 Jul 8, 2026
d85acbc
format kernel MSR verifier regression assertion
Deadbytes101 Jul 8, 2026
b0d50d9
fix pipefail false negative in MSR image verifier
Deadbytes101 Jul 8, 2026
abb7b4d
lock out quiet-grep pipefail false negatives
Deadbytes101 Jul 8, 2026
5281b25
run image verifier regression before USB build
Deadbytes101 Jul 8, 2026
c41c2ee
enable RandomX MSR authority in appliance image
Deadbytes101 Jul 8, 2026
de65630
test RandomX MSR authority image enablement
Deadbytes101 Jul 8, 2026
0cde0df
add persistent SSH host-key authority
Deadbytes101 Jul 8, 2026
6159763
wire persistent SSH host identity service
Deadbytes101 Jul 8, 2026
6f55ec1
point sshd at persistent host identity
Deadbytes101 Jul 8, 2026
15cb81b
make ssh require persistent host identity
Deadbytes101 Jul 8, 2026
1945ed7
extend state-ready ordering
Deadbytes101 Jul 8, 2026
169c086
enable persistent host-key authority in appliance
Deadbytes101 Jul 8, 2026
2ef593e
verify persistent host-key boot ordering
Deadbytes101 Jul 8, 2026
56cfbc6
use direct host-key authority entrypoint
Deadbytes101 Jul 8, 2026
940cdde
verify persistent SSH identity source contract
Deadbytes101 Jul 8, 2026
310d9d6
run SSH identity checks before image build
Deadbytes101 Jul 8, 2026
72d7df7
verify persistent SSH identity in exact image
Deadbytes101 Jul 8, 2026
546f929
correct host-key service entrypoint check
Deadbytes101 Jul 8, 2026
862d5b0
verify persistent SSH identity in appliance image
Deadbytes101 Jul 8, 2026
f473c2f
add loopback-only authenticated XMRig API authority
Deadbytes101 Jul 8, 2026
eb24ace
replace journal-only miner health with authenticated XMRig API evidence
Deadbytes101 Jul 8, 2026
3e0d64b
allow miner observer to query loopback XMRig API only
Deadbytes101 Jul 8, 2026
fdd43b7
test authenticated XMRig API health evidence
Deadbytes101 Jul 8, 2026
c89b2cb
run authenticated miner observer regression before image build
Deadbytes101 Jul 8, 2026
c1301af
add exact-image verifier for authenticated miner telemetry
Deadbytes101 Jul 8, 2026
adeb6fa
gate image build on authenticated miner observer verifier
Deadbytes101 Jul 8, 2026
943dbb3
keep xmrig api token outside render staging
Deadbytes101 Jul 8, 2026
db5da19
wire persistent xmrig api token authority
Deadbytes101 Jul 8, 2026
a995812
test runtime token publication across staging cleanup
Deadbytes101 Jul 8, 2026
4bfc023
gate image build on token publication regression
Deadbytes101 Jul 8, 2026
898aece
verify token publication in exact image
Deadbytes101 Jul 8, 2026
c6a4c50
derive pool connectivity from active connection evidence
Deadbytes101 Jul 8, 2026
9c49e02
test stale pool connection classification
Deadbytes101 Jul 8, 2026
885e427
gate build on active pool classification regression
Deadbytes101 Jul 8, 2026
b28e99b
verify active pool evidence in exact image
Deadbytes101 Jul 8, 2026
d593f81
require active pool before api ready state
Deadbytes101 Jul 8, 2026
2ebb4d0
test disconnected historical hashrate classification
Deadbytes101 Jul 8, 2026
13ce9f7
behaviorally verify observer state truth in image
Deadbytes101 Jul 8, 2026
2b67a29
classify journal fallback from latest evidence
Deadbytes101 Jul 8, 2026
f3e2c55
test ordered journal fallback evidence
Deadbytes101 Jul 8, 2026
3438768
gate build on ordered journal evidence regression
Deadbytes101 Jul 8, 2026
114bdcd
verify ordered journal fallback in exact image
Deadbytes101 Jul 8, 2026
432f9bc
use current 10 second hashrate as ready authority
Deadbytes101 Jul 8, 2026
715a08e
test current hashrate readiness authority
Deadbytes101 Jul 8, 2026
24f65b4
verify current hashrate authority in exact image
Deadbytes101 Jul 8, 2026
ba47ba1
fail closed on api authority errors
Deadbytes101 Jul 8, 2026
56ee101
test fail closed api authority errors
Deadbytes101 Jul 8, 2026
a5ad30f
gate build on api authority error regression
Deadbytes101 Jul 8, 2026
b50be0d
verify api authority errors fail closed in image
Deadbytes101 Jul 8, 2026
14ed885
add authoritative miner observer source gate
Deadbytes101 Jul 8, 2026
0f952cf
keep observer authority test clippy clean cross platform
Deadbytes101 Jul 8, 2026
5d3c1c9
run authoritative observer gate before image build
Deadbytes101 Jul 8, 2026
3a7a746
verify observer source gate is build mandatory
Deadbytes101 Jul 8, 2026
f88460a
reject fractional api counters
Deadbytes101 Jul 8, 2026
1155a5f
test strict xmrig api counter schema
Deadbytes101 Jul 8, 2026
45a411e
gate build on strict api schema regression
Deadbytes101 Jul 8, 2026
ad9f1c2
include strict api schema in observer authority
Deadbytes101 Jul 8, 2026
06caba5
verify strict api counter schema in image
Deadbytes101 Jul 8, 2026
13d4404
require integer uptime evidence
Deadbytes101 Jul 8, 2026
bdb2c28
test strict uptime schema
Deadbytes101 Jul 8, 2026
87839f0
verify strict uptime authority in image
Deadbytes101 Jul 8, 2026
55fec76
gate miner stability integration on unix
Deadbytes101 Jul 8, 2026
affbf57
gate runtime publication integration on unix
Deadbytes101 Jul 8, 2026
5df80c0
avoid windows-only unused permissions warning
Deadbytes101 Jul 8, 2026
201fa37
guard unix integration platform gates
Deadbytes101 Jul 8, 2026
27421dc
gate RandomX MSR integration on unix
Deadbytes101 Jul 8, 2026
12f6475
guard RandomX MSR Unix platform gate
Deadbytes101 Jul 8, 2026
b28aeee
document Windows and Linux source gate separation
Deadbytes101 Jul 8, 2026
f460391
format miner observer authority test
Deadbytes101 Jul 8, 2026
4b92ee9
add fail-closed WSL source gate launcher
Deadbytes101 Jul 8, 2026
9cc5d0a
test WSL source gate launcher contract
Deadbytes101 Jul 8, 2026
524eafb
document fail-closed WSL source verification
Deadbytes101 Jul 8, 2026
cd4d422
harden WSL source gate prerequisite checks
Deadbytes101 Jul 8, 2026
b0d6f2f
lock WSL tool and Rust component preflight
Deadbytes101 Jul 8, 2026
e0deca8
document complete WSL prerequisite preflight
Deadbytes101 Jul 8, 2026
f14d9ae
fix PowerShell script root resolution
Deadbytes101 Jul 8, 2026
d9d0da6
resolve observer test repository root at runtime
Deadbytes101 Jul 8, 2026
a867e35
make WSL launcher test relocation-safe
Deadbytes101 Jul 8, 2026
1c4097d
fix observer relocation regression assertion
Deadbytes101 Jul 8, 2026
8060bb3
fix WSL relocation regression assertion
Deadbytes101 Jul 8, 2026
568135e
preserve Windows paths across WSL transport
Deadbytes101 Jul 8, 2026
01b35d4
guard raw Windows path transport into WSL
Deadbytes101 Jul 8, 2026
b81f7c6
format relocation-safe observer authority test
Deadbytes101 Jul 8, 2026
64a16f8
add WSL source gate entrypoint
Deadbytes101 Jul 8, 2026
b4c2c21
use file entrypoint for WSL source gate
Deadbytes101 Jul 8, 2026
03df37b
test file-based WSL source gate transport
Deadbytes101 Jul 8, 2026
c11a15f
document file-based WSL gate transport
Deadbytes101 Jul 8, 2026
6aee41f
make state-ready ordering test semantic
Deadbytes101 Jul 8, 2026
cf2b95b
test exact runtime HTTP authority
Deadbytes101 Jul 8, 2026
a3bb28a
exercise miner stability through authenticated API
Deadbytes101 Jul 8, 2026
9e73cb7
isolate WSL Python bytecode artifacts
Deadbytes101 Jul 8, 2026
d0a041c
ignore Python bytecode artifacts
Deadbytes101 Jul 8, 2026
407d555
guard WSL pycache isolation
Deadbytes101 Jul 8, 2026
cb9e882
format authenticated miner stability integration
Deadbytes101 Jul 8, 2026
01a0840
lock lifecycle scripts to LF
Deadbytes101 Jul 8, 2026
695bbcd
mark lifecycle script LF contract
Deadbytes101 Jul 8, 2026
8741c9d
cover lifecycle LF and POSIX syntax
Deadbytes101 Jul 8, 2026
2b98c52
remove obsolete checkout literal from WSL gate test
Deadbytes101 Jul 8, 2026
4c8b4ac
remove obsolete namespace from Windows source gate docs
Deadbytes101 Jul 8, 2026
c239e9d
add token-aware runtime dependency scanner
Deadbytes101 Jul 8, 2026
d5ad663
test token-aware runtime dependency scan
Deadbytes101 Jul 8, 2026
ec2ce30
use token-aware runtime dependency scanner
Deadbytes101 Jul 8, 2026
01bf2c1
format runtime dependency scanner test
Deadbytes101 Jul 8, 2026
1ffb9be
execute runtime dependency scanner directly in tests
Deadbytes101 Jul 8, 2026
527fdbd
separate scanner from dependency scan fixture
Deadbytes101 Jul 8, 2026
713ce16
Add 2009-style firstboot whiptail wrapper
Deadbytes101 Jul 8, 2026
13220fc
Wire firstboot console theme
Deadbytes101 Jul 8, 2026
bf9890c
Install firstboot theme wrapper as executable
Deadbytes101 Jul 8, 2026
44a8b68
Add firstboot console theme wiring tests
Deadbytes101 Jul 8, 2026
7030f3b
Harden firstboot theme backend execution
Deadbytes101 Jul 9, 2026
47f10f2
Update theme tests for backend hardening
Deadbytes101 Jul 9, 2026
b98e9e5
Add behavioral firstboot theme wrapper test
Deadbytes101 Jul 9, 2026
2dc0b51
Add local firstboot theme preview harness
Deadbytes101 Jul 9, 2026
3b868af
Add authoritative Linux source gate workflow
Deadbytes101 Jul 9, 2026
6bc5f60
Expand firstboot theme preview modes
Deadbytes101 Jul 9, 2026
1752ab0
Add read-only firstboot theme preview contracts
Deadbytes101 Jul 9, 2026
490d139
Document firstboot console theme contract
Deadbytes101 Jul 9, 2026
777b48e
Enforce LF for firstboot runtime scripts
Deadbytes101 Jul 9, 2026
6394d1a
Format firstboot theme tests
Deadbytes101 Jul 9, 2026
5359482
Lock firstboot wrapper LF contract in tests
Deadbytes101 Jul 9, 2026
8f9c3c7
Remove synthetic separators from firstboot theme
Deadbytes101 Jul 9, 2026
ba758be
Use plain setup utility backtitle
Deadbytes101 Jul 9, 2026
aa5b548
Make firstboot preview read like a real setup utility
Deadbytes101 Jul 9, 2026
6aa4fb0
Format theme tests and ban slash separators
Deadbytes101 Jul 9, 2026
b3900e2
Ban slash separators from theme previews
Deadbytes101 Jul 9, 2026
f2660f6
Match firstboot theme tests to rustfmt output
Deadbytes101 Jul 9, 2026
951b950
Move firstboot wrapper behavior out of Rust crate tests
Deadbytes101 Jul 9, 2026
2524971
Add shell behavioral verification for firstboot theme wrapper
Deadbytes101 Jul 9, 2026
e9f1bbe
Run firstboot wrapper behavior in authoritative WSL gate
Deadbytes101 Jul 9, 2026
fdce587
Lock wrapper behavior verification into WSL authority
Deadbytes101 Jul 9, 2026
cf5aed5
Keep firstboot reachable when state readiness fails
Deadbytes101 Jul 9, 2026
0426dd8
Test firstboot diagnostics survive state readiness failure
Deadbytes101 Jul 9, 2026
8b80006
Add exact-image gate for firstboot configuration path
Deadbytes101 Jul 9, 2026
a8ca616
Require firstboot source and exact-image gates during builds
Deadbytes101 Jul 9, 2026
6e73580
Advance image version for firstboot recovery fix
Deadbytes101 Jul 9, 2026
f40a895
Lock alpha9 firstboot image gate into source tests
Deadbytes101 Jul 9, 2026
ea64633
Verify firstboot remains reachable after state failure
Deadbytes101 Jul 9, 2026
b0965f7
Require jq in WSL source-gate preflight
Deadbytes101 Jul 10, 2026
79e769b
Lock jq source-gate dependency into tests
Deadbytes101 Jul 10, 2026
5c8d2d3
Advance diagnostic SSH image to alpha.10
Deadbytes101 Jul 10, 2026
32ce9e9
Allow SSH host identity fallback without ready state
Deadbytes101 Jul 10, 2026
c567bed
Use runtime-published SSH host identity for diagnostics
Deadbytes101 Jul 10, 2026
0a1aa89
Add boot-scoped SSH host identity fallback
Deadbytes101 Jul 10, 2026
e6a1c13
Advance firstboot image gate assertions to alpha.10
Deadbytes101 Jul 10, 2026
e4dd778
Test diagnostic SSH host identity fallback
Deadbytes101 Jul 10, 2026
48660f4
Verify diagnostic SSH fallback in appliance image
Deadbytes101 Jul 10, 2026
02c6552
Verify diagnostic SSH fallback with RandomX image gate
Deadbytes101 Jul 10, 2026
0e32650
Allow diagnostic SSH after failed state readiness
Deadbytes101 Jul 10, 2026
ee88090
Verify alpha.10 diagnostic SSH host-key fallback
Deadbytes101 Jul 10, 2026
1f2981c
Gate alpha.10 image builds on diagnostic SSH tests
Deadbytes101 Jul 10, 2026
33e02e2
Format diagnostic SSH tests
Deadbytes101 Jul 10, 2026
f3779e3
alpha11: advance immutable image version
Deadbytes101 Jul 10, 2026
3a6b7e6
alpha11: recover bounded resize2fs timeout truthfully
Deadbytes101 Jul 10, 2026
11e4ddf
alpha11: allow bounded USB filesystem recovery window
Deadbytes101 Jul 10, 2026
cabee4b
alpha11: make recovery credential persistence truthful
Deadbytes101 Jul 10, 2026
0b51a4d
alpha11: accept explicit boot-scoped recovery credentials
Deadbytes101 Jul 10, 2026
353d750
alpha11: test persistent and boot-scoped recovery gates
Deadbytes101 Jul 10, 2026
c6e631a
alpha11: test truthful recovery credential persistence
Deadbytes101 Jul 10, 2026
30f1e24
alpha11: verify truthful recovery credential scope
Deadbytes101 Jul 10, 2026
7120fb5
alpha11: advance diagnostic SSH image contract
Deadbytes101 Jul 10, 2026
69e15e1
alpha11: advance exact-image gate contract
Deadbytes101 Jul 10, 2026
9b58f25
alpha11: add state resize recovery regression tests
Deadbytes101 Jul 10, 2026
5209a84
alpha11: gate state resize and recovery credential paths
Deadbytes101 Jul 10, 2026
7872316
alpha11: add exact-image state recovery verifier
Deadbytes101 Jul 10, 2026
a983bca
alpha11: run exact-image state recovery gate
Deadbytes101 Jul 10, 2026
76b4a12
alpha11: lock exact-image state recovery contract
Deadbytes101 Jul 10, 2026
194b1ad
alpha11: check recovery gate as interpreted Python source
Deadbytes101 Jul 10, 2026
5794192
alpha11: rustfmt recovery gate test
Deadbytes101 Jul 10, 2026
c8775ae
alpha11: rustfmt state resize recovery test
Deadbytes101 Jul 10, 2026
6a11d1c
alpha11: recover e2fsck and repeated resize timeouts truthfully
Deadbytes101 Jul 10, 2026
b3737de
Format alpha11 recovery gate test
Deadbytes101 Jul 10, 2026
5d9e5b2
Format alpha11 state recovery test
Deadbytes101 Jul 10, 2026
15f1a2c
Fix alpha11 recovery message verifier contract
Deadbytes101 Jul 10, 2026
df844ea
fix(state): repair preen exit 4 on verified USB state
Deadbytes101 Jul 10, 2026
c4ff273
fix(state): allow bounded full repair window
Deadbytes101 Jul 10, 2026
76be5e8
build: advance immutable artifact to alpha.12
Deadbytes101 Jul 10, 2026
b29970e
test(state): cover bounded e2fsck exit 4 escalation
Deadbytes101 Jul 10, 2026
05cebd4
test(image): require alpha.12 verified fsck escalation
Deadbytes101 Jul 10, 2026
fa0db7f
test(firstboot): advance exact image assertions to alpha.12
Deadbytes101 Jul 10, 2026
0d28c3a
fix(state): route core e2fsck exit 4 into verified repair
Deadbytes101 Jul 10, 2026
7fc073a
test(state): prove core exit 4 reaches verified repair
Deadbytes101 Jul 10, 2026
55dfd22
test(image): require core exit 4 routing
Deadbytes101 Jul 10, 2026
5af491d
tests: update diagnostic SSH release assertions for alpha12
Deadbytes101 Jul 10, 2026
ab829ba
fix(state): parse Rust e2fsck Option exit status
Deadbytes101 Jul 10, 2026
570a937
test(state): cover Rust Some(4) exit formatting
Deadbytes101 Jul 10, 2026
1412959
verify(image): require Alpha.13 e2fsck exit parser
Deadbytes101 Jul 10, 2026
7af2fa4
build: advance USB artifact to Alpha.13
Deadbytes101 Jul 10, 2026
1c5c02a
test(ssh): align artifact assertions with Alpha.13
Deadbytes101 Jul 10, 2026
4f82bab
test(firstboot): align image gate with Alpha.13
Deadbytes101 Jul 10, 2026
998321d
state: verify attested path when PARTUUID link is absent
Deadbytes101 Jul 10, 2026
7145fd5
release: advance USB artifact to alpha.14
Deadbytes101 Jul 10, 2026
61474d1
test: advance diagnostic SSH assertions to alpha.14
Deadbytes101 Jul 10, 2026
bcb9d76
test: advance firstboot image authority to alpha.14
Deadbytes101 Jul 10, 2026
666719c
test: cover verified attested-path fallback and substitution rejection
Deadbytes101 Jul 10, 2026
3762791
verify: assert alpha.14 attested-path recovery boundary
Deadbytes101 Jul 10, 2026
48ad861
state harden filesystem identity transaction
Deadbytes101 Jul 10, 2026
5487da3
verify accept state timeout binary evidence
Deadbytes101 Jul 11, 2026
dd2b9f7
verify avoid formatted timeout strings
Deadbytes101 Jul 11, 2026
4453ac7
verify rely on source transaction gate
Deadbytes101 Jul 11, 2026
f936476
docs add RIGOS finalization plan
Deadbytes101 Jul 11, 2026
787b267
boot polish quiet console handoff
Deadbytes101 Jul 11, 2026
61a3c84
build advance boot polish to alpha16
Deadbytes101 Jul 11, 2026
dc05b35
ui add Alpha17 deadbyte utility
Deadbytes101 Jul 11, 2026
eee06e8
build fix Alpha17 theme source path
Deadbytes101 Jul 11, 2026
a833029
theme make Alpha17 boot menu retro
Deadbytes101 Jul 11, 2026
ac8c224
theme harden retro GRUB assets
Deadbytes101 Jul 11, 2026
5350ef3
build bump USB appliance to Alpha18
Deadbytes101 Jul 11, 2026
88190b6
password fix tty rendering
Deadbytes101 Jul 11, 2026
b44d4d2
build bump USB appliance to Alpha19
Deadbytes101 Jul 11, 2026
6bdec2b
password adapt retro tty layout for alpha20
Deadbytes101 Jul 11, 2026
166b988
boot add local utility mode for alpha20
Deadbytes101 Jul 11, 2026
976af98
password apply setup console font for alpha20
Deadbytes101 Jul 11, 2026
10c710a
build fix alpha21 physical defects
Deadbytes101 Jul 11, 2026
d17ca53
build fix alpha22 firstboot utility transaction
Deadbytes101 Jul 12, 2026
c574863
hardening add alpha23 miner self healing
Deadbytes101 Jul 12, 2026
5d42a79
hardening fix miner health namespace
Deadbytes101 Jul 12, 2026
ba02eb7
hardening add short rig operator command
Deadbytes101 Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,7 +1,27 @@
* text=auto
/.gitattributes text eol=lf
*.sh text eol=lf
*.py text eol=lf
*.rs text eol=lf
*.toml text eol=lf
*.json text eol=lf
*.md text eol=lf
*.service text eol=lf
*.timer text eol=lf
*.conf text eol=lf
*.ps1 text eol=crlf

build/usb/version.env text eol=lf
build/usb/hooks/* text eol=lf
build/usb/bootloaders/** text eol=lf
build/usb/package-lists/rigos.list.chroot text eol=lf
build/usb/includes.chroot/usr/local/bin/* text eol=lf
build/usb/includes.chroot/usr/local/sbin/rigos-* text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-firstboot-* text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-randomx-msr text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-runtime-* text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-miner-* text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-remote-* text eol=lf
build/usb/includes.chroot/usr/lib/rigos/rigos-lifecycle-* text eol=lf
build/usb/grub-theme/** text eol=lf
build/usb/grub-theme/**/*.png -text
60 changes: 60 additions & 0 deletions .github/workflows/source-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: RIGOS Source Gate

on:
pull_request:
branches:
- performance/randomx-sustained-hash
- stability/hive-exit-gates
workflow_dispatch:

permissions:
contents: read

concurrency:
group: source-gate-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
verify:
name: Authoritative Linux source verification
runs-on: ubuntu-24.04
timeout-minutes: 45

steps:
- name: Check out exact pull-request head
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Install required host tools
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install --yes --no-install-recommends ripgrep

- name: Install locked Rust toolchain
run: |
set -euo pipefail
rustup toolchain install 1.85.1 \
--profile minimal \
--component rustfmt \
--component clippy
rustup override set 1.85.1
rustc --version
cargo --version
cargo fmt --version
cargo clippy --version

- name: Run authoritative RIGOS source gate
env:
CARGO_TERM_COLOR: always
run: |
set -euo pipefail
bash ./scripts/verify-wsl-entrypoint.sh "$GITHUB_WORKSPACE"

- name: Record exact verified revision
if: always()
run: |
set -euo pipefail
printf 'RIGOS_VERIFIED_HEAD=%s\n' "$(git rev-parse HEAD)"
git status --short
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@
*.age.partial
*.pem
*.key
__pycache__/
*.py[cod]
13 changes: 13 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ members = [
"crates/rigos-pool",
"crates/rigos-state",
"crates/rigos-config",
"crates/rigos-performance",
]
resolver = "2"

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Local-first CPU appliance delivered as a bootable USB image.

Current development preview is `RIGOS 0.0.4-alpha.5`.
Current development preview is `RIGOS 0.0.4-alpha.6`.

The persistent appliance uses a raw MBR disk image for Legacy BIOS and removable-media UEFI boot.

Expand All @@ -23,9 +23,11 @@ The recovery ISO is stateless and does not grow the state partition.
0.0.4-alpha.3 fixed console order but kept the first boot screen hidden
0.0.4-alpha.4 keeps the first boot screen on tty and captures answers separately
0.0.4-alpha.5 adds local rig profiles and portable XMRig Flight Sheets
0.0.4-alpha.6 adds visible machine-wide huge page authority
```

Alpha five is isolated on its development branch. Alpha four physical state validation remains separate.
Alpha five is frozen at its physically validated image and Alpha six develops
performance authority on a separate branch.

## Verification

Expand Down
8 changes: 7 additions & 1 deletion build/usb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,11 @@ RUN apt-get update \
ripgrep rsync squashfs-tools syslinux-common syslinux-utils udev uuid-runtime xorriso zstd \
&& rm -rf /var/lib/apt/lists/*

ENV PATH="/usr/local/cargo/bin:/usr/local/rustup/bin:${PATH}"

RUN command -v cargo \
&& cargo --version \
&& rustc --version

WORKDIR /source
ENTRYPOINT ["./scripts/build-usb-image.sh"]
ENTRYPOINT ["/bin/bash", "-c", "exec /bin/bash ./scripts/build-usb-image-entrypoint.sh"]
2 changes: 1 addition & 1 deletion build/usb/bootloaders/grub-pc/live-theme/theme.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
title-color: "#ffffff"
title-font: "Unifont Regular 16"
title-text: "RIGOS Recovery 0.0.4-alpha.5 - Stateless Diagnostics"
title-text: "RIGOS Recovery"
message-font: "Unifont Regular 16"
terminal-font: "Unifont Regular 16"

Expand Down
4 changes: 2 additions & 2 deletions build/usb/bootloaders/syslinux_common/live.cfg.in
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
label rigos-@FLAVOUR@
menu label ^RIGOS Recovery 0.0.4-alpha.5
menu label ^RIGOS Recovery
menu default
linux @LINUX@
initrd @INITRD@
append @APPEND_LIVE@

label rigos-@FLAVOUR@-failsafe
menu label RIGOS Recovery 0.0.4-alpha.5 -- ^safe mode
menu label RIGOS Recovery (^Safe Mode)
linux @LINUX@
initrd @INITRD@
append @APPEND_LIVE_FAILSAFE@
Binary file added build/usb/grub-theme/rigos/select_c.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_e.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_n.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_ne.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_nw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_se.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_sw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/usb/grub-theme/rigos/select_w.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
112 changes: 112 additions & 0 deletions build/usb/grub-theme/rigos/theme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
desktop-color: "#00040a"
title-color: "#00ff66"
title-font: "Unifont Regular 16"
title-text: "RIGOS"
message-font: "Unifont Regular 16"
terminal-font: "Unifont Regular 16"

+ label {
top = 9%
left = 8%
width = 84%
height = 24
text = "+--------------------------------------------------------------+"
color = "#008f39"
font = "Unifont Regular 16"
align = "center"
}

+ label {
top = 13%
left = 8%
width = 84%
height = 24
text = "| RIGOS DEADBYTE UTILITY BIOS |"
color = "#00ff66"
font = "Unifont Regular 16"
align = "center"
}

+ label {
top = 17%
left = 8%
width = 84%
height = 24
text = "| USB COMPUTE APPLIANCE 0.0.4-alpha.25 ALPHA CHANNEL |"
color = "#ffcc33"
font = "Unifont Regular 16"
align = "center"
}

+ label {
top = 21%
left = 8%
width = 84%
height = 24
text = "+--------------------------------------------------------------+"
color = "#008f39"
font = "Unifont Regular 16"
align = "center"
}

+ label {
top = 31%
left = 8%
width = 84%
height = 24
text = "SELECT BOOT TARGET // LOCAL CONTROL"
color = "#ff66cc"
font = "Unifont Regular 16"
align = "left"
}

+ boot_menu {
left = 12%
width = 76%
top = 37%
height = 28%
item_color = "#00ff66"
item_font = "Unifont Regular 16"
selected_item_color = "#00040a"
selected_item_font = "Unifont Regular 16"
selected_item_pixmap_style = "select_*.png"
item_height = 26
item_padding = 4
item_spacing = 5
}

+ label {
top = 72%
left = 8%
width = 84%
height = 24
text = "STATUS READY MEDIA USB MODE LOCAL STYLE RETRO"
color = "#00bfff"
font = "Unifont Regular 16"
align = "left"
}

+ label {
top = 82%
left = 8%
width = 84%
height = 24
text = "[ ENTER BOOT ] [ E EDIT ] [ C CONSOLE ]"
color = "#ffcc33"
font = "Unifont Regular 16"
align = "center"
}

+ progress_bar {
id = "__timeout__"
left = 14%
top = 88%
height = 12
width = 72%
font = "Unifont Regular 16"
text_color = "#000000"
fg_color = "#00ff66"
bg_color = "#001018"
border_color = "#008f39"
text = "@TIMEOUT_NOTIFICATION_SHORT@"
}
11 changes: 7 additions & 4 deletions build/usb/hooks/010-rigos.chroot
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ set -eu
useradd --system --home-dir /var/lib/rigos --shell /usr/sbin/nologin --user-group rigos
useradd --create-home --shell /bin/bash --groups sudo rigosadmin
passwd --lock rigosadmin
install -d -o rigos -g rigos -m 0750 /var/lib/rigos /run/rigos
install -d -m 0755 /usr/lib/rigos
install -d -o root -g rigos -m 0750 /var/lib/rigos
install -d -m 0755 /usr/lib/rigos /usr/local/bin
systemd-tmpfiles --create /usr/lib/tmpfiles.d/rigos.conf

chmod 0755 /usr/local/sbin/rigos-firstboot /usr/lib/rigos/rigos-state-init /usr/lib/rigos/rigos-config /usr/lib/rigos/xmrig
systemctl enable NetworkManager.service rigos-state.service rigos-profile-apply.service rigos-firstboot.service rigos-miner.service tmp.mount
rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub
chmod 0755 /usr/local/bin/rig /usr/local/bin/rigosd /usr/local/bin/rigosctl /usr/local/sbin/rigos-firstboot /usr/local/sbin/rigos-recovery-access /usr/local/sbin/rigos-state-orchestrate /usr/local/sbin/rigos-utility /usr/lib/rigos/rigos-admin-password /usr/lib/rigos/rigos-firstboot-whiptail /usr/lib/rigos/rigos-miner-gate /usr/lib/rigos/rigos-miner-health /usr/lib/rigos/rigos-runtime-render /usr/lib/rigos/rigos-runtime-publish /usr/lib/rigos/rigos-runtime-gate /usr/lib/rigos/rigos-randomx-msr /usr/lib/rigos/rigos-ssh-hostkeys /usr/lib/rigos/rigos-state-init /usr/lib/rigos/rigos-state-ready /usr/lib/rigos/rigos-config /usr/lib/rigos/rigos-performance /usr/lib/rigos/rigos-lifecycle-cycles /usr/lib/rigos/rigos-identity-seed /usr/lib/rigos/xmrig
systemctl enable NetworkManager.service ssh.service rigos-state.service rigos-recovery-access.service rigos-state-ready.service rigos-ssh-hostkeys.service rigos-profile-apply.service rigos-runtime-render.service rigos-hugepages.service rigos-firstboot.service rigos-boot-utility.service rigos-randomx-msr.service rigos-miner.service rigos-miner-health.timer tmp.mount
systemctl disable ssh.socket 2>/dev/null || true
systemctl disable apt-daily.timer apt-daily-upgrade.timer logrotate.timer fstrim.timer 2>/dev/null || true
systemctl disable systemd-journald-audit.socket 2>/dev/null || true

Expand Down
12 changes: 12 additions & 0 deletions build/usb/includes.chroot/etc/ssh/sshd_config.d/00-rigos.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
PasswordAuthentication yes
KbdInteractiveAuthentication no
UsePAM yes
AuthenticationMethods any
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers rigosadmin
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no
PermitTunnel no
GatewayPorts no
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
HostKey /run/rigos/ssh-hostkeys/ssh_host_ed25519_key
PasswordAuthentication yes
PermitRootLogin no
AllowUsers rigosadmin
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[Unit]
Wants=rigos-firstboot.service
After=rigos-firstboot.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[Unit]
Description=RIGOS local boot utility console
ConditionKernelCommandLine=rigos.utility=1
After=rigos-recovery-access.service rigos-state-ready.service
Wants=rigos-recovery-access.service rigos-state-ready.service
Before=getty@tty1.service

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/rigos-utility
StandardInput=tty-force
StandardOutput=tty
StandardError=journal
TTYPath=/dev/tty1
TTYReset=yes
TTYVTDisallocate=yes
RemainAfterExit=no

[Install]
WantedBy=multi-user.target
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
[Unit]
Description=RIGOS first-boot configuration
After=network-online.target rigos-state.service rigos-profile-apply.service
Wants=network-online.target
Requires=rigos-state.service
ConditionKernelCommandLine=!rigos.utility=1
After=rigos-state.service rigos-state-ready.service
Wants=rigos-state-ready.service
Before=getty@tty1.service
ConditionPathExists=!/var/lib/rigos/policy.json

[Service]
Type=oneshot
ExecCondition=/usr/lib/rigos/rigos-config needs-activation
ExecStart=/usr/local/sbin/rigos-firstboot
StandardInput=tty
StandardInput=tty-force
StandardOutput=tty
StandardError=tty
StandardError=journal
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes

[Install]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[Service]
Environment=RIGOS_WHIPTAIL=/usr/lib/rigos/rigos-firstboot-whiptail
Environment="RIGOS_FIRSTBOOT_BACKTITLE=RIGOS SETUP UTILITY LOCAL NODE CONFIGURATION"
Loading