MineProductivity v2.0.0 - Enterprise Certification Record¶
Version: 2.0.0 Date: 2026-07-12 Scope: The complete locked architecture - all eleven domain packages plus the three cross-cutting infrastructure packages. Nature of release: Stability declaration. Zero breaking changes. Public APIs stable by contract.
This document is the repository-wide certification record for the v2.0.0
release. It records the full quality-gate results, per-package acceptance-proof
status, coverage figures, and the production-readiness and repository-consistency
audit outcomes that gate the release.
1. Architecture status¶
Every package in the locked dependency chain is implemented, tested, documented, and released:
core → ontology → events → kpis → analytics → decision → digital_twin
→ simulation → optimization → agents → visualization
plus the cross-cutting registry, plugins, connectors. visualization is
the final package; nothing depends on it. No architectural change was made in
the 1.9.0-2.0.0 cycle - these were implementation-and-release milestones only.
| Package | Released | Design spec | ADR |
|---|---|---|---|
| core, ontology, events, registry, plugins, connectors, kpis | ≤ 1.4.x | 01-05 | inline |
| analytics | 1.5.0 | 06 | ADR-0006 |
| decision | 1.6.0 | 07 | ADR-0007 |
| digital_twin | 1.7.0 | 08 | ADR-0008 |
| simulation | 1.8.0 | 09 | ADR-0009 |
| optimization | 1.9.0 | 10 | ADR-0010 |
| agents | 1.10.0 | 11 | ADR-0011 |
| visualization | 1.11.0 | 12 | ADR-0012 |
2. Quality gate (all green)¶
| Gate | Command | Result |
|---|---|---|
| Lint | ruff check . |
All checks passed |
| Format | ruff format --check . |
714 files already formatted |
| Types | mypy --strict src/mineproductivity |
Success - 0 issues in 314 source files |
| Tests | pytest (full suite) |
2,986 passed |
| Coverage | pytest --cov=mineproductivity --cov-branch |
99% (8,062 statements, 13 missed; 1,260 branches, 18 partial) |
| Docs | scripts/quality/check_docs.py |
0 broken links, 0 failed snippets |
| Smoke | scripts/quality/smoke_test.py |
PASSED - all 14 subpackages import on the base install |
| Perf | scripts/quality/perf_smoke.py |
Passed, within budget |
Environment: Windows 11 (AMD64), CPython 3.12.10, mineproductivity editable-installed.
Coverage residual¶
The 13 uncovered statements and 18 partial branches are, by design and audit:
the interface-only ABC method bodies of the solving-paradigm/methodology
extension points (which ship zero concrete subclasses on purpose) and the
documented repository-race guards in the executors (§32 serialization
contract). All are ≥95%-bar-clearing and are disclosed in the relevant module
docstrings. No behavioral gap.
3. Per-package acceptance proofs¶
Every domain package ships the platform's standard mechanical acceptance proofs
as dedicated tests in its test_public_api.py, and every one passes as part of
the 2,986-test suite:
- No-fact-recomputation - forbidden-engine-import scan: a higher package never re-derives a lower package's fact.
- No-statistics-reimplementation -
analytics-delegation proof for every comparison/sensitivity layer (analytics, decision, simulation, optimization). - Immutability - value objects and entities are frozen; state changes produce new instances.
- Interface purity - the interface-only ABCs (
ForecastingModel,RootCauseAnalyzer/WhatIfEngine,TwinSimulationModel, the 4 simulation methodology ABCs, the 6 optimization paradigm ABCs,Agent/Tool/AgentMemory,Visualization/Renderer) have zero concrete subclasses insrc/. - Dependency direction, both ways - an AST walk of each package's own imports plus a reverse scan proving no lower package imports a higher one.
- No-backend-coupling - lowercase source scan proving no solver library, LLM-provider SDK, or charting/templating library string appears in the locked packages (they live only in plugins).
Public API surface is exact per each design spec §7 and enforced by test: optimization 36 symbols, agents 41, visualization 29.
4. Examples & benchmarks¶
- Examples: every implemented package ships runnable,
mypy --strict/ruff-clean example scripts. The 1.9.0-1.11.0 cycle added 15:examples/optimization/(5),examples/agents/(5),examples/visualization/(5). All exit0. - Benchmarks:
benchmark/reports/holds recorded reports for decision, digital_twin, simulation, optimization, agents, and visualization. Repositoryget()latency is a flat ~0.08-0.11 µs (O(1)) across 10³-10⁵ populations for every package; throughput scenarios record honest sequential-vs-parallel numbers (parallel speedup is GIL-bound for the trivial in-process fixtures and materializes only when a concrete plugin backend releases the GIL).
5. Production-readiness review¶
| Item | Status |
|---|---|
Installation (pip install ., editable, GitHub, wheel) |
Verified in prior release-engineering milestones; base install is dependency-free |
| Onboarding (README "Next Steps", quickstart, per-package example READMEs) | Present and accurate |
Package metadata (pyproject.toml) |
Development Status :: 5 - Production/Stable; author matches citation; OS-independent classifier; version read dynamically from __version__ |
| README quality | Internally consistent; stale maturity/status/version claims corrected |
Documentation navigation (docs/README.md, architecture handbook, governance) |
Present; developer-guide/reference-blueprint remain disclosed placeholders |
| GitHub presentation (issue/PR templates, 7 CI workflows, CODEOWNERS) | Complete; CODEOWNERS now covers every domain package |
Release notes (CHANGELOG.md) |
Complete through 2.0.0; stray [0.9.0] block fixed |
Citation (CITATION.cff, docs/citation/*) |
Synced to 2.0.0; Concept DOI 10.5281/zenodo.21172767 throughout |
Contribution workflow (CONTRIBUTING.md) |
Present; points to migrated engineering rules |
Licensing (Apache-2.0, LICENSE) |
Present and complete |
Security policy (SECURITY.md) |
Rewritten from skeleton-era text to accurate supported-versions and scope |
| Tool-neutrality | CLAUDE.md and HANDOFF_TO_OPUS.md removed; rules migrated to docs/governance/ENGINEERING_RULES.md |
6. Repository-consistency audit¶
- Version single-source:
src/mineproductivity/__init__.py.__version__ == "2.0.0";pyproject.tomlreads it dynamically; installed metadata agrees. The only hand-synced duplicates -CITATION.cff,docs/citation/CITATION.md,docs/citation/MineProductivity.bib- all read2.0.0. - README, ROADMAP, architecture handbook, and all three 1.9-1.11 implementation checklists reflect the implemented-and-released state; no "Not started" or "design-only" claims remain for implemented packages.
check_docs.py: 0 broken links across the repository, 0 failed snippets.- No AI-assistant-specific instruction files remain; no
Co-authored-bytrailer appears anywhere in history.
7. Deferred items (do not block certification)¶
- Nine skeleton placeholder packages are retained and honestly documented;
their rationalization is a proposed, post-2.0 governance decision recorded
in
docs/adr/ADR-0013-Placeholder-Package-Rationalization.md. docs/developer_guide/anddocs/reference_blueprint/remain README-only placeholders (the locked source documents live indocs/architecture/locked_ssot_documents/), disclosed as such in the README.analyticsexamples/benchmarks parity with the other packages is a Recommended Improvement tracked for a future minor, not a 2.0 blocker.
8. Certification¶
On the evidence above - a fully green quality gate, 99% branch coverage, all mechanical acceptance proofs passing, a synchronized and internally consistent repository, and no breaking changes - the platform is certified for the v2.0.0 enterprise release as a stability declaration: architecture complete and locked, public APIs stable by contract.