# Reconciliation, Shared-Root, Reconcile-State, And Prune Status This roadmap file tracks the status and remaining boundaries for the feature group that includes destination reconciliation, shared-root destination state, state repair, and managed-output pruning. Current behavior is documented in: - `docs/config.md` - `docs/cli.md` - `docs/operations.md` - `docs/troubleshooting.md` - `docs/integrations/destination-state.md` - `docs/internal/app.md` - `docs/internal/publish.md` - `docs/internal/state.md` - `docs/internal/storage.md` ## Current Scope Current scope includes: - destination `reconciliation.mode: replace|merge`; - destination `state.mode: single_owner|shared_root`; - schema version `2` single-owner destination state; - schema version `3` shared-root destination state; - owner-scoped shared-root publishing; - `reconcile-state` for removing missing managed-output records from valid destination state; - destination `retention.prune` policy with `older_than` and `keep_latest`; - `prune --dry-run` and `prune --apply` for configured managed-output pruning. ## Current Boundaries - Producer manifests and upload requests do not carry destination routing, reconciliation, state mode, retention, transform, link, or backend policy. - Reconcile-state repairs state records only. It does not adopt unmanaged files, validate output digests, repair invalid JSON, or reconcile an entire config at once. - Pruning is explicit operator action. It does not run automatically after publish and does not accept one-off retention overrides. - Pruning deletes only managed output paths recorded in destination state. It does not delete unmanaged content or `.distributor.json`. - Shared-root publishing preserves unrelated owners and rejects implicit takeover of another owner path. ## Deferred Work Deferred or future work belongs in the other roadmap files under `docs/roadmap/`. Current deferred items include: - unmanaged-file adoption workflow; - digest-audit mode for state repair; - whole-config state repair; - automatic post-publish pruning; - path/date parsing retention policies; - producer-facing retention, reconciliation, or destination routing APIs; - broad storage synchronization behavior. ## Verification Before changing this feature group, run the focused tests for affected packages and finish with: ```sh go test ./... ```