Skip to content

Commit 849ff31

Browse files
chore: Update constitution version reference in plan template to v1.1.2
1 parent c9151a8 commit 849ff31

File tree

2 files changed

+62
-26
lines changed

2 files changed

+62
-26
lines changed

.specify/memory/constitution.md

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,55 @@
11
<!--
2-
Sync Impact Report - Constitution v1.1.0
2+
Sync Impact Report - Constitution v1.1.2
33
========================================
4-
Version Change: 1.0.0 → 1.1.0 (MINOR - expanded guidance)
4+
Version Change: 1.1.1 → 1.1.2 (PATCH - product clarification)
55
Date: 2025-10-01
66
77
Modified Principles:
8-
- Expanded Principle I (Workflow-First Design) with action script requirements
9-
- Enhanced Principle III (Platform Independence) with PowerShell 7.4+ requirement
10-
- Added CI validation workflow requirement to Principle II
8+
- Added preamble clarifying Process-PSModule as an opinionated reusable workflow product
9+
- Enhanced configuration guidance for consuming repositories
10+
- Clarified relationship between framework and consuming repos
1111
1212
Added Sections:
13-
- Technical Constraints (PowerShell version, action-based implementation)
14-
- Workflow Testing Standards (CI vs production workflow distinction)
13+
- Product Overview (new section before Core Principles)
1514
1615
Removed Sections: None
1716
1817
Templates Status:
19-
✅ plan-template.md - Already aligned with constitution checks
18+
✅ plan-template.md - Updated to reference v1.1.2
2019
✅ spec-template.md - No changes needed (no constitution-specific requirements)
2120
✅ tasks-template.md - No changes needed (general task structure applies)
2221
2322
Follow-up TODOs:
2423
- TODO(RATIFICATION_DATE): Determine original constitution adoption date
2524
26-
Rationale for MINOR bump:
27-
- Added specific technical requirements (PowerShell 7.4+, action scripts over inline)
28-
- Expanded workflow-first principle with implementation details
29-
- Added CI validation workflow as required testing standard
30-
- Material expansion of existing principles without breaking compatibility
25+
Rationale for PATCH bump:
26+
- Clarification of product nature and scope without new requirements
27+
- Added context about opinionated flow and structure
28+
- Explained configuration mechanism and consuming repo requirements
29+
- Non-semantic refinement that improves understanding of product purpose
3130
-->
3231

3332
# Process-PSModule Constitution
3433

34+
## Product Overview
35+
36+
**Process-PSModule** is a **reusable workflow product** that provides an **opinionated flow and structure** for building PowerShell modules using GitHub Actions. It is NOT a library or toolkit; it is a complete CI/CD workflow framework designed to be consumed by PowerShell module repositories.
37+
38+
### Product Characteristics
39+
- **Opinionated Architecture**: Defines a specific workflow execution order and module structure
40+
- **Reusable Workflows**: Consuming repositories call Process-PSModule workflows via `uses:` syntax
41+
- **Configurable via Settings**: Behavior customized through `.github/PSModule.yml` (or JSON/PSD1) in consuming repos
42+
- **Structure Requirements**: Consuming repos MUST follow documented structure in GitHub Actions README files
43+
- **Not for Local Development**: Designed exclusively for GitHub Actions execution environment
44+
45+
### Consuming Repository Requirements
46+
Repositories that consume Process-PSModule workflows MUST:
47+
- Follow the module source structure documented in framework actions
48+
- Provide configuration file (`.github/PSModule.yml`) with appropriate settings
49+
- Adhere to the opinionated workflow execution order
50+
- Reference Process-PSModule workflows using stable version tags
51+
- Review action README documentation for structure and configuration requirements
52+
3553
## Core Principles
3654

3755
### I. Workflow-First Design (NON-NEGOTIABLE)
@@ -61,15 +79,18 @@ All code changes MUST follow strict TDD practices using Pester and PSScriptAnaly
6179
**Rationale**: TDD ensures code quality, prevents regressions, and creates living documentation through tests. This is fundamental to project reliability. CI workflow validation ensures the entire framework functions correctly in real-world scenarios.
6280

6381
### III. Platform Independence with Modern PowerShell
64-
All workflows and features MUST support cross-platform execution (Linux, macOS, Windows) using **PowerShell 7.4 or newer**:
82+
**Modules MUST be built to be cross-platform.** All workflows, features, and consuming modules MUST support cross-platform execution (Linux, macOS, Windows) using **PowerShell 7.4 or newer**:
6583
- Use platform-agnostic PowerShell Core 7.4+ constructs exclusively
66-
- Implement matrix testing across all supported operating systems
67-
- Document any platform-specific behaviors or limitations
84+
- **Modules MUST function identically** on Linux, macOS, and Windows
85+
- Cross-platform compatibility is **verified through Test-ModuleLocal** workflow
86+
- Test-ModuleLocal executes module tests on: `ubuntu-latest`, `windows-latest`, `macos-latest`
87+
- Implement matrix testing across all supported operating systems for all workflow components
88+
- Document any platform-specific behaviors or limitations explicitly
6889
- Test failures on any platform MUST block merging
69-
- Provide skip mechanisms for platform-specific tests when justified
90+
- Provide skip mechanisms for platform-specific tests when justified (with clear rationale)
7091
- **No backward compatibility** required for Windows PowerShell 5.1 or earlier PowerShell Core versions
7192

