1.9 KiB
Workspace preprocessing CLI contract
thothctl workspace is a closed native host interface. It accepts only the commands and options listed below; unknown options, passthrough separators, shell fragments, and bootstrap run selectors are rejected before Compose is invoked.
thothctl --installation /absolute/thothii-installation.yaml workspace inspect --workspace ID [--json]
thothctl ... workspace preprocess dwh --workspace ID [--resume RUN] [--json]
thothctl ... workspace schema suggest-fks --workspace ID [--from-sql FILE]... [--assume COLUMN=TABLE]... [--output FILE] [--json]
thothctl ... workspace schema check --workspace ID --resume RUN [--annotations FILE --reviewed-candidates sha256:HEX] [--json]
thothctl ... workspace index-schema --workspace ID [--json]
thothctl ... workspace preprocess evidence --workspace ID [--dry-run] [--resume RUN] [--json]
thothctl ... workspace preprocess run --workspace ID [--resume RUN] [--json]
Workspace IDs are lowercase [a-z][a-z0-9-]{2,62} and outer run IDs are exactly 32 lowercase hexadecimal characters. SQL ingress is limited to 32 regular, canonical, non-symlink files of at most 1 MiB each and 16 MiB total. Annotation ingress is UTF-8 and at most 16 MiB. Inputs are read without following links and are never mounted as host directories. Suggestion candidate output is bounded to 700 KiB.
workspace inspect has no resume or bootstrap option. Bootstrap recovery is automatic and installation-scoped; the host never chooses a run ID. schema check requires an explicit outer run ID and requires --annotations and --reviewed-candidates together.
The one-shot operation emits one schema-v1 JSON envelope. Stdout is capped at 1 MiB and sanitized stderr at 64 KiB. Exit status is 0 for success/unchanged/dry-run, 3 for an expected blocked/manual checkpoint, 2 for command or unsafe-file errors, and 1 for operational failures.