Expose reconcile state command
This commit is contained in:
@@ -30,9 +30,11 @@ Storage owns `.distributor.json` path helpers through `StateFileName`, `StatePat
|
||||
|
||||
Logical paths are slash-separated and relative to a backend root. Prefix validation allows an empty prefix to mean the backend root; file path validation requires a non-empty path.
|
||||
|
||||
Reconcile-state callers use `Stat` to check whether managed output paths still exist and bounded recursive `Walk` to report unmanaged entries under a selected destination root. Storage does not decide whether entries are managed; callers compare entries against destination state.
|
||||
|
||||
## Skip And Resume Behavior
|
||||
|
||||
Storage has no publication skip policy. It supplies `HasAny` for unmanaged-content checks, `DeleteManagedBundle` target construction for normal replacement cleanup, and `DeletePrefix` semantics for explicit forced replacement.
|
||||
Storage has no publication skip policy. It supplies `HasAny` for unmanaged-content checks, `Stat` and `Walk` for state repair inspection, `DeleteManagedBundle` target construction for normal replacement cleanup, and `DeletePrefix` semantics for explicit forced replacement.
|
||||
|
||||
## Failure Behavior
|
||||
|
||||
@@ -42,6 +44,7 @@ Storage errors use typed categories: not found, already exists, not empty, inval
|
||||
|
||||
- `internal/storage/*_test.go`
|
||||
- `internal/storage/fake/*_test.go`
|
||||
- `internal/app/reconcile_state_test.go`
|
||||
- `internal/adapters/local/*_test.go`
|
||||
- `internal/adapters/ssh/*_test.go`
|
||||
- `internal/adapters/s3/*_test.go`
|
||||
|
||||
Reference in New Issue
Block a user