Skip to content

Commit 319b338

Browse files
committed
chore: bump version to 0.5.0
Release highlights: - ✨ Recursive tree structure for SDS protocols - ✨ New SDS commands: plan, tasks, implement (8 total) - 📚 Documentation improvements (redundancy, consistency) - 🎯 Command total: 19 (8 SDS + 8 SDD + 3 Evolution) Key features: - Flat physical structure with tree logical structure - Unlimited protocol hierarchy depth - Context tracking via YAML frontmatter - Flexible numbering strategy (001, 002-009, 010-099, 100-999) - FEATURE independence and Git branch friendly Files updated: - pyproject.toml: version 0.4.0 -> 0.5.0 - src/metaspec/__init__.py: __version__ updated - CHANGELOG.md: added v0.5.0 release notes - README.md: status updated to v0.5.0
1 parent f9e3f02 commit 319b338

File tree

4 files changed

+83
-4
lines changed

4 files changed

+83
-4
lines changed

CHANGELOG.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,85 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
---
1111

12+
## [0.5.0] - 2025-11-09
13+
14+
### ✨ Features
15+
16+
**Recursive Tree Structure for SDS Protocols**
17+
18+
SDS now supports hierarchical protocol specifications with unlimited depth:
19+
20+
- **Physical Structure**: Flat directory layout under `specs/protocol/`
21+
- All protocols are sibling directories (e.g., `001-root/`, `002-child/`, `013-grandchild/`)
22+
- Simple paths, FEATURE independence, Git branch friendly
23+
24+
- **Logical Structure**: Tree hierarchy via YAML frontmatter
25+
- Parent-child relationships declared in `spec.md` frontmatter
26+
- Context tracking: `protocol_id`, `parent`, `root`, `type` (leaf/parent/root)
27+
- Parent → Child: Listed in "Sub-Specifications" table
28+
- Child → Parent: Shown in "Parent chain" breadcrumb
29+
30+
- **Numbering Strategy**:
31+
- Root: 001
32+
- First-level children: 002-009
33+
- Second-level children: 010-099
34+
- Third-level children: 100-999
35+
- Benefits: Clear hierarchy, flexible expansion, easy identification
36+
37+
**New SDS Commands** (8 total, up from 5)
38+
39+
Added 3 new commands for complex protocol specification:
40+
41+
1. `/metaspec.sds.plan` - Plan protocol architecture and sub-specifications
42+
- Assess complexity score (line count, entities, operations)
43+
- Decide: Keep single specification vs Split into sub-protocols
44+
- Design sub-specification structure if complex
45+
46+
2. `/metaspec.sds.tasks` - Break down protocol specification work
47+
- Generate actionable task list organized by sub-specification
48+
- Track dependencies between sub-protocols
49+
- Include parent/root context for recursive structure
50+
51+
3. `/metaspec.sds.implement` - Write protocol specification documents
52+
- Create new protocol FEATUREs (independent `00X-` directories)
53+
- Call `/metaspec.sds.specify` internally with context
54+
- Update parent protocol's "Sub-Specifications" section
55+
- Support recursive splitting at any depth
56+
57+
**Command Total**: 19 commands (8 SDS + 8 SDD + 3 Evolution)
58+
59+
### 📚 Documentation
60+
61+
**Clarity and Consistency Improvements**
62+
63+
- **Removed redundancy**: Eliminated duplicate "Protocol relationships" section in AGENTS.md
64+
- **Fixed anchor links**: Updated 3 broken references from "Two-Feature Architecture" to "SDS + SDD Separation"
65+
- **Added numbering strategy**: Explained protocol numbering logic (001, 002-009, 010-099, 100-999)
66+
- **Updated command counts**: Synchronized across all files (README.md, CHANGELOG.md, architecture.md, templates)
67+
- **Clarified design decision**: Emphasized flat physical structure with tree logical structure
68+
69+
**Files Updated**:
70+
- `AGENTS.md` - Recursive tree structure section, fixed redundancy and links
71+
- `README.md` - Updated command counts and examples
72+
- `CHANGELOG.md` - Version history consistency
73+
- `docs/architecture.md` - Command count updates
74+
- `src/metaspec/templates/README.md` - SDS command list
75+
- `src/metaspec/templates/meta/sds/commands/*.md.j2` - New command templates
76+
- `src/metaspec/templates/meta/sdd/commands/specify.md.j2` - Command count reference
77+
78+
### 🎯 Design Principles
79+
80+
**Why Flat Physical + Tree Logical?**
81+
82+
1. **Simple paths**: `specs/protocol/013-credit-card-payment/` (not deeply nested)
83+
2. **FEATURE independence**: Each protocol is a standalone FEATURE with its own lifecycle
84+
3. **Flexible numbering**: Sub-protocols can use any available numbers (skip ranges)
85+
4. **Git branch friendly**: Branch name = directory name = protocol_id
86+
5. **Easy reorganization**: Change relationships via frontmatter, no file moves
87+
6. **Unlimited depth**: Any protocol can be a parent with its own sub-protocols
88+
89+
---
90+
1291
## [0.4.0] - 2025-11-08
1392

1493
### ✨ Features

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -436,9 +436,9 @@ uv run mypy src/metaspec # Type check
436436

437437
## 🏗️ Status
438438

439-
**v0.1.0** - Alpha Release 🎉
439+
**v0.5.0** - Alpha Release 🎉
440440

441-
Core features complete: YAML validation, multi-domain generation, CLI tools, AI agent support, built-in MetaSpec commands (19 commands: 8 SDS + 8 SDD + 3 Evolution), unified spec interface.
441+
Core features complete: YAML validation, multi-domain generation, CLI tools, AI agent support, built-in MetaSpec commands (19 commands: 8 SDS + 8 SDD + 3 Evolution), recursive tree structure for protocols, unified spec interface.
442442

443443
---
444444

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "meta-spec"
3-
version = "0.4.0"
3+
version = "0.5.0"
44
description = "Meta-specification framework for generating Spec-Driven X (SD-X) toolkits for AI agents"
55
readme = "README.md"
66
requires-python = ">=3.11"

src/metaspec/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from YAML definitions.
66
"""
77

8-
__version__ = "0.4.0"
8+
__version__ = "0.5.0"
99

1010
__all__ = ["__version__"]
1111

0 commit comments

Comments
 (0)