diff --git a/AGENTS_DOCS/INPROGRESS/next_tasks.md b/AGENTS_DOCS/INPROGRESS/next_tasks.md index b69be8c..0cf66c3 100644 --- a/AGENTS_DOCS/INPROGRESS/next_tasks.md +++ b/AGENTS_DOCS/INPROGRESS/next_tasks.md @@ -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 diff --git a/AGENTS_DOCS/INPROGRESS/2025-11-17_NextTask_ExperimentalMacroPrototype.md b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/2025-11-17_NextTask_ExperimentalMacroPrototype.md similarity index 100% rename from AGENTS_DOCS/INPROGRESS/2025-11-17_NextTask_ExperimentalMacroPrototype.md rename to AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/2025-11-17_NextTask_ExperimentalMacroPrototype.md diff --git a/AGENTS_DOCS/INPROGRESS/Summary_of_Work.md b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/Summary_of_Work.md similarity index 100% rename from AGENTS_DOCS/INPROGRESS/Summary_of_Work.md rename to AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/Summary_of_Work.md diff --git a/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/blocked.md b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/blocked.md new file mode 100644 index 0000000..efe398c --- /dev/null +++ b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/blocked.md @@ -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 diff --git a/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/next_tasks.md b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/next_tasks.md new file mode 100644 index 0000000..b69be8c --- /dev/null +++ b/AGENTS_DOCS/TASK_ARCHIVE/23_Experimental_Macro_Prototype/next_tasks.md @@ -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` diff --git a/AGENTS_DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md b/AGENTS_DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md index 2340709..3fe2e70 100644 --- a/AGENTS_DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md +++ b/AGENTS_DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md @@ -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`. diff --git a/AGENTS_DOCS/markdown/3.0.0/00_3.0.0_TODO_SpecificationKit.md b/AGENTS_DOCS/markdown/3.0.0/00_3.0.0_TODO_SpecificationKit.md index f917acf..b80a115 100644 --- a/AGENTS_DOCS/markdown/3.0.0/00_3.0.0_TODO_SpecificationKit.md +++ b/AGENTS_DOCS/markdown/3.0.0/00_3.0.0_TODO_SpecificationKit.md @@ -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. diff --git a/AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md b/AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md index f5836ef..d1cfcdc 100644 --- a/AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md +++ b/AGENTS_DOCS/markdown/3.0.0/tasks/SpecificationKit_v3.0.0_Progress.md @@ -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.