Files
computer-playbook/scripts/meta/env/README.md
kevinveenbirkenbachandClaude Opus 4.7 256e027525 docs: drop stale requirement refs + reflow soft-wraps to one sentence per line
Removes 67 live references to docs/requirements/<NNN>-*.md files across
43 contributor docs, role READMEs, code comments, task files, and tests.
Requirement docs are initial-creation-only artefacts; live references
freeze a snapshot that rots once the per-feature SPOT (a contributor
doc, a code module, a lint test) takes over the live behaviour.

In the same pass, fixes documentation.md violations on the touched
files: drops em-dashes used as thought breaks, removes "SPOT for ..."
self-labels, strips historical phrasing ("the legacy", "previously",
"used to", "is no longer used", "matching the historical"), and
reflows soft-wrapped sentences so each sentence stays on one logical
line.

The `test_inventory_vars_file_spot.py` whitelist for the literal
inventory path drops the docs/requirements/003 entry and instead
skips docs/requirements/ entirely; future requirement docs that
mention the literal path are then ignored automatically.

Verified by tests/lint/repository/test_no_stale_requirement_refs.py
(green tree-wide).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 05:00:46 +02:00

22 lines
1.5 KiB
Markdown

# Environment Layer 🌍
This directory contains the shared environment bootstrap layer for Infinito.Nexus scripts. ✨
Its purpose is to keep runtime configuration centralized, deterministic, and easy to reuse across local runs, CI, and container-based execution. 🧭
The design follows simple composition principles so environment state can be loaded safely and consistently without duplicating logic in many places. 🧱
Use the directory-level entrypoint for sourcing this environment context in scripts and automation. ✅
## Modules 📦
The directory has two kinds of env modules:
- **Always-on modules** are composed by `all.sh` and SHOULD be sourced by anything that needs the standard project environment (Python interpreter, distro defaults, runtime context, inventory paths, GitHub markers): `python.sh`, `runtime.sh`, `defaults.sh`, `inventory.sh`, `github.sh`.
- **On-demand modules** MUST NOT be composed into `all.sh` because they encode an intent that only makes sense in a specific call path.
The deploy-only marker is the canonical example:
- `ci.sh` exports `INFINITO_MAKE_DEPLOY=1` so `MODE_CI` (defined in `group_vars/all/01_modes.yml`) flips to `true` for the duration of a make-driven deploy.
It is sourced by every deploy entry-point under `scripts/tests/deploy/local/deploy/`.
Sourcing it from `all.sh` would set the marker for unrelated `make test*` or `make build*` recipes too, which is exactly what the service-gating contract forbids.