Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions AGENTS_DOCS/INPROGRESS/next_tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ The following items are planned for post-3.0.0 releases:

## ✅ Recently Completed

- **Experimental Macro Prototype Implementation** (2025-11-17) - ✅ ARCHIVED
- Implemented ConditionalSpecification wrapper class with production-ready conditional specification evaluation
- Implemented @specsIf attribute macro with diagnostic guidance
- Added convenience extensions .when() and .unless() for ergonomic conditional composition
- 22 comprehensive test cases (14 wrapper + 8 macro), all passing
- Files created: ConditionalSpecification.swift, SpecsIfMacro.swift, test files (1,045 lines total)
- Archive: `AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/`

- **AutoContext Future Hooks Implementation** (2025-11-17) - ✅ ARCHIVED
- Added parsing infrastructure for future enhancement flags (`environment`, `infer`, custom provider types)
- Implemented diagnostic system with informative warnings for planned features
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Blocked Work — Recoverable Items

## 🚧 Active Blockers

### Capture Benchmark Baselines (macOS Hardware Required)
**Date Blocked**: 2025-11-18

**Issue**: Benchmark suite requires macOS hardware to execute CoreData-dependent test cases. The primary CI container is Linux-only, yielding `no such module 'CoreData'` during `swift build` and `swift test`.

**Mitigation**:
- Trigger the macOS GitHub Actions workflow (`.github/workflows/ci.yml`) for release benchmark runs
- Schedule interactive macOS access capable of running:
```bash
swift test --configuration release --filter Benchmark
```
targeting the `SpecificationKitBenchmarks` product

**Status**: Recoverable once macOS execution time is scheduled

**References**:
- Archived context: `AGENTS_DOCS/TASK_ARCHIVE/5_Capture_Benchmark_Baselines/Capture_Benchmark_Baselines_Summary.md`
- Related archive: `AGENTS_DOCS/TASK_ARCHIVE/6_Baseline_Capture_Reset/`
- Progress tracker: `AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md`

**Next Steps**:
1. Schedule macOS CI workflow run for release benchmarks
2. Capture baseline metrics to `Benchmarks/baselines/`
3. Update progress tracker and move item to completed
4. Remove from this blocker log

---

## 📝 Notes
- Only **recoverable** blockers should appear in this file
- Permanently blocked work belongs in `AGENTS_DOCS/TASK_ARCHIVE/BLOCKED/`
- Update this file after each blocker resolution attempt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Next Tasks

## 📦 Future Enhancements (Post-3.0.0)

**All P1 items for v3.0.0 are now complete! 🎉**

The following items are planned for post-3.0.0 releases:

### 1. Macro Transformation for Inline Attribute Syntax
- **Description:** Requires Swift macro evolution to support inline attribute transformation
- **Priority:** P2
- **Status:** Planned
- **Dependencies:** Swift toolchain enhancements

### 2. README Updates Showcasing Parameterized Spec Patterns
- **Description:** Update README with examples showing parameterized specifications
- **Priority:** P2
- **Status:** Planned
- **Related Files:** `README.md`, documentation examples

### 3. Additional Platform-Specific Context Provider Examples
- **Description:** Expand context provider examples for additional platforms
- **Priority:** P2
- **Status:** Planned
- **Related Files:** `AGENTS_DOCS/markdown/` documentation

---

## ✅ Recently Completed

- **AutoContext Future Hooks Implementation** (2025-11-17) - ✅ ARCHIVED
- Added parsing infrastructure for future enhancement flags (`environment`, `infer`, custom provider types)
- Implemented diagnostic system with informative warnings for planned features
- Added 5 comprehensive test cases validating argument parsing and diagnostics
- Files modified: `Sources/SpecificationKitMacros/AutoContextMacro.swift`, test files, and documentation
- Archive: `AGENTS_DOCS/TASK_ARCHIVE/22_AutoContext_Future_Hooks/`

---

## 📝 Notes

- Tasks listed here represent post-v3.0.0 work
- The v3.0.0 release is complete and ready for public distribution
- See progress trackers for current milestone status:
- `AGENTS_DOCS/markdown/00_SpecificationKit_TODO.md`
- `AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md`
8 changes: 8 additions & 0 deletions AGENTS_DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,14 @@ This directory contains archived work-in-progress documentation for completed Sp
**Key Deliverables**: Argument parsing infrastructure added to `AutoContextMacro.swift`, 5 new test cases in `AutoContextMacroComprehensiveTests.swift`, documentation updated in `05_AutoContext.md`, backward compatibility maintained.
**Git Commit**: `1b415ec` - Add @AutoContext future hooks parsing infrastructure

### Archive 23: Experimental Macro Prototype for Conditional Specification Composition
**Status**: Completed (2025-11-17)
**Path**: `23_Experimental_Macro_Prototype/`
**Summary**: Implemented experimental macro system for conditional specification composition, consisting of production-ready `ConditionalSpecification` wrapper class and experimental `@specsIf` attribute macro with diagnostic guidance. Added convenience extensions `.when()` and `.unless()` for ergonomic conditional composition. 22 comprehensive test cases (14 wrapper + 8 macro), all passing. Post-implementation P1 fix improved macro's honest limitation disclosure and diagnostics.
**Key Deliverables**: ConditionalSpecification wrapper class with thread-safe, value-type semantics and short-circuit evaluation. @specsIf experimental macro with diagnostic guidance recommending wrapper-first approach. 1,045 lines of production code and tests. All 567 tests pass with zero regressions.
**Key Finding**: Swift member macros have fundamental constraints (cannot generate protocol conformance implementations). Wrapper-first approach more practical than complex macro patterns.
**Git Commits**: `644bf13` - Add experimental @specsIf macro and ConditionalSpecification wrapper, `2cb1340` - Fix P1: Make @specsIf macro honest about limitations

## Permanent Blockers

Currently, there are no permanent blockers. All blocked items are recoverable and tracked in `AGENTS_DOCS/INPROGRESS/blocked.md`.
Expand Down
4 changes: 2 additions & 2 deletions AGENTS_DOCS/markdown/3.0.0/00_3.0.0_TODO_SpecificationKit.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ Legend: [ ] Pending • (blocked) indicates an external/toolchain blocker
## P2 — Polish and Performance

### Experimental Features
- [ ] Prototype one experimental macro: `@specsIf(condition:)` or `#composed(...)` or `@deriveSpec(from:)`.
- [ ] Include a brief usage example for the chosen experimental macro.
- [x] Prototype one experimental macro: `@specsIf(condition:)` or `#composed(...)` or `@deriveSpec(from:)`. (Completed 2025-11-17: Implemented `@specsIf(condition:)` macro with production-ready `ConditionalSpecification` wrapper class. 22 comprehensive test cases, all passing. Archived to `AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/`)
- [x] Include a brief usage example for the chosen experimental macro. (Included in test cases and inline documentation)

### Performance Optimization
- [ ] Add performance benchmarks for specification composition and macro-generated code; optimize as needed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
SpecificationKit v3.0.0 is now complete and ready for release!

## 🆕 Recent Updates
- 2025-11-17: **Experimental Macro Prototype for Conditional Specification Composition — ARCHIVED** - Task archived to `AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/`. Successfully implemented production-ready `ConditionalSpecification` wrapper class with experimental `@specsIf` attribute macro. 22 comprehensive test cases (14 wrapper + 8 macro), all passing. Post-implementation P1 fix ensured honest limitation disclosure and diagnostic guidance. 1,045 lines of production code and tests with zero regressions (all 567 tests pass).
- 2025-11-17: **@AutoContext Future Hooks Implementation — ARCHIVED** - Task archived to `AGENTS_DOCS/TASK_ARCHIVE/22_AutoContext_Future_Hooks/`. Includes complete implementation record with 5 comprehensive test cases, diagnostic messages, and documentation updates.
- 2025-11-16: **@AutoContext Future Hooks Implementation** - Added parsing infrastructure for future enhancement flags (`environment`, `infer`, custom provider types). The macro now recognizes these arguments and emits informative diagnostics. Implementation includes comprehensive test coverage with 5 new test cases validating argument parsing and diagnostic messages. Updated `AGENTS_DOCS/markdown/05_AutoContext.md` with implementation status. This prepares the macro for graceful evolution as Swift's macro capabilities expand.
- 2025-11-16: Swift Package Index preparation completed and archived to `AGENTS_DOCS/TASK_ARCHIVE/8_Swift_Package_Index_Preparation/`. Verified package metadata (Package.swift), license (MIT), README, and .spi.yml configuration. Updated CHANGELOG.md release date to 2025-11-16. Created annotated semantic version tag `3.0.0` with comprehensive release notes. Final P1 task for v3.0.0 complete; package is release-ready for public distribution.
Expand Down