Problem
Once #316 fixed the create_cluster exit-127 regression, the E2E last-mile journey (scripts/tests/e2e-journey.sh) reaches Step 4 for the first time with a working guard(). Step 4 fails:
── Step 4: dataset push --dry-run smoke ──
Error: table name is required (set --table)
exit code 2
Two independent reasons the step is stale vs. the current tracebloc CLI:
dataset push --dry-run now requires --table + --category (+ label/schema resolution).
- More fundamentally, the CLI's
--dry-run is no longer offline — it runs cluster discovery and a Bound-PVC check (resolveClusterTarget(..., needPVC=true)) before the dry-run stop. The harness stub creates no PVC, so dataset push --dry-run cannot pass against it regardless of flags.
The step's own comment still claims it's "offline-validatable; no creds, no reachable platform" — which is no longer true of dataset push --dry-run, but is exactly what the offline tracebloc data validate <spec.yaml> does (schema-validates a spec against the embedded ingest.v1.json, no cluster).
Fix
Rewrite Step 4 to validate a committed minimal ingest.yaml with tracebloc data validate (mirroring the CLI's own known-good smoke fixture testdata/smoke/valid-image-classification.yaml). Restores the intended offline/credential-free smoke; no PVC needed.
Follow-up to #316 / #310.
Problem
Once #316 fixed the
create_clusterexit-127 regression, the E2E last-mile journey (scripts/tests/e2e-journey.sh) reaches Step 4 for the first time with a workingguard(). Step 4 fails:Two independent reasons the step is stale vs. the current
traceblocCLI:dataset push --dry-runnow requires--table+--category(+ label/schema resolution).--dry-runis no longer offline — it runs cluster discovery and a Bound-PVC check (resolveClusterTarget(..., needPVC=true)) before the dry-run stop. The harness stub creates no PVC, sodataset push --dry-runcannot pass against it regardless of flags.The step's own comment still claims it's "offline-validatable; no creds, no reachable platform" — which is no longer true of
dataset push --dry-run, but is exactly what the offlinetracebloc data validate <spec.yaml>does (schema-validates a spec against the embeddedingest.v1.json, no cluster).Fix
Rewrite Step 4 to validate a committed minimal
ingest.yamlwithtracebloc data validate(mirroring the CLI's own known-good smoke fixturetestdata/smoke/valid-image-classification.yaml). Restores the intended offline/credential-free smoke; no PVC needed.Follow-up to #316 / #310.