Description
spacedock gate prepare writes a canonical Briefing (gate-briefing.json) that omits the context field. subspace-tui's Briefing loader (internal/reviewv1/loader.go, validateBriefing) requires Context != nil and refuses to load any Briefing missing it:
briefing: context is required
Reproduction
- Run
spacedock gate prepare <entity> --question "..." --artifact <file.md> --summary "..." --workflow-dir <dir> to open a gate room.
- Inspect the emitted
gate-briefing.json — it contains only type, version, id, question, and artifacts. No context key at all.
- Attempt to float that Briefing directly via the canonical package-mode review form:
subspace-tui --review-v1 --actor <actor> --mode <mode> <path-to-gate-briefing.json>
- The process exits immediately (exit 2) with
briefing: context is required, before any review UI opens — the reviewer never sees anything.
Scope
Confirmed independently on two separate, unrelated entities/gate stages within the same workflow — not a corrupted or one-off file. Every gate prepare-authored Briefing observed has the same gap.
Why this has gone unnoticed
The common workaround (used throughout, apparently unintentionally) is to float the plain-Markdown form instead (review-<terminal> --mode <mode> <artifact.md>), which builds its own compliant Briefing internally and never touches the package-mode loader path — so it never hits this. Anyone who directly floats a gate prepare-authored Briefing via the raw --review-v1 <briefing.json> form hits this every time.
Environment
spacedock version: 0.27.0 (workflow originally commissioned under 0.19.9)
- Workflow: split-root, single-repo, id-style
sd-b32
Description
spacedock gate preparewrites a canonical Briefing (gate-briefing.json) that omits thecontextfield.subspace-tui's Briefing loader (internal/reviewv1/loader.go,validateBriefing) requiresContext != niland refuses to load any Briefing missing it:Reproduction
spacedock gate prepare <entity> --question "..." --artifact <file.md> --summary "..." --workflow-dir <dir>to open a gate room.gate-briefing.json— it contains onlytype,version,id,question, andartifacts. Nocontextkey at all.briefing: context is required, before any review UI opens — the reviewer never sees anything.Scope
Confirmed independently on two separate, unrelated entities/gate stages within the same workflow — not a corrupted or one-off file. Every
gate prepare-authored Briefing observed has the same gap.Why this has gone unnoticed
The common workaround (used throughout, apparently unintentionally) is to float the plain-Markdown form instead (
review-<terminal> --mode <mode> <artifact.md>), which builds its own compliant Briefing internally and never touches the package-mode loader path — so it never hits this. Anyone who directly floats agate prepare-authored Briefing via the raw--review-v1 <briefing.json>form hits this every time.Environment
spacedockversion: 0.27.0 (workflow originally commissioned under 0.19.9)sd-b32