feat(depot): wire depot into dispatch registry and menu
Flip the depot Registry entry to Wired: true with its command list (status/push/verify/get/pull), so crucible depot/depot status/etc. route to depot.Run instead of the fail-closed unwired path. Update dispatch_test.go: the canonical command surface, command-metadata completeness (depot has no AppCommand since it parses its own subcommands), the menu-items test (depot now expected in the menu), and a new test asserting depot's stderr never reaches the dispatcher's "not wired yet" message. Drop the stale "(SeaweedFS)" summary wording. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,8 +5,10 @@
|
||||
// Cutover state (Phase 5 → 6): the internal pipeline/topdata/erf/wiki
|
||||
// packages migrated from gitea/sow-tools now live in this tree, so wired
|
||||
// builders delegate to internal/app's legacy command surface (mapped per
|
||||
// docs/command-surface.md). A builder with no migrated logic yet (depot) keeps
|
||||
// the Wired=false fail-closed path: exit 70, never a faked artifact.
|
||||
// docs/command-surface.md). depot is wired but bypasses that legacy surface
|
||||
// entirely, delegating straight to internal/depot.Run. A builder with no
|
||||
// migrated logic yet keeps the Wired=false fail-closed path: exit 70, never a
|
||||
// faked artifact.
|
||||
package dispatch
|
||||
|
||||
import (
|
||||
@@ -91,8 +93,15 @@ var Registry = []Builder{
|
||||
{
|
||||
Name: "depot",
|
||||
Bin: "crucible-depot",
|
||||
Summary: "verify/move content-addressed depot blobs (SeaweedFS)",
|
||||
Wired: false, // no migrated logic yet; fails closed (exit 70)
|
||||
Summary: "content-addressed asset depot (local/cdn/bunny)",
|
||||
Commands: []Command{
|
||||
{Name: "status", Summary: "report referenced-vs-present drift against a backend", Usage: "crucible depot status [--manifests DIR] [--source DIR] --target bunny|cdn|local"},
|
||||
{Name: "push", Summary: "upload referenced-but-absent blobs from a local depot", Usage: "crucible depot push [--manifests DIR] --source DIR --target bunny"},
|
||||
{Name: "verify", Summary: "existence sweep plus sampled download re-hash", Usage: "crucible depot verify [--manifests DIR] --target bunny|cdn [--sample N]"},
|
||||
{Name: "get", Summary: "fetch one blob with sha re-verify", Usage: "crucible depot get <sha> <dest> --target cdn|bunny|local"},
|
||||
{Name: "pull", Summary: "incremental verified pull of every referenced blob", Usage: "crucible depot pull [--manifests DIR] --dest DIR --target cdn|bunny"},
|
||||
},
|
||||
Wired: true,
|
||||
},
|
||||
{
|
||||
Name: "hak",
|
||||
|
||||
Reference in New Issue
Block a user