From 811229135d07a2bb178796574c7e5f28468d0d37 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 13:51:16 +0000 Subject: [PATCH 1/7] Initial plan From 7fe64482e4e554661fbca6a7475777b5c87229bb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 13:54:24 +0000 Subject: [PATCH 2/7] docs: document Articles IV, V, VI as project-customizable in spec-driven.md Agent-Logs-Url: https://github.com/github/spec-kit/sessions/a5a938bd-4400-4deb-bdc8-0109b0bf4ccb Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spec-driven.md b/spec-driven.md index 090071a3c4..93dfef3bd1 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -318,6 +318,18 @@ No implementation code shall be written before: This completely inverts traditional AI code generation. Instead of generating code and hoping it works, the LLM must first generate comprehensive tests that define behavior, get them approved, and only then generate implementation. +#### Articles IV, V & VI: Project-Customizable Standards + +Articles IV, V, and VI address concerns that vary significantly across projects. Unlike Articles I–III and VII–IX—which are fixed in the Spec Kit framework—these three articles are intentionally left for each project to define in its own constitution: + +- **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template provides `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` as the placeholder slot for this article, with an example hint of *Integration Testing*. + +- **Article V** addresses operational concerns—such as observability, structured logging, or monitoring requirements. Its rules live in the `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` placeholder, with an example hint of *Observability*. + +- **Article VI** addresses lifecycle concerns—such as versioning schemes, breaking change policies, or deprecation standards. Like Article V, it is defined within the flexible principle slots in the constitution template, with an example hint of *Versioning & Breaking Changes*. + +To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (generated from `templates/constitution-template.md`). The `/speckit.analyze` command dynamically validates compliance against whatever rules your project defines for Articles IV–VI, so teams can tailor these standards to their specific technical and organizational needs without modifying Spec Kit itself. + #### Articles VII & VIII: Simplicity and Anti-Abstraction These paired articles combat over-engineering: From d4ec0b780dea98c5a4161ac9c017e9b3c2398fe7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 19:24:07 +0000 Subject: [PATCH 3/7] =?UTF-8?q?docs:=20fix=20Articles=20IV=E2=80=93VI=20se?= =?UTF-8?q?ction=20based=20on=20review=20feedback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Agent-Logs-Url: https://github.com/github/spec-kit/sessions/2501d2e9-fbcf-4d44-afe1-1fa19f1a0a24 Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/spec-driven.md b/spec-driven.md index 93dfef3bd1..ac407a7923 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -320,15 +320,13 @@ This completely inverts traditional AI code generation. Instead of generating co #### Articles IV, V & VI: Project-Customizable Standards -Articles IV, V, and VI address concerns that vary significantly across projects. Unlike Articles I–III and VII–IX—which are fixed in the Spec Kit framework—these three articles are intentionally left for each project to define in its own constitution: +Articles IV, V, and VI are the primary areas the constitution template reserves for project-specific standards. While the `/speckit.constitution` command lets teams define fewer or more principles than the template provides, these three articles represent the typical customization focus: -- **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template provides `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` as the placeholder slot for this article, with an example hint of *Integration Testing*. +- **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*. -- **Article V** addresses operational concerns—such as observability, structured logging, or monitoring requirements. Its rules live in the `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` placeholder, with an example hint of *Observability*. +- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. -- **Article VI** addresses lifecycle concerns—such as versioning schemes, breaking change policies, or deprecation standards. Like Article V, it is defined within the flexible principle slots in the constitution template, with an example hint of *Versioning & Breaking Changes*. - -To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (generated from `templates/constitution-template.md`). The `/speckit.analyze` command dynamically validates compliance against whatever rules your project defines for Articles IV–VI, so teams can tailor these standards to their specific technical and organizational needs without modifying Spec Kit itself. +To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (generated from `templates/constitution-template.md`). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. #### Articles VII & VIII: Simplicity and Anti-Abstraction From b9c7a0cfa0e5968c2df8d902c3d54f0e1d2e9903 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 19:37:12 +0000 Subject: [PATCH 4/7] docs: fix PRINCIPLE_5 example hint and constitution template path references Agent-Logs-Url: https://github.com/github/spec-kit/sessions/1c970cf3-767e-4e00-9e3b-db24461843e5 Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec-driven.md b/spec-driven.md index ac407a7923..1571e14e66 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -324,9 +324,9 @@ Articles IV, V, and VI are the primary areas the constitution template reserves - **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*. -- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. +- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these (along with a Simplicity article) under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. -To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (generated from `templates/constitution-template.md`). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. +To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (initialized from `.specify/templates/constitution-template.md` in your project, sourced from `templates/constitution-template.md` in the Spec Kit repo). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. #### Articles VII & VIII: Simplicity and Anti-Abstraction From 88e982372c68753f3b5209efa520ada71a4a9c53 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 19:51:06 +0000 Subject: [PATCH 5/7] docs: reconcile PRINCIPLE_5 hint label and standardize constitution path notation Agent-Logs-Url: https://github.com/github/spec-kit/sessions/05743acb-4cf0-4c58-a67e-4b996b5e3088 Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec-driven.md b/spec-driven.md index 1571e14e66..63d521732e 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -324,9 +324,9 @@ Articles IV, V, and VI are the primary areas the constitution template reserves - **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*. -- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these (along with a Simplicity article) under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. +- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity*). The label text is a suggestion only—teams can name and scope this slot however fits their project, or expand to separate articles using `/speckit.constitution`. -To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (initialized from `.specify/templates/constitution-template.md` in your project, sourced from `templates/constitution-template.md` in the Spec Kit repo). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. +To define these articles, populate the corresponding principle sections in `memory/constitution.md` (located at `.specify/memory/constitution.md` in your project, generated from `templates/constitution-template.md`). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. #### Articles VII & VIII: Simplicity and Anti-Abstraction From ad5d907cf0fae14cfdfd0c4b9970ca1499b7634b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 21:25:20 +0000 Subject: [PATCH 6/7] docs: point to /speckit.constitution for defining project articles IV-VI Agent-Logs-Url: https://github.com/github/spec-kit/sessions/522bf148-2732-4ff2-9f3d-c3f92c9543f2 Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec-driven.md b/spec-driven.md index 63d521732e..ed28386644 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -326,7 +326,7 @@ Articles IV, V, and VI are the primary areas the constitution template reserves - **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity*). The label text is a suggestion only—teams can name and scope this slot however fits their project, or expand to separate articles using `/speckit.constitution`. -To define these articles, populate the corresponding principle sections in `memory/constitution.md` (located at `.specify/memory/constitution.md` in your project, generated from `templates/constitution-template.md`). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. +To define these articles for your project, run `/speckit.constitution`—it guides you through populating the principle sections in `.specify/memory/constitution.md`. The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. #### Articles VII & VIII: Simplicity and Anti-Abstraction From 32a90ddb8c577d24c8abe9717d13465ca8928f32 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 21:35:02 +0000 Subject: [PATCH 7/7] docs: fix PRINCIPLE_5 example hint inconsistency and add tasks.md to analyze coverage Agent-Logs-Url: https://github.com/github/spec-kit/sessions/981ee0dc-5cef-444d-8cc2-1358e08825df Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- spec-driven.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec-driven.md b/spec-driven.md index ed28386644..0885cbfe41 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -324,9 +324,9 @@ Articles IV, V, and VI are the primary areas the constitution template reserves - **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*. -- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity*). The label text is a suggestion only—teams can name and scope this slot however fits their project, or expand to separate articles using `/speckit.constitution`. +- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot. Teams can name and scope this slot however fits their project, or expand to separate articles using `/speckit.constitution`. -To define these articles for your project, run `/speckit.constitution`—it guides you through populating the principle sections in `.specify/memory/constitution.md`. The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. +To define these articles for your project, run `/speckit.constitution`—it guides you through populating the principle sections in `.specify/memory/constitution.md`. The `/speckit.analyze` command validates all spec, plan, and task artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. #### Articles VII & VIII: Simplicity and Anti-Abstraction