Skip to content

Add /start ceremony dials (START_APPROVAL_GATE, ISSUE_FULL_STRUCTURE) for lighter-ceremony projects - #211

Merged
sebastientaggart merged 2 commits into
devfrom
feature/200-lite-ceremony-start-toggles
Aug 5, 2026
Merged

Add /start ceremony dials (START_APPROVAL_GATE, ISSUE_FULL_STRUCTURE) for lighter-ceremony projects#211
sebastientaggart merged 2 commits into
devfrom
feature/200-lite-ceremony-start-toggles

Conversation

@sebastientaggart

Copy link
Copy Markdown
Member

Summary

Re-scopes #200 from "build a parallel github-lite skill group" to two runtime toggles on the existing group — closing the real ceremony gap without the permanent cost of duplicating ~10 skill files and a doubled level×adapter test matrix.

Since #200 was filed, Code Cannon grew the runtime dials its agent notes had rejected (REVIEW_GATE: advisory, trunk mode, optional QA/labels/milestones) and a three-tier setup UX (Lightweight/Standard/Governed). The Lightweight profile already delivered most of the ticket. The only ceremony left un-relaxed lived in /start — the human gates and the mandated issue documentation. Two truthiness toggles finish the job. (Full reasoning posted as a comment on #200.)

New dials

Both default to "true", so every existing project renders byte-for-byte identically — the full-ceremony workflow is unchanged.

  • START_APPROVAL_GATE"false" makes /start skip the Case A & Case B "type go" gates and proceed straight to coding.
  • ISSUE_FULL_STRUCTURE"false" makes /start write a brief freeform issue body and skip the "Agent Implementation Notes" comment.

The Lightweight setup profile now writes both as "false". Kept for Lightweight: tickets, feature branches, PRs — the professional-signal artifacts.

Changes

  • skills/github-agile/start.md — both gates, the five-section body, and the agent-notes comment wrapped in {{#if}} with relaxed variants.
  • config.schema.yaml, templates/codecannon.yaml, .codecannon.yaml — declared both placeholders (CC itself stays full-ceremony).
  • skills/github-agile/setup.md — Lightweight profile writes both "false"; health summary reports them.
  • Regenerated all four adapter outputs (.claude, .cursor, .agents, .gemini).

Test plan

  • ./sync.py --validate and make check pass (placeholder, permission, command-shape).
  • Full-ceremony render ("true"): behavior unchanged; no placeholder leaks. Only cosmetic delta is the Step 2 heading "HUMAN GATE" → "Approach checkpoint" (same prompt text and stop-and-wait).
  • Relaxed render ("false"): flip-tested — lite body + no-gate variants render in Case A and Case B, full-only text absent, zero {{ leaks. Config reverted after.

Closes #200

@sebastientaggart

Copy link
Copy Markdown
Member Author

Code review — medium effort

Scope: /start ceremony toggles (START_APPROVAL_GATE, ISSUE_FULL_STRUCTURE) + schema/template/setup wiring. Both render paths ("true" / "false") were rendered and inspected; no placeholder leaks, make check + --validate pass. No sensitive-area surfaces touched (auth / payments / secrets / prod config / destructive ops) — sensitive-area gate not triggered.

[WARNING] skills/github-agile/start.md:320 — Case B's no-gate variant says "Do not stop to wait for a go — proceed directly to Step 3", but Case B Step 3 (Investigation findings) is itself an agent-initiated post/skip prompt. So with START_APPROVAL_GATE: "false" a resumed issue can still stop, contradicting the schema's promise that the gate is skipped and /start "proceeds straight through to coding without stopping." Either fold the Step 3 findings prompt under START_APPROVAL_GATE (default to skip silently when off, as the story-driver already does), or narrow the schema/variant wording to say only the approval gate is removed. Non-blocking — the prompt only fires on a genuine finding.

[NOTE] skills/github-agile/start.md:121 — the Step 2 heading rename HUMAN GATEApproach checkpoint also lands in the full-ceremony ("true") render. Behavior is identical (same prompt, same stop-and-wait), so the "full-ceremony unchanged" criterion holds in substance, but the heading text differs from what existing projects saw before.

Verdict: APPROVE

@sebastientaggart

Copy link
Copy Markdown
Member Author

Code review (re-review after fix) — medium effort

Scope: follow-up commit c4f0357 addressing the prior [WARNING]. Case B Step 3's investigation-findings prompt is now wrapped in {{#if START_APPROVAL_GATE}}, with a {{#if !START_APPROVAL_GATE}} variant that skips silently (posting a genuine finding without asking, mirroring the story-driver). Conditional blocks balanced; both render paths ("true" / "false") rendered and inspected — no placeholder leaks, make check + --validate pass. No sensitive-area surfaces touched.

Prior warning resolved. No new findings.

Verdict: APPROVE

@sebastientaggart
sebastientaggart merged commit 439d44d into dev Aug 5, 2026
6 checks passed
@sebastientaggart
sebastientaggart deleted the feature/200-lite-ceremony-start-toggles branch August 5, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant