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
4 changes: 2 additions & 2 deletions presets/catalog.community.json
Original file line number Diff line number Diff line change
Expand Up @@ -671,11 +671,11 @@
"workflow-preset": {
"name": "Workflow Preset",
"id": "workflow-preset",
"version": "1.3.10",
"version": "1.3.11",
"description": "Behavior-first specification, design artifacts, and agent-native handoff orchestration",
"author": "bigsmartben",
"repository": "https://github.com/bigsmartben/spec-kit-workflow-preset",
"download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.10/spec-kit-workflow-preset-v1.3.10.zip",
"download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.11/spec-kit-workflow-preset-v1.3.11.zip",
"homepage": "https://github.com/bigsmartben/spec-kit-workflow-preset",
"documentation": "https://github.com/bigsmartben/spec-kit-workflow-preset/blob/main/README.md",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion presets/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"workflow-preset": {
"name": "Workflow Preset",
"id": "workflow-preset",
"version": "1.3.10",
"version": "1.3.11",
"description": "Behavior-first specification, design artifacts, and agent-native handoff orchestration",
"author": "bigsmartben",
"repository": "https://github.com/bigsmartben/spec-kit-workflow-preset",
Expand Down
15 changes: 15 additions & 0 deletions presets/workflow-preset/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,21 @@ This repository is a Spec Kit community preset named `workflow-preset`.
- Validation strategy is derived by `/speckit.tasks` from behavior contracts, interface contracts, `research.md`, and `quickstart.md`; do not add standalone `test-plan.md` without intentionally updating the preset contract.
- Do not move product requirements out of `spec.md`, domain model details out of `data-model.md`, interface schemas out of `contracts/`, or validation run guidance out of `quickstart.md`.

## Integration Boundary

- This repository owns the `workflow-preset` source, tests, release artifact,
and source documentation.
- Do not open pull requests from this repository directly to `github/spec-kit`.
- Do not push branches to `github/spec-kit` or add workflow automation that
targets `github/spec-kit` for pull requests, repository dispatches, or direct
writes.
- If a Spec Kit catalog or bundled snapshot update is needed, target the
`bigsmartben/spec-kit` integration fork first. The integration fork owns any
downstream pull request to `github/spec-kit`.
- Source releases must provide source-backed metadata for the integration fork:
repository URL, release version, source commit SHA, download URL, and
validation evidence.

## Handoff Boundaries

When working from a generated handoff JSON:
Expand Down
3 changes: 3 additions & 0 deletions presets/workflow-preset/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## Unreleased

- Added constitution governance coverage for the fixed R/M/U/O mapping and Architecture SSOT boundary, with preset manifest, documentation, contract tests, and install smoke checks aligned to the constitution template.
- Fixed the preset artifact integration workflow to update both bundled and community catalog metadata before opening the `bigsmartben/spec-kit` fork PR.

## 1.3.10

- Tightened implement handoff, manifest, and receipt shard IDs to the `S00-capability-00` format.
Expand Down
14 changes: 8 additions & 6 deletions presets/workflow-preset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This Spec Kit community preset combines behavior-first specification, design-aware planning, scoped change governance, and agent-native handoff orchestration.

It wraps `/speckit.specify`, `/speckit.clarify`, `/speckit.checklist`, `/speckit.constitution`, `/speckit.plan`, `/speckit.tasks`, and `/speckit.analyze` with BDD, NFR, and applicable Visual Fidelity readiness gates, Change Scope Granularity governance, Phase 0 behavior projection, optional design artifacts for internal object design and service sequencing, visual restoration traceability, and task-time validation strategy derivation. It replaces `/speckit.implement` with a Core Agent, Vertical Planner Agent, and Worker Agent orchestration contract that writes handoffs to disk.
It wraps `/speckit.specify`, `/speckit.clarify`, `/speckit.checklist`, `/speckit.constitution`, `/speckit.plan`, `/speckit.tasks`, and `/speckit.analyze` with BDD, NFR, and applicable Visual Fidelity readiness gates, Change Scope Granularity and Architecture SSOT governance, Phase 0 behavior projection, optional design artifacts for internal object design and service sequencing, visual restoration traceability, and task-time validation strategy derivation. It replaces `/speckit.implement` with a Core Agent, Vertical Planner Agent, and Worker Agent orchestration contract that writes handoffs to disk.

## Goal

Expand Down Expand Up @@ -48,8 +48,10 @@ Requirement capabilities:

Governance capabilities:

- Wraps `/speckit.constitution` and the constitution template with Change Scope Granularity governance.
- Defines the R/M/U/O model: Repository or Workspace as environment context, Module or Capability as the hard outer boundary, Unit or Design Object as the primary planning boundary, and Operation or Detail as execution detail.
- Wraps `/speckit.constitution` and the constitution template with Change Scope Granularity and Architecture SSOT governance.
- Defines the fixed R/M/U/O model: R is Repository / Workspace, M is Module / Capability, U is Unit / Design Object, and O is Operation / Detail. These letters must not be renamed or expanded with alternate nouns.
- Blocks constitution writes when a generated draft changes the fixed R/M/U/O mapping.
- Routes architecture decisions, domain facts, object design, flows, and interface contracts to architecture SSOT artifacts instead of embedding concrete implementation content in ratified constitution principles.
- Requires planning to lock M + U before execution maps units to concrete paths.
- Treats unresolved U -> path mapping as a context gap instead of widening execution to repository-wide or broad module scope.

Expand Down Expand Up @@ -119,7 +121,7 @@ Context-load controls:

## Workflow

1. `/speckit.constitution` preserves Change Scope Granularity when the project constitution is created or updated.
1. `/speckit.constitution` preserves Change Scope Granularity and Architecture SSOT governance when the project constitution is created or updated.
2. `/speckit.specify` keeps the core requirements output in `spec.md`.
3. `/speckit.clarify` resolves requirement ambiguity in `spec.md`.
4. `/speckit.checklist` checks BDD, NFR, and applicable Visual Fidelity readiness directly from `spec.md` and blocks planning when readiness gaps remain.
Expand Down Expand Up @@ -149,7 +151,7 @@ Context-load controls:
Release install:

```bash
specify preset add workflow-preset --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.10/spec-kit-workflow-preset-v1.3.10.zip
specify preset add workflow-preset --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.11/spec-kit-workflow-preset-v1.3.11.zip
```

Local development install:
Expand Down Expand Up @@ -477,7 +479,7 @@ Release install smoke validation is intentionally owned by GitHub Actions, not b
After tagging a release, validate archive installation:

```bash
specify preset add workflow-preset --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.10/spec-kit-workflow-preset-v1.3.10.zip
specify preset add workflow-preset --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.11/spec-kit-workflow-preset-v1.3.11.zip
```

## Source Rationale
Expand Down
42 changes: 40 additions & 2 deletions presets/workflow-preset/commands/speckit.constitution.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Wrap core constitution updates with change scope granularity governance.
description: Wrap core constitution updates with change scope granularity and architecture SSOT governance.
strategy: wrap
---

Expand All @@ -9,8 +9,46 @@ Always preserve the Change Scope Granularity principle in `.specify/memory/const

Constitution updates must not remove, weaken, or contradict the principle's R/M/U/O model, boundary timing, or context-gap rule. Keep the principle normative, including `Planning locks M + U`.

The R/M/U/O letter mapping is fixed and MUST remain exact:

- R: Repository / Workspace. Environment only; too broad for scoped changes.
- M: Module / Capability. Hard outer boundary.
- U: Unit / Design Object. Primary planning boundary.
- O: Operation / Detail. Execution detail.

Do not paraphrase, expand, rename, translate, or substitute these letters with other nouns such as Requirement, Model, User/API Interface, or Operations.

If a drafted constitution changes this mapping, discard the draft and report blocker code `CONSTITUTION_RMUO_MAPPING_DRIFT` instead of writing `.specify/memory/constitution.md`.

When producing the Sync Impact Report, report template or command file status only after checking the actual path. If a path cannot be checked, report `CONSTITUTION_TEMPLATE_STATUS_UNCHECKED`; do not report it as missing.
If the root `.specify/templates/constitution-template.md` is still the core placeholder, do not treat that as the workflow-preset template being absent. Resolve or check `.specify/presets/workflow-preset/templates/constitution-template.md` before reporting preset template status.

## Architecture SSOT Boundary

Ratified constitution principles must be durable governance rules, not architecture fact storage.
Architecture decisions, domain facts, object design, flows, and interface contracts belong in their architecture SSOT artifacts:

- `specs/<feature>/data-model.md`: domain model and domain facts.
- `specs/<feature>/class-diagram.md`: object, module, adapter, and internal design structure.
- `specs/<feature>/contracts/sequences.md`: cross-boundary flow, sequencing, async, retry, rollback, and failure paths.
- `specs/<feature>/contracts/`: interface and message contracts.
- `specs/<feature>/research.md`: architecture decisions and tradeoffs that need evidence.

Constitution updates MUST NOT capture, discover, extract, migrate, store, validate, or repair architecture facts.
If user input includes architecture facts, do not embed them in ratified principles.
In the Sync Impact Report, report blocker code `CONSTITUTION_ARCH_SSOT_GAP` and name the responsible workflow-preset SSOT artifact type when it can be classified.
Do not write concrete `specs/<feature>/...` paths, check those paths, create or update those artifacts, or copy concrete implementation facts, temporary repository observations, or module responsibility inventories into ratified constitution principles.

## Architecture SSOT Compliance

Always preserve the Architecture SSOT Compliance principle in `.specify/memory/constitution.md`.

Ratified constitution principles define the compliance rule only. Concrete architecture decisions, domain facts, object design, flows, and interface contracts MUST remain in their Architecture SSOT artifacts.

Planning outputs MUST comply with existing Architecture SSOT artifacts. Planning MUST NOT contradict, relocate, weaken, or silently replace architecture SSOT content. If planning cannot produce outputs that comply with existing Architecture SSOT artifacts, it must report a planning blocker instead of generating inconsistent artifacts.

{CORE_TEMPLATE}

## Change Scope Granularity Reporting

Before finishing, report whether the constitution includes the Change Scope Granularity principle and still states `Planning locks M + U`.
Before finishing, report whether the constitution includes the Change Scope Granularity principle, still states `Planning locks M + U`, preserves the exact R/M/U/O letter mapping, routes architecture decisions, domain facts, object design, flows, and interface contracts to workflow-preset SSOT artifact types instead of embedding concrete implementation content in ratified principles, and requires planning outputs to comply with existing Architecture SSOT artifacts.
8 changes: 5 additions & 3 deletions presets/workflow-preset/preset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ schema_version: '1.0'
preset:
id: workflow-preset
name: Workflow Preset
version: 1.3.10
version: 1.3.11
description: Behavior-first specification, design artifacts, and agent-native handoff
orchestration
author: bigsmartben
Expand All @@ -21,7 +21,8 @@ provides:
- type: template
name: constitution-template
file: templates/constitution-template.md
description: Add change scope granularity governance to the constitution template
description: Add change scope granularity and architecture SSOT governance to
the constitution template
replaces: constitution-template
strategy: wrap
- type: template
Expand Down Expand Up @@ -73,7 +74,8 @@ provides:
- type: command
name: speckit.constitution
file: commands/speckit.constitution.md
description: Wrap core constitution updates with change scope granularity governance
description: Wrap core constitution updates with change scope granularity and
architecture SSOT governance
replaces: speckit.constitution
strategy: wrap
- type: command
Expand Down
23 changes: 23 additions & 0 deletions presets/workflow-preset/templates/constitution-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,31 @@ Spec Kit planning and execution MUST use R/M/U/O scope granularity:
- U: Unit / Design Object. Primary planning boundary.
- O: Operation / Detail. Execution detail.

The R/M/U/O letter mapping is fixed. Do not paraphrase, expand, rename, translate, or substitute these letters with other nouns.

Planning locks M + U.
Execution maps U -> concrete paths -> O-level changes.
If U -> concrete paths cannot be determined, report a context gap. Do not widen scope to R or broad M.

This principle applies from planning onward. Requirement specification, clarification, and checklist readiness MUST NOT infer M/U/O boundaries.

## Architecture SSOT Boundary

Ratified constitution principles are durable governance rules, not architecture fact storage.
Architecture decisions, domain facts, object design, flows, and interface contracts belong in their architecture SSOT artifacts:

- `specs/<feature>/data-model.md`: domain model and domain facts.
- `specs/<feature>/class-diagram.md`: object, module, adapter, and internal design structure.
- `specs/<feature>/contracts/sequences.md`: cross-boundary flow, sequencing, async, retry, rollback, and failure paths.
- `specs/<feature>/contracts/`: interface and message contracts.
- `specs/<feature>/research.md`: architecture decisions and tradeoffs that need evidence.

Constitution principles may reference these SSOT artifact types, but must not copy concrete implementation facts, temporary repository observations, or module responsibility inventories into ratified governance text.

## Architecture SSOT Compliance

Ratified constitution principles define the compliance rule only. Concrete architecture decisions, domain facts, object design, flows, and interface contracts MUST remain in their Architecture SSOT artifacts.

Planning outputs MUST comply with existing Architecture SSOT artifacts.
Planning MUST NOT contradict, relocate, weaken, or silently replace architecture SSOT content.
If planning cannot produce outputs that comply with existing Architecture SSOT artifacts, report a planning blocker instead of generating inconsistent artifacts.
Loading