[package]
edition = "2021"
rust-version = "1.82"
name = "ggen-engine"
version = "26.10.11"
authors = ["Sean Chatman <xpointsh@gmail.com>"]
build = "build.rs"
exclude = [
"/.github",
"/fixtures",
"/docs",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SPARQL-in-Tera code generation engine (vendored, renamed from praxis/crates/ggen)"
homepage = "https://github.com/seanchatmangpt/ggen"
readme = "README.md"
keywords = [
"codegen",
"rdf",
"sparql",
"tera",
]
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/seanchatmangpt/ggen"
[features]
default = []
mcp = [
"dep:rmcp",
"dep:rmcp-macros",
"dep:tokio",
]
repl = ["dep:rustyline"]
[lib]
name = "ggen_engine"
path = "src/lib.rs"
[[bin]]
name = "dod"
path = "src/bin/dod.rs"
[[bin]]
name = "mcp_server"
path = "src/bin/mcp_server.rs"
required-features = ["mcp"]
[[test]]
name = "abb_sbb_datalog_admission_e2e"
path = "tests/abb_sbb_datalog_admission_e2e.rs"
[[test]]
name = "annotated_pack_sync_smoke"
path = "tests/annotated_pack_sync_smoke.rs"
[[test]]
name = "autofde_execution_profile_pack_e2e"
path = "tests/autofde_execution_profile_pack_e2e.rs"
[[test]]
name = "book_gap_closure_e2e"
path = "tests/book_gap_closure_e2e.rs"
[[test]]
name = "build_provenance_test"
path = "tests/build_provenance_test.rs"
[[test]]
name = "capability_topology_exp"
path = "tests/capability_topology_exp.rs"
[[test]]
name = "ci_g0_inventory_e2e"
path = "tests/ci_g0_inventory_e2e.rs"
[[test]]
name = "cli_boundary"
path = "tests/cli_boundary.rs"
[[test]]
name = "cli_read_only_invariant_matrix"
path = "tests/cli_read_only_invariant_matrix.rs"
[[test]]
name = "combinatorial_matrix"
path = "tests/combinatorial_matrix.rs"
[[test]]
name = "composed_packs_e2e"
path = "tests/composed_packs_e2e.rs"
[[test]]
name = "config_schema_dispatch_e2e"
path = "tests/config_schema_dispatch_e2e.rs"
[[test]]
name = "constitution_obligation_e2e"
path = "tests/constitution_obligation_e2e.rs"
[[test]]
name = "consumer_mode_fixture_only_e2e"
path = "tests/consumer_mode_fixture_only_e2e.rs"
[[test]]
name = "cross_pack_macros_e2e"
path = "tests/cross_pack_macros_e2e.rs"
[[test]]
name = "cross_pack_matrix"
path = "tests/cross_pack_matrix.rs"
[[test]]
name = "crown_conjecture_pack_e2e"
path = "tests/crown_conjecture_pack_e2e.rs"
[[test]]
name = "custom_behavior_e2e"
path = "tests/custom_behavior_e2e.rs"
[[test]]
name = "datatype_coercion_e2e"
path = "tests/datatype_coercion_e2e.rs"
[[test]]
name = "determinism_independent_reload_e2e"
path = "tests/determinism_independent_reload_e2e.rs"
[[test]]
name = "determinism_query_reexecution_e2e"
path = "tests/determinism_query_reexecution_e2e.rs"
[[test]]
name = "doctor_e2e"
path = "tests/doctor_e2e.rs"
[[test]]
name = "dogfood_regression"
path = "tests/dogfood_regression.rs"
[[test]]
name = "domain_capability_pack_e2e"
path = "tests/domain_capability_pack_e2e.rs"
[[test]]
name = "dspy_pack_e2e"
path = "tests/dspy_pack_e2e.rs"
[[test]]
name = "economics_measured_evidence_test"
path = "tests/economics_measured_evidence_test.rs"
[[test]]
name = "fastmcp_pack_e2e"
path = "tests/fastmcp_pack_e2e.rs"
[[test]]
name = "fortune5_architecture_pack_e2e"
path = "tests/fortune5_architecture_pack_e2e.rs"
[[test]]
name = "fortune5_testing_bblock_pack_e2e"
path = "tests/fortune5_testing_bblock_pack_e2e.rs"
[[test]]
name = "framework_packs_e2e"
path = "tests/framework_packs_e2e.rs"
[[test]]
name = "frontmatter_cardinality_e2e"
path = "tests/frontmatter_cardinality_e2e.rs"
[[test]]
name = "frontmatter_fields_e2e"
path = "tests/frontmatter_fields_e2e.rs"
[[test]]
name = "frontmatter_fortune5_hardening_e2e"
path = "tests/frontmatter_fortune5_hardening_e2e.rs"
[[test]]
name = "frontmatter_matchers_e2e"
path = "tests/frontmatter_matchers_e2e.rs"
[[test]]
name = "frontmatter_maximalism_e2e"
path = "tests/frontmatter_maximalism_e2e.rs"
[[test]]
name = "frontmatter_rdf_e2e"
path = "tests/frontmatter_rdf_e2e.rs"
[[test]]
name = "frontmatter_schema_match"
path = "tests/frontmatter_schema_match.rs"
[[test]]
name = "full_loop_ocel_v2_validation_e2e"
path = "tests/full_loop_ocel_v2_validation_e2e.rs"
[[test]]
name = "gall_agent_executor_e2e"
path = "tests/gall_agent_executor_e2e.rs"
[[test]]
name = "gall_automation_pack_e2e"
path = "tests/gall_automation_pack_e2e.rs"
[[test]]
name = "gall_checkpoint_001_replay_e2e"
path = "tests/gall_checkpoint_001_replay_e2e.rs"
[[test]]
name = "gall_core_pack_e2e"
path = "tests/gall_core_pack_e2e.rs"
[[test]]
name = "generation_rules_e2e"
path = "tests/generation_rules_e2e.rs"
[[test]]
name = "generation_rules_typed_causes_e2e"
path = "tests/generation_rules_typed_causes_e2e.rs"
[[test]]
name = "ggen_ecosystem_ocel_cell4_run"
path = "tests/ggen_ecosystem_ocel_cell4_run.rs"
[[test]]
name = "ggen_ecosystem_ocel_pack_e2e"
path = "tests/ggen_ecosystem_ocel_pack_e2e.rs"
[[test]]
name = "ggen_manifest_schema_match"
path = "tests/ggen_manifest_schema_match.rs"
[[test]]
name = "ggen_release_pack_workflow_e2e"
path = "tests/ggen_release_pack_workflow_e2e.rs"
[[test]]
name = "ggen_toml_schema_match"
path = "tests/ggen_toml_schema_match.rs"
[[test]]
name = "ggen_toml_semantic_validation"
path = "tests/ggen_toml_semantic_validation.rs"
[[test]]
name = "gh_enterprise_architecture_pack_e2e"
path = "tests/gh_enterprise_architecture_pack_e2e.rs"
[[test]]
name = "gh_terraform_acceptance_e2e"
path = "tests/gh_terraform_acceptance_e2e.rs"
[[test]]
name = "gh_terraform_pack_e2e"
path = "tests/gh_terraform_pack_e2e.rs"
[[test]]
name = "github_actions_pack_e2e"
path = "tests/github_actions_pack_e2e.rs"
[[test]]
name = "graph_config_test"
path = "tests/graph_config_test.rs"
[[test]]
name = "graphlaw_e2e"
path = "tests/graphlaw_e2e.rs"
[[test]]
name = "graphlawstore_repoint_e2e"
path = "tests/graphlawstore_repoint_e2e.rs"
[[test]]
name = "k8s_pack_e2e"
path = "tests/k8s_pack_e2e.rs"
[[test]]
name = "law_engine_test"
path = "tests/law_engine_test.rs"
[[test]]
name = "law_gates_closure_test"
path = "tests/law_gates_closure_test.rs"
[[test]]
name = "lint_validate_e2e"
path = "tests/lint_validate_e2e.rs"
[[test]]
name = "manifest_diagnostic_codes_evidence_test"
path = "tests/manifest_diagnostic_codes_evidence_test.rs"
[[test]]
name = "mermaid_pack_e2e"
path = "tests/mermaid_pack_e2e.rs"
[[test]]
name = "migration_receipt_persist"
path = "tests/migration_receipt_persist.rs"
[[test]]
name = "multi_template_determinism"
path = "tests/multi_template_determinism.rs"
[[test]]
name = "ocel_determinism_e2e"
path = "tests/ocel_determinism_e2e.rs"
[[test]]
name = "ontology_imports_e2e"
path = "tests/ontology_imports_e2e.rs"
[[test]]
name = "otel_span_presence_test"
path = "tests/otel_span_presence_test.rs"
[[test]]
name = "pack_behaviors_cli_e2e"
path = "tests/pack_behaviors_cli_e2e.rs"
[[test]]
name = "pack_capabilities_parser_diff_test"
path = "tests/pack_capabilities_parser_diff_test.rs"
[[test]]
name = "pack_capabilities_property_test"
path = "tests/pack_capabilities_property_test.rs"
[[test]]
name = "pack_compose_capabilities_e2e"
path = "tests/pack_compose_capabilities_e2e.rs"
[[test]]
name = "pack_corpus_engine_smoke"
path = "tests/pack_corpus_engine_smoke.rs"
[[test]]
name = "pack_dependency_scope_e2e"
path = "tests/pack_dependency_scope_e2e.rs"
[[test]]
name = "pack_dfcm_requirements_e2e"
path = "tests/pack_dfcm_requirements_e2e.rs"
[[test]]
name = "pack_e2e"
path = "tests/pack_e2e.rs"
[[test]]
name = "pack_resolve_structural_test"
path = "tests/pack_resolve_structural_test.rs"
[[test]]
name = "pack_two_tier_satisfaction_test"
path = "tests/pack_two_tier_satisfaction_test.rs"
[[test]]
name = "pcq_marketplace_pack_e2e"
path = "tests/pcq_marketplace_pack_e2e.rs"
[[test]]
name = "pddl_embedded_workflow_pack_e2e"
path = "tests/pddl_embedded_workflow_pack_e2e.rs"
[[test]]
name = "pipeline_stage_evidence_test"
path = "tests/pipeline_stage_evidence_test.rs"
[[test]]
name = "portable_receipt_e2e"
path = "tests/portable_receipt_e2e.rs"
[[test]]
name = "process_intelligence_rag_pack_e2e"
path = "tests/process_intelligence_rag_pack_e2e.rs"
[[test]]
name = "process_mining_proof_pack_e2e"
path = "tests/process_mining_proof_pack_e2e.rs"
[[test]]
name = "product_mirror_conformance"
path = "tests/product_mirror_conformance.rs"
[[test]]
name = "projection_determinism_test"
path = "tests/projection_determinism_test.rs"
[[test]]
name = "rdf_source_admission_e2e"
path = "tests/rdf_source_admission_e2e.rs"
[[test]]
name = "reasoner_independence_e2e"
path = "tests/reasoner_independence_e2e.rs"
[[test]]
name = "receipt_chain_differential_test"
path = "tests/receipt_chain_differential_test.rs"
[[test]]
name = "receipt_chain_e2e"
path = "tests/receipt_chain_e2e.rs"
[[test]]
name = "receipt_chain_own_history_replay"
path = "tests/receipt_chain_own_history_replay.rs"
[[test]]
name = "receipt_chain_seam_test"
path = "tests/receipt_chain_seam_test.rs"
[[test]]
name = "receipt_epoch_e2e"
path = "tests/receipt_epoch_e2e.rs"
[[test]]
name = "receipt_epoch_property_test"
path = "tests/receipt_epoch_property_test.rs"
[[test]]
name = "receipt_genesis_ceiling_e2e"
path = "tests/receipt_genesis_ceiling_e2e.rs"
[[test]]
name = "receipt_signing_evidence_test"
path = "tests/receipt_signing_evidence_test.rs"
[[test]]
name = "receipt_verb_e2e"
path = "tests/receipt_verb_e2e.rs"
[[test]]
name = "reflexive_law_e2e"
path = "tests/reflexive_law_e2e.rs"
[[test]]
name = "rules_n3_sync_e2e"
path = "tests/rules_n3_sync_e2e.rs"
[[test]]
name = "shacl_projection_pack_e2e"
path = "tests/shacl_projection_pack_e2e.rs"
[[test]]
name = "shape_shacl_enforcement_e2e"
path = "tests/shape_shacl_enforcement_e2e.rs"
[[test]]
name = "shape_shacl_refusal_cli_e2e"
path = "tests/shape_shacl_refusal_cli_e2e.rs"
[[test]]
name = "sparql_feature_coverage_e2e"
path = "tests/sparql_feature_coverage_e2e.rs"
[[test]]
name = "sparql_refusals_e2e"
path = "tests/sparql_refusals_e2e.rs"
[[test]]
name = "standing_ladder_pack_e2e"
path = "tests/standing_ladder_pack_e2e.rs"
[[test]]
name = "sync_closure_golden_test"
path = "tests/sync_closure_golden_test.rs"
[[test]]
name = "sync_dry_run_no_mutation_e2e"
path = "tests/sync_dry_run_no_mutation_e2e.rs"
[[test]]
name = "sync_e2e"
path = "tests/sync_e2e.rs"
[[test]]
name = "tcps_core_pack_e2e"
path = "tests/tcps_core_pack_e2e.rs"
[[test]]
name = "typer_pack_e2e"
path = "tests/typer_pack_e2e.rs"
[[test]]
name = "validate_hardening_test"
path = "tests/validate_hardening_test.rs"
[[test]]
name = "verbs_handlers_test"
path = "tests/verbs_handlers_test.rs"
[[test]]
name = "verify_pack_evidence_loop_e2e"
path = "tests/verify_pack_evidence_loop_e2e.rs"
[[test]]
name = "verify_pack_gate_sabotage_e2e"
path = "tests/verify_pack_gate_sabotage_e2e.rs"
[[test]]
name = "version_consistency_e2e"
path = "tests/version_consistency_e2e.rs"
[[test]]
name = "wasm4pm_breed_provenance_pack_e2e"
path = "tests/wasm4pm_breed_provenance_pack_e2e.rs"
[[test]]
name = "wasm4pm_facts_e2e"
path = "tests/wasm4pm_facts_e2e.rs"
[[test]]
name = "wasm4pm_interview_assist_pack_e2e"
path = "tests/wasm4pm_interview_assist_pack_e2e.rs"
[[test]]
name = "watch_module_test"
path = "tests/watch_module_test.rs"
[[test]]
name = "write_behaviors_cli_e2e"
path = "tests/write_behaviors_cli_e2e.rs"
[[test]]
name = "write_stage_partial_failure_receipt_binding"
path = "tests/write_stage_partial_failure_receipt_binding.rs"
[[bench]]
name = "bench_main"
path = "benches/bench_main.rs"
harness = false
[[bench]]
name = "blue_river_dam"
path = "benches/blue_river_dam.rs"
harness = false
[dependencies.Inflector]
version = "0.11.4"
[dependencies.anyhow]
version = "1"
[dependencies.blake3]
version = "1"
[dependencies.camino]
version = "1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.clap-noun-verb]
version = "=26.9.1"
[dependencies.clap-noun-verb-macros]
version = "=26.9.1"
[dependencies.ed25519-dalek]
version = "3.0"
features = ["rand_core"]
[dependencies.getrandom]
version = "0.4"
[dependencies.ggen-abb-sbb]
version = "26.10.10"
[dependencies.ggen-config]
version = ">=26.10.10, <26.15"
[dependencies.ggen-marketplace]
version = ">=26.10.10, <26.15"
[dependencies.graphlaw]
version = "26.10.10"
features = ["abi"]
default-features = false
[dependencies.hex]
version = "0.4"
[dependencies.linkme]
version = "0.3"
[dependencies.notify]
version = "8.2"
[dependencies.notify-debouncer-full]
version = "0.6"
[dependencies.once_cell]
version = "1"
[dependencies.oxigraph]
version = "0.5.11"
[dependencies.regex]
version = "1"
[dependencies.rmcp]
version = "2.2.0"
features = ["transport-io"]
optional = true
[dependencies.rmcp-macros]
version = "2.2.0"
optional = true
[dependencies.rustyline]
version = "18"
optional = true
[dependencies.schemars]
version = "1.2"
features = ["derive"]
[dependencies.semver]
version = "1.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.spargebra]
version = "0.4.7"
[dependencies.star-toml]
version = "26.7.3"
[dependencies.tera]
version = "1.20"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.toml]
version = "1.0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.chicago-tdd-tools]
version = "26.8.9"
features = [
"testing-extras",
"testcontainers",
"cli-proof",
"cli-proof",
]
[dev-dependencies.criterion]
version = "0.7"
features = ["html_reports"]
[dev-dependencies.divan]
version = "0.1"
[dev-dependencies.insta]
version = "1"
features = ["json"]
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.sha2]
version = "0.10"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.wasm4pm-compat]
version = "26.8"
[build-dependencies.blake3]
version = "1"
[lints.clippy]
dbg_macro = "deny"
expect_used = "warn"
todo = "deny"
unimplemented = "deny"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unexpected_cfgs = "warn"
unreachable_pub = "warn"
unsafe_code = "warn"