Skip to content

🌱 Add spec-driven development (SDD) framework#2668

Draft
perdasilva wants to merge 2 commits intooperator-framework:mainfrom
perdasilva:sdd-bootstrap
Draft

🌱 Add spec-driven development (SDD) framework#2668
perdasilva wants to merge 2 commits intooperator-framework:mainfrom
perdasilva:sdd-bootstrap

Conversation

@perdasilva
Copy link
Copy Markdown
Contributor

Description

Bootstrap spec-driven development (SDD) framework for the project. Adds governing specs under specs/ and four Claude Code workflow commands under .claude/commands/ for phase-based development.

Governing specs:

  • specs/mission.md — goals, non-goals, design principles, development practices
  • specs/tech-stack.md — language, dependencies, build commands, project structure
  • specs/roadmap.md — 6 historical phases derived from merged PRs, with open Phase 7 placeholder
  • specs/conventions.md — commit messages, PR format, branch naming, fork-based git remote conventions

Workflow commands:

  • /sdd-plan-next-phase — plan the next development phase with spec directory
  • /sdd-implement — implement a phase spec following task groups
  • /sdd-review — review branch changes for consistency with specs
  • /sdd-ship — verify, commit, and publish with project conventions

Also updates AGENTS.md with an SDD section referencing the specs and commands.

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Bootstrap governing specs and workflow commands for spec-driven
development. Includes project mission, tech stack reference, historical
roadmap derived from merged PRs, and commit/PR conventions. Adds four
Claude Code slash commands for planning, implementing, reviewing, and
shipping phase-based work. Updates AGENTS.md with SDD section.

Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
Copilot AI review requested due to automatic review settings April 22, 2026 09:41
@openshift-ci openshift-ci Bot requested review from joelanford and pedjak April 22, 2026 09:41
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 22, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kevinrizza for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 22, 2026

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit a6304aa
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/69e8d9c4a06b350008d0a86c
😎 Deploy Preview https://deploy-preview-2668--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@perdasilva perdasilva marked this pull request as draft April 22, 2026 09:42
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 22, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Bootstraps a spec-driven development (SDD) framework for operator-controller by adding governing specs under specs/, adding Claude Code workflow command docs under .claude/commands/, and referencing them from AGENTS.md so contributors/agents have a consistent process baseline.

Changes:

  • Add governing specs: mission, tech stack, roadmap, and conventions under specs/.
  • Add four phase-based workflow command documents under .claude/commands/ (/sdd-plan-next-phase, /sdd-implement, /sdd-review, /sdd-ship).
  • Update AGENTS.md with an SDD section linking to the specs and commands.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
specs/tech-stack.md Documents language/runtime, dependencies, project structure, build commands, and CI/CD.
specs/roadmap.md Captures historical phases and a placeholder for next phase planning.
specs/mission.md Defines goals, non-goals, design principles, and development practices.
specs/conventions.md Establishes commit/PR/branch/git-remote conventions for contributions.
AGENTS.md Adds an SDD section pointing agents/contributors to the governing specs and workflows.
.claude/commands/sdd-plan-next-phase.md Phase planning workflow (branch + spec directory scaffolding).
.claude/commands/sdd-implement.md Implementation workflow keyed off phase spec requirements/validation.
.claude/commands/sdd-review.md Review workflow for spec/convention alignment and verification steps.
.claude/commands/sdd-ship.md Ship workflow for verify/commit/publish aligned with repo conventions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread specs/tech-stack.md

GitHub Actions workflows:
- `unit-test.yaml` - Unit tests with coverage
- `e2e.yaml` - Multiple e2e test suites (7 variants)
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The CI/CD section claims e2e.yaml runs "(7 variants)", but the current workflow matrix defines 6 e2e variants (extension-developer-e2e, e2e, experimental-e2e, upgrade-st2st-e2e, upgrade-st2ex-e2e, st2ex-e2e). Please update the count (or list the variants explicitly) so the spec stays accurate.

Suggested change
- `e2e.yaml` - Multiple e2e test suites (7 variants)
- `e2e.yaml` - Multiple e2e test suites (6 variants)

Copilot uses AI. Check for mistakes.
Comment thread specs/tech-stack.md
| helm-operator-plugins | Helm-based bundle rendering |
| cert-manager | TLS certificate management |
| package-operator.run (boxcutter) | Object set management |
| google/go-containerregistry | OCI image handling |
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The dependency name here doesn’t match the actual Go module path used by the repo (pkg.package-operator.run/boxcutter in go.mod). Using the real module/import path (and optionally the product name in parentheses) will make this spec easier to act on.

Suggested change
| google/go-containerregistry | OCI image handling |
| github.com/google/go-containerregistry | OCI image handling |

Copilot uses AI. Check for mistakes.
Comment thread specs/tech-stack.md
| operator-sdk | Extension developer tooling | bingo |
| yamlfmt | YAML formatting | bingo |
| conftest | Helm policy testing | bingo |
| godog/cucumber | E2E BDD tests | go.mod |
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The tool name in this row is reversed/ambiguous (the module is github.com/cucumber/godog). Consider renaming the entry to "godog" (or "github.com/cucumber/godog") to match what developers will search for in go.mod and code.

Suggested change
| godog/cucumber | E2E BDD tests | go.mod |
| godog | E2E BDD tests | go.mod |

Copilot uses AI. Check for mistakes.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.41%. Comparing base (c92a607) to head (a6304aa).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2668      +/-   ##
==========================================
- Coverage   68.81%   63.41%   -5.41%     
==========================================
  Files         141      141              
  Lines       12536    12536              
==========================================
- Hits         8627     7950     -677     
- Misses       3392     4082     +690     
+ Partials      517      504      -13     
Flag Coverage Δ
e2e 37.03% <ø> (ø)
experimental-e2e 11.02% <ø> (-40.57%) ⬇️
unit 54.25% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Replace the roadmap.md phase-picking flow with GitHub issue discovery.
The /sdd-plan-next-phase command now searches for epics labeled `epic`
and `refined` that are unassigned and have all dependency issues
resolved (marked `done`). On selection, it assigns the epic and creates
a branch. The /sdd-ship command offers to label the epic as `done`
after PR creation.

Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
@tmshort
Copy link
Copy Markdown
Contributor

tmshort commented Apr 22, 2026

Perhaps move this into openshift-eng/olm-team-ai-helpers so that we can use it for multiple repos? That's the idea for that repo.
EDIT: To clarify: any "generic" tooling (plugin) ought to be in the olm-team-ai-helpers repo; the documents on how this repo works should be here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants