Skip to content

Alpha.13 parse Rust e2fsck Option exit status#30

Draft
Deadbytes101 wants to merge 6 commits into
fix/alpha12-state-fsck-autorepairfrom
fix/alpha13-state-e2fsck-option-exit
Draft

Alpha.13 parse Rust e2fsck Option exit status#30
Deadbytes101 wants to merge 6 commits into
fix/alpha12-state-fsck-autorepairfrom
fix/alpha13-state-e2fsck-option-exit

Conversation

@Deadbytes101

Copy link
Copy Markdown
Owner

Purpose

Fix the Alpha.12 physical failure tracked by #29 without weakening the verified USB-state repair boundary.

Alpha.12 contained the bounded e2fsck -f -y escalation, but the state core formatted the physical failure as e2fsck: exit Some(4) while the orchestrator only recognized e2fsck: exit 4. The repair path therefore never ran, state remained unavailable, and recovery credentials/SSH identity correctly stayed boot-scoped.

Changes

  • advance the next immutable artifact to 0.0.4-alpha.13
  • add a narrow e2fsck exit parser that recognizes both:
    • Python helper format: e2fsck: exit 4
    • Rust process-status format: e2fsck: exit Some(4)
  • route only parsed exit code 4 into the existing verified repair path
  • reject Some(8) and all other operational/usage/cancelled/library outcomes
  • reuse the parser in the preen-to-automatic-repair decision
  • retain current-boot USB attestation, exact PARTUUID, ext4 label, unmounted-device checks, revalidation, bounded commands, and fail-closed state behavior
  • add behavioral coverage for the exact physical message and the non-escalating Some(8) case
  • update source and exact-image artifact assertions for Alpha.13

Safety boundary

This patch does not broaden disk targeting. Automatic repair remains reachable only after verified current-boot USB state identity, only on the attested unmounted ext4 state partition, and only for parsed e2fsck exit code 4.

Stacked relationship

This draft is based on fix/alpha12-state-fsck-autorepair. It must remain unmerged until exact-head source verification, Alpha.13 exact-image verification, physical state recovery, password restoration across reboot, persistent SSH identity, configuration activation, and miner startup all pass.

Copy link
Copy Markdown
Owner Author

Implementation is now at exact head 4f82bab050038465831b620f8444361a2130d711.

Physical Alpha.12 evidence driving this patch:

  • exact core failure: e2fsck: exit Some(4)
  • state remained limited_capacity
  • /var/lib/rigos remained the live overlay
  • password remained boot-scoped and non-persistent
  • SSH identity remained ephemeral
  • profile and miner remained blocked

Alpha.13 implementation:

  • narrow parser accepts both e2fsck: exit 4 and e2fsck: exit Some(4)
  • only parsed exit code 4 enters the verified repair path
  • Some(8) and other outcomes do not escalate
  • parser is reused for both core-status routing and preen repair escalation
  • current-boot USB attestation, exact PARTUUID/ext4/label identity, unmounted-state checks, revalidation, and bounded commands remain mandatory
  • artifact version advanced to 0.0.4-alpha.13
  • source and exact-image assertions were updated

Source gate and exact-image build have not run yet. Keep this PR draft and unmerged.

Copy link
Copy Markdown
Owner Author

Alpha.13 exact-head WSL source verification passed at 4f82bab050038465831b620f8444361a2130d711 with a clean worktree.

Key evidence:

  • diagnostic SSH tests passed for both ephemeral and persistent identity modes
  • firstboot exact-image source contract advanced to Alpha.13
  • state recovery behavioral tests passed, including the exact physical e2fsck: exit Some(4) path and rejection of non-4 outcomes
  • all Rust unit/integration/doc tests passed
  • schema generation check passed
  • systemd ordering verification passed
  • main RIGOS verification passed
  • firstboot theme wrapper verification passed
  • final marker: RIGOS_WSL_SOURCE_GATE=PASS

Image build has not run yet. Keep PR draft and unmerged pending Alpha.13 exact-image and physical acceptance.

Copy link
Copy Markdown
Owner Author

Exact Alpha.13 image build and verification passed at immutable head 4f82bab050038465831b620f8444361a2130d711.

Artifact:

  • image: dist/usb/rigos-usb-amd64-0.0.4-alpha.13.img
  • SHA-256: 454b008c75a4b3e1634bf6081dfab352205b86b4e2b162838ecc7e160c44c154

Verified evidence:

  • exact head: PASS
  • clean worktree: PASS
  • USB appliance image gate: PASS
  • RandomX performance image gate: PASS
  • authenticated XMRig observer image gate: PASS
  • firstboot exact-image gate: PASS
  • state recovery and credential exact-image gate: PASS
  • artifact checksum: PASS
  • manifest source commit: PASS
  • manifest image version 0.0.4-alpha.13: PASS
  • manifest artifact SHA-256: PASS
  • wrapper exit status: clean success

Keep this PR draft, open, and unmerged. Physical acceptance is still required for verified ext4 repair, persistent /var/lib/rigos, recovery password restoration across reboot, stable SSH fingerprint, configuration activation, and miner startup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant