Skip to content

docs(shared): add sdd-gates fragment (Unit 7 prerequisite)#17

Merged
norrietaylor merged 1 commit into
mainfrom
sdd/unit-7-gates
May 17, 2026
Merged

docs(shared): add sdd-gates fragment (Unit 7 prerequisite)#17
norrietaylor merged 1 commit into
mainfrom
sdd/unit-7-gates

Conversation

@norrietaylor
Copy link
Copy Markdown
Owner

Summary

Adds shared/sdd-gates.md, the new importable gh-aw fragment for Unit 7
(the sdd-validate agent). This is PR-A of the two-PR pattern Unit 4 used:
the fragment must be on main before sdd-validate.md can import it via the
pinned-ref norrietaylor/spectacles/shared/sdd-gates.md@main form, since
gh aw compile resolves @main imports by fetching from GitHub.

What it contains (R7.2)

The fragment enumerates the four per-boundary validation gate sets:

  • Spec gates — acceptance criteria testable, no implementation leakage,
    assumptions explicit, proof artifacts present and behavioral.
  • Architecture gates — a decision and rationale present, alternatives
    considered, consistent with existing decisions/, no implementation detail
    masquerading as a decision.
  • Triage gates — every spec R-ID covered by a task, dependencies form a
    DAG, each task single-session sized, every task has a repo: field.
  • Implementation gates — proof artifacts re-executed and passing, changed
    files within task scope, no real credentials in the diff.

It also defines the Blocker / Warning / Info severity model: a Blocker
triggers the needs-human hand-off, consistent with ADR 0001 and the
advisory-by-design stance of the spec.

Notes

  • markdownlint clean; no em dashes; ATX headings; no private literal.
  • Layout per ADR 0002: the fragment stays at repo-root shared/.
  • PR-B (the sdd-validate agent that imports this) follows once this is
    merged.

🤖 Generated with Claude Code

Add shared/sdd-gates.md, the importable fragment enumerating the four
per-boundary validation gate sets for the sdd-validate agent (R7.2):
spec gates, architecture gates, triage gates, and implementation gates.
Each gate set names the artifact it applies to and the boundary that
selects it, with a severity model (Blocker, Warning, Info) where a
Blocker triggers the needs-human hand-off.

This fragment must land on main before sdd-validate.md can import it via
the pinned-ref owner/repo/path@main form, so it ships as a standalone PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

Warning

Rate limit exceeded

@norrietaylor has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 43 minutes and 50 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 84c63b5f-b067-4287-807e-33271d4ef968

📥 Commits

Reviewing files that changed from the base of the PR and between a74aee0 and 1acaea5.

📒 Files selected for processing (1)
  • shared/sdd-gates.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sdd/unit-7-gates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Owner Author

@norrietaylor norrietaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: Approve-equivalent. shared/sdd-gates.md is complete against R7.2, accurate, and consistent with the existing shared/*.md fragments. No blocking findings.

Reviewed against spec R7.2 (the four per-boundary gate sets), repo standards, and consistency with sibling fragments. Findings: 0 Blocker, 0 Major, 0 Minor, 2 Nit.

R7.2 completeness — pass

All four named gate sets are present and each enumerates the exact sub-items R7.2 requires:

  • Spec gates (lines 26-40): acceptance criteria testable, no implementation leakage, assumptions explicit, proof artifacts present and behavioral. All four present.
  • Architecture gates (lines 42-58): decision and rationale present, alternatives considered, consistent with existing decisions/, no implementation detail masquerading as a decision. All four present.
  • Triage gates (lines 60-75): every spec R-ID covered by a task, dependencies form a DAG, each task single-session sized, every task has a repo: field. All four present.
  • Implementation gates (lines 77-89): proof artifacts re-executed and passing, changed files within task scope, no real credentials in the diff. All three present.

The proof artifact "File: shared/sdd-gates.md contains all four named gate sets" is satisfied.

Accuracy and consistency — pass

  • Severity model (Blocker / Warning / Info, lines 14-24) matches R7.3, and the "Blocker triggers needs-human, never a failed required check" stance matches R7.4 and ADR 0001. Correct.
  • Boundary descriptions (*-spec-*.md, architecture.md/decisions/**, sdd:ready label event, other PR changes) match R7.1's boundary-resolution rules.
  • ## Verification section present, consistent with sdd-interaction.md and sdd-proof-artifacts.md.
  • No em dashes, ATX headings, no private literals, fenced code where applicable. Repo standards met.

Nits (non-blocking)

  1. shared/sdd-gates.md:81-86 — implementation gate 2 bundles two distinct checks under one gate. "Changed files within task scope" assigns Warning to an out-of-scope change and Blocker to a protected-path change. R7.2 names this as a single gate so this is acceptable, but a reader scanning gate-to-severity mapping sees one numbered gate carrying two severities. Optional: split protected-path into its own numbered gate, or add a one-line note that this gate has two severity tiers.

  2. PR description uses em dashes (e.g. "Spec gates — acceptance criteria..."). The file itself is clean, which is what the repo standard governs, but the PR body is a public artifact too; worth keeping consistent. Not a code defect.

Net: this fragment is ready to merge as the Unit 7 prerequisite. sdd-validate.md (PR-B) can import it via the pinned-ref @main form once this lands.

@norrietaylor norrietaylor merged commit e3df799 into main May 17, 2026
4 checks passed
@norrietaylor norrietaylor deleted the sdd/unit-7-gates branch May 18, 2026 17:15
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