ginee v0.21.0
Highlights
- Sub-issue pickup is cheaper (#152). Picking up a sub-issue with a
ginee:role:*label + dispatch-contract body dispatches the named cardinal directly. Saves one full@team-leadre-derive (~15–40k tokens) per sub-issue pickup. - Trivial scope skips Phase 1–3 (#153). New
lite:(aliasdirect:) prefix elides requirements / design / design-review for typos, single-label tweaks, and single-doc-bullet edits. Phase 4 dispatches one named cardinal directly; Phase 7 + Phase 8 still run. CR / ADR gates stay in effect — lite is orchestration cost, not governance bypass. Composes with every other prefix (auto: lite:,branch: lite:, etc.). - Heavy roles run on demand across Phase 4–7 (#162).
team-lead+solution-architectare invocation-gated, not phase-gated — default is skip unless an affirmative trigger fires (sub-issue routing artefact · SA-owned-file edit · NFR-oracle red ·## Open issues/## Hand-off/Status: In-progresson cardinal return · cross-domain bug · multi-cardinal PR). Phases 1 / 2 / 3 / 8 (team-lead) and 1 / 2 / 7 (SA) stay load-bearing. - QA pixel-check — mockup becomes a runtime oracle (#163). Optional Phase 5 stage diffs the rendered app against the mockup at a shared seed-state. Catches CSS regressions, layout shifts, missing icons, broken responsive breakpoints — failures behaviour tests + manual smoke miss today. Off by default; opt in via
qa.pixel-check.enabled: true. Adopter picks alignment direction (mockup-follows-seedorseed-follows-mockup).
Adopter migration
Mostly nothing to do. The four features are either purely additive or opt-in.
Per-change action
| Change | Action |
|---|---|
| Sub-issue pickup fast-path | None — ginee-pick-up detects the routing artefact and uses it automatically |
| Lite mode prefix | None — prefix lite: / direct: on any task to use it; otherwise default Phase 1–8 |
| Heavy-role bypass codification | None — codifies an existing principle. Cardinals continue to fill ## Open issues / ## Hand-off / Status fields per phase-report schema; those fields are now the binding re-entry signal |
| QA pixel-check | Opt in. Set qa.pixel-check.enabled: true in local/framework.config.yaml + populate seed-script.path · mockup-snapshot.path · app-render.command in local/bindings.md. Run the tolerance-bootstrap recipe in the migration to establish baseline masks |
Notes
- Heavy-role bypass is enforcement + observability, not new mechanics. Half the rules already existed in fragmented form (SA "governance dip" qualifiers in phase-4/5/6.md, "Review on architectural fix" in phase-6.md, sub-issue pickup fast-path from #152). The shared protocol consolidates them and adds transcript-grep recipes for spotting defensive dispatch.
- Pixel-check pairs with
blueprint-diff-protocol.md— blueprint-diff catches mockup self-drift; pixel-check catches app-vs-mockup drift. Both run only on changes touching the visual surface. - Team-lead headroom drops to ~19% (vs ~23% in 0.20.0). Driven by lite-mode + heavy-role-bypass citation blocks; still within the 90,000-byte ceiling. Watch in 0.22.0 — next dispatch.md-touching change may warrant an
ai-engineerpass.
Migration files
migrations/sub-issue-fast-path.mdmigrations/lite-mode.mdmigrations/heavy-role-bypass.mdmigrations/qa-pixel-check.md
Browse: github.com/kostiantyn-matsebora/ginee/tree/v0.21.0/migrations/.