Skip to content

Commit 05bbbdf

Browse files
committed
test: v0.19.0 - add bridge command tests and migration guide
- Add 6 integration tests for fix-prompt and test-prompt commands - Add migration guide for upgrading from v0.16.x to v0.19.x - Bump version to 0.19.0 across all version files - Update CHANGELOG with v0.19.0 test coverage improvements
1 parent ad8efc0 commit 05bbbdf

File tree

7 files changed

+396
-4
lines changed

7 files changed

+396
-4
lines changed

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,25 @@ All notable changes to this project will be documented in this file.
99

1010
---
1111

12+
## [0.19.0] - 2025-12-17
13+
14+
### Added (0.19.0)
15+
16+
- Integration tests for `generate fix-prompt` command (3 tests)
17+
- Integration tests for `generate test-prompt` command (3 tests)
18+
- Restored bridge commands from feature branch stash
19+
20+
### Improved (0.19.0)
21+
22+
- Full test coverage for Phase 7 version management features
23+
- Bridge commands now properly available in CLI
24+
25+
### Docs (0.19.0)
26+
27+
- Test coverage expanded for bridge command workflows
28+
29+
---
30+
1231
## [0.18.0] - 2025-12-17
1332

1433
### Added (0.18.0)
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Migration Guide: v0.16.x to v0.19.x
2+
3+
This guide helps you upgrade from SpecFact CLI v0.16.x to v0.19.x.
4+
5+
## Overview
6+
7+
v0.17.0 - v0.19.0 are part of the **0.x stabilization track** leading to v0.20.0 LTS.
8+
9+
### Key Changes
10+
11+
| Version | Changes |
12+
|---------|---------|
13+
| **0.17.0** | Deprecated `implement` command, added bridge commands, version management |
14+
| **0.18.0** | Updated documentation positioning, AI IDE bridge workflow |
15+
| **0.19.0** | Full test coverage for Phase 7, migration guide |
16+
17+
---
18+
19+
## Breaking Changes
20+
21+
### `implement` Command Deprecated
22+
23+
The `implement tasks` command is deprecated in v0.17.0 and will be removed in v1.0.
24+
25+
**Before (v0.16.x):**
26+
27+
```bash
28+
specfact implement tasks .specfact/projects/my-bundle/tasks.yaml
29+
```
30+
31+
**After (v0.17.0+):**
32+
33+
Use the new bridge commands instead:
34+
35+
```bash
36+
# Find gaps in your code
37+
specfact analyze gaps --bundle my-bundle
38+
39+
# Generate AI-ready prompt to fix a gap
40+
specfact generate fix-prompt GAP-001 --bundle my-bundle
41+
42+
# Generate AI-ready prompt to add tests
43+
specfact generate test-prompt src/auth/login.py --bundle my-bundle
44+
```
45+
46+
### `run idea-to-ship` Removed
47+
48+
The `run idea-to-ship` command has been removed in v0.17.0.
49+
50+
**Rationale:** Code generation features are being redesigned for v1.0 with AI-assisted workflows.
51+
52+
---
53+
54+
## New Features
55+
56+
### Bridge Commands (v0.17.0)
57+
58+
New commands that generate AI-ready prompts for your IDE:
59+
60+
```bash
61+
# Generate fix prompt for a gap
62+
specfact generate fix-prompt GAP-001
63+
64+
# Generate test prompt for a file
65+
specfact generate test-prompt src/module.py --type unit
66+
```
67+
68+
### Version Management (v0.17.0)
69+
70+
New commands for managing bundle versions:
71+
72+
```bash
73+
# Check for recommended version bump
74+
specfact project version check --bundle my-bundle
75+
76+
# Bump version (major/minor/patch)
77+
specfact project version bump --bundle my-bundle --type minor
78+
79+
# Set explicit version
80+
specfact project version set --bundle my-bundle --version 2.0.0
81+
```
82+
83+
### CI Version Check (v0.17.0)
84+
85+
GitHub Actions template now includes version check with configurable modes:
86+
87+
- `info` - Informational only
88+
- `warn` (default) - Log warnings, continue CI
89+
- `block` - Fail CI if version bump not followed
90+
91+
---
92+
93+
## Upgrade Steps
94+
95+
### Step 1: Update SpecFact CLI
96+
97+
```bash
98+
pip install -U specfact-cli
99+
# or
100+
uvx specfact-cli@latest --version
101+
```
102+
103+
### Step 2: Verify Version
104+
105+
```bash
106+
specfact --version
107+
# Should show: SpecFact CLI version 0.19.0
108+
```
109+
110+
### Step 3: Update Workflows
111+
112+
If you were using `implement tasks` or `run idea-to-ship`, migrate to bridge commands:
113+
114+
**Old workflow:**
115+
116+
```bash
117+
specfact generate tasks --bundle my-bundle
118+
specfact implement tasks .specfact/projects/my-bundle/tasks.yaml
119+
```
120+
121+
**New workflow:**
122+
123+
```bash
124+
# 1. Analyze for gaps
125+
specfact analyze gaps --bundle my-bundle
126+
127+
# 2. Generate AI prompts for each gap
128+
specfact generate fix-prompt GAP-001
129+
130+
# 3. Copy prompt to AI IDE, get fix, apply
131+
132+
# 4. Validate
133+
specfact enforce sdd --bundle my-bundle
134+
```
135+
136+
### Step 4: Update CI/CD (Optional)
137+
138+
Add version check to your GitHub Actions:
139+
140+
```yaml
141+
- name: Version Check
142+
run: specfact project version check --bundle ${{ env.BUNDLE_NAME }}
143+
env:
144+
SPECFACT_VERSION_CHECK_MODE: warn # or 'info' or 'block'
145+
```
146+
147+
---
148+
149+
## FAQ
150+
151+
### Q: Why was `implement` deprecated?
152+
153+
**A:** The `implement` command attempted to generate code directly, but this approach doesn't align with the Ultimate Vision for v1.0. In v1.0, AI copilots will consume structured data from SpecFact and generate code, with SpecFact validating the results. The bridge commands provide a transitional workflow.
154+
155+
### Q: Can I still use v0.16.x?
156+
157+
**A:** Yes, v0.16.x will continue to work. However, we recommend upgrading to v0.19.x for the latest fixes and features. v0.20.0 will be the Long-Term Stable (LTS) release.
158+
159+
### Q: When will v1.0 be released?
160+
161+
**A:** See the [GitHub Discussions](https://github.com/nold-ai/specfact-cli/discussions) for the v1.0 roadmap.
162+
163+
---
164+
165+
## Support
166+
167+
- 💬 **Questions?** [GitHub Discussions](https://github.com/nold-ai/specfact-cli/discussions)
168+
- 🐛 **Found a bug?** [GitHub Issues](https://github.com/nold-ai/specfact-cli/issues)
169+
- 📧 **Need help?** [hello@noldai.com](mailto:hello@noldai.com)
170+

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "specfact-cli"
7-
version = "0.18.0"
7+
version = "0.19.0"
88
description = "Brownfield-first CLI: Reverse engineer legacy Python → specs → enforced contracts. Automate legacy code documentation and prevent modernization regressions."
99
readme = "README.md"
1010
requires-python = ">=3.11"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
if __name__ == "__main__":
88
_setup = setup(
99
name="specfact-cli",
10-
version="0.18.0",
10+
version="0.19.0",
1111
description="SpecFact CLI - Spec→Contract→Sentinel tool for contract-driven development",
1212
packages=find_packages(where="src"),
1313
package_dir={"": "src"},

src/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
"""
44

55
# Define the package version (kept in sync with pyproject.toml and setup.py)
6-
__version__ = "0.18.0"
6+
__version__ = "0.19.0"

src/specfact_cli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
- Validating reproducibility
1010
"""
1111

12-
__version__ = "0.18.0"
12+
__version__ = "0.19.0"
1313

1414
__all__ = ["__version__"]

0 commit comments

Comments
 (0)