add register-tenant socket command + CLI verb (tenants only insertable via raw SQLite today) #101
Labels
No labels
first-proof blocker
hardening
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: clawdie/colibri#101
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap
colibri-store::register_tenant()exists but is only callable from Rust tests — there is noregister-tenantvariant inColibriCommand(daemonlib.rs) and nocolibriclient subcommand. So the only way to register a tenant today is a manualINSERTinto the SQLitetenantstable.Consequence: the spawn→vault-provision chain is wired and fires on jailed spawn, but
provision_tenant_envno-ops unless a tenant row exists — and that row can't be created through the API/CLI.Fix
Add a
register-tenantsocket command (+colibriclient verb) that wrapsstore.register_tenant(tenant_id, jail_root_path, collection_id), pluslist-tenants/set-tenant-statusfor symmetry with the agent commands.Acceptance
colibri register-tenant <id> --jail-root <path> [--collection <name>]creates the row;colibri list-tenantsshows it — no raw SQLite needed.Context: first-proof runbook documents the manual SQLite insert as the interim path.
🤖 Generated with Claude Code
Done:
register-tenantsocket command + CLI verb (andlist-tenants) landed in PR #107. Tenants are no longer raw-SQLite-only. Closing.