yoi/work-items/closed/20260601-125240-workspace-local-manifest-override/artifacts/implementation-report.md

1.2 KiB

Implementation report

Implemented workspace-local manifest override support.

Behavior

  • Normal Profile/default resolution now searches upward from the resolver workspace base for the nearest .yoi/override.local.toml.
  • The override is parsed as a PodManifestConfig layer, resolved relative to its parent .yoi/ directory, and merged after builtin defaults plus the selected Profile but before final PodManifest validation and snapshot serialization.
  • Resolved profile provenance now records the applied override path in manifest.profile.workspace_override.
  • Explicit --manifest <path> mode remains a single-file escape hatch and does not apply workspace-local overrides.
  • Workspace-local overrides are rejected if they set pod.name, keeping Pod identity runtime-bound.

Validation

  • cargo test -p manifest workspace_local_override -- --nocapture
  • cargo test -p pod manifest_mode_does_not_apply_workspace_local_override -- --nocapture
  • cargo test -p manifest -p pod
  • ./tickets.sh doctor
  • git diff --check
  • nix build .#yoi

Reviewer follow-up validation:

  • cargo test -p manifest workspace_local_override -- --nocapture
  • ./tickets.sh doctor
  • git diff --check

All completed successfully.