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
40 changes: 20 additions & 20 deletions .cursor/rules/specify-rules.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,38 @@
Auto-generated from all feature plans. Last updated: 2025-11-04

## Active Technologies
- Haskell / GHC 9.8.4 (from cabal.project, matches feature 001) + `base` ^>=4.17.0.0, `containers` ^>=0.6 (from existing pattern.cabal) (002-basic-pattern-type)
- Haskell / GHC 9.12.2 (from cabal.project, matches feature 001) + `base` ^>=4.17.0.0, `containers` ^>=0.6 (from existing pattern.cabal) (002-basic-pattern-type)
- N/A (in-memory data structure) (002-basic-pattern-type)
- Haskell (GHC 9.10.3) + Standard Haskell libraries (base, no external dependencies for this feature) (001-pattern-structure-review)
- Haskell (GHC 9.12.2) + Standard Haskell libraries (base, no external dependencies for this feature) (001-pattern-structure-review)
- N/A (documentation review feature, no data storage) (001-pattern-structure-review)
- Haskell (GHC 9.8.4, 9.10.3) + `base >=4.17.0.0 && <5`, `QuickCheck ^>=2.14`, `hspec ^>=2.11` (005-functor-instance)
- Haskell (GHC 9.8.4, 9.10.3) + base >=4.17.0.0, containers ^>=0.6 (008-basic-query-functions)
- Haskell (GHC 9.12.2) + `base >=4.17.0.0 && <5`, `QuickCheck ^>=2.14`, `hspec ^>=2.11` (005-functor-instance)
- Haskell (GHC 9.12.2) + base >=4.17.0.0, containers ^>=0.6 (008-basic-query-functions)
- N/A (pure functional data structure) (008-basic-query-functions)
- Haskell (GHC 9.8.4, 9.10.3) + base >=4.17.0.0, containers ^>=0.6, hashable ^>=1.4 (012-hashable-instance)
- Haskell (GHC 9.8.4, 9.10.3) + base >=4.17.0.0, QuickCheck (for property-based testing), Hspec (for test framework) (013-applicative-instance)
- Haskell (GHC 9.8.4, 9.10.3) + base >=4.17.0.0, comonad (for Comonad typeclass), QuickCheck (for property-based testing), Hspec (for test framework) (014-comonad-instance)
- Haskell (GHC 9.8.4, 9.10.3) + base >=4.17.0.0, comonad ^>=5, containers ^>=0.6, hashable ^>=1.4, unordered-containers ^>=0.2 (015-integration-polish)
- Haskell (GHC 9.12.2) + base >=4.17.0.0, containers ^>=0.6, hashable ^>=1.4 (012-hashable-instance)
- Haskell (GHC 9.12.2) + base >=4.17.0.0, QuickCheck (for property-based testing), Hspec (for test framework) (013-applicative-instance)
- Haskell (GHC 9.12.2) + base >=4.17.0.0, comonad (for Comonad typeclass), QuickCheck (for property-based testing), Hspec (for test framework) (014-comonad-instance)
- Haskell (GHC 9.12.2) + base >=4.17.0.0, comonad ^>=5, containers ^>=0.6, hashable ^>=1.4, unordered-containers ^>=0.2 (015-integration-polish)
- N/A (in-memory data structure library) (015-integration-polish)
- Haskell (GHC 9.10.3, 9.8.4) (014-gram-serialization)
- Haskell (GHC 9.12.2) (014-gram-serialization)
- N/A (text serialization/deserialization library) (014-gram-serialization)
- Haskell (GHC 9.x) + `megaparsec` (parsing), `hspec` (testing) (016-gram-parsing-conformance)
- Haskell (GHC 9.12.2) + `megaparsec` (parsing), `hspec` (testing) (016-gram-parsing-conformance)
- N/A (In-memory data structures) (016-gram-parsing-conformance)
- Haskell (GHC 9.8/9.10) + `megaparsec` (parsing), `containers` (Map/Set), `text` (likely for efficiency, though current code uses String) (020-subject-serialization)
- Haskell / GHC 8.10.7+ (compatible with base >=4.17.0.0 && <5) (023-graph-lens)
- Haskell (GHC 9.12.2) + `megaparsec` (parsing), `containers` (Map/Set), `text` (likely for efficiency, though current code uses String) (020-subject-serialization)
- Haskell / GHC 9.12.2 (compatible with base >=4.17.0.0 && <5) (023-graph-lens)
- N/A (in-memory data structure, no persistence) (023-graph-lens)
- Haskell (GHC 9.10.3) + Megaparsec (parser combinators), pattern library, subject library (024-codefence-strings)
- Haskell (GHC 9.12.2) + Megaparsec (parser combinators), pattern library, subject library (024-codefence-strings)
- N/A (in-memory transformation) (024-codefence-strings)
- Markdown documentation (CommonMark/GitHub Flavored Markdown) + Git (version control), Markdown renderers (GitHub, local viewers) (022-documentation-reorganization)
- Git repository (markdown files in `docs/` directory structure) (022-documentation-reorganization)
- Markdown documentation files + Git (for `git mv` to preserve history) (027-docs-reorganization)
- File system (documentation files) (027-docs-reorganization)
- Haskell with GHC 9.10.3 + aeson (JSON), aeson-pretty (formatting), optparse-applicative (CLI), pattern (core), subject (values), gram (serialization) (029-canonical-json-pattern)
- Haskell with GHC 9.12.2 + aeson (JSON), aeson-pretty (formatting), optparse-applicative (CLI), pattern (core), subject (values), gram (serialization) (029-canonical-json-pattern)
- N/A (serialization library feature) (029-canonical-json-pattern)
- Haskell 2010 (GHC 9.4+) + `megaparsec`, `containers`, `pattern-core`, `subject` (030-separate-container-content-parsing)
- Haskell 2010 (GHC 9.12.2) + `megaparsec`, `containers`, `pattern-core`, `subject` (030-separate-container-content-parsing)
- N/A (Codec library) (030-separate-container-content-parsing)
- Haskell (GHC 9.10.3) + megaparsec (parsing), hspec (testing) (032-gram-annotation-syntax)
- Haskell (GHC 9.12.2) + megaparsec (parsing), hspec (testing) (032-gram-annotation-syntax)
- N/A (in-memory CST) (032-gram-annotation-syntax)
- Haskell (GHC 9.10.3 per CLAUDE.md; base >=4.17.0.0 from pattern.cabal) + pattern (Pattern.Core, Pattern.Reconcile), subject, containers, hashable, unordered-containers (from libs/pattern) (033-pattern-graph)
- Haskell (GHC 9.12.2 per CLAUDE.md; base >=4.17.0.0 from pattern.cabal) + pattern (Pattern.Core, Pattern.Reconcile), subject, containers, hashable, unordered-containers (from libs/pattern) (033-pattern-graph)
- In-memory only (Map keyed by Id v); gram files for round-trip via libs/gram parse/serialize (033-pattern-graph)
- Haskell (GHC 9.10.3) + `pattern-hs` ecosystem (`Pattern.Core`, `Subject.Core`) (034-graph-classifier)
- In-memory `Map` via `PatternGraph` (034-graph-classifier)
Expand All @@ -59,9 +59,9 @@ tests/
: Follow standard conventions

## Recent Changes
- 035-graph-query: Added Haskell (GHC 9.10.3) + `containers ^>=0.7` (Map, Set), `base >=4.17.0.0`, `subject` (GraphValue/Symbol), `pattern` (Pattern.Core, Pattern.Graph, Pattern.PatternGraph, Pattern.Graph.GraphClassifier)
- 034-graph-classifier: Added Haskell (GHC 9.10.3) + `pattern-hs` ecosystem (`Pattern.Core`, `Subject.Core`)
- 033-pattern-graph: Added Haskell (GHC 9.10.3 per CLAUDE.md; base >=4.17.0.0 from pattern.cabal) + pattern (Pattern.Core, Pattern.Reconcile), subject, containers, hashable, unordered-containers (from libs/pattern)
- 033-pattern-graph: Added Haskell (GHC 9.12.2 per CLAUDE.md; base >=4.17.0.0 from pattern.cabal) + pattern (Pattern.Core, Pattern.Reconcile), subject, containers, hashable, unordered-containers (from libs/pattern)
- 032-gram-annotation-syntax: Added Haskell (GHC 9.12.2) + megaparsec (parsing), hspec (testing)
- 030-separate-container-content-parsing: Added Haskell 2010 (GHC 9.12.2) + `megaparsec`, `containers`, `pattern-core`, `subject`


<!-- MANUAL ADDITIONS START -->
Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ All code MUST comply with `.specify/memory/constitution.md`:
## Build and Test Commands

### Prerequisites
- GHC 9.10.3 (specified in `cabal.project`)
- GHC 9.12.2 (specified in `cabal.project`)
- Cabal 3.6.2.0 or later

### Build Commands
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/haddock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Set up Haskell
uses: haskell-actions/setup@v2
with:
ghc-version: '9.10.3'
ghc-version: '9.12.2'
cabal-version: 'latest'

- name: Update Cabal package index
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/haskell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
with:
ghc-version: '9.10.3'
ghc-version: '9.12.2'
cabal-version: 'latest'

- name: Cache
Expand Down
8 changes: 4 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Auto-generated from all feature plans. Last updated: 2026-01-23

## Active Technologies

- Haskell (GHC 9.10.3) (031-pattern-reconciliation)
- Haskell (GHC 9.12.2) (031-pattern-reconciliation)

## Project Structure

Expand All @@ -15,15 +15,15 @@ tests/

## Commands

# Add commands for Haskell (GHC 9.10.3)
# Add commands for Haskell (GHC 9.12.2)

## Code Style

Haskell (GHC 9.10.3): Follow standard conventions
Haskell (GHC 9.12.2): Follow standard conventions

## Recent Changes

- 031-pattern-reconciliation: Added Haskell (GHC 9.10.3)
- 031-pattern-reconciliation: Added Haskell (GHC 9.12.2)

<!-- MANUAL ADDITIONS START -->
<!-- MANUAL ADDITIONS END -->
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ A multi-library Haskell mono-repo providing libraries and tools for working with
### Installation

**Prerequisites**:
- GHC 9.10.3
- GHC 9.12.2
- Cabal 3.6.2.0 or later

**Using ghcup**:
```bash
ghcup install ghc 9.10.3
ghcup set ghc 9.10.3
ghcup install ghc 9.12.2
ghcup set ghc 9.12.2
ghcup install cabal
ghcup set cabal
```
Expand Down
5 changes: 2 additions & 3 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,5 @@ packages:
libs/gram/
apps/gramref-cli/

-- Use GHC 9.10.3 (latest stable version with good tooling support)
with-compiler: ghc-9.10.3

-- Use GHC 9.12.2 (latest stable version with good tooling support)
with-compiler: ghc-9.12.2
4 changes: 2 additions & 2 deletions libs/pattern/pattern.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ library
comonad ^>=5,
subject,
containers ^>=0.7,
hashable ^>=1.4,
hashable >=1.4 && <2,
unordered-containers ^>=0.2

hs-source-dirs: src
Expand All @@ -65,7 +65,7 @@ test-suite pattern-test
pattern,
subject,
containers ^>=0.7,
hashable ^>=1.4,
hashable >=1.4 && <2,
unordered-containers ^>=0.2,
QuickCheck ^>=2.14,
hspec ^>=2.11,
Expand Down
1 change: 0 additions & 1 deletion libs/pattern/tests/Spec/Pattern/ReconcileSpec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,6 @@ spec = do
length elems `shouldBe` 2
let ids = map (Subj.identity . value) elems
Set.fromList ids `shouldBe` Set.fromList [Symbol "alice", Symbol "bob"]
Right other -> expectationFailure $ "Unexpected structure: " ++ show other
Left err -> expectationFailure $ "Reconciliation failed: " ++ show err

describe "User Story 5: Track Reconciliation Actions (P4)" $ do
Expand Down
4 changes: 2 additions & 2 deletions libs/subject/subject.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ library
build-depends:
base >=4.17.0.0 && <5,
containers ^>=0.7,
hashable ^>=1.4,
hashable >=1.4 && <2,
unordered-containers ^>=0.2

hs-source-dirs: src
Expand All @@ -49,7 +49,7 @@ test-suite subject-test
base >=4.17.0.0 && <5,
subject,
containers ^>=0.7,
hashable ^>=1.4,
hashable >=1.4 && <2,
unordered-containers ^>=0.2,
QuickCheck ^>=2.14,
hspec ^>=2.11,
Expand Down
2 changes: 1 addition & 1 deletion specs/001-pattern-data-structure/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Initialize a Haskell project for a Pattern data structure that serves as a gener

## Technical Context

**Language/Version**: Haskell / GHC - NEEDS CLARIFICATION (current: 8.10.7, latest: 9.10.1)
**Language/Version**: Haskell / GHC 9.12.2 (from cabal.project)
**Primary Dependencies**: NEEDS CLARIFICATION (will need category theory libraries, property testing frameworks, possibly graph libraries)
**Build Tool**: NEEDS CLARIFICATION (Cabal 3.6.2.0 available, Stack 2.7.5 available - need to choose)
**Storage**: N/A (in-memory data structure)
Expand Down
6 changes: 3 additions & 3 deletions specs/002-basic-pattern-type/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement the foundational Pattern data type as a decorated sequence that stores

## Technical Context

**Language/Version**: Haskell / GHC 9.10.3 (from cabal.project, matches feature 001)
**Language/Version**: Haskell / GHC 9.12.2 (from cabal.project, matches feature 001)
**Primary Dependencies**: `base` ^>=4.17.0.0, `containers` ^>=0.6 (from existing pattern.cabal)
**Storage**: N/A (in-memory data structure)
**Testing**: QuickCheck ^>=2.14, hspec ^>=2.10, hspec-quickcheck ^>=0.1.0 (from existing pattern.cabal)
Expand Down Expand Up @@ -85,7 +85,7 @@ No violations - this is a simple, foundational data type that aligns with all co
**Output**: `research.md`

**Decisions Made**:
- Use existing project infrastructure (GHC 9.10.3, Cabal, QuickCheck/HSpec)
- Use existing project infrastructure (GHC 9.12.2, Cabal, QuickCheck/HSpec)
- Define Pattern as standard Haskell algebraic data type with record syntax
- Use `value` and `elements` as field names
- Use Haddock documentation with mathematical explanations
Expand Down Expand Up @@ -122,7 +122,7 @@ No violations - this is a simple, foundational data type that aligns with all co
- Type safety examples
- Troubleshooting

4. **Agent Context**: Updated with Haskell/GHC 9.10.3, base/containers dependencies
4. **Agent Context**: Updated with Haskell/GHC 9.12.2, base/containers dependencies

**Constitution Check (Post-Phase 1)**:

Expand Down
2 changes: 1 addition & 1 deletion specs/002-basic-pattern-type/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This quickstart guide shows how to create and use the basic Pattern type. The Pa
## Prerequisites

- Haskell project with Pattern library installed
- GHC 9.10.3 or compatible version
- GHC 9.12.2 or compatible version
- Basic understanding of Haskell data types

## Getting Started
Expand Down
2 changes: 1 addition & 1 deletion specs/002-basic-pattern-type/research.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

### Technical Context

**Decision**: Use existing project infrastructure from feature 001 (GHC 9.10.3, Cabal, QuickCheck/HSpec).
**Decision**: Use existing project infrastructure from feature 001 (GHC 9.12.2, Cabal, QuickCheck/HSpec).

**Rationale**:
- Feature 001 already established the project structure and tooling
Expand Down
2 changes: 1 addition & 1 deletion specs/003-pattern-structure-review/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This is primarily a documentation and specification refinement task, not a code

## Technical Context

**Language/Version**: Haskell (GHC 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: Standard Haskell libraries (base, no external dependencies for this feature)
**Storage**: N/A (documentation review feature, no data storage)
**Testing**: Documentation review and consistency validation (manual review process)
Expand Down
2 changes: 1 addition & 1 deletion specs/004-construction-functions/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement three constructor functions to simplify pattern creation: `pattern` fo

## Technical Context

**Language/Version**: Haskell / GHC 9.10.3 (from cabal.project, matches existing features)
**Language/Version**: Haskell / GHC 9.12.2 (from cabal.project, matches existing features)
**Primary Dependencies**: `base` ^>=4.17.0.0, `containers` ^>=0.6 (from existing pattern.cabal)
**Storage**: N/A (in-memory data structure)
**Testing**: QuickCheck ^>=2.14, hspec ^>=2.11 (from existing pattern.cabal)
Expand Down
2 changes: 1 addition & 1 deletion specs/004-construction-functions/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This quickstart guide shows how to use the pattern constructor functions `point`
## Prerequisites

- Haskell project with Pattern library installed
- GHC 9.10.3 or compatible version
- GHC 9.12.2 or compatible version
- Basic understanding of Haskell functions and the Pattern type

## Getting Started
Expand Down
2 changes: 1 addition & 1 deletion specs/005-functor-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement a `Functor` instance for the `Pattern` data type that enables value tr

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: `base >=4.17.0.0 && <5`, `QuickCheck ^>=2.14`, `hspec ^>=2.11`
**Storage**: N/A (in-memory data structure)
**Testing**: Hspec for unit tests, QuickCheck for property-based testing
Expand Down
2 changes: 1 addition & 1 deletion specs/006-foldable-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement a `Foldable` instance for the `Pattern` data type that enables folding

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: `base >=4.17.0.0 && <5`, `QuickCheck ^>=2.14`, `hspec ^>=2.11`
**Storage**: N/A (in-memory data structure)
**Testing**: Hspec for unit tests, QuickCheck for property-based testing
Expand Down
2 changes: 1 addition & 1 deletion specs/007-traversable-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement a `Traversable` instance for the `Pattern` data type that enables trav

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: `base >=4.17.0.0 && <5`, `QuickCheck ^>=2.14`, `hspec ^>=2.11`
**Storage**: N/A (in-memory data structure)
**Testing**: Hspec for unit tests, QuickCheck for property-based testing
Expand Down
2 changes: 1 addition & 1 deletion specs/008-basic-query-functions/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement basic query functions for the Pattern type to enable pattern introspec

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/009-ord-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement an `Ord` instance for the `Pattern` type using lexicographic ordering

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/010-semigroup-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Evaluate use cases, design combination semantics, and implement a `Semigroup` in

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/011-monoid-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Evaluate use cases, design identity semantics, and implement a `Monoid` instance

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/012-hashable-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Evaluate use cases for hash-based containers, design hash semantics consistent w

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6, hashable ^>=1.4
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/012-hashable-instance/research.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ instance Hashable v => Hashable (Pattern v) where
- Standard library for `Hashable` typeclass
- Provides `hashWithSalt` function for proper hash combination
- Well-tested and widely used
- Compatible with GHC 9.8.4 and 9.10.3
- Compatible with GHC 9.12.2

### Documentation Requirements

Expand Down
2 changes: 1 addition & 1 deletion specs/012-hashable-instance/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
### Final Validation

- [x] T048 Verify all tests pass (run full test suite with timeout)
- [x] T049 Verify `Hashable` instance compiles with all supported GHC versions (9.8.4, 9.10.3)
- [x] T049 Verify `Hashable` instance compiles with all supported GHC versions (9.12.2)
- [x] T050 Verify `Hashable` instance follows Haskell best practices and conventions

**Checkpoint**: ✅ At this point, all tests pass, documentation is updated, and `Hashable` instance is fully integrated with the Pattern library.
Expand Down
2 changes: 1 addition & 1 deletion specs/012-predicate-matching/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement predicate-based pattern matching functions for the Pattern type, enabl

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, containers ^>=0.6
**Storage**: N/A (pure functional data structure)
**Testing**: hspec ^>=2.11, QuickCheck ^>=2.14
Expand Down
2 changes: 1 addition & 1 deletion specs/013-applicative-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Implement an Applicative instance for the Pattern type that enables applying fun
the iteration process.
-->

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, QuickCheck (for property-based testing), Hspec (for test framework)
**Storage**: N/A (in-memory data structure)
**Testing**: Hspec for unit tests, QuickCheck for property-based testing of Applicative laws
Expand Down
2 changes: 1 addition & 1 deletion specs/014-comonad-instance/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implement a Comonad instance for the Pattern type that enables context-aware com

## Technical Context

**Language/Version**: Haskell (GHC 9.8.4, 9.10.3)
**Language/Version**: Haskell (GHC 9.12.2)
**Primary Dependencies**: base >=4.17.0.0, comonad (for Comonad typeclass), QuickCheck (for property-based testing), Hspec (for test framework)
**Storage**: N/A (in-memory data structure)
**Testing**: Hspec for unit tests, QuickCheck for property-based testing of Comonad laws
Expand Down
Loading