Extract Gate Presentation from first-officer-shared-core into a lazy spacedock-owned skill#296
Merged
Conversation
Move the entire `## Gate Presentation` block (the captain-facing gate-review template + nine assembly rules) out of first-officer-shared-core.md into a new FO-internal `skills/present-gate/SKILL.md`, loaded lazily via `Skill(skill="spacedock:present-gate")` at the gate point instead of riding the eager FO boot read. The always-on decide-to-gate / AC-cross-check / self-approve logic stays in `## Completion and Gates`; only the rendering moves. The moved block is byte-identical to origin/next lines 158-191. Add skills/integration/present_gate_test.go (AC-1/AC-2): present-in-skill + absent-from-core fingerprints, all nine assembly-rule fingerprints, Skill()-seam present / @-include absent region-scoped to `## Completion and Gates`, and no dispatch-helper leak in the skill. Each negative half demonstrated by real mutation. Add "present-gate" to userSkills so the frontmatter + reference-closure oracles cover it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…cable
Three test-strength fixes from the detached audit (tests only; the deliverable
behavior already passed validation including a live AC-3 drive):
1. TestPresentGateSkillNameMatchesSeam — assert the frontmatter name VALUE
equals `present-gate` (the directory name and the
Skill(skill="spacedock:present-gate") seam target), not just token presence.
2. TestFOCoreInvokesPresentGateSkill — replace the enumerated @-include ban with
a structural regex scan (@(?:\.{1,2}/)*present-gate\b) over the
`## Completion and Gates` region, catching the @./present-gate/SKILL.md family
the old two-literal enum missed.
3. TestPresentGateSkillIsFOInternal — assert the frontmatter carries
user-invocable: false.
Each negative demonstrated by real mutation then restored green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
clkao
added a commit
that referenced
this pull request
Jun 4, 2026
clkao
added a commit
that referenced
this pull request
Jun 4, 2026
clkao
added a commit
that referenced
this pull request
Jun 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The FO's Gate Presentation block loaded on every boot but is needed only at a gate; this lifts it into a lazy skill to trim the eager boot read.
What changed
## Gate Presentationtemplate + nine assembly rules intoskills/present-gate/SKILL.md, byte-identical.Skill(skill="spacedock:present-gate")load-trigger at the gate point.present_gate_test.gooracles: present-in-skill, absent-from-core, nine-rule, seam, no-helper-leak.@-token scan,user-invocable: false.Evidence
go test ./...: 14/14 packages passed; a livegate-guardraildrive rendered a conforming gate from the lazy skill.next158-191 (matching SHA-256); detached adversarial audit findings closed.Review guidance
The load-bearing change is the one-line seam in
first-officer-shared-core.md## Completion and Gates.t3