docs-compiler 0.1.0

Docs compiler composing the estate's docs crates: include-symbol, witness, lean-check, and island fences resolved to static HTML via docs-core (docs-core extension program, SPEC.md M3/M4)
Documentation
[package]
name = "docs-compiler"
version = "0.1.0"
edition = "2021"
rust-version = "1.85"
authors = ["Wyatt Au <wyatt_au@protonmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/WyattAu/docs-compiler"
homepage = "https://github.com/WyattAu/docs-compiler"
documentation = "https://docs.rs/docs-compiler"
description = "Docs compiler composing the estate's docs crates: include-symbol, witness, lean-check, and island fences resolved to static HTML via docs-core (docs-core extension program, SPEC.md M3/M4)"
readme = "README.md"
keywords = ["documentation", "compiler", "static-site", "verification"]
categories = ["development-tools", "text-processing"]
exclude = [".github/", "supply-chain/", "test-fixtures/"]

# Layer model: docs/layers.md in WyattAu/engineering-standards.
# L3 - composition: the CLI that composes docs-core (L2) with the three
# capability crates (docs-search is consumed by the client runtime, not
# here) plus the out-of-process Lean invocation (REQ-P1: lean is never
# linked; it is spawned).
[package.metadata.layers]
tier = "L3"

[dependencies]
clap = { version = "4", features = ["derive"] }
docs-core = "0.1"
docs-proof = "0.1"
docs-symbols = "0.1"
docs-witness = "0.1"
thiserror = "2"

[dev-dependencies]
tempfile = "3"
wat = "1"

[lints.rust]
missing_docs = "deny"
unsafe_code = "deny"

# Content discipline: everything a directive names (source files, wasm
# modules, Lean files) is repository content, still untrusted input.
# Resolution failures are typed errors; a failing directive fails the
# build, it never emits a silent placeholder.
[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
indexing_slicing = "deny"
undocumented_unsafe_blocks = "deny"

[profile.release]
lto = "thin"
codegen-units = 1
strip = true