---
id: 4b137271-8ba4-46f2-b09b-7ab22133085f
title: 'skill v2: fold gl0w-swarm feedback — git bridge, ci execution, merge/never-delete clarity, spec pointer (within budget)'
state: closed
labels: []
assignees: []
milestone: null
created: 2026-09-08T07:00:43Z
updated: 2026-09-08T07:15:07Z
---
SOURCE: gl0w-swarm dogfood feedback, first read of the contract.
Verified against SKILL_TEXT today: 650B/15ln; cap 900B/30ln;
golden test skill_single_source_body_equals_skill_text pins
skill/skill.md body == SKILL_TEXT. Review verdict: philosophy
lines all praised; gaps are procedural/git-bridge, exactly where a
terse skill bleeds.

ADD to the contract, priority order:
1. git bridge (MUST, keep full form): .forge/ is committed and
   travels with the repo; a PR is a git branch (from a worktree).
2. ci execution (MUST): steps are scripts; f0rge ci RUNS them in
   filename order; first nonzero exit = fail verdict (keep
   pass|fail|running|cancelled lifecycle words).
3. merge + never-delete clarity: f0rge merge applies and prints
   conflicts, never resolves; merged PR folder STAYS (state:
   merged); only the branch is deleted. never-delete holds for all
   entities — the fix is clarity, NOT a carve-out.
4. archive destination: archive moves the entity folder to
   .forge/archive/ (the dangling "moves folder" verb gets a target).
5. start: f0rge init creates the .forge/ skeleton; idempotent, safe
   to run anytime (fold into the usage line if bytes demand).
6. format pointer: spec/schema.md is the frozen format truth;
   labels.md/milestones.md are the label/milestone registries.

CUT (explicitly out of scope): full skeleton enumeration
(discoverable in one ls; formats belong in spec/, not the
contract); repo-specific conventions (AGENTS.md placement,
gitignores, migration scope) — never bake per-repo facts into a
generic contract.

RULES: budget cap 900B/30ln UNCHANGED — no PLAN §M2 change, no
budget-test change. If the draft exceeds 900B, compress by priority:
items 1-2 keep full form; items 3-6 bend (drop exemplars, fold init
into usage, tighten wording). Keep the opener "f0rge v1: CONTRACT
(not help)" and the semantics of all existing lines (id/number/
files/tree/frontmatter/never-delete/wiki/usage/json). Touch no other
file: no -h, no root help, no spec, no core.

DONE means: SKILL_TEXT and skill/skill.md body byte-identical;
skill_within_budget + golden test pass; full cargo test --workspace
green; f0rge ci run verdict pass on the branch.
