[package]
edition = "2021"
rust-version = "1.89.0"
name = "forjar"
version = "1.4.2"
authors = ["Pragmatic AI Labs"]
build = "build.rs"
exclude = [
"benches/",
".pmat/",
"/state/",
"docs/",
"examples/",
"target/",
"*.profraw",
"*.profdata",
".vscode/",
".idea/",
"proptest-regressions/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-native Infrastructure as Code — bare-metal first, BLAKE3 state, provenance tracing"
homepage = "https://paiml.com"
readme = "README.md"
keywords = [
"iac",
"infrastructure",
"devops",
"provisioning",
"bare-metal",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/forjar"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.binstall]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-{ target }.tar.gz"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-x86_64-unknown-linux-gnu.tar.gz"
[package.metadata.binstall.overrides.x86_64-unknown-linux-musl]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-x86_64-unknown-linux-musl.tar.gz"
[package.metadata.binstall.overrides.aarch64-unknown-linux-gnu]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-aarch64-unknown-linux-gnu.tar.gz"
[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-aarch64-apple-darwin.tar.gz"
[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "https://github.com/paiml/forjar/releases/download/v{ version }/forjar-{ version }-x86_64-apple-darwin.tar.gz"
[package.metadata.release]
shared-version = true
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "Unreleased"
replace = "{{version}}"
[features]
container-test = []
dhat-heap = ["dep:dhat"]
encryption = ["dep:age"]
gpu-container-test = []
vendored-openssl = ["openssl/vendored"]
wasm-runtime = ["dep:wasmi"]
[lib]
name = "forjar"
path = "src/lib.rs"
[[bin]]
name = "forjar"
path = "src/main.rs"
[[test]]
name = "container_transport"
path = "tests/container_transport.rs"
[[test]]
name = "contract_traits"
path = "tests/contract_traits.rs"
[[test]]
name = "falsification_audit_encrypt_rollout"
path = "tests/falsification_audit_encrypt_rollout.rs"
[[test]]
name = "falsification_boundary_flight"
path = "tests/falsification_boundary_flight.rs"
[[test]]
name = "falsification_changeset_dag_staleness"
path = "tests/falsification_changeset_dag_staleness.rs"
[[test]]
name = "falsification_chunker_closure_path"
path = "tests/falsification_chunker_closure_path.rs"
[[test]]
name = "falsification_cis_plugin"
path = "tests/falsification_cis_plugin.rs"
[[test]]
name = "falsification_cis_plugin_b"
path = "tests/falsification_cis_plugin_b.rs"
[[test]]
name = "falsification_codegen_migrate"
path = "tests/falsification_codegen_migrate.rs"
[[test]]
name = "falsification_codegen_secrets"
path = "tests/falsification_codegen_secrets.rs"
[[test]]
name = "falsification_competitive_features"
path = "tests/falsification_competitive_features.rs"
[[test]]
name = "falsification_competitive_features_b"
path = "tests/falsification_competitive_features_b.rs"
[[test]]
name = "falsification_compliance_gate"
path = "tests/falsification_compliance_gate.rs"
[[test]]
name = "falsification_compliance_migration"
path = "tests/falsification_compliance_migration.rs"
[[test]]
name = "falsification_compliance_policy"
path = "tests/falsification_compliance_policy.rs"
[[test]]
name = "falsification_conditions_rollout_purifier"
path = "tests/falsification_conditions_rollout_purifier.rs"
[[test]]
name = "falsification_container_builds"
path = "tests/falsification_container_builds.rs"
[[test]]
name = "falsification_contract_gc_registry"
path = "tests/falsification_contract_gc_registry.rs"
[[test]]
name = "falsification_convergence_kernel"
path = "tests/falsification_convergence_kernel.rs"
[[test]]
name = "falsification_convergence_sandbox"
path = "tests/falsification_convergence_sandbox.rs"
[[test]]
name = "falsification_convergence_sandbox_b"
path = "tests/falsification_convergence_sandbox_b.rs"
[[test]]
name = "falsification_convert_cache_exec"
path = "tests/falsification_convert_cache_exec.rs"
[[test]]
name = "falsification_convert_pin_tripwire"
path = "tests/falsification_convert_pin_tripwire.rs"
[[test]]
name = "falsification_convert_pin_validate"
path = "tests/falsification_convert_pin_validate.rs"
[[test]]
name = "falsification_cron_conditions_scanner"
path = "tests/falsification_cron_conditions_scanner.rs"
[[test]]
name = "falsification_cron_rules"
path = "tests/falsification_cron_rules.rs"
[[test]]
name = "falsification_cron_rules_b"
path = "tests/falsification_cron_rules_b.rs"
[[test]]
name = "falsification_cron_source"
path = "tests/falsification_cron_source.rs"
[[test]]
name = "falsification_crypto_mcdc_verus"
path = "tests/falsification_crypto_mcdc_verus.rs"
[[test]]
name = "falsification_dag_changeset"
path = "tests/falsification_dag_changeset.rs"
[[test]]
name = "falsification_derivation_dag"
path = "tests/falsification_derivation_dag.rs"
[[test]]
name = "falsification_derivation_dag_b"
path = "tests/falsification_derivation_dag_b.rs"
[[test]]
name = "falsification_derivation_exec"
path = "tests/falsification_derivation_exec.rs"
[[test]]
name = "falsification_derivation_model"
path = "tests/falsification_derivation_model.rs"
[[test]]
name = "falsification_diff_do330"
path = "tests/falsification_diff_do330.rs"
[[test]]
name = "falsification_diff_task_coverage"
path = "tests/falsification_diff_task_coverage.rs"
[[test]]
name = "falsification_dist"
path = "tests/falsification_dist.rs"
[[test]]
name = "falsification_env_promotion"
path = "tests/falsification_env_promotion.rs"
[[test]]
name = "falsification_ephemeral_mcdc_migrate"
path = "tests/falsification_ephemeral_mcdc_migrate.rs"
[[test]]
name = "falsification_ephemeral_overlay"
path = "tests/falsification_ephemeral_overlay.rs"
[[test]]
name = "falsification_ephemeral_secrets"
path = "tests/falsification_ephemeral_secrets.rs"
[[test]]
name = "falsification_event_sources"
path = "tests/falsification_event_sources.rs"
[[test]]
name = "falsification_event_sources_b"
path = "tests/falsification_event_sources_b.rs"
[[test]]
name = "falsification_gate_coverage"
path = "tests/falsification_gate_coverage.rs"
[[test]]
name = "falsification_gate_coverage_b"
path = "tests/falsification_gate_coverage_b.rs"
[[test]]
name = "falsification_github_release"
path = "tests/falsification_github_release.rs"
[[test]]
name = "falsification_hf_arch_kernels"
path = "tests/falsification_hf_arch_kernels.rs"
[[test]]
name = "falsification_hf_mutation_registry"
path = "tests/falsification_hf_mutation_registry.rs"
[[test]]
name = "falsification_hf_sandbox_edge"
path = "tests/falsification_hf_sandbox_edge.rs"
[[test]]
name = "falsification_image_assembler"
path = "tests/falsification_image_assembler.rs"
[[test]]
name = "falsification_include_deep_validation"
path = "tests/falsification_include_deep_validation.rs"
[[test]]
name = "falsification_include_deep_validation_b"
path = "tests/falsification_include_deep_validation_b.rs"
[[test]]
name = "falsification_ingest_query"
path = "tests/falsification_ingest_query.rs"
[[test]]
name = "falsification_lockfile_profile_cache"
path = "tests/falsification_lockfile_profile_cache.rs"
[[test]]
name = "falsification_mcdc_do330"
path = "tests/falsification_mcdc_do330.rs"
[[test]]
name = "falsification_mcp_contract_coverage"
path = "tests/falsification_mcp_contract_coverage.rs"
[[test]]
name = "falsification_mcp_registry_image"
path = "tests/falsification_mcp_registry_image.rs"
[[test]]
name = "falsification_meta_secret_gc"
path = "tests/falsification_meta_secret_gc.rs"
[[test]]
name = "falsification_metric_event"
path = "tests/falsification_metric_event.rs"
[[test]]
name = "falsification_migrate_webhook"
path = "tests/falsification_migrate_webhook.rs"
[[test]]
name = "falsification_migration"
path = "tests/falsification_migration.rs"
[[test]]
name = "falsification_mutation_observability"
path = "tests/falsification_mutation_observability.rs"
[[test]]
name = "falsification_namespace_rules"
path = "tests/falsification_namespace_rules.rs"
[[test]]
name = "falsification_parser_format_unknown"
path = "tests/falsification_parser_format_unknown.rs"
[[test]]
name = "falsification_parser_policy"
path = "tests/falsification_parser_policy.rs"
[[test]]
name = "falsification_parser_unknown_fields"
path = "tests/falsification_parser_unknown_fields.rs"
[[test]]
name = "falsification_pipeline_io_tracking"
path = "tests/falsification_pipeline_io_tracking.rs"
[[test]]
name = "falsification_planner"
path = "tests/falsification_planner.rs"
[[test]]
name = "falsification_planner_b"
path = "tests/falsification_planner_b.rs"
[[test]]
name = "falsification_planner_proof_rev"
path = "tests/falsification_planner_proof_rev.rs"
[[test]]
name = "falsification_planner_proof_reversibility"
path = "tests/falsification_planner_proof_reversibility.rs"
[[test]]
name = "falsification_planner_sat_why"
path = "tests/falsification_planner_sat_why.rs"
[[test]]
name = "falsification_platform_spec"
path = "tests/falsification_platform_spec.rs"
[[test]]
name = "falsification_platform_spec_b"
path = "tests/falsification_platform_spec_b.rs"
[[test]]
name = "falsification_plugin_behavior_dist"
path = "tests/falsification_plugin_behavior_dist.rs"
[[test]]
name = "falsification_plugin_behavior_dist_b"
path = "tests/falsification_plugin_behavior_dist_b.rs"
[[test]]
name = "falsification_plugin_dispatch_repro"
path = "tests/falsification_plugin_dispatch_repro.rs"
[[test]]
name = "falsification_policy_boundary"
path = "tests/falsification_policy_boundary.rs"
[[test]]
name = "falsification_policy_boundary_b"
path = "tests/falsification_policy_boundary_b.rs"
[[test]]
name = "falsification_promotion_events"
path = "tests/falsification_promotion_events.rs"
[[test]]
name = "falsification_promotion_events_b"
path = "tests/falsification_promotion_events_b.rs"
[[test]]
name = "falsification_proof_security"
path = "tests/falsification_proof_security.rs"
[[test]]
name = "falsification_provider_far_diff"
path = "tests/falsification_provider_far_diff.rs"
[[test]]
name = "falsification_provider_sandbox_sync"
path = "tests/falsification_provider_sandbox_sync.rs"
[[test]]
name = "falsification_providers_conditions"
path = "tests/falsification_providers_conditions.rs"
[[test]]
name = "falsification_purifier_shell_provider"
path = "tests/falsification_purifier_shell_provider.rs"
[[test]]
name = "falsification_purity_reproscore_refs_hf"
path = "tests/falsification_purity_reproscore_refs_hf.rs"
[[test]]
name = "falsification_query_runlog"
path = "tests/falsification_query_runlog.rs"
[[test]]
name = "falsification_recipe_expansion"
path = "tests/falsification_recipe_expansion.rs"
[[test]]
name = "falsification_reconstruct_rulebook"
path = "tests/falsification_reconstruct_rulebook.rs"
[[test]]
name = "falsification_refinement_contract_ci"
path = "tests/falsification_refinement_contract_ci.rs"
[[test]]
name = "falsification_refinement_types"
path = "tests/falsification_refinement_types.rs"
[[test]]
name = "falsification_repro_ferrocene_flight"
path = "tests/falsification_repro_ferrocene_flight.rs"
[[test]]
name = "falsification_repro_ferrocene_flight_b"
path = "tests/falsification_repro_ferrocene_flight_b.rs"
[[test]]
name = "falsification_rollout_promotion"
path = "tests/falsification_rollout_promotion.rs"
[[test]]
name = "falsification_rules_engine_runtime"
path = "tests/falsification_rules_engine_runtime.rs"
[[test]]
name = "falsification_rules_runtime"
path = "tests/falsification_rules_runtime.rs"
[[test]]
name = "falsification_runlog_doctor_imagelog"
path = "tests/falsification_runlog_doctor_imagelog.rs"
[[test]]
name = "falsification_sandbox_derivation"
path = "tests/falsification_sandbox_derivation.rs"
[[test]]
name = "falsification_sandbox_derivation_hf"
path = "tests/falsification_sandbox_derivation_hf.rs"
[[test]]
name = "falsification_sat_changeset"
path = "tests/falsification_sat_changeset.rs"
[[test]]
name = "falsification_sat_changeset_b"
path = "tests/falsification_sat_changeset_b.rs"
[[test]]
name = "falsification_scoring_recipe_validation"
path = "tests/falsification_scoring_recipe_validation.rs"
[[test]]
name = "falsification_scoring_runtime"
path = "tests/falsification_scoring_runtime.rs"
[[test]]
name = "falsification_scoring_static"
path = "tests/falsification_scoring_static.rs"
[[test]]
name = "falsification_scoring_static_b"
path = "tests/falsification_scoring_static_b.rs"
[[test]]
name = "falsification_script_secret_lint"
path = "tests/falsification_script_secret_lint.rs"
[[test]]
name = "falsification_secret_audit"
path = "tests/falsification_secret_audit.rs"
[[test]]
name = "falsification_secret_namespace"
path = "tests/falsification_secret_namespace.rs"
[[test]]
name = "falsification_security_container_gen"
path = "tests/falsification_security_container_gen.rs"
[[test]]
name = "falsification_security_observability"
path = "tests/falsification_security_observability.rs"
[[test]]
name = "falsification_security_observability_b"
path = "tests/falsification_security_observability_b.rs"
[[test]]
name = "falsification_security_scan"
path = "tests/falsification_security_scan.rs"
[[test]]
name = "falsification_spec_criteria"
path = "tests/falsification_spec_criteria.rs"
[[test]]
name = "falsification_spec_criteria_b"
path = "tests/falsification_spec_criteria_b.rs"
[[test]]
name = "falsification_staleness_lockfile_cache"
path = "tests/falsification_staleness_lockfile_cache.rs"
[[test]]
name = "falsification_state_encryption"
path = "tests/falsification_state_encryption.rs"
[[test]]
name = "falsification_state_integrity"
path = "tests/falsification_state_integrity.rs"
[[test]]
name = "falsification_store_closure_ref"
path = "tests/falsification_store_closure_ref.rs"
[[test]]
name = "falsification_store_db_chunker_layer"
path = "tests/falsification_store_db_chunker_layer.rs"
[[test]]
name = "falsification_store_path_lock_deriv"
path = "tests/falsification_store_path_lock_deriv.rs"
[[test]]
name = "falsification_store_path_lock_deriv_b"
path = "tests/falsification_store_path_lock_deriv_b.rs"
[[test]]
name = "falsification_store_pin_query_ingest"
path = "tests/falsification_store_pin_query_ingest.rs"
[[test]]
name = "falsification_store_pin_query_ingest_b"
path = "tests/falsification_store_pin_query_ingest_b.rs"
[[test]]
name = "falsification_store_profile_sandbox_far"
path = "tests/falsification_store_profile_sandbox_far.rs"
[[test]]
name = "falsification_store_profile_sandbox_far_b"
path = "tests/falsification_store_profile_sandbox_far_b.rs"
[[test]]
name = "falsification_store_purity_repro"
path = "tests/falsification_store_purity_repro.rs"
[[test]]
name = "falsification_store_purity_repro_b"
path = "tests/falsification_store_purity_repro_b.rs"
[[test]]
name = "falsification_store_substitution_provider"
path = "tests/falsification_store_substitution_provider.rs"
[[test]]
name = "falsification_store_substitution_provider_b"
path = "tests/falsification_store_substitution_provider_b.rs"
[[test]]
name = "falsification_store_validate_gc"
path = "tests/falsification_store_validate_gc.rs"
[[test]]
name = "falsification_substitution_conda"
path = "tests/falsification_substitution_conda.rs"
[[test]]
name = "falsification_task_dispatch"
path = "tests/falsification_task_dispatch.rs"
[[test]]
name = "falsification_task_dispatch_gate"
path = "tests/falsification_task_dispatch_gate.rs"
[[test]]
name = "falsification_task_gpu_barrier"
path = "tests/falsification_task_gpu_barrier.rs"
[[test]]
name = "falsification_task_service_lifecycle"
path = "tests/falsification_task_service_lifecycle.rs"
[[test]]
name = "falsification_template_codegen"
path = "tests/falsification_template_codegen.rs"
[[test]]
name = "falsification_template_drift_reconstruct"
path = "tests/falsification_template_drift_reconstruct.rs"
[[test]]
name = "falsification_test_query_handler"
path = "tests/falsification_test_query_handler.rs"
[[test]]
name = "falsification_testing_contracts"
path = "tests/falsification_testing_contracts.rs"
[[test]]
name = "falsification_tripwire_chain_tracer"
path = "tests/falsification_tripwire_chain_tracer.rs"
[[test]]
name = "falsification_tripwire_hasher_anomaly"
path = "tests/falsification_tripwire_hasher_anomaly.rs"
[[test]]
name = "falsification_undo_webhook"
path = "tests/falsification_undo_webhook.rs"
[[test]]
name = "falsification_validation_lsp"
path = "tests/falsification_validation_lsp.rs"
[[test]]
name = "falsification_validation_lsp_b"
path = "tests/falsification_validation_lsp_b.rs"
[[test]]
name = "falsification_wasm_build_pipeline"
path = "tests/falsification_wasm_build_pipeline.rs"
[[test]]
name = "falsification_wasm_build_pipeline_b"
path = "tests/falsification_wasm_build_pipeline_b.rs"
[[test]]
name = "falsification_wasm_ci_types"
path = "tests/falsification_wasm_ci_types.rs"
[[test]]
name = "falsification_watch_daemon"
path = "tests/falsification_watch_daemon.rs"
[[test]]
name = "falsification_watch_daemon_b"
path = "tests/falsification_watch_daemon_b.rs"
[[test]]
name = "gpu_container_transport"
path = "tests/gpu_container_transport.rs"
[[test]]
name = "integration_compliance_gate"
path = "tests/integration_compliance_gate.rs"
[[test]]
name = "integration_event_driven"
path = "tests/integration_event_driven.rs"
[[test]]
name = "integration_plugin_lifecycle"
path = "tests/integration_plugin_lifecycle.rs"
[[test]]
name = "integration_promotion_pipeline"
path = "tests/integration_promotion_pipeline.rs"
[[test]]
name = "integration_smoke"
path = "tests/integration_smoke.rs"
[[test]]
name = "test_fj129_force_distinguishability"
path = "tests/test_fj129_force_distinguishability.rs"
[dependencies.age]
version = "0.11"
optional = true
default-features = false
[dependencies.aprender-contracts-macros]
version = "0.31"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22.1"
[dependencies.bashrs]
version = "6.64.0"
[dependencies.blake3]
version = "1.8"
[dependencies.bzip2]
version = "0.6"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.clap_complete]
version = "4"
[dependencies.dhat]
version = "0.3.3"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.glob]
version = "0.3"
[dependencies.indexmap]
version = "2.7"
features = ["serde"]
[dependencies.openssl]
version = "0.10"
[dependencies.pforge-config]
version = "0.1.4"
[dependencies.pforge-runtime]
version = "0.1.4"
[dependencies.regex]
version = "1"
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
[dependencies.rustc-hash]
version = "2"
[dependencies.schemars]
version = "0.8"
features = ["derive"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml_ng]
version = "0.10"
[dependencies.sha2]
version = "0.10"
[dependencies.tar]
version = "0.4"
[dependencies.tokio]
version = "1.35"
features = [
"rt-multi-thread",
"macros",
]
[dependencies.toml]
version = "1.1"
[dependencies.wasmi]
version = "0.40"
optional = true
[dependencies.zip]
version = "2"
features = [
"deflate",
"bzip2",
"zstd",
]
default-features = false
[dependencies.zstd]
version = "0.13"
[dev-dependencies.aprender-contracts]
version = "0.31"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.dhat]
version = "0.3.3"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[build-dependencies.aprender-contracts]
version = "0.31"
[build-dependencies.serde]
version = "1.0"
features = ["derive"]
[build-dependencies.serde_yaml_ng]
version = "0.10"
[lints.clippy]
checked_conversions = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = [
"cfg(kani)",
"cfg(verus)",
]
[profile.dev]
panic = "abort"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true