Changes in version 0.1.0.9000 - New accept_model(): model+harness acceptance gate. A candidate LLM runs the spec-to-IR regression corpus and is cross-compared against the rules baseline at full canonical semantics; both thresholds are required arguments (acceptance criteria must be prespecified), any pipeline error rejects the candidate, and the decision is logged as a digest-only model_acceptance audit event. - New routing_plan(): derives the execution routing directly from spec lineage — topological waves, per-variable dependencies, and the two fail-closed lanes (cycle-blocked and human-routed variables stay waveless). The ordering is computed, not declared, replacing a hand-registered process DAG. - New classify_variables_dual(): runs the rules classifier and the LLM pipeline independently on the same spec, compares the two translations per variable at full canonical semantics (ir_fingerprint(level = "full")), adopts the rules IR on agreement, and escalates any divergence (disagree / rules_abstain / llm_abstain) to needs_human — no side is ever silently preferred. The decision is recorded as a digest-only dual_consensus audit event; dual_disagreements() extracts the human review queue. Changes in version 0.1.0 Initial release. - Translate P21-style ADaM specifications into layer IR over a closed vocabulary, then deterministically compile the IR into admiral/metatools programs with # CHECK: validation comments and provenance sidecars (classify_variables(), render_program(), write_artifact()). - Zero-dependency rules classifier (backend = "rules") as the default baseline; optional LLM translation (backend = "llm", via 'ellmer') emits IR only — the LLM never writes R code and every model response is validated against the closed vocabulary before use. - Sandbox gate for executing generated programs, hash-chained audit log, dataset-JSON reader, define.xml (2.0) metadata reader, and dependency/impact reporting across ADaM datasets. - Study-level drivers: execute_one(), execute_study() with derivation ordering, gates, and manifest generation.