ggen-engine 26.10.11

SPARQL-in-Tera code generation engine (vendored, renamed from praxis/crates/ggen)
//! Noun-verb command modules for the `ggen` binary.
//!
//! GENERATED by `ggen sync` from `schema/praxis.ttl` (praxis:CliCommand
//! instances with `praxis:inCrate praxis:CrateGgen`). Do not edit by hand —
//! add a `CliCommand` instance to the ontology instead.
//!
//! Each file's stem is a CLI noun; each `#[verb]` fn inside is a verb under
//! that noun.

/// Hand-written handler implementations (not generated).
pub mod handlers;

pub mod doctor;
pub mod graph;
pub mod law;
pub mod receipt;
pub mod sync;
// ---------------------------------------------------------------------
// Noun `--help` descriptions, generated from each `praxis:CliCommand`
// instance's `praxis:nounAbout` (same value repeated per noun). clap-
// noun-verb's `#[verb]` macro can ALSO auto-scrape a noun's `about` text
// by re-reading its source file's `//!` doc comment from disk at runtime
// via a `file!()`-derived path — but that path only resolves when the
// process's current directory happens to be this repo checkout. Since
// `ggen` is invoked from arbitrary target-project directories, that
// scrape silently fails there and the noun `--help` line comes back
// blank. Registering here instead is robust regardless of working
// directory: `__NOUN_REGISTRY` entries all run before `__VERB_REGISTRY`
// entries at first access, and `CommandRegistry::register_noun` is
// first-writer-wins (`entry(..).or_insert_with(..)`), so this generated
// registration always wins over the macro's own runtime scrape attempt.
// ---------------------------------------------------------------------

#[linkme::distributed_slice(::clap_noun_verb::cli::registry::__NOUN_REGISTRY)]
static REGISTER_DOCTOR_NOUN: fn() = register_doctor_noun;
fn register_doctor_noun() {
    ::clap_noun_verb::cli::registry::CommandRegistry::register_noun(
        "doctor",
        "Check environment health: lockfile drift, orphaned artifacts, receipt staleness.",
    );
}

#[linkme::distributed_slice(::clap_noun_verb::cli::registry::__NOUN_REGISTRY)]
static REGISTER_GRAPH_NOUN: fn() = register_graph_noun;
fn register_graph_noun() {
    ::clap_noun_verb::cli::registry::CommandRegistry::register_noun(
        "graph",
        "Validate RDF/Turtle ontology graphs against praxis vocabulary constraints.",
    );
}

#[linkme::distributed_slice(::clap_noun_verb::cli::registry::__NOUN_REGISTRY)]
static REGISTER_LAW_NOUN: fn() = register_law_noun;
fn register_law_noun() {
    ::clap_noun_verb::cli::registry::CommandRegistry::register_noun(
        "law",
        "Law-state operations on the project graph: load rules, materialize, validate gates, explain derivations, export.",
    );
}

#[linkme::distributed_slice(::clap_noun_verb::cli::registry::__NOUN_REGISTRY)]
static REGISTER_RECEIPT_NOUN: fn() = register_receipt_noun;
fn register_receipt_noun() {
    ::clap_noun_verb::cli::registry::CommandRegistry::register_noun(
        "receipt",
        "Inspect and verify sync receipt chains (BLAKE3-hashed provenance log).",
    );
}

#[linkme::distributed_slice(::clap_noun_verb::cli::registry::__NOUN_REGISTRY)]
static REGISTER_SYNC_NOUN: fn() = register_sync_noun;
fn register_sync_noun() {
    ::clap_noun_verb::cli::registry::CommandRegistry::register_noun(
        "sync",
        "Run the ggen code-generation pipeline: resolve, enrich, extract, render, write.",
    );
}