Enforce module-level env ownership/requirements and sync module env slices (env.owns/env.requires in modules/<module_id>/MANIFEST.yaml) against the repo env contract. Use when adding or changing a module's env dependencies, or before/after env contract updates to detect conflicts and refresh module context slices.
Enforce module-level env boundaries (owns/requires) without modifying the env contract, and generate per-module env slices for LLM context.
The manage-env-module-slices workflow does not change env/contract.yaml. It only validates and syncs module slices.
modules/<module_id>/MANIFEST.yamlenv/contract.yamlmodules/<module_id>/interact/env-slice.json (default output)modules/<module_id>/interact/registry.jsonenv/contract.yaml exists and defines the required variables.docs/project/env-ssot.json is repo-env-contractpython3 -B -S .ai/skills/features/environment/env-contractctl/scripts/env_contractctl.py init --root . --out .ai/.tmp/env-contract/bootstrap.mdenv/contract.yaml via the env-contractctl workflow (and regenerate artifacts), then resume this skill.modules/<module_id>/MANIFEST.yaml, add or update: