Skip to content

Conversation

@rjcorwin
Copy link
Owner

@rjcorwin rjcorwin commented Oct 9, 2025

Summary

Reorganizes specification structure and updates CONTRIBUTING.md with comprehensive spec-driven development workflow.

Specification Reorganization

Flattened all spec folders to consistent structure:

  • spec/protocol/ - Removed v0.4/ and draft/ directories, flattened to single SPEC.md
  • spec/cli/ - Moved proposals from accepted/ and proposed/ to proposals/
  • spec/sdk/ - Moved proposals from accepted/ and proposed/ to proposals/
  • spec/bridge/ - Moved proposals from proposed/ to proposals/

New unified structure:

spec/<area>/
├── SPEC.md          # Main specification
├── proposals/       # All proposals (status in CHANGELOG)
└── rejected/        # Rejected proposals

Removed:

  • spec/archive/ - Historical versions removed
  • spec/scratch/ - Scratch work removed
  • spec/repo/ - Retired
  • docs/guides/SPEC-GUIDE.md - Obsolete guide deleted

CONTRIBUTING.md Updates

Added comprehensive spec-driven workflow:

  • 7-stage lifecycle (Draft → Incorporate → Planning → Implementation → Review → Merge → Release)
  • Proposal structure using 3-character alphanumeric codes (e.g., a7z, k3p, m9w)
  • Status tracking in root CHANGELOG.md
  • Implementation plans in spec/integration-plans/
  • PR guidelines and review process

Documentation Updates

Updated all outdated spec references:

  • docs/README.md - Fixed spec paths
  • docs/development.md - Updated protocol spec reference
  • docs/getting-started.md - Updated protocol spec reference
  • docs/templates.md - Updated protocol spec reference
  • docs/architecture.md - Updated protocol spec reference
  • spec/README.md - Simplified to reflect new structure
  • All spec area READMEs - Cleaned up redundant info

Updated CLAUDE.md:

  • Added "Spec-Driven Development (IMPORTANT!)" section
  • References CONTRIBUTING.md workflow
  • Emphasizes 3-char alphanumeric codes
  • Lists 6-step process for all changes

Key Principles

  • All changes start with CHANGELOG entry
  • Proposals stay in proposals/ permanently (status tracked in CHANGELOG)
  • Specs and code developed together in same PR
  • Use random alphanumeric codes (e.g., a7z, k3p) to avoid conflicts
  • Avoid sequential numbers (001, 002) or word-like codes (bat, tok)

🤖 Generated with Claude Code

Co-Authored-By: Claude [email protected]

Copy link

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

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.

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting

Comment on lines +32 to +50
### Folder Structure

- **`spec/<area>/proposals/XXX-name/`** - All proposals (status tracked in CHANGELOG)
- XXX = unique 3-character alphanumeric code (e.g., `a7z`, `k3p`, `m9w`)
- **`spec/<area>/rejected/XXX-name/`** - Rejected proposals (moved out of proposals/)
- **`spec/integration-plans/XXX-name.md`** - Implementation plans for complex changes
- XXX = unique 3-character alphanumeric code (e.g., `b4x`, `r8n`)

### Core Documents

- **Proposals** - Design rationale, research, decisions (stay in `proposals/` permanently)
- **Main Specs** - Authoritative documentation (updated from proposals)
- **CHANGELOG.md** - Tracks status of all proposals (Draft → Needs Implementation → In Progress → Done → Released)
- **Implementation Plans** - Guides code development (optional, for complex changes)

### Naming Convention

- Proposals and implementation plans use unique 3-character alphanumeric codes
- Format: `XXX-descriptive-name` (e.g., `a7z-message-batching`, `k3p-token-limits`, `m9w-new-feature`)

Choose a reason for hiding this comment

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

P1 Badge Replace instructions with existing spec directory structure

The new spec‑driven workflow tells contributors to place proposals in spec/<area>/proposals/XXX-name/, rejected items in spec/<area>/rejected/, and implementation plans in spec/integration-plans/XXX-name.md, and to name everything with random 3‑character codes. None of these directories or naming conventions exist in the repo today—the tree still uses spec/<area>/{proposed,accepted,rejected} and there is no spec/integration-plans folder. Following the current text will lead new contributors to create paths the build/test tooling does not reference. Please align the documentation with the actual structure (or land the structure change alongside the docs).

Useful? React with 👍 / 👎.

Copy link
Owner Author

Choose a reason for hiding this comment

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

Thanks, we'll do it the other way around by reorganizing the specs to fit this.

@rjcorwin rjcorwin merged commit 5ab2f5a into main Oct 9, 2025
3 checks passed
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.

2 participants