Skip to content

Gated mail inventory and dry-run

Duckbill™ can inventory folders and produce a dry-run plan. Bulk historical migration is not an MVP execute path.

Rules

HTTP

MethodPathBehavior
GET/api/inventory/sourceFolder/message inventory against a recorded or mock adapter
POST/api/inventory/folders/analyzePer-folder counts
POST/api/migrations/plansPersist a dry-run-required plan
POST/api/migrations/dry-runNon-mutating estimate
POST/api/migrations/startAlways POLICY_DENIED in this milestone
POST/api/migrations/pausePOLICY_DENIED
POST/api/migrations/resumePOLICY_DENIED

Code

ModuleRole
packages/application/src/inventory.tsInventory and analyze
packages/application/src/migration.tsPlan, dry-run, gated start
packages/persistence/src/migration-plans.tsPlan persistence
database/migrations/0019_followon_providers.sqlPlan and dry-run tables

See ADR 0027.