You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## What
One coordinated hardening pass so the workflow skills run reliably on
**small/cheap executor models** (modest context windows, no prompt
caching). Six improvements, minimal diffs, all extending existing
in-repo mechanisms:
1. **Explicit context budgets** — `execute-phase` 2.7.0 (≤ 10 full-file
reads per phase beyond the unit's own docs; targeted ≤ 50-line reads and
greps free; fixed Step 0 minimum set; summarize-don't-hold),
`review-implementation` 1.3.0 (diff + ≤ 10 context files, findings
reduced to table rows immediately), and a per-pass budget in
`review-change` 2.6.0.
2. **Fresh context per phase + file-based handoff** — `progress.md` gets
a fixed per-phase entry schema (`Done / Remains / Gotchas / Files /
Next`), created beside the SPEC on P1 for phased XS/S and `--fix` units;
the same-session re-read shortcut is removed (one phase = one fresh
conversation). `plan-feature-scaffold` 1.11.0 documents the file
accordingly.
3. **Structural vagueness detection** — `design-feature` 2.2.0: one
question per turn (never batched), a fixed six-slot vagueness rubric
(affected users/roles · error & edge states · data shape · boundaries &
limits · out of scope · success criteria), the mandatory-question rule
(no requirement without a verifiable AC), the reframe-as-measurable
technique, a new `### Deferred decisions` SPEC section, and structural
escalation (≥ 3 empty slots → `NEEDS_INPUT`). `plan-feature-from-issue`
1.5.0 mirrors the rubric and gains a fixed ≥ 3-slot hand-off threshold
to `design-feature`.
4. **Deterministic gates on artifacts** — new **Spec-lint** (modeled on
the Phase-lint: presence checks only, fail-closed) in both SPEC
templates; run by `design-feature` (product boxes, before stamping
`designed`), `plan-feature-scaffold` (all boxes, before its report), and
`plan-fix` 2.4.0 (fix-template boxes, before the draft commit).
5. **Reviews isolated per axis, tables only** — `review-change` 2.6.0:
new default *Isolation rule* (subagent / headless / fresh-conversation
tiers, same as `--adversarial`); each pass receives only scope + its
checklist + named docs and returns only its fixed table + PASS|FAIL; the
orchestrator holds tables, never sources; in-turn composition stays as
the documented inline fallback.
6. **Other strong-model-judgment steps fixed** — structural
per-criterion SPEC-drift table in `review-change`; fixed numeric
cheap-fix bound (≤ ~15 lines, ≤ 2 files, no public API/schema change) in
`review-implementation`; dev-scenario failure-mode seed categories in
the feature SPEC template; README (EN+ES) guidance for running the whole
flow on a homogeneous small-model fleet.
## Why
The skills are executed day to day by small models (Qwen3.6,
DeepSeek-V4-Flash, MiMo-2.5 class) with modest context and no caching.
Steps that assumed strong-model judgment (open-ended discovery reads,
batched interviews, in-turn review composition, "a few lines"
heuristics) degrade there; this pass converts them to caps, fixed
schemas, and presence gates.
## Evidence
- `npx skills add . --list` discovers all skills (run, output clean).
- `bump-skill` authoring lints on the 7 changed skills: `→ Next:` / `##
Portability` / `## Turn contract` present; no `S1`/"Step N" phase labels
(only the standard "Step 0" section names).
- Versions bumped + CHANGELOG.md / CHANGELOG.es.md rows + release-log
entries; README.md / README.es.md updated in the same change
(bilingual-sync rule honored).
## Pending
- `docs/workflow/GOLDEN_FIXTURE.md` smoke test with the weakest fleet
model (manual procedure) — recommended before merge for the
`execute-phase` / `plan-feature-scaffold` / `design-feature` /
`review-*` wording changes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Copy file name to clipboardExpand all lines: README.es.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -286,6 +286,30 @@ se mueve rápido; contrástalo con un leaderboard actual antes de fijar nada):
286
286
**Gemma 3 27B**, **Phi-4-mini** — corren en local, suficientes para trabajo
287
287
tipo grep.
288
288
289
+
### Ejecutar todo el flujo con una flota de modelos pequeños/baratos
290
+
291
+
Los skills están endurecidos para modelos ejecutores pequeños (ventanas de
292
+
contexto modestas, sin caché de prompt): checklists fijas en lugar de juicio,
293
+
las puertas de presencia Phase-lint y Spec-lint, un esquema fijo de handoff en
294
+
`progress.md` con conversación nueva por fase, presupuestos de contexto por
295
+
fase/pasada, y revisiones aisladas por eje que devuelven solo tablas de
296
+
hallazgos. En una flota sin ningún modelo de clase frontier:
297
+
298
+
-**Ejecución** (`execute-phase`, `log-session`, mantenimiento de docs) está
299
+
diseñada para el tier más barato — una fase por conversación, handoff vía
300
+
`progress.md`, máximo 10 lecturas de fichero completo por fase.
301
+
-**Planificación, revisión y auditoría** (`design-feature`, `plan-feature`,
302
+
`plan-fix`, `review-change`, `audit-pr`, `product-audit`) siguen usando el
303
+
**modelo más fuerte que tengas**, aunque no sea frontier — y nunca uno más
304
+
débil que el que escribió el cambio.
305
+
-**Revisiones**: mantén el aislamiento por eje por defecto (cada pasada un
306
+
contexto nuevo, retorno solo-tabla) y prefiere `--adversarial 2` en cambios
307
+
`L` o sensibles — N revisores baratos y descorrelacionados recuperan parte
308
+
de lo que un único revisor pequeño no ve.
309
+
-**Divide más.** La regla de división obligatoria (≤ ~5 fases, una capa por
310
+
fase) es la palanca principal: fases más pequeñas son lo que hace fiable la
311
+
ejecución barata. Ante la duda, corta más pequeño.
312
+
289
313
#### <imgsrc="docs/assets/nan-cloud.svg"alt="Logo de NaN Cloud"width="20"height="19"> Ejecutar sobre [NaN.builders](https://cloud.nan.builders/r/7GK06FX8)
290
314
291
315
[NaN Cloud](https://cloud.nan.builders/r/7GK06FX8) sirve la frontera open-weight
0 commit comments