Skip to content

new_feature.manifest

new_feature.manifest

Persist and parse the lifecycle state of managed features.

FeatureRecord dataclass

Store the allocated state and lifecycle status of one managed feature.

Manifest dataclass

Store all managed feature records for one control checkout.

manifest_path(repo_root: Path) -> Path

Return the path of a repository's managed-feature manifest.

manifest_lock(repo_root: Path) -> Iterator[None]

Serialize manifest reads and writes for a repository.

target_merge_lock(repo_root: Path) -> Iterator[None]

Serialize mutations of this repository's control checkout during merges.

feature_operation_lock(repo_root: Path, slug: str) -> Iterator[None]

Fail fast when a lifecycle operation already owns this feature.

feature_execution_lock(repo_root: Path, slug: str) -> Iterator[None]

Allow concurrent commands while excluding feature lifecycle mutations.

load_manifest(repo_root: Path) -> Manifest

Load a repository manifest, returning an empty one when none exists.

save_manifest(repo_root: Path, manifest: Manifest) -> None

Atomically persist a managed-feature manifest to disk.