Files
distributor/docs/roadmap/implementation.md

68 lines
2.3 KiB
Markdown

# 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 ./...
```