Skip to content

docs: propose spec-driven development ADR - #229

Merged
mrbrandao merged 2 commits into
LobsterTrap:mainfrom
mrbrandao:adr/spec-driven-development
Aug 12, 2026
Merged

docs: propose spec-driven development ADR#229
mrbrandao merged 2 commits into
LobsterTrap:mainfrom
mrbrandao:adr/spec-driven-development

Conversation

@mrbrandao

@mrbrandao mrbrandao commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Proposes formal adoption of Spec-Driven Development (SDD),
    formalizing the informal practice already present in LoLa
  • Establishes AGENTS.md as the navigation guide entry point for
    all AI tools, with .specify/memory/constitution.md as the
    standards document
  • No toolchain mandated — contributors use whatever spec format
    fits; AI agents follow topic pointers in AGENTS.md

Related Issues

Opens discussion on SDD adoption. Implementation PR
(feat/sdd-implementation) follows once this ADR is accepted.

Test Plan

  • Read docs/adr/spec-driven-development.md and confirm
    the decision accurately describes the intended SDD approach
  • Confirm the Bootstrap Exception is appropriately documented
  • Confirm the implementation notes correctly scope the
    follow-on PR

Checklist

  • Tests pass (pytest) — N/A: documentation only
  • Linting passes (ruff check src tests) — N/A: documentation only
  • Type checking passes (ty check) — N/A: documentation only

AI Disclosure

Drafted with AI assistance (Claude via OpenCode). The ADR
reflects decisions made through collaborative exploration of SDD
tooling options and LoLa's existing informal practices.

Summary by CodeRabbit

  • Documentation
    • Added an accepted architectural decision record adopting Spec-Driven Development.
    • Documented authoritative project guidance, requirements for architectural and process changes, and end-to-end behavior-driven tests for new CLI features.
    • Included the bootstrap exception, rationale, consequences, rejected alternatives, implementation notes, and references.

@mrbrandao
mrbrandao requested a review from SecKatie August 12, 2026 19:01
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Spec-Driven Development

Layer / File(s) Summary
Spec-Driven Development process
docs/adr/spec-driven-development.md
Adds an accepted ADR that establishes AGENTS.md and .specify/memory/constitution.md as co-authoritative documents, requires ADRs for architectural and process changes, and requires e2e BDD tests for new CLI commands and features. It also documents exceptions, rationale, consequences, alternatives, implementation notes, and references.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: seckatie

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the documentation change and the Spec-Driven Development ADR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@mrbrandao
mrbrandao marked this pull request as ready for review August 12, 2026 19:05
@mrbrandao mrbrandao added documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers dependencies Pull requests that update a dependency file and removed dependencies Pull requests that update a dependency file labels Aug 12, 2026
@github-project-automation github-project-automation Bot moved this to Todo in lolables Aug 12, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b0c33450d7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".


1. **AGENTS.md** — navigation guide and entry point for all AI
tools and contributors
2. **.specify/memory/constitution.md** — project standards and

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Add the constitution before making it authoritative

This ADR marks SDD as accepted and immediately makes .specify/memory/constitution.md one of the two co-authoritative process documents, but that path is not present in this commit or elsewhere in the repo, and the implementation notes say it will only be updated by a later PR. In the interim, any contributor or agent following the accepted process hits a missing standards document for the required source of truth; either add the constitution with this ADR or keep the status/wording proposed until the implementation PR lands.

Useful? React with 👍 / 👎.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/adr/spec-driven-development.md`:
- Around line 28-31: Update the ADR statement about AGENTS.md and topic-guide
artifact discovery to use normative wording: require the guide to provide these
pointers, or explicitly mark the behavior as pending until
feat/sdd-implementation merges. Align the wording with the deferred updates
referenced near the implementation section.
- Around line 20-26: Clarify the relationship between AGENTS.md and
.specify/memory/constitution.md in the ADR: AGENTS.md governs navigation and
entry-point guidance, while the constitution governs project standards and
principles; explicitly state how to resolve any overlap or conflict.
- Around line 36-38: Update the e2e BDD coverage statement in the spec-driven
development ADR to include a stable issue, PR, or owner reference for the
follow-on task; if no such task exists, replace “tracked” with “identified”
rather than implying active tracking.
- Around line 74-75: Update the tool-name description in the spec-driven
development ADR to use “Spec Kit” for GitHub’s project, and define uf with its
intended project name or replace it with the correct tool name. Preserve the
requirement that contributors use one of the listed spec-driven development
tools.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ac141bb-25c5-43eb-9a3c-482c2f507def

📥 Commits

Reviewing files that changed from the base of the PR and between 49437ac and b0c3345.

📒 Files selected for processing (1)
  • docs/adr/spec-driven-development.md

Comment on lines +20 to +26
LoLa adopts Spec-Driven Development (SDD) governed by two
co-authoritative documents:

1. **AGENTS.md** — navigation guide and entry point for all AI
tools and contributors
2. **.specify/memory/constitution.md** — project standards and
principles

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Define scope and precedence for the two governing documents.

AGENTS.md and .specify/memory/constitution.md are both called co-authoritative. The ADR does not define what happens if they conflict. State that AGENTS.md controls navigation and the constitution controls standards, or add an explicit precedence rule. This prevents contributors and AI tools from applying different requirements.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/adr/spec-driven-development.md` around lines 20 - 26, Clarify the
relationship between AGENTS.md and .specify/memory/constitution.md in the ADR:
AGENTS.md governs navigation and entry-point guidance, while the constitution
governs project standards and principles; explicitly state how to resolve any
overlap or conflict.

Comment on lines +28 to +31
AGENTS.md points AI agents to the right artifacts for any task.
Where specs exist, AI agents find them by following the topic
guide in AGENTS.md. No specific spec format or tooling is
mandated.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Use normative wording until the implementation PR lands.

This text states that AGENTS.md already points agents to the required artifacts. Lines 96-97 defer those updates to feat/sdd-implementation. State that the guide must provide these pointers, or mark the behavior as pending until that PR merges. Otherwise, the accepted ADR can describe a process that is not available in the current repository.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/adr/spec-driven-development.md` around lines 28 - 31, Update the ADR
statement about AGENTS.md and topic-guide artifact discovery to use normative
wording: require the guide to provide these pointers, or explicitly mark the
behavior as pending until feat/sdd-implementation merges. Align the wording with
the deferred updates referenced near the implementation section.

Comment on lines +36 to +38
New CLI commands and features require e2e BDD tests (Gherkin,
in `e2e/features/`). Existing coverage gap is acknowledged and
tracked as a follow-on task.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Link the follow-on coverage task.

The ADR says the existing e2e coverage gap is tracked, but it provides no issue, PR, or owner. Add a stable reference. If no task exists, change “tracked” to “identified” until one exists.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/adr/spec-driven-development.md` around lines 36 - 38, Update the e2e BDD
coverage statement in the spec-driven development ADR to include a stable issue,
PR, or owner reference for the follow-on task; if no such task exists, replace
“tracked” with “identified” rather than implying active tracking.

Comment on lines +74 to +75
- Description: Require all contributors to use Speckit, OpenSpec,
or uf for spec-driven development

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Expect: every named alternative has a definition or reference.
rg -n --hidden -g '!.git' -g '*.md' -i '\b(uf|spec[ -]?kit|openspec)\b' .

Repository: LobsterTrap/lola

Length of output: 2276


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- ADR context ---'
cat -n docs/adr/spec-driven-development.md | sed -n '60,82p'

printf '%s\n' '--- Local tool-name and directory evidence ---'
rg -n --hidden -g '!.git' -i \
  '(^|[^[:alnum:]_])(uf|spec[ -]?kit|openspec)([^[:alnum:]_]|$)|(^|[^[:alnum:]_])speckit[. /_-]' .

printf '%s\n' '--- Candidate definitions and references ---'
git ls-files | rg -i '(^|/)(readme|index|spec.?kit|open.?spec|uf)([^/]*)(/|\.|$)|(^|/)openspec/|(^|/)specs/'

Repository: LobsterTrap/lola

Length of output: 4496


🌐 Web query:

GitHub github/spec-kit official project name documentation "Spec Kit"

💡 Result:

The official project name is Spec Kit [1][2]. It is an open-source toolkit maintained by GitHub, designed to facilitate Spec-Driven Development (SDD) when working with AI coding agents [1][3]. The project documentation is available at https://github.github.io/spec-kit/ [1][2]. The toolkit is distributed as the specify-cli package on PyPI [4][5]. The command-line interface associated with the toolkit is referred to as the Specify CLI, which is invoked using the specify command [4][6][7]. Core processes within the toolkit are triggered by your AI coding agent using /speckit.* slash commands [6][7].

Citations:


Define the tool names.

Use Spec Kit for GitHub’s project. Define uf or replace it with the intended project name; no repository reference defines uf.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/adr/spec-driven-development.md` around lines 74 - 75, Update the
tool-name description in the spec-driven development ADR to use “Spec Kit” for
GitHub’s project, and define uf with its intended project name or replace it
with the correct tool name. Preserve the requirement that contributors use one
of the listed spec-driven development tools.

@SecKatie SecKatie left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Great direction! I am in agreement.

@mrbrandao
mrbrandao merged commit 616a1bb into LobsterTrap:main Aug 12, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in lolables Aug 12, 2026
@mrbrandao mrbrandao mentioned this pull request Aug 12, 2026
10 tasks
SecKatie added a commit that referenced this pull request Aug 13, 2026
## Summary

- Implements the SDD adoption ADR (PR #229)
- Rewrites AGENTS.md as a lean navigation guide with topic index
- Updates constitution to v2.0.0 with SDD, Go standards, and commit
conventions
- Fills openspec/config.yaml with LoLa project context
- Adds SDD section to CONTRIBUTING.md
- Adds Spec/ADR Reference field to PR template
- Gitignores .opencode/ (optional contributor tooling)

## Spec / ADR Reference

ADR: docs/adr/spec-driven-development.md (merged in PR #229)

## Related Issues

Follow-on to #229

## Test Plan

- [x] Read AGENTS.md and confirm topic guide points to correct files
- [x] Read .specify/memory/constitution.md and confirm v2.0.0 changes
- [x] Read openspec/config.yaml and confirm LoLa context is accurate
- [x] Confirm .gitignore tracks .specify/memory/ and ignores .opencode/
- [x] Confirm CONTRIBUTING.md SDD section is clear
- [x] Confirm PR template has Spec/ADR Reference field

## Checklist

- [x] Tests pass (`pytest` / `go test -race ./...`) — N/A: docs only
- [x] Linting passes (`ruff check src tests` / `golangci-lint`) — N/A:
docs only
- [x] Type checking passes (`basedpyright src`) — N/A: docs only
- [x] Commit subjects ≤ 50 chars, body wrapped at 72

## AI Disclosure

AI-assisted with Claude via OpenCode. All file content reviewed
and approved by maintainer before commit.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
  * Added project-wide constitution and governance standards.
* Documented spec-driven development, ADRs, coding practices, testing,
and contribution workflows.
* Updated repository guidance with architecture, commands, modules, and
review expectations.
* Added configuration for specifications, proposals, tasks, and project
conventions.

* **Chores**
* Refined pull request checklist guidance, including testing, linting,
typing, and commit-message requirements.
* Updated ignored files for specification and contributor tooling
directories.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants