Skip to content

Commit ec007ed

Browse files
hindermathCopilot
andcommitted
docs: amend constitution for preset governance
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent bb93e31 commit ec007ed

28 files changed

Lines changed: 1200 additions & 80 deletions

.github/copilot-instructions.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,18 @@ Diese Regeln gelten für alle Repositories in diesem Workspace. Projektspezifisc
238238

239239
*Every Level-2 project MUST maintain security documents based on templates in `.specify/templates/`: threat model (STRIDE+CAPEC), S-ADRs, arc42 Section 8 security concepts, security checklist, dependency audit, security quality scenarios (SHOULD), ASVS verification (web/API MUST), supply-chain evidence (release-capable MUST), Zero Trust applicability note (distributed systems SHOULD), and SAMM assessment (long-lived projects SHOULD). Project-specific instances live in `docs/security/`; S-ADRs in `docs/security/adr/`. See `constitution.md`, Principles XII–XVIII for authoritative requirements.*
240240

241+
## Allgemeine Architekturdokumentation / General Architecture Documentation
242+
243+
- Bei architekturrelevanten Änderungen MUSS iSAQB/arc42-Evidenz geprüft werden: Architekturziele, Kontextsicht, Bausteinsicht, Laufzeitsicht, Deployment-Sicht, Qualitätszenarien, ADRs, Architekturrisiken und technische Schulden.
244+
- Standardpfad: `docs/architecture/`; ADRs als einzelne Dateien in `docs/architecture/adr/`.
245+
- Verwende die installierten Templates `architecture-vision-template.md`, `context-view-template.md`, `building-block-view-template.md`, `runtime-view-template.md`, `deployment-view-template.md`, `quality-scenarios-template.md`, `architecture-decision-template.md` und `architecture-risks-template.md`, sofern anwendbar.
246+
- Nichtanwendbarkeit immer als `N/A` mit kurzer Begründung dokumentieren; keine stillschweigende Auslassung.
247+
248+
*Architecture-relevant changes MUST check iSAQB/arc42 evidence: architecture goals, context view, building-block view, runtime view, deployment view, quality scenarios, ADRs, architecture risks, and technical debt. Default path: `docs/architecture/`; ADRs live in `docs/architecture/adr/`. Use the installed architecture templates where applicable. Record non-applicability as `N/A` with justification rather than omitting it silently.*
249+
241250
## Sicherheitsstandards & Anwendbarkeit / Security Standards & Applicability
242251

243-
- Vor jeder Level-2-Aufgabe die anwendbaren Sicherheitsstandards aus `constitution.md`, Prinzipien XIV-XVIII bestimmen und explizit benennen.
252+
- Vor jeder Level-2-Aufgabe die anwendbaren Sicherheitsstandards aus `constitution.md`, Prinzipien XIV-XX bestimmen und explizit benennen.
244253
- `NIST SSDF` und `CWE Top 25` gelten immer für Level-2-Arbeit.
245254
- `OWASP ASVS` gilt für Web-, API-, HTTP- und authentifizierte Dienste; der gewählte ASVS-Level muss benannt werden.
246255
- `SBOM` gilt für releasefähige oder verteilbare Artefakte; `VEX`, wenn bekannte Schwachstellen in ausgelieferten oder geprüften Komponenten bewertet werden müssen.
@@ -249,7 +258,7 @@ Diese Regeln gelten für alle Repositories in diesem Workspace. Projektspezifisc
249258
- `OWASP Cheat Sheet Series`, `OWASP Proactive Controls` und bei öffentlichen OSS-Repositories oder kritischen Abhängigkeiten `OpenSSF Scorecard` sind als ergänzende Referenzen zu berücksichtigen.
250259
- Nichtanwendbarkeit immer als `N/A` mit kurzer Begründung dokumentieren; keine stillschweigende Auslassung.
251260

252-
*At the start of every Level-2 task, determine and name the applicable security standards from `constitution.md`, Principles XIV-XVIII. `NIST SSDF` and `CWE Top 25` always apply. `OWASP ASVS` applies to web/API/HTTP/auth-bearing services; `SBOM` applies to releasable or distributable artefacts; `VEX` applies when known vulnerabilities in shipped/evaluated components need a disposition statement. `SLSA` is the target model for CI/CD and published artefacts; `Zero Trust` must be explicitly evaluated for distributed, service-based, cloud, or remotely managed systems. `CAPEC`, `OWASP SAMM`, `OWASP Cheat Sheet Series`, `OWASP Proactive Controls`, and `OpenSSF Scorecard` are supporting references where relevant. Record non-applicability as `N/A` with justification rather than omitting it silently.*
261+
*At the start of every Level-2 task, determine and name the applicable security standards from `constitution.md`, Principles XIV-XX. `NIST SSDF` and `CWE Top 25` always apply. `OWASP ASVS` applies to web/API/HTTP/auth-bearing services; `SBOM` applies to releasable or distributable artefacts; `VEX` applies when known vulnerabilities in shipped/evaluated components need a disposition statement. `SLSA` is the target model for CI/CD and published artefacts; `Zero Trust` must be explicitly evaluated for distributed, service-based, cloud, or remotely managed systems. `CAPEC`, `OWASP SAMM`, `OWASP Cheat Sheet Series`, `OWASP Proactive Controls`, and `OpenSSF Scorecard` are supporting references where relevant. Record non-applicability as `N/A` with justification rather than omitting it silently.*
253262
## Agentischer Security-Workflow / Agentic Security Workflow
254263

255264
- In `spec.md`, `plan.md` und `tasks.md` die anwendbaren Standards samt Evidenzpfad festhalten.

.specify/memory/constitution.md

Lines changed: 100 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,38 @@
11
<!--
22
Sync Impact Report
3-
Version change: 1.11.0 -> 1.12.0
3+
Version change: 1.12.0 -> 1.13.0
44
Modified principles:
5-
- None (purely additive)
5+
- II. Cross-Platform Parity & Documentation (evidence templates and Bash/PowerShell discipline clarified)
6+
- VII. Programmierung #include<everyone> — Inclusion & Accessibility By Default (preset evidence paths, German orthography, and code-fence tagging clarified)
7+
- IX. Four-Agent Guidance Parity & Template Synchronization (generic preset surface model and checklist evidence clarified)
8+
- XIV. Secure Development Standards & Applicability Matrix (CRA applicability and general architecture evidence included)
69
Added sections:
7-
- None
10+
- XX. General Software Architecture Governance (iSAQB/arc42)
811
Removed sections:
912
- None
1013
Templates requiring updates:
1114
- ✅ .specify/templates/plan-template.md
1215
- ✅ .specify/templates/spec-template.md
1316
- ✅ .specify/templates/tasks-template.md
17+
- ✅ .specify/templates/a11y-checklist-template.md
18+
- ✅ .specify/templates/a11y-evidence-template.md
19+
- ✅ .specify/templates/bilingual-content-check-template.md
20+
- ✅ .specify/templates/cli-a11y-review-template.md
21+
- ✅ .specify/templates/agent-parity-checklist-template.md
22+
- ✅ .specify/templates/man-page-template.md
23+
- ✅ .specify/templates/powershell-help-template.md
24+
- ✅ .specify/templates/script-parity-checklist-template.md
25+
- ✅ .specify/templates/architecture-vision-template.md
26+
- ✅ .specify/templates/context-view-template.md
27+
- ✅ .specify/templates/building-block-view-template.md
28+
- ✅ .specify/templates/runtime-view-template.md
29+
- ✅ .specify/templates/deployment-view-template.md
30+
- ✅ .specify/templates/quality-scenarios-template.md
31+
- ✅ .specify/templates/architecture-decision-template.md
32+
- ✅ .specify/templates/architecture-risks-template.md
33+
- ✅ .specify/templates/cra-applicability-template.md
34+
- ✅ .specify/templates/msl-applicability-template.md
35+
- ✅ .specify/templates/secure-coding-language-rules-template.md
1436
- ✅ .specify/templates/asvs-verification-template.md
1537
- ✅ .specify/templates/supply-chain-evidence-template.md
1638
- ✅ .specify/templates/zero-trust-applicability-template.md
@@ -26,7 +48,7 @@ Follow-up TODOs:
2648
- None
2749
-->
2850

29-
# Constitution v1.12.0
51+
# Constitution v1.13.0
3052

3153
# home-baseline Constitution
3254

@@ -94,6 +116,19 @@ A new script is not considered complete until:
94116

95117
All files MUST be committed together in the same commit.
96118

119+
Additional script-shaped tooling evidence:
120+
- Script parity checklists SHOULD use `script-parity-checklist-template.md`.
121+
- Bash man-page skeletons SHOULD use `man-page-template.md` and live under
122+
`docs/man/`.
123+
- PowerShell help skeletons SHOULD use `powershell-help-template.md`.
124+
- Bash scripts SHOULD use `set -euo pipefail` unless the script documents a
125+
compatibility reason. PowerShell scripts MUST use
126+
`Set-StrictMode -Version Latest`.
127+
- Bash scripts MUST NOT rely on Bash 4+ features unless the project documents
128+
that requirement, because macOS still ships Bash 3.2 by default.
129+
- PowerShell scripts MUST handle an empty `$env:HOME` on Windows by falling
130+
back to `$env:USERPROFILE` where a home directory is needed.
131+
97132
**Rationale**: The workspace is used on macOS and Windows. Bash-only or PowerShell-only scripts create a second-class experience. Professional documentation ensures maintainability and ease of use across platforms.
98133

99134
### III. Bootstrap Automation
@@ -212,6 +247,16 @@ Mandatory rules:
212247
- User-facing artefacts MUST remain usable with keyboard-only interaction, screen readers, Braille displays, and text browsers.
213248
- Text-first fallbacks MUST be preferred for status reporting, diagrams, and operational guidance.
214249
- Accessibility review is part of completion, not post-processing.
250+
- German learner-facing text MUST keep full orthographic correctness, including
251+
umlauts (`ä`, `ö`, `ü`, `Ä`, `Ö`, `Ü`) and `ß`; ASCII fallbacks such as
252+
`fuer` or `loeschen` are not acceptable in user-facing prose unless a file
253+
format or legacy interface cannot encode Unicode.
254+
- Every Markdown code block in user-facing documentation MUST carry a language
255+
tag such as `bash`, `powershell`, `csharp`, or `text`.
256+
- Accessibility evidence SHOULD live in `docs/accessibility/` and use the
257+
installed templates `a11y-checklist-template.md`,
258+
`bilingual-content-check-template.md`, `cli-a11y-review-template.md`, and
259+
`a11y-evidence-template.md` where applicable.
215260

216261
**Rationale**: Inclusive delivery improves quality for everyone, reduces retrofit work, and makes the repositories usable in real assistive-technology workflows from the start.
217262

@@ -241,6 +286,12 @@ Mandatory rules:
241286
- Any intentional deviation MUST be documented explicitly in the same change.
242287
- The corresponding project templates and `.specify/memory/constitution.md` MUST be updated in the same change whenever a shared principle changes.
243288
- Runtime guidance references in governance text MUST name all four maintained agent surfaces.
289+
- Projects MAY declare additional maintained agent surfaces, such as
290+
`.cursorrules`, `.windsurfrules`, `JUNIE.md`, `.github/agents/*`, or
291+
repository-specific prompt/rule files. Once declared, those surfaces become
292+
part of the same parity requirement.
293+
- Changes touching shared agent guidance SHOULD complete an
294+
`agent-parity-checklist-template.md` record or equivalent review note.
244295

245296
**Rationale**: Divergent agent instructions create silent process drift. Atomic parity keeps different AI tools aligned and makes future project bootstraps inherit the same governance baseline.
246297

@@ -505,6 +556,8 @@ MUST use this matrix to determine which standards apply.
505556
| NIST Zero Trust (SP 800-207) | Project-type-dependent | Distributed, service-based, cloud, remote-managed, or multi-device systems | Explicit applicability decision with controls or justified N/A |
506557
| OWASP Cheat Sheet Series / Proactive Controls | SHOULD | All developer-facing projects | Use as day-to-day implementation guidance below the constitution |
507558
| OpenSSF Scorecard | Project-type-dependent | Public OSS repositories or high-impact external dependencies | Review repository/dependency security posture before adoption or release |
559+
| EU Cyber Resilience Act (CRA) applicability | MUST | All projects; full controls for CRA-scoped products with digital elements | Record applicability or `N/A`; CRA-scoped projects maintain vulnerability handling, SBOM, and conformity evidence |
560+
| iSAQB/arc42 general architecture | SHOULD | Architecturally significant changes or long-lived Level-2 systems | Record architecture goals, context, views, decisions, quality scenarios, risks, or justified `N/A` |
508561

509562
Mandatory rules:
510563
- Every Level-2 feature specification, plan, task list, PR, and release note
@@ -524,6 +577,11 @@ Mandatory rules:
524577
- Level-1 workspaces SHOULD also prefer `docs/security/` for security-governance
525578
evidence. If a workspace uses another governance document or directory, the
526579
chosen location MUST be stated in its local security index.
580+
- General architecture evidence SHOULD live in `docs/architecture/`, with ADRs
581+
in `docs/architecture/adr/`, whenever a feature materially affects system
582+
structure, interfaces, deployment, quality attributes, or maintainability.
583+
- CRA applicability evidence SHOULD use `cra-applicability-template.md` or an
584+
equivalent note in `docs/security/` or release governance documentation.
527585

528586
**Rationale**: Secure-development standards are often partially remembered and
529587
selectively applied. A binding applicability matrix keeps teams, agents, and
@@ -722,6 +780,43 @@ software placed on the EU market. Recording CRA applicability and aligning
722780
practices proactively reduces legal and reputational risk and builds on the
723781
security work already required by Principles XII–XVIII.
724782

783+
### XX. General Software Architecture Governance (iSAQB/arc42)
784+
785+
Software architecture MUST be treated as an explicit design artefact whenever
786+
changes affect structure, interfaces, quality attributes, runtime behaviour,
787+
deployment, or long-term maintainability. Implementation work without visible
788+
architecture reasoning creates hidden coupling and unreviewed technical debt.
789+
790+
Mandatory rules:
791+
- Architecturally significant decisions MUST be documented as Architecture
792+
Decision Records (ADRs). Security-specific decisions remain S-ADRs under
793+
Principle XIII.
794+
- Architecture work SHOULD follow lightweight iSAQB/CPSA-F method discipline
795+
and arc42-compatible documentation where it supports review, maintenance,
796+
onboarding, or later change decisions.
797+
- Quality attributes MUST be expressed as concrete scenarios, not only as
798+
generic words such as `fast`, `maintainable`, or `scalable`.
799+
- System context, external interfaces, building blocks, runtime behaviour, and
800+
deployment constraints MUST be documented when they materially affect the
801+
design.
802+
- Architecture risks and technical debt MUST be recorded with owner, impact,
803+
mitigation, and review trigger.
804+
- General architecture evidence SHOULD live in `docs/architecture/`; ADRs
805+
SHOULD live in `docs/architecture/adr/`.
806+
- Evidence SHOULD use the installed templates:
807+
`architecture-vision-template.md`, `context-view-template.md`,
808+
`building-block-view-template.md`, `runtime-view-template.md`,
809+
`deployment-view-template.md`, `quality-scenarios-template.md`,
810+
`architecture-decision-template.md`, and
811+
`architecture-risks-template.md`.
812+
- `N/A` decisions MUST include a short rationale. Silent omission is not
813+
allowed for architecturally significant work.
814+
815+
**Rationale**: Secure architecture covers threat resistance, but long-lived
816+
software also needs clear general architecture reasoning. iSAQB/CPSA-F and
817+
arc42 provide a lightweight vocabulary for documenting structure, quality,
818+
risks, and decisions without turning every feature into a large design phase.
819+
725820
## Level-2 Project Environment Registry / Level-2-Projektumgebungsregister
726821

727822
This registry consolidates the constitution-relevant Level-2 project facts
@@ -812,7 +907,7 @@ allowed path.
812907
`.github/copilot-instructions.md` for per-agent operational guidance. This
813908
constitution is the authoritative policy layer above all agent-specific files.
814909

815-
**Version**: 1.12.0 | **Ratified**: 2026-03-31 | **Last Amended**: 2026-04-24
910+
**Version**: 1.13.0 | **Ratified**: 2026-03-31 | **Last Amended**: 2026-05-05
816911

817912
<!-- EN: constitution.md placeholder
818913
[DE-Zusammenfassung: constitution.md beschreibt die Prinzipien und Standards für alle home-baseline Workspaces.]
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Accessibility Checklist (WCAG 2.2 Level AA)
2+
3+
## Scope
4+
5+
- Feature:
6+
- Reviewer:
7+
- Date:
8+
- Affected artefacts (CLI, documentation, HTML, UI, generated templates):
9+
10+
## Perceivable
11+
12+
- Text alternatives provided for non-decorative images and diagrams
13+
(1.1.1):
14+
- Information and relationships conveyed by structure are programmatically
15+
determinable (1.3.1):
16+
- No information is conveyed by colour alone (1.4.1):
17+
- Contrast meets `4.5:1` for normal text and `3:1` for large text
18+
(1.4.3):
19+
- Text remains readable at 200 % zoom without loss of content (1.4.4):
20+
21+
## Operable
22+
23+
- All functionality is keyboard accessible (2.1.1):
24+
- No keyboard trap (2.1.2):
25+
- Focus order is logical (2.4.3):
26+
- Focus indicator is visible (2.4.7) and not obscured (2.4.11 — WCAG 2.2):
27+
- Page or section title is descriptive (2.4.2):
28+
- Heading order is logical and not skipped (2.4.6):
29+
- Targets have sufficient size where applicable (2.5.8 — WCAG 2.2):
30+
31+
## Understandable
32+
33+
- Language of page and parts is identified where the platform supports it
34+
(3.1.1 / 3.1.2):
35+
- Consistent navigation and identification (3.2.3 / 3.2.4):
36+
- Input errors are identified and described in text (3.3.1 / 3.3.3):
37+
- Help mechanisms remain consistent across the artefact (3.2.6 — WCAG
38+
2.2):
39+
40+
## Robust
41+
42+
- Markup is well-formed; code blocks have explicit language tags
43+
(4.1.1):
44+
- Names, roles, and states are programmatically available where the
45+
platform supports it (4.1.2):
46+
- Status messages are conveyed without forcing focus (4.1.3):
47+
48+
## Cross-References
49+
50+
- Bilingual content check entry:
51+
- CLI accessibility review entry (if terminal-facing):
52+
- Accessibility evidence record:
53+
54+
## Follow-Up
55+
56+
- Open findings:
57+
- Required fixes and owners:
58+
- Re-review trigger:
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Accessibility Evidence
2+
3+
## Scope
4+
5+
- Feature or document:
6+
- Reviewer:
7+
- Date:
8+
- Released version(s) covered:
9+
10+
## Artefacts Reviewed
11+
12+
- CLI:
13+
- Documentation:
14+
- HTML or UI:
15+
- Generated templates:
16+
- Error messages and logs:
17+
- Changelog and release notes:
18+
19+
## Evidence by Pillar
20+
21+
### WCAG 2.2 Level AA
22+
23+
- Perceivable checks applied (1.x):
24+
- Operable checks applied (2.x):
25+
- Understandable checks applied (3.x):
26+
- Robust checks applied (4.x):
27+
- Tooling used (axe, Lighthouse, manual screen-reader pass, …):
28+
29+
### Keyboard, Screen Reader, Braille
30+
31+
- Keyboard-only walkthrough completed:
32+
- Screen reader walkthrough (which: VoiceOver / NVDA / Orca):
33+
- Braille display checked:
34+
35+
### Text-Mode and CLI
36+
37+
- Plain ASCII output verified:
38+
- `NO_COLOR=1` / `TERM=dumb` verified:
39+
- ASCII box-drawing tables checked for equal row width:
40+
41+
### Bilingual Delivery
42+
43+
- DE first, EN second confirmed:
44+
- Bilingual `DE / EN` headings (or `*.EN.md` companion) verified:
45+
- German orthography verified (umlauts and `ß`, no ASCII fallbacks):
46+
- CEFR-B2 readability pass completed:
47+
48+
### Code Blocks and Diagrams
49+
50+
- All code blocks carry a language tag:
51+
- ASCII diagrams have DE-first / EN-second explanations:
52+
- Meaningful images have alt text:
53+
54+
## Cross-References
55+
56+
- Accessibility checklist entry:
57+
- Bilingual content check entry:
58+
- CLI accessibility review entry:
59+
60+
## Follow-Up
61+
62+
- Open issues:
63+
- Required fixes and owners:
64+
- Re-review trigger (date, release, scope change):
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Agent Parity Checklist
2+
3+
## Scope
4+
5+
- Change description:
6+
- Reviewer:
7+
- Date:
8+
- Pull request / commit reference:
9+
10+
## Maintained Agent Surfaces
11+
12+
List every maintained surface for this project. For each surface,
13+
confirm whether the shared rule landed.
14+
15+
| Surface | Updated? | Location of the change | Notes |
16+
|---------|----------|------------------------|-------|
17+
| Primary agent guidance (name/path): | | | |
18+
| Additional agent guidance (name/path): | | | |
19+
| Additional agent guidance (name/path): | | | |
20+
| Additional agent guidance (name/path): | | | |
21+
| Project-specific guidance (name/path): | | | |
22+
| Project-specific guidance (name/path): | | | |
23+
24+
## Companion Locations
25+
26+
| Location | Updated? | Notes |
27+
|----------|----------|-------|
28+
| `.specify/memory/constitution.md` (or local equivalent) | | |
29+
| `.specify/templates/spec-template.md` | | |
30+
| `.specify/templates/plan-template.md` | | |
31+
| `.specify/templates/tasks-template.md` | | |
32+
| Agent guidance addendum template (if maintained) | | |
33+
| Other template (name): | | |
34+
35+
## Intentional Deviations
36+
37+
| Surface | What deviates | Why | Expected lifetime |
38+
|---------|---------------|-----|-------------------|
39+
| | | | |
40+
41+
## Verification
42+
43+
- Diffs across all surfaces compared side-by-side:
44+
- Bilingual delivery preserved (DE first, EN second) where applicable:
45+
- Wording consistent (no contradictory directives):
46+
- Cross-references valid (paths, anchor links, file names):
47+
48+
## Follow-Up
49+
50+
- Open gaps:
51+
- Required follow-up commits:
52+
- Re-verification trigger:

0 commit comments

Comments
 (0)