# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.1] - 2026-02-18

### Changed

- **GES algorithm**: Replaced O(V*E) cycle check with O(V+E) BFS using deque + adjacency map. Replaced O(E) parent lookups with O(1) parent map.
- **PC algorithm**: Pre-extract all column data once per fit (avoids re-parsing per CI test). Use memoized partial correlations across the skeleton phase.
- **Independence tests**: Added `test_precomputed()` method for hot-loop usage with pre-extracted columns and shared correlation cache.
- **Bayes-Ball**: Combined ancestor computation for conditioned nodes into single BFS instead of per-node traversal.

## [0.2.0] - 2026-02-18

### Added

- **Scenario Simulator** (Ring 3): Shock propagation through causal DAG via topological sort, Monte Carlo simulation with percentile confidence intervals, built-in CCAR scenarios (baseline, adverse, severely adverse). `orxaq simulate` CLI command.
- **LLM Provider Integration** (Ring 4): Multi-provider support for vLLM, Anthropic, and OpenAI. ProviderRegistry with health checks and model discovery. ProviderRouter with task-type routing and fallback chains. `orxaq providers check/list` CLI commands.
- **Live DAG Editor** (Ring 5): HTTP-based CRUD API for nodes and edges with cycle detection. In-browser editor UI with dark theme. `orxaq edit` CLI command.
- **Plugin Scaffold** (Ring 1): PluginType enum, HookPoint lifecycle hooks, PluginRegistry with fire/register/unregister, PluginLoader for file/directory/module/config loading.
- **Enterprise Distribution**: Dockerfile (Python 3.12-slim, non-root, health check), Helm chart for Kubernetes deployment, environment-based configuration via `EnterpriseConfig`, health probes (liveness/readiness/deep).
- **Experience Skins** (Ring 5): Gamma (production), Beta (analyst), and Alpha (developer) observatory skins with skin-specific rendering.
- **Validation Pipeline**: End-to-end validation with synthetic data generation, structural Hamming distance, F1/precision/recall metrics, orientation accuracy.
- **SECURITY.md**: Security policy with responsible disclosure process.

### Changed

- Updated README with accurate statistics (550 tests, 90% coverage) and complete CLI reference (20+ commands).
- Updated CONTRIBUTING.md with complete project structure (9 modules).
- Enhanced Makefile with `docker`, `docs`, `serve`, and `simulate` targets.
- Bumped version to 0.2.0 across all manifests.

## [0.1.0] - 2026-02-18

### Added

- **Kernel** (Ring 1): Type system (`Entity`, `CausalEdge`, `WorldDAG`), hash-chained audit log, crypto primitives. Zero external dependencies.
- **Credit Risk** (Ring 2): 19-variable credit ontology, causal PD model, CECL engine with dynamic horizons, stress testing (CCAR/DFAST scenarios), fair lending via causal path decomposition, synthetic data generator.
- **Data Fabric** (Ring 2): CSV/JSON connectors, universal schema validation, data profiler, quality gates, DAG-based lineage tracking, data catalog.
- **Causal Discovery** (Ring 3): PC algorithm, GES algorithm, multi-algorithm consensus voting, partial correlation independence testing, d-separation validation, refutation suite.
- **CLI** (Ring 5): `orxaq` command-line interface with subcommands, `--json` mode for machine-readable output.
- **Gamma Observatory** (Ring 5): Self-contained HTML dashboard with D3.js DAG visualization, local HTTP API server.
- **Governance**: CODEOWNERS, branch rulesets, 14 pre-commit hooks, SAST scanning.
- **Documentation**: 25 Architecture Decision Records (ADR-000 through ADR-024), MkDocs site.
- **Packaging**: PyPI-ready with `pip install orxaq`, hatchling build system, zero runtime dependencies.