72-
**Rationale**: PowerShell 7.4+ provides consistent cross-platform behavior and modern language features. Focusing on a single modern version reduces complexity and maintenance burden while ensuring maximum compatibility for consuming projects on contemporary platforms.
93+
**Rationale**: PowerShell 7.4+ provides consistent cross-platform behavior and modern language features. Focusing on a single modern version reduces complexity and maintenance burden. Modules built with Process-PSModule framework must work seamlessly across all platforms, verified through automated matrix testing in Test-ModuleLocal, ensuring maximum compatibility for consuming projects on contemporary platforms.
7394

7495
### IV. Quality Gates and Observability
7596
Every workflow execution MUST produce verifiable quality metrics:
@@ -119,7 +140,11 @@ Release management MUST be automated and follow SemVer 2.0.0:
119140
### Testing
120141
- Source code tests MUST validate framework compliance
121142
- Module tests MUST validate built module integrity
122-
- Local module tests (Pester) MUST validate functional behavior
143+
- Local module tests (Pester) MUST validate functional behavior across all platforms
144+
- **Test-ModuleLocal workflow** verifies cross-platform module compatibility on:
145+
- `ubuntu-latest` (Linux)
146+
- `windows-latest` (Windows)
147+
- `macos-latest` (macOS)
123148
- BeforeAll/AfterAll setup and teardown scripts MUST be supported for test environments
124149
- Test matrices MUST be configurable via repository settings
125150
- **CI validation workflow** (`.github/workflows/ci.yml`) MUST be maintained for integration testing
@@ -142,6 +167,8 @@ The standard execution order for Process-PSModule workflows MUST be:
142167
4. **Lint-SourceCode** - Parallel matrix linting of source code
143168
5. **Test-Module** - Framework validation and linting of built module
144169
6. **Test-ModuleLocal** - Runs Pester tests with BeforeAll/AfterAll support
170+
- **Verifies cross-platform module compatibility** on ubuntu-latest, windows-latest, macos-latest
171+
- Tests module functionality across all supported platforms
145172
7. **Get-TestResults** - Aggregates and validates test results
146173
8. **Get-CodeCoverage** - Validates coverage thresholds
147174
9. **Build-Docs** and **Build-Site** - Generates documentation
@@ -153,15 +180,20 @@ The standard execution order for Process-PSModule workflows MUST be:
153180
- Consuming repositories use production workflow for releases, CI workflow for nightly validation
154181

155182
### Configuration
156-
- Settings MUST be stored in `.github/PSModule.yml` (or JSON/PSD1 format)
183+
- Settings MUST be stored in `.github/PSModule.yml` (or JSON/PSD1 format) in consuming repositories
157184
- Skip flags MUST be available for all major workflow steps
158185
- OS-specific skip flags MUST be supported (Linux, macOS, Windows)
159186
- Settings MUST support test configuration, build options, and publish behavior
187+
- **Consuming repositories** configure behavior through settings file (opinionated defaults provided)
188+
- **Structure requirements** documented in GitHub Actions README files MUST be followed by consumers
189+
- Configuration options MUST be backward compatible within major versions
160190

161191
## Governance
162192

163193
### Constitution Authority
164-
This constitution supersedes all other development practices. When conflicts arise between this document and other guidance, the constitution takes precedence.
194+
This constitution supersedes all other development practices **for Process-PSModule framework development**. When conflicts arise between this document and other guidance, the constitution takes precedence.
195+
196+
**For Consuming Repositories**: This constitution defines how the Process-PSModule framework is built and maintained. Consuming repositories follow the opinionated structure and configuration documented in framework action README files.
165197

166198
### Amendments
167199
Changes to this constitution require:
@@ -174,18 +206,22 @@ Changes to this constitution require:
174206
- PATCH: Clarifications, wording fixes, non-semantic refinements
175207

176208
### Compliance
177-
- All PRs MUST be validated against constitutional principles
209+
- All PRs MUST be validated against constitutional principles **for framework development**
178210
- Workflow design MUST align with Workflow-First Design principle
179211
- Test-First principle compliance is NON-NEGOTIABLE and enforced by review
180-
- Platform Independence MUST be verified through matrix testing results
212+
- **Platform Independence MUST be verified** through Test-ModuleLocal matrix testing (ubuntu-latest, windows-latest, macos-latest)
213+
- **Modules MUST function identically** across all platforms
181214
- Quality Gates MUST be enforced by workflow automation
182215
- PowerShell 7.4+ compatibility MUST be verified
183216
- Action-based implementation preferred over inline workflow code
184217
- CI validation workflow MUST pass before merging changes to core workflows
218+
- **Consuming repositories** MUST follow structure requirements in action README documentation
185219

186220
### Runtime Development Guidance
187-
For agent-specific runtime development guidance, agents should reference:
221+
For agent-specific runtime development guidance **when developing the framework**, agents should reference:
188222
- GitHub Copilot: `.github/copilot-instructions.md` (if exists)
189223
- Other agents: Check for `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, or `QWEN.md`
190224

191-
**Version**: 1.1.0 | **Ratified**: TODO(RATIFICATION_DATE) | **Last Amended**: 2025-10-01
225+
**For Consuming Repositories**: Follow the opinionated structure and configuration documented in the README files of the GitHub Actions this framework provides.
226+
227+
**Version**: 1.1.2 | **Ratified**: TODO(RATIFICATION_DATE) | **Last Amended**: 2025-10-01

.specify/templates/plan-template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,4 +254,4 @@ directories captured above]
254254
- [ ] Complexity deviations documented
255255

256256
---
257-
*Based on Constitution v1.1.0 - See `.specify/memory/constitution.md`*
257+
*Based on Constitution v1.1.2 - See `.specify/memory/constitution.md`*

0 commit comments

Comments
 (0)