CLAUDE.md — OZM · Nullfeld v1

Dieses Repo ist der SOT (Source of Truth) für den Rust core/client. Neue
Arbeit am Rust-Kern passiert hier, nicht in den alten Repos. Die alten
(Crumbmissions, CrumbQuestions_v0, DeployZero_v.0.0) bleiben als
historische Spur bestehen — nie patchen (README: „Quelle heilig, Ableitung
wächst"). Der Pi Zero ist die Brücke zu Gen 1+2, kein Ersatz.

Die zwei Rust-Kerne (eigenständige Cargo-Projekte, kein Workspace)

  • questions-core/ — Axum-Server (127.0.0.1:8788). Eigene, tiefe Regeln in
    questions-core/CLAUDE.md — vor Änderungen dort
    lesen.
    Kurz: Passkante-Gate zuerst, Scope im Backend, local-first RAG über
    wg0, unsafe_code = forbid, clippy::all = deny, Tests netzfrei.
  • missions-core/ — Zero-Runner/Client. receipt.rs bezeugt, No-Double-Effect.
    Bash-Missionsbaum liegt unter missions-bash/missions/ (nicht missions/).

Build / test (jedes Crate einzeln)

cd questions-core && cargo build && cargo clippy && cargo test   # 138 Tests, netzfrei
cd missions-core  && cargo clippy && cargo test                  # 30 Tests

Beide: edition 2024, release = LTO + strip + codegen-units=1.

Stolpersteine aus der Konsolidierung (Stand 2026-09-19)

  • Missions-Baum umbenannt: missions/ → missions-bash/missions/. Test-
    Fixtures wurden nachgezogen. Runtime-Default CRUMB_MISSIONS_ROOT=missions
    (relativ zum cwd) passt noch zum alten Layout — Deploy muss den Pfad setzen.
  • Deploy-Unit stale: missions-core/deploy/crumb-missions.service zeigt auf
    /home/sysop/Crumbmissions/missions (altes Repo). Bewusst nicht angefasst
    (alte Repos unantastbar); beim echten Deploy aus diesem SOT anpassen.
  • Die in questions-core/CLAUDE.md referenzierten Milestone-Docs heißen hier
    docs/questions-core_MILESTONE_REVIEW.md und
    docs/questions-core_BESTANDSAUFNAHME.md.

Arbeitssprache

Deutsch für Docs/Kommentare — beibehalten.