Files
nova-platform/core/environment_check.py
T
CIAgent 2443909362 docs(milestone): complete v1.0-nova-platform (release v0.1.6)
---ci---
project: nova-platform
milestone: v1.0
status: complete
requirements:
  covered: [REQ-01,REQ-02,REQ-03,REQ-04,REQ-05,REQ-06,REQ-07,REQ-08,REQ-09,REQ-10,REQ-11,REQ-12,REQ-13,REQ-14,REQ-15,REQ-16,REQ-17,REQ-18,REQ-19,REQ-20,REQ-21,REQ-22,REQ-23,REQ-24,REQ-25,REQ-26,REQ-27,REQ-28,REQ-29,REQ-30,REQ-31,REQ-32,REQ-33,REQ-34,REQ-35,REQ-36,REQ-37,REQ-38]
  partial: []
---/ci---

v1.0 milestone complete: simplified infrastructure-delivery platform
derived from Nova (acdl). 6 phases (P0-P5 + P6 final). 38 REQ-IDs.
38 decisions (D-001..D-038). 76 tests pass. Engine boundary holds.
Happy paths green (check-only + CI). 13 L1 + 2 L2 modules. 5 terraform
roots. Shell reproducibility. Zero OOS files.

Tags: v0.1.0 (P0) → v0.1.1..v0.1.5 (P1..P5) → v0.1.6 (P6 = milestone
release on v0.1 patch line).
2026-08-25 02:18:35 +00:00

37 lines
1.1 KiB
Python

"""Nova Platform — Environment Check.
Loads and validates a platform-managed environment JSON file.
Simplified per D-019: check(env_name, environments_dir) -> dict, raises
EnvironmentNotFoundError on missing env. Drops the reference's
(ok, message) tuple, _onboarding_message, and main() CLI.
"""
import json
from pathlib import Path
class EnvironmentNotFoundError(FileNotFoundError):
"""Raised when a named environment has no JSON file."""
def check(env_name, environments_dir):
"""Load and return the environment dict for env_name.
Args:
env_name: environment name (dev, qa, prod, dr).
environments_dir: Path to the core/environments/ directory.
Returns:
The parsed environment dict.
Raises:
EnvironmentNotFoundError: no <env_name>.json in environments_dir.
"""
env_path = Path(environments_dir) / f"{env_name}.json"
if not env_path.exists():
raise EnvironmentNotFoundError(
f"environment '{env_name}' not found at {env_path}")
with open(env_path) as fh:
env = json.load(fh)
return env