68 lines
2.3 KiB
Markdown
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 ./...
|
|
```
|