Skip to content

feat: add software-architecture-design command (Path B) with IEEE 101…#12

Open
grissiom wants to merge 4 commits into
leocamello:mainfrom
grissiom:007-software-architecture-design
Open

feat: add software-architecture-design command (Path B) with IEEE 101…#12
grissiom wants to merge 4 commits into
leocamello:mainfrom
grissiom:007-software-architecture-design

Conversation

@grissiom
Copy link
Copy Markdown

@grissiom grissiom commented May 4, 2026

…6/42010 fusion

Introduce the combined /speckit.v-model.software-architecture-design command that reads requirements.md directly and produces a single architecture artifact, replacing the two-step Path A chain (system-design + architecture-design).

Key deliverables:

  • New command: commands/software-architecture-design.md
  • New template: templates/software-architecture-design-template.md
  • Domain overlays for all three regulated domains:
    • iso_26262: Full ASPICE SWE.2 BP1–BP9 process guidance + compliance checklist
    • do_178c: Stub with DAL allocation + temporal constraints
    • iec_62304: Stub with safety class allocation + defensive coding
  • Setup scripts already support --require-software-architecture-design
  • V-model example artifacts in specs/007-software-architecture-design/v-model/ (requirements, architecture design, acceptance plan, integration test, module design, unit test, traceability matrix)

Design decisions (from spec clarifications):

  • SWE.2 is domain-gated: generated only when domain: iso_26262
  • Path B ARCH elements trace strictly to REQ-NNN (never SYS-NNN)
  • Path A coexistence: warn but proceed; both artifacts coexist
  • IEEE 1016:2009 design entity model synthesized within IEEE 42010 views

IEEE 1016/42010 fusion:

  • Logical View ← IEEE 1016 Decomposition View (§5.1) + Dependency View (§5.2)
  • Interface View ← IEEE 1016 Interface Identification (§5.3) + IEEE 42010
  • Data Flow View ← IEEE 1016 Data Design (§5.4) + IEEE 42010
  • Process View ← IEEE 42010 / Kruchten 4+1 only (synthesis differentiator)

Documentation updates:

  • docs/: v-model-overview, usage-examples, standards-reference, compliance-guide, domain-decoupling-design, id-schema-guide, v-model-config
  • site/: commands reference (15 commands, Path A/B), templates reference, scripts reference, roadmap, domain-overlays guide, automotive-adas tutorial, medical-device tutorial
  • All 14→15 command count references updated

Coverage: 16/16 ARCH→ITP (18 ITPs, 40 ITSs), 28/28 REQ→ATP, 13/13 MOD→UTP

Description

Brief description of what this PR does.

Related Issue: Fixes #

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Changes Made

Checklist

General

  • My changes follow the project's contributing guidelines
  • I have performed a self-review of my changes
  • I have updated documentation (if applicable)
  • I have updated the CHANGELOG.md (if applicable)

Commands (commands/*.md)

  • JSON key references match actual script output (e.g., VMODEL_DIR, not v_model_dir)
  • Deterministic tasks are delegated to scripts, not AI self-assessment
  • Examples in the prompt use the correct ID schema

Scripts (scripts/)

  • Bash and PowerShell versions produce identical output
  • Category-prefixed IDs are handled correctly (REQ-NF-001, REQ-IF-001, etc.)
  • JSON output mode (--json) matches documented key names
  • Tested with mixed-category test data

Testing

  • Extension installs with specify extension add --dev
  • All 4 Bash scripts run without errors
  • validate-requirement-coverage.sh correctly detects gaps for category-prefixed IDs
  • build-matrix.sh generates a valid traceability matrix

…6/42010 fusion

Introduce the combined `/speckit.v-model.software-architecture-design` command
that reads `requirements.md` directly and produces a single architecture artifact,
replacing the two-step Path A chain (system-design + architecture-design).

Key deliverables:
- New command: `commands/software-architecture-design.md`
- New template: `templates/software-architecture-design-template.md`
- Domain overlays for all three regulated domains:
  - `iso_26262`: Full ASPICE SWE.2 BP1–BP9 process guidance + compliance checklist
  - `do_178c`: Stub with DAL allocation + temporal constraints
  - `iec_62304`: Stub with safety class allocation + defensive coding
- Setup scripts already support `--require-software-architecture-design`
- V-model example artifacts in `specs/007-software-architecture-design/v-model/`
  (requirements, architecture design, acceptance plan, integration test,
   module design, unit test, traceability matrix)

Design decisions (from spec clarifications):
- SWE.2 is domain-gated: generated only when `domain: iso_26262`
- Path B ARCH elements trace strictly to REQ-NNN (never SYS-NNN)
- Path A coexistence: warn but proceed; both artifacts coexist
- IEEE 1016:2009 design entity model synthesized within IEEE 42010 views

IEEE 1016/42010 fusion:
- Logical View ← IEEE 1016 Decomposition View (§5.1) + Dependency View (§5.2)
- Interface View ← IEEE 1016 Interface Identification (§5.3) + IEEE 42010
- Data Flow View ← IEEE 1016 Data Design (§5.4) + IEEE 42010
- Process View ← IEEE 42010 / Kruchten 4+1 only (synthesis differentiator)

Documentation updates:
- docs/: v-model-overview, usage-examples, standards-reference, compliance-guide,
  domain-decoupling-design, id-schema-guide, v-model-config
- site/: commands reference (15 commands, Path A/B), templates reference,
  scripts reference, roadmap, domain-overlays guide,
  automotive-adas tutorial, medical-device tutorial
- All 14→15 command count references updated

Coverage: 16/16 ARCH→ITP (18 ITPs, 40 ITSs), 28/28 REQ→ATP, 13/13 MOD→UTP
@grissiom grissiom force-pushed the 007-software-architecture-design branch from 37521a3 to a26085b Compare May 4, 2026 09:40
@grissiom grissiom force-pushed the 007-software-architecture-design branch from 5a1cc6e to afc3775 Compare May 7, 2026 15:18
- Add tests/fixtures/path-b-combined/ fixture set (software-architecture-design
  without system-design.md / architecture-design.md)
- Register software-architecture-design in eval harness (harness.py)
- Create tests/validators/software_architecture_validators.py (ARCH→REQ checks)
- Add StructuralSoftwareArchitectureDesignMetric to structural.py
- Create software_architecture_design_quality.py (IEEE 42010 quality metrics)
- Create test_software_architecture_design_eval.py (6 structural + 5 quality)
- Create test_e2e_software_architecture_design.py (4 E2E tests)
- Add golden expected-software-architecture-design.md for medical + automotive
- Add 6 Path B scenarios to build-matrix.bats and Pester mirror
- Add *_software_architecture_design fixtures to conftest.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant