Files
distributor/docs/roadmap/implementation.md

2.3 KiB

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:

go test ./...