mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
Read INFINITO_LIFECYCLES from default.env via a new tested_lifecycles() helper; derive TESTED_LIFECYCLES, the README overview envelope, the guide-select role filter, and the invokable-lifecycle lint from it. Add "maintained" to the envelope and drop the redundant hardcoded "alpha beta rc stable" strings from workflows, CLI help, and docs. Guide selection now skips pre-alpha/eol roles (153 -> 117 testable). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
620 B
Python
18 lines
620 B
Python
"""The CI-tested lifecycle envelope, read from ``default.env`` (the SPOT)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from utils.cache.files import PROJECT_ROOT
|
|
from utils.env.parser import parse_static_env
|
|
|
|
|
|
def tested_lifecycles() -> frozenset[str]:
|
|
"""Lifecycle stages the CI test-deploy discovery exercises.
|
|
|
|
Reads the ``INFINITO_LIFECYCLES`` value from ``default.env`` so the
|
|
envelope has a single source of truth instead of being duplicated as a
|
|
hardcoded set at every consumer.
|
|
"""
|
|
raw = parse_static_env(PROJECT_ROOT / "default.env")["INFINITO_LIFECYCLES"]
|
|
return frozenset(raw.split())
|