Documentation: Migrated the README, package articles, and all 12 registered DGP dossiers to governed Quarto sources; added canonical typed-scoring, estimator-extension, and native-DGP contribution guides.
Website: Added a pinned, validated pkgdown build with one registry-keyed report per DGP and a manual, tag-only GitHub Pages publication workflow.
Maintenance: Removed obsolete fingerprint fixtures, a thread setter, an unused estimator-result adapter, duplicated tau forwarding, and one-use vocabulary getters while preserving public behavior and governed identities.
Regression safety: Added characterization coverage for the duplicated per-seed runner paths without changing their current behavior or public contracts.
Release tooling: Pinned Quarto CLI 1.9.38, the quarto R package 1.5.1, and pkgdown 2.2.1 across local and remote documentation gates, including full-vignette Windows, Ubuntu release/devel, and macOS package checks.
CausalStress 0.2.0
Wave 1 Typed Estimand Registry
Governance: Ratified Constitution v2.0.1, preserving the v2.0 estimand registry while correcting the synthetic covariate contract to uppercase, consecutive, one-based X1...Xk and adopting real-data DGP terminology; activated the Wave 1 packet for typed scoring, schema-4 identity, and staged CATE support.
Scoring: Added canonical ATT, ATE, QST, and CATE target descriptors, typed estimator outputs, a legacy list(att, qst, meta) shim, and the three-way requested/produced/truth scoring join. ATT, ATE, and QST are executable; CATE is registered but deliberately staged as not implemented.
ATE: Added finite-sample synthetic ATE scoring from runner-owned structural truth, with ordinary estimator airlock protections and a typed oracle benchmark producer.
Persistence: Introduced schema-4 fit, score-record, and score-row fingerprints so one fit can produce multiple score records and one QST score record can contain multiple coordinate rows, while schema 1-3 resume attempts fail closed.
Runtime persistence: Replaced the archived qs dependency with atomic base-R RDS staging and oracle caches, added strict current-artifact identity checks, and made legacy .qs staging fail closed without reading or modifying it.
Surfaces: Added the canonical long-form typed score collection surface and preserved ATT/QST helpers as compatibility projections.
Staging: Registered CATE as a governed target while Wave 1 deterministically hard-rejects CATE-only tasks and emits target_not_implemented rows for mixed requests.
Gatekeeping: Preserved ATT/QST policy and added only an uncalibrated, non-consequential ATE gate slot.
Release hygiene: Fixed GenGC wrapper formulas for the v0.2.0 additive-formula parser, corrected README/roxygen claims and current registry inventories, and routed CI golden-value tolerance guidance into the horizon.
CausalStress 0.1.10
Governed Repair Cycle and Release Gate
Governance: Added the active design authority index, contract ledger, RFC cycle, release gate, and v0.1.10 spec packet with machine-readable tickets.
Correctness: Fixed ATT extraction for TMLE, batch error capture/reconciliation, dependency declarations, and version-aware DGP validation.
Reproducibility: Introduced schema-3 fingerprints, versioned DGP pins, RNG isolation for validation/planning/oracle paths, and substrate-scoped bitwise reproducibility claims.
Oracle safety: Replaced blanket oracle access with column-scoped airlock grants and recorded oracle-column provenance in result metadata.
Statistical gates: Hardened CI-less gatekeeper handling, QST run-failure arithmetic, low-bootstrap CI semantics, and registry/sidecar validation.
Release hygiene: Removed stale duplicate aliases, documented exported wrappers and runner arguments, cleaned package-check notes, and recorded release-gate evidence.
CausalStress 0.1.8
Patch-Only: Reproducibility & Audit Closure
Integrity: Oracle truth is now cached to disk (tools::R_user_dir), avoiding redundant re-simulation in parallel runs.
UX: Runner enforces ci_method = "none" when bootstrap = FALSE to prevent accidental compute waste (“Silent Bootstraps”).
Governance: Registry now fails closed (aborts) if a DGP sidecar is missing.
Audit: Runner captures estimator_reported_version alongside registry versions for provenance.
Experimental parallel gating: parallel=TRUE now requires experimental_parallel=TRUE, emits a causalstress_experimental_parallel warning once per call, and records provenance flags.
Fingerprint schema v2: config_fingerprint_schema=2 added; max_runtime is now part of the config fingerprint; legacy v0.1.7 pins remain resumable (with max_runtime=Inf only).
Wide & Shallow in experimental parallel: forces num_threads=1 and applies thread-cap env vars (OMP/MKL/OpenBLAS/Veclib) with provenance capture.
DGP sidecar metadata corrected + validated against runner-side executable meta mapping (no DGP generator changes).
Updated .Rbuildignore/.gitignore to exclude sidecar cache artifacts.
CausalStress 0.1.5
Scientific Safety & Oracle Refactor
Oracle Truth: Completely refactored cs_get_oracle_qst to strictly adhere to the “Single Source of Truth” principle. It now calls the official DGP generators from the Registry (using a reserved seed 99999L) rather than using a hardcoded “shadow library” of simulators. Implemented a recursion guard to safely handle synthetic DGPs calling the Oracle.
Gatekeeper Robustness: Eliminated brittle “magic string” matching (regexing “placebo” in filenames). The Gatekeeper now identifies placebo DGPs by querying strict tags (“placebo”) from the Registry.
Registry-Sidecar Integration: The DGP Registry now dynamically reads metadata (tags, stress profiles) from immutable YAML sidecars (inst/dgp_meta/*.yml) instead of hardcoded lists.
Operational Hygiene & API
Parallel Staging: Exported cs_gather_results() to the public API to officially support “Stage & Gather” parallel patterns.
Build Artifacts: configured .Rbuildignore and .gitignore to exclude machine-specific RMarkdown cache directories (*_cache, *_files) from the package source.
Constitutional Compliance: Renamed dgp-synth-placebo.R to dgp-synth-placebo-tau0.R (and associated tests) to strictly match the DGP ID.
Internal Code Health
DRY Runner: Refactored cs_run_single to use a unified helper cs_extract_estimator_result for parsing estimator outputs, eliminating logic duplication between the main run and the bootstrap loop.
Integrity Tests: Added test-integrity-capabilities.R to enforce that estimator outputs (oracle, QST support) match their Registry declarations.
CausalStress 0.1.5
Parallel execution: Added parallel=TRUE support to cs_run_seeds and cs_run_campaign with future/furrr, plus optional staging_dir for crash-safe runs.
Load balancing: Shuffled task ordering and chunked scheduling to reduce idle workers in wide campaigns.
Staging & resume: Stage-and-gather workflow for pins boards; improved fingerprint hashing now includes estimator config and tau to avoid stale caches.
Progress: Wired progressr into parallel runs for clearer feedback during campaigns.
Robustness: Timeout/safety checks in runners; fingerprint mismatch now surfaces clear errors with force/skip overrides.
CausalStress 0.1.4
GenGC Integration: Added est_gengc adapter with soft dependency.
Distributional Intelligence: Runner now bootstraps QST curves, computes pointwise CIs, and enriches outputs.
Governance: Added cs_summarise_qst and implemented the Gatekeeper 10/10 rule for QST (fails if >10% of quantiles exclude zero).
Visualization: Updated cs_plot_qst to support confidence bands and truth overlays (“Blue Band”). # CausalStress 0.1.3
Safety & Suites
Suites Layer: Introduced cs_run_suite() and the internal Suite Registry. Users can now run curated batches (e.g., suite_id = "placebo") with a single command.
Gatekeeper Protocol: Added cs_summarise_gatekeeper() to automate Article IV validation. It applies the 90% coverage rule to detect “unsafe” estimators.
Instrumentation: Run results now capture granular timing metadata (run_time_dgp, run_time_est, run_time_total) to identify bottlenecks (e.g., bootstrap overhead).
Governance & Infrastructure
Article VII Compliance: Refactored the DGP registry to support immutable, versioned helpers. Added status flags (stable, experimental) and rationale metadata.