@trohde/earos 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -0
- package/assets/init/.agents/skills/earos-artifact-gen/SKILL.md +106 -0
- package/assets/init/.agents/skills/earos-artifact-gen/references/interview-guide.md +313 -0
- package/assets/init/.agents/skills/earos-artifact-gen/references/output-guide.md +367 -0
- package/assets/init/.agents/skills/earos-assess/SKILL.md +212 -0
- package/assets/init/.agents/skills/earos-assess/references/calibration-benchmarks.md +160 -0
- package/assets/init/.agents/skills/earos-assess/references/output-templates.md +311 -0
- package/assets/init/.agents/skills/earos-assess/references/scoring-protocol.md +281 -0
- package/assets/init/.agents/skills/earos-calibrate/SKILL.md +153 -0
- package/assets/init/.agents/skills/earos-calibrate/references/agreement-metrics.md +188 -0
- package/assets/init/.agents/skills/earos-calibrate/references/calibration-protocol.md +263 -0
- package/assets/init/.agents/skills/earos-create/SKILL.md +257 -0
- package/assets/init/.agents/skills/earos-create/references/criterion-writing-guide.md +268 -0
- package/assets/init/.agents/skills/earos-create/references/dependency-rules.md +193 -0
- package/assets/init/.agents/skills/earos-create/references/rubric-interview-guide.md +123 -0
- package/assets/init/.agents/skills/earos-create/references/validation-checklist.md +238 -0
- package/assets/init/.agents/skills/earos-profile-author/SKILL.md +251 -0
- package/assets/init/.agents/skills/earos-profile-author/references/criterion-writing-guide.md +280 -0
- package/assets/init/.agents/skills/earos-profile-author/references/design-methods.md +158 -0
- package/assets/init/.agents/skills/earos-profile-author/references/profile-checklist.md +173 -0
- package/assets/init/.agents/skills/earos-remediate/SKILL.md +118 -0
- package/assets/init/.agents/skills/earos-remediate/references/output-template.md +199 -0
- package/assets/init/.agents/skills/earos-remediate/references/remediation-patterns.md +330 -0
- package/assets/init/.agents/skills/earos-report/SKILL.md +85 -0
- package/assets/init/.agents/skills/earos-report/references/portfolio-template.md +181 -0
- package/assets/init/.agents/skills/earos-report/references/single-artifact-template.md +168 -0
- package/assets/init/.agents/skills/earos-review/SKILL.md +130 -0
- package/assets/init/.agents/skills/earos-review/references/challenge-patterns.md +163 -0
- package/assets/init/.agents/skills/earos-review/references/output-template.md +180 -0
- package/assets/init/.agents/skills/earos-template-fill/SKILL.md +177 -0
- package/assets/init/.agents/skills/earos-template-fill/references/evidence-writing-guide.md +186 -0
- package/assets/init/.agents/skills/earos-template-fill/references/section-rubric-mapping.md +200 -0
- package/assets/init/.agents/skills/earos-validate/SKILL.md +113 -0
- package/assets/init/.agents/skills/earos-validate/references/fix-patterns.md +281 -0
- package/assets/init/.agents/skills/earos-validate/references/validation-checks.md +287 -0
- package/assets/init/.claude/CLAUDE.md +4 -0
- package/assets/init/AGENTS.md +293 -0
- package/assets/init/CLAUDE.md +635 -0
- package/assets/init/README.md +507 -0
- package/assets/init/calibration/gold-set/.gitkeep +0 -0
- package/assets/init/calibration/results/.gitkeep +0 -0
- package/assets/init/core/core-meta-rubric.yaml +643 -0
- package/assets/init/docs/consistency-report.md +325 -0
- package/assets/init/docs/getting-started.md +194 -0
- package/assets/init/docs/profile-authoring-guide.md +51 -0
- package/assets/init/docs/terminology.md +126 -0
- package/assets/init/earos.manifest.yaml +104 -0
- package/assets/init/evaluations/.gitkeep +0 -0
- package/assets/init/examples/aws-event-driven-order-processing/artifact.yaml +2056 -0
- package/assets/init/examples/aws-event-driven-order-processing/evaluation.yaml +973 -0
- package/assets/init/examples/aws-event-driven-order-processing/report.md +244 -0
- package/assets/init/examples/example-solution-architecture.evaluation.yaml +136 -0
- package/assets/init/examples/multi-cloud-data-analytics/artifact.yaml +715 -0
- package/assets/init/overlays/data-governance.yaml +94 -0
- package/assets/init/overlays/regulatory.yaml +154 -0
- package/assets/init/overlays/security.yaml +92 -0
- package/assets/init/profiles/adr.yaml +225 -0
- package/assets/init/profiles/capability-map.yaml +223 -0
- package/assets/init/profiles/reference-architecture.yaml +426 -0
- package/assets/init/profiles/roadmap.yaml +205 -0
- package/assets/init/profiles/solution-architecture.yaml +227 -0
- package/assets/init/research/architecture-assessment-rubrics-research.docx +0 -0
- package/assets/init/research/architecture-assessment-rubrics-research.md +566 -0
- package/assets/init/research/reference-architecture-research.md +751 -0
- package/assets/init/standard/EAROS.md +1426 -0
- package/assets/init/standard/schemas/artifact.schema.json +1295 -0
- package/assets/init/standard/schemas/artifact.uischema.json +65 -0
- package/assets/init/standard/schemas/evaluation.schema.json +284 -0
- package/assets/init/standard/schemas/rubric.schema.json +383 -0
- package/assets/init/templates/evaluation-record.template.yaml +58 -0
- package/assets/init/templates/new-profile.template.yaml +65 -0
- package/bin.js +188 -0
- package/dist/assets/_basePickBy-BVu6YmSW.js +1 -0
- package/dist/assets/_baseUniq-CWRzQDz_.js +1 -0
- package/dist/assets/arc-CyDBhtDM.js +1 -0
- package/dist/assets/architectureDiagram-2XIMDMQ5-BH6O4dvN.js +36 -0
- package/dist/assets/blockDiagram-WCTKOSBZ-2xmwdjpg.js +132 -0
- package/dist/assets/c4Diagram-IC4MRINW-BNmPRFJF.js +10 -0
- package/dist/assets/channel-CiySTNoJ.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-DGQTvirp.js +1 -0
- package/dist/assets/chunk-55IACEB6-DNMAQAC_.js +1 -0
- package/dist/assets/chunk-FMBD7UC4-BJbVTQ5o.js +15 -0
- package/dist/assets/chunk-JSJVCQXG-BCxUL74A.js +1 -0
- package/dist/assets/chunk-KX2RTZJC-H7wWZOfz.js +1 -0
- package/dist/assets/chunk-NQ4KR5QH-BK4RlTQF.js +220 -0
- package/dist/assets/chunk-QZHKN3VN-0chxDV5g.js +1 -0
- package/dist/assets/chunk-WL4C6EOR-DexfQ-AV.js +189 -0
- package/dist/assets/classDiagram-VBA2DB6C-D7luWJQn.js +1 -0
- package/dist/assets/classDiagram-v2-RAHNMMFH-D7luWJQn.js +1 -0
- package/dist/assets/clone-ylgRbd3D.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-DS2IOCfZ.js +1 -0
- package/dist/assets/cytoscape.esm-CyJtwmzi.js +331 -0
- package/dist/assets/dagre-KLK3FWXG-BbSoTTa3.js +4 -0
- package/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/assets/diagram-E7M64L7V-C9TvYgv0.js +24 -0
- package/dist/assets/diagram-IFDJBPK2-DowUMWrg.js +43 -0
- package/dist/assets/diagram-P4PSJMXO-BL6nrnQF.js +24 -0
- package/dist/assets/erDiagram-INFDFZHY-rXPRl8VM.js +70 -0
- package/dist/assets/flowDiagram-PKNHOUZH-DBRM99-W.js +162 -0
- package/dist/assets/ganttDiagram-A5KZAMGK-INcWFsBT.js +292 -0
- package/dist/assets/gitGraphDiagram-K3NZZRJ6-DMwpfE91.js +65 -0
- package/dist/assets/graph-DLQn37b-.js +1 -0
- package/dist/assets/index-BFFITMT8.js +650 -0
- package/dist/assets/index-H7f6VTz1.css +1 -0
- package/dist/assets/infoDiagram-LFFYTUFH-B0f4TWRM.js +2 -0
- package/dist/assets/init-Gi6I4Gst.js +1 -0
- package/dist/assets/ishikawaDiagram-PHBUUO56-CsU6XimZ.js +70 -0
- package/dist/assets/journeyDiagram-4ABVD52K-CQ7ibNib.js +139 -0
- package/dist/assets/kanban-definition-K7BYSVSG-DzEN7THt.js +89 -0
- package/dist/assets/katex-B1X10hvy.js +261 -0
- package/dist/assets/layout-C0dvb42R.js +1 -0
- package/dist/assets/linear-j4a8mGj7.js +1 -0
- package/dist/assets/mindmap-definition-YRQLILUH-DP8iEuCf.js +68 -0
- package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/assets/pieDiagram-SKSYHLDU-BpIAXgAm.js +30 -0
- package/dist/assets/quadrantDiagram-337W2JSQ-DrpXn5Eg.js +7 -0
- package/dist/assets/requirementDiagram-Z7DCOOCP-Bg7EwHlG.js +73 -0
- package/dist/assets/sankeyDiagram-WA2Y5GQK-BWagRs1F.js +10 -0
- package/dist/assets/sequenceDiagram-2WXFIKYE-q5jwhivG.js +145 -0
- package/dist/assets/stateDiagram-RAJIS63D-B_J9pE-2.js +1 -0
- package/dist/assets/stateDiagram-v2-FVOUBMTO-Q_1GcybB.js +1 -0
- package/dist/assets/timeline-definition-YZTLITO2-dv0jgQ0z.js +61 -0
- package/dist/assets/treemap-KZPCXAKY-Dt1dkIE7.js +162 -0
- package/dist/assets/vennDiagram-LZ73GAT5-BdO5RgRZ.js +34 -0
- package/dist/assets/xychartDiagram-JWTSCODW-CpDVe-8v.js +7 -0
- package/dist/index.html +23 -0
- package/export-docx.js +1583 -0
- package/init.js +353 -0
- package/manifest-cli.mjs +207 -0
- package/package.json +83 -0
- package/schemas/artifact.schema.json +1295 -0
- package/schemas/artifact.uischema.json +65 -0
- package/schemas/evaluation.schema.json +284 -0
- package/schemas/rubric.schema.json +383 -0
- package/serve.js +238 -0
|
@@ -0,0 +1,973 @@
|
|
|
1
|
+
kind: evaluation
|
|
2
|
+
artifact_id: RA-AWS-ORDER-001
|
|
3
|
+
artifact_type: reference_architecture
|
|
4
|
+
artifact_version: "1.0.0"
|
|
5
|
+
rubric_id: EAROS-CORE-002
|
|
6
|
+
rubric_version: "2.0.0"
|
|
7
|
+
profiles_applied:
|
|
8
|
+
- EAROS-REFARCH-001
|
|
9
|
+
overlays_applied: []
|
|
10
|
+
|
|
11
|
+
evaluated_by:
|
|
12
|
+
- role: evaluator
|
|
13
|
+
actor: agent
|
|
14
|
+
identity: EAROS evaluator agent
|
|
15
|
+
model_version: claude-sonnet-4-6
|
|
16
|
+
- role: challenger
|
|
17
|
+
actor: agent
|
|
18
|
+
identity: EAROS challenger agent
|
|
19
|
+
model_version: claude-sonnet-4-6
|
|
20
|
+
|
|
21
|
+
evaluation_mode: agent
|
|
22
|
+
evaluation_date: "2026-03-20"
|
|
23
|
+
|
|
24
|
+
dag_execution:
|
|
25
|
+
steps_completed:
|
|
26
|
+
- structural_validation
|
|
27
|
+
- content_extraction
|
|
28
|
+
- criterion_scoring
|
|
29
|
+
- cross_reference_validation
|
|
30
|
+
- dimension_aggregation
|
|
31
|
+
- challenge_pass
|
|
32
|
+
- calibration
|
|
33
|
+
- status_determination
|
|
34
|
+
rubric_lock_version: EAROS-CORE-002 v2.0.0 + EAROS-REFARCH-001 v2.0.0
|
|
35
|
+
calibration_applied: true
|
|
36
|
+
|
|
37
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
38
|
+
# CRITERION RESULTS
|
|
39
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
40
|
+
# 19 criteria total: 10 core (EAROS-CORE-002) + 9 profile (EAROS-REFARCH-001)
|
|
41
|
+
# All scored 3–4. No gate failures.
|
|
42
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
43
|
+
|
|
44
|
+
criterion_results:
|
|
45
|
+
|
|
46
|
+
# ── CORE CRITERIA ──────────────────────────────────────────────────────────
|
|
47
|
+
|
|
48
|
+
- criterion_id: STK-01
|
|
49
|
+
score: 4
|
|
50
|
+
confidence: high
|
|
51
|
+
evidence_sufficiency: sufficient
|
|
52
|
+
evidence_class: observed
|
|
53
|
+
evidence_refs:
|
|
54
|
+
- section: metadata.purpose
|
|
55
|
+
quotation: >
|
|
56
|
+
"This reference architecture defines the target pattern for all event-driven
|
|
57
|
+
microservices implementing order processing on AWS. It supports Architecture
|
|
58
|
+
Board approval as the mandatory golden path for new e-commerce order services
|
|
59
|
+
and serves as the calibration benchmark for EAROS reference architecture
|
|
60
|
+
assessments."
|
|
61
|
+
- section: metadata.stakeholders
|
|
62
|
+
quotation: >
|
|
63
|
+
Seven named stakeholders with role, name, and concerns fields: CTO,
|
|
64
|
+
Platform Architect, Domain Architect, Development Team Lead, Site
|
|
65
|
+
Reliability Engineer, Security Architect, Compliance Officer.
|
|
66
|
+
- section: metadata.decision_context
|
|
67
|
+
quotation: >
|
|
68
|
+
"Architecture Board review Q1 2026. The e-commerce platform is migrating
|
|
69
|
+
from a monolithic order management system to event-driven microservices."
|
|
70
|
+
- section: sections.reading_guide.section_map
|
|
71
|
+
quotation: >
|
|
72
|
+
15 section map entries explicitly mapping each section to audience role
|
|
73
|
+
and concern addressed, e.g. "Business Context → CTO, Executive Sponsor →
|
|
74
|
+
Strategic alignment, business drivers, and use-case coverage."
|
|
75
|
+
rationale: >
|
|
76
|
+
Purpose is explicit and decision-specific (Architecture Board approval, golden
|
|
77
|
+
path mandate). Seven named stakeholder roles with individual concern statements.
|
|
78
|
+
Decision context names the governance forum and the programme context.
|
|
79
|
+
Reading guide provides a complete section-to-concern mapping used consistently
|
|
80
|
+
throughout the document. Satisfies all four sub-requirements for score 4:
|
|
81
|
+
explicit, complete, used consistently, with concern-to-view mapping.
|
|
82
|
+
evidence_gaps: []
|
|
83
|
+
recommended_actions: []
|
|
84
|
+
|
|
85
|
+
- criterion_id: STK-02
|
|
86
|
+
score: 4
|
|
87
|
+
confidence: high
|
|
88
|
+
evidence_sufficiency: sufficient
|
|
89
|
+
evidence_class: observed
|
|
90
|
+
evidence_refs:
|
|
91
|
+
- section: sections.reading_guide
|
|
92
|
+
quotation: >
|
|
93
|
+
"This document is structured so each audience can navigate directly to their
|
|
94
|
+
primary concerns. The section map below identifies the most relevant sections
|
|
95
|
+
for each stakeholder role."
|
|
96
|
+
- section: sections.reading_guide.section_map
|
|
97
|
+
quotation: >
|
|
98
|
+
15 entries. Example: "Architecture Views — Security → Security Architect,
|
|
99
|
+
Compliance Officer → Trust boundaries, authentication, authorisation, and
|
|
100
|
+
encryption." All sections mapped. Reading guide explicitly present.
|
|
101
|
+
rationale: >
|
|
102
|
+
Every section is explicitly mapped to an audience and concern in the reading
|
|
103
|
+
guide section_map. 15 entries cover all substantive sections. The how_to_use
|
|
104
|
+
narrative explains the navigation intent. Score 4 requires every view mapped
|
|
105
|
+
to a concern AND a reading guide present — both conditions met.
|
|
106
|
+
evidence_gaps: []
|
|
107
|
+
recommended_actions: []
|
|
108
|
+
|
|
109
|
+
- criterion_id: SCP-01
|
|
110
|
+
score: 4
|
|
111
|
+
confidence: high
|
|
112
|
+
evidence_sufficiency: sufficient
|
|
113
|
+
evidence_class: observed
|
|
114
|
+
evidence_refs:
|
|
115
|
+
- section: sections.scope.statement
|
|
116
|
+
quotation: >
|
|
117
|
+
"This reference architecture covers the event-driven order processing
|
|
118
|
+
platform on AWS: the full lifecycle from order submission through payment
|
|
119
|
+
authorisation, fulfilment dispatch, and customer notification."
|
|
120
|
+
- section: sections.scope.in_scope
|
|
121
|
+
quotation: 12 explicit in-scope items listed, e.g. "Order Service — create, validate, and persist orders"
|
|
122
|
+
- section: sections.scope.out_of_scope
|
|
123
|
+
quotation: >
|
|
124
|
+
8 explicit out-of-scope items with rationale, e.g. "Customer mobile and
|
|
125
|
+
web frontend — covered by separate UI reference architecture."
|
|
126
|
+
- section: sections.scope.assumptions
|
|
127
|
+
quotation: >
|
|
128
|
+
5 assumptions with consequence_if_violated fields, e.g. "AWS is the
|
|
129
|
+
mandated cloud provider for all new e-commerce workloads. Consequence:
|
|
130
|
+
The entire IaC stack... would need to be replaced."
|
|
131
|
+
- section: sections.scope.boundary_definition
|
|
132
|
+
quotation: >
|
|
133
|
+
"The system boundary is defined at the API Gateway ingress (customer-facing)
|
|
134
|
+
and at the integration adapters for external systems... All components inside
|
|
135
|
+
the boundary are owned and operated by the Order Platform Engineering team."
|
|
136
|
+
rationale: >
|
|
137
|
+
Scope is explicit, complete, and internally consistent. 12 in-scope items and
|
|
138
|
+
8 out-of-scope items with rationale. Boundary definition references the C4 context
|
|
139
|
+
view as authoritative. 5 assumptions with violation consequences meet the
|
|
140
|
+
decision_tree condition: "scope and boundaries clear, tested, and internally
|
|
141
|
+
consistent" → score 4. No boundary inconsistencies found across views.
|
|
142
|
+
evidence_gaps: []
|
|
143
|
+
recommended_actions: []
|
|
144
|
+
|
|
145
|
+
- criterion_id: CVP-01
|
|
146
|
+
score: 4
|
|
147
|
+
confidence: high
|
|
148
|
+
evidence_sufficiency: sufficient
|
|
149
|
+
evidence_class: observed
|
|
150
|
+
evidence_refs:
|
|
151
|
+
- section: sections.architecture_views
|
|
152
|
+
quotation: >
|
|
153
|
+
Five views present: context (system boundary for CTO/Domain Architect),
|
|
154
|
+
functional (service decomposition for Domain Architect/Dev Lead),
|
|
155
|
+
deployment (topology for SRE/Security), data_flow (runtime flow for
|
|
156
|
+
Dev Lead/Data Governance), security (trust zones for Security/Compliance).
|
|
157
|
+
- section: sections.reading_guide.section_map
|
|
158
|
+
quotation: >
|
|
159
|
+
Each view explicitly justified by audience and concern: "Architecture
|
|
160
|
+
Views — Deployment → Platform SRE, Security Architect → Infrastructure
|
|
161
|
+
topology, multi-AZ resilience, and network design."
|
|
162
|
+
rationale: >
|
|
163
|
+
Five views selected, each explicitly justified for a named audience concern.
|
|
164
|
+
Abstraction levels are appropriate: context view at business/system level for
|
|
165
|
+
CTO; functional view at container level for engineering; deployment view at
|
|
166
|
+
infrastructure level for SRE; security view with trust zones for security.
|
|
167
|
+
Views cross-reference each other (element catalog names match across all views;
|
|
168
|
+
data flow references functional view component names). Score 4: view selection
|
|
169
|
+
explicitly justified AND views cross-reference each other.
|
|
170
|
+
evidence_gaps: []
|
|
171
|
+
recommended_actions: []
|
|
172
|
+
|
|
173
|
+
- criterion_id: TRC-01
|
|
174
|
+
score: 4
|
|
175
|
+
confidence: high
|
|
176
|
+
evidence_sufficiency: sufficient
|
|
177
|
+
evidence_class: observed
|
|
178
|
+
evidence_refs:
|
|
179
|
+
- section: sections.drivers_and_principles.drivers
|
|
180
|
+
quotation: >
|
|
181
|
+
5 drivers with architecture_response fields. DR-01 (10× scale) →
|
|
182
|
+
"Serverless compute (Lambda) and fully managed data services... ADR-003
|
|
183
|
+
documents the Lambda-vs-ECS trade-off." DR-04 (independent deployability)
|
|
184
|
+
→ "Event-driven choreography via EventBridge (ADR-001) decouples services."
|
|
185
|
+
- section: sections.decisions[*].driver_refs
|
|
186
|
+
quotation: >
|
|
187
|
+
All 5 ADRs include driver_refs arrays: ADR-001 → [DR-01, DR-04, DR-05];
|
|
188
|
+
ADR-002 → [DR-01, DR-03]; ADR-003 → [DR-01, DR-03]; ADR-004 → [DR-04, DR-05];
|
|
189
|
+
ADR-005 → [DR-03].
|
|
190
|
+
- section: sections.drivers_and_principles.principles
|
|
191
|
+
quotation: >
|
|
192
|
+
5 principles with how_applied fields referencing specific sections and
|
|
193
|
+
decisions, e.g. "PRIN-01 (event-driven by default) → All inter-service
|
|
194
|
+
communication uses EventBridge... See ADR-001."
|
|
195
|
+
rationale: >
|
|
196
|
+
All 5 drivers have explicit architecture_response fields linking to named
|
|
197
|
+
design elements and ADR IDs. All 5 ADRs carry driver_refs arrays cross-referencing
|
|
198
|
+
back to motivating drivers. 5 principles have how_applied fields referencing
|
|
199
|
+
specific sections and decisions. Traceability is bidirectional (driver → decision
|
|
200
|
+
and decision → driver). Score 4: all decision-relevant drivers traceable,
|
|
201
|
+
traceability consistent throughout.
|
|
202
|
+
evidence_gaps: []
|
|
203
|
+
recommended_actions: []
|
|
204
|
+
|
|
205
|
+
- criterion_id: CON-01
|
|
206
|
+
score: 4
|
|
207
|
+
confidence: high
|
|
208
|
+
evidence_sufficiency: sufficient
|
|
209
|
+
evidence_class: observed
|
|
210
|
+
evidence_refs:
|
|
211
|
+
- section: sections.architecture_views.element_catalog
|
|
212
|
+
quotation: >
|
|
213
|
+
10 catalog entries with canonical names. Names verified consistent
|
|
214
|
+
across context, functional, deployment, security views, and data flow
|
|
215
|
+
narrative. E.g. "Order Service Lambda" appears identically in functional
|
|
216
|
+
diagram, data flow steps 2–6, security view, and element catalog.
|
|
217
|
+
- section: glossary
|
|
218
|
+
quotation: >
|
|
219
|
+
24 glossary terms defining all key technical terms used throughout.
|
|
220
|
+
Terms aligned with element catalog names.
|
|
221
|
+
- section: sections.architecture_views.functional.diagram_source
|
|
222
|
+
quotation: >
|
|
223
|
+
Mermaid diagram uses node names ("OrderSvc", "PaySvc", "FulfilSvc")
|
|
224
|
+
that map to element catalog "Order Service Lambda", "Payment Service Lambda"
|
|
225
|
+
"Fulfilment Service Lambda" — abbreviations noted in diagram source comments.
|
|
226
|
+
rationale: >
|
|
227
|
+
All component names are consistent across sections and views. Element catalog
|
|
228
|
+
serves as single source of truth for component names. Glossary normalises
|
|
229
|
+
all key terms. One minor note: the Mermaid diagrams use abbreviated node IDs
|
|
230
|
+
(e.g. "OrderSvc" for "Order Service Lambda") for diagram readability — this
|
|
231
|
+
is standard diagram-as-code practice and not an inconsistency; the description
|
|
232
|
+
fields in diagram_source use full names. Score 4: glossary present, entities
|
|
233
|
+
reconciled, cross-references verified.
|
|
234
|
+
evidence_gaps: []
|
|
235
|
+
recommended_actions:
|
|
236
|
+
- Consider adding a note in diagram_source headers clarifying the abbreviated
|
|
237
|
+
node ID to full component name mapping.
|
|
238
|
+
|
|
239
|
+
- criterion_id: RAT-01
|
|
240
|
+
score: 4
|
|
241
|
+
confidence: high
|
|
242
|
+
evidence_sufficiency: sufficient
|
|
243
|
+
evidence_class: observed
|
|
244
|
+
evidence_refs:
|
|
245
|
+
- section: sections.raid.risks
|
|
246
|
+
quotation: >
|
|
247
|
+
6 risks with id, description, likelihood, impact, mitigation, owner,
|
|
248
|
+
and residual_risk fields. E.g. RISK-03: "Stripe payment gateway outage...
|
|
249
|
+
likelihood: low, impact: high. Mitigation: Retry logic with exponential
|
|
250
|
+
backoff (3 attempts)... Owner: Order Platform Engineering."
|
|
251
|
+
- section: sections.raid.tradeoffs
|
|
252
|
+
quotation: >
|
|
253
|
+
5 trade-offs with decision_ref, what_was_sacrificed, what_was_gained.
|
|
254
|
+
E.g. ADR-001: "what_was_sacrificed: Immediate consistency and simple
|
|
255
|
+
linear call tracing. what_was_gained: Service decoupling, independent
|
|
256
|
+
deployability (DR-04), elastic scale (DR-01), immutable audit trail (DR-05)."
|
|
257
|
+
- section: sections.raid.constraints
|
|
258
|
+
quotation: >
|
|
259
|
+
5 constraints with type and implication fields: regulatory (PCI-DSS),
|
|
260
|
+
organisational (AWS-only), technical (Lambda limits), organisational
|
|
261
|
+
(team size), financial (budget).
|
|
262
|
+
- section: sections.raid.assumptions
|
|
263
|
+
quotation: >
|
|
264
|
+
3 design assumptions with consequence_if_violated. Additional 5 scope
|
|
265
|
+
assumptions in sections.scope.assumptions.
|
|
266
|
+
rationale: >
|
|
267
|
+
RAID log is comprehensive. 6 risks with mitigations, owners, and residual risk.
|
|
268
|
+
5 trade-offs explicitly stating what was sacrificed and gained (not merely that
|
|
269
|
+
a trade-off exists). 5 constraints covering regulatory, organisational, technical,
|
|
270
|
+
and financial. 8 assumptions total with violation consequences. Score 4:
|
|
271
|
+
all material risks mitigated or accepted with rationale; trade-offs explicitly
|
|
272
|
+
balanced with evidence.
|
|
273
|
+
evidence_gaps: []
|
|
274
|
+
recommended_actions: []
|
|
275
|
+
|
|
276
|
+
- criterion_id: CMP-01
|
|
277
|
+
score: 4
|
|
278
|
+
confidence: high
|
|
279
|
+
evidence_sufficiency: sufficient
|
|
280
|
+
evidence_class: observed
|
|
281
|
+
evidence_refs:
|
|
282
|
+
- section: sections.governance.applicable_standards
|
|
283
|
+
quotation: >
|
|
284
|
+
5 applicable standards: PCI-DSS Level 1, ISO-27001:2022, GDPR,
|
|
285
|
+
ESS-01 (encryption in transit), ESS-03 (encryption at rest).
|
|
286
|
+
Each has an id, name, and relevance field explaining why it applies.
|
|
287
|
+
- section: sections.governance.compliance_mapping
|
|
288
|
+
quotation: >
|
|
289
|
+
14 compliance mapping entries. Each maps a specific control to a design
|
|
290
|
+
element with evidence location and owner. E.g. "PCI-DSS Requirement 7:
|
|
291
|
+
Restrict access → Each Lambda function has a least-privilege IAM role...
|
|
292
|
+
Owner: Information Security."
|
|
293
|
+
- section: sections.governance.exceptions
|
|
294
|
+
quotation: "exceptions: [] — no exceptions; full compliance achieved."
|
|
295
|
+
rationale: >
|
|
296
|
+
14 compliance mappings cover all material PCI-DSS requirement areas (1,2,3,4,6,7,8,10,12),
|
|
297
|
+
both GDPR articles, and both ESS standards. Each mapping names a specific control,
|
|
298
|
+
the specific design element, evidence location, and owner. No exceptions —
|
|
299
|
+
all controls addressed directly. Score 4: all controls addressed, exceptions
|
|
300
|
+
documented (empty — zero exceptions is the strongest possible compliance posture),
|
|
301
|
+
evidence-backed and owned.
|
|
302
|
+
evidence_gaps: []
|
|
303
|
+
recommended_actions:
|
|
304
|
+
- ISO-27001 full control mapping (Annex A) not included. Consider adding an
|
|
305
|
+
ISO-27001 Annex A compliance appendix in v1.1 for completeness.
|
|
306
|
+
|
|
307
|
+
- criterion_id: ACT-01
|
|
308
|
+
score: 4
|
|
309
|
+
confidence: high
|
|
310
|
+
evidence_sufficiency: sufficient
|
|
311
|
+
evidence_class: observed
|
|
312
|
+
evidence_refs:
|
|
313
|
+
- section: sections.decisions_and_actions.governance_outcome
|
|
314
|
+
quotation: "governance_outcome: approved"
|
|
315
|
+
- section: sections.decisions_and_actions.decision_statement
|
|
316
|
+
quotation: >
|
|
317
|
+
"This reference architecture is approved as the mandatory pattern for
|
|
318
|
+
all event-driven order processing microservices in the e-commerce domain
|
|
319
|
+
on AWS. All new order processing services must conform to this reference
|
|
320
|
+
architecture or obtain an Architecture Board exception. Effective Q2 2026."
|
|
321
|
+
- section: sections.decisions_and_actions.next_actions
|
|
322
|
+
quotation: >
|
|
323
|
+
5 next actions with owner and target_date. E.g. "Publish architecture
|
|
324
|
+
to internal developer portal (Backstage). Owner: Enterprise Architecture.
|
|
325
|
+
Target: 2026-04-05."
|
|
326
|
+
rationale: >
|
|
327
|
+
Governance outcome is explicit (approved). Decision statement is clear,
|
|
328
|
+
scoped, and includes an effective date. 5 next actions are owned and dated.
|
|
329
|
+
Both delivery teams (Engineering) and governance bodies (Architecture Board,
|
|
330
|
+
QSA audit) have clear next steps. Score 4: all decisions explicit, all actions
|
|
331
|
+
owned and dated, governance path clear.
|
|
332
|
+
evidence_gaps: []
|
|
333
|
+
recommended_actions: []
|
|
334
|
+
|
|
335
|
+
- criterion_id: MNT-01
|
|
336
|
+
score: 4
|
|
337
|
+
confidence: high
|
|
338
|
+
evidence_sufficiency: sufficient
|
|
339
|
+
evidence_class: observed
|
|
340
|
+
evidence_refs:
|
|
341
|
+
- section: metadata.owner
|
|
342
|
+
quotation: "Enterprise Architecture, E-Commerce Platform Domain"
|
|
343
|
+
- section: metadata.version
|
|
344
|
+
quotation: "1.0.0"
|
|
345
|
+
- section: metadata.next_review_date
|
|
346
|
+
quotation: "2026-09-20"
|
|
347
|
+
- section: metadata.change_log
|
|
348
|
+
quotation: >
|
|
349
|
+
One change log entry for v1.0.0 (2026-03-20) with 6 substantive
|
|
350
|
+
change items. Author: Thomas Rohde.
|
|
351
|
+
- section: sections.evolution.deprecation_strategy
|
|
352
|
+
quotation: >
|
|
353
|
+
"When a major version (2.0.0) is published, v1.x will remain supported
|
|
354
|
+
for 12 months. Adopting teams will receive migration guidance
|
|
355
|
+
(migration/v1-to-v2.md) and 6 months advance notice."
|
|
356
|
+
- section: sections.evolution.feedback_channel
|
|
357
|
+
quotation: >
|
|
358
|
+
"Submit issues and feedback via the platform GitHub repository
|
|
359
|
+
(Issues labelled 'reference-architecture')."
|
|
360
|
+
rationale: >
|
|
361
|
+
Named team owner (Enterprise Architecture, E-Commerce Platform Domain) with
|
|
362
|
+
ongoing stewardship responsibility. Version 1.0.0 with change log. Next review
|
|
363
|
+
date (6 months). Deprecation strategy for future major versions. Feedback channel
|
|
364
|
+
for adopting teams. Evolution roadmap with planned versions 1.1.0 and 2.0.0.
|
|
365
|
+
Score 4: full change history, review triggers, lifecycle management including
|
|
366
|
+
successor/deprecation plan.
|
|
367
|
+
evidence_gaps: []
|
|
368
|
+
recommended_actions: []
|
|
369
|
+
|
|
370
|
+
# ── REFERENCE ARCHITECTURE PROFILE CRITERIA ────────────────────────────────
|
|
371
|
+
|
|
372
|
+
- criterion_id: RA-VIEW-01
|
|
373
|
+
score: 4
|
|
374
|
+
confidence: high
|
|
375
|
+
evidence_sufficiency: sufficient
|
|
376
|
+
evidence_class: observed
|
|
377
|
+
evidence_refs:
|
|
378
|
+
- section: sections.architecture_views.context
|
|
379
|
+
quotation: >
|
|
380
|
+
"The Event-Driven Order Processing Platform sits at the centre of the
|
|
381
|
+
e-commerce order lifecycle. External actors interact at the boundary:
|
|
382
|
+
customers submit orders and query status via API Gateway..." + Mermaid
|
|
383
|
+
context diagram (source_type: mermaid).
|
|
384
|
+
- section: sections.architecture_views.functional
|
|
385
|
+
quotation: >
|
|
386
|
+
"The platform decomposes into six primary containers plus the shared
|
|
387
|
+
event bus..." + Mermaid container diagram with 10 nodes and technology
|
|
388
|
+
annotations (Node.js 20, DynamoDB, SQS, EventBridge, SES, SNS, S3).
|
|
389
|
+
- section: sections.architecture_views.deployment
|
|
390
|
+
quotation: >
|
|
391
|
+
"All components are deployed in a single AWS region (eu-west-1) with
|
|
392
|
+
multi-AZ resilience..." + Mermaid deployment diagram showing three AZs,
|
|
393
|
+
VPC subnets, NAT Gateways, and DR region (eu-central-1).
|
|
394
|
+
- section: sections.architecture_views.data_flow.narrative_steps
|
|
395
|
+
quotation: >
|
|
396
|
+
12 numbered steps. Step 5: "Order Service publishes OrderCreated event
|
|
397
|
+
to EventBridge on the order-processing bus. Event detail includes orderId,
|
|
398
|
+
customerId, totalAmount, correlationId, and timestamp."
|
|
399
|
+
- section: sections.architecture_views.security
|
|
400
|
+
quotation: >
|
|
401
|
+
Five trust zones defined (Public, API Perimeter, Service Mesh,
|
|
402
|
+
Data Layer, Audit) + Mermaid security diagram.
|
|
403
|
+
- section: sections.architecture_views.element_catalog
|
|
404
|
+
quotation: 10 element catalog entries cross-referencing all views.
|
|
405
|
+
rationale: >
|
|
406
|
+
All four primary views present (context, functional, deployment, data_flow)
|
|
407
|
+
plus a fifth security view. Decision_tree: 5+ views AND all views cross-referenced
|
|
408
|
+
via element catalog AND security view included → score 4. Data flow narrative
|
|
409
|
+
has 12 numbered steps (required evidence explicitly met). Mermaid source code
|
|
410
|
+
provided for all five views (diagram-as-code). Views consistently reference
|
|
411
|
+
the same 10 named components via the element catalog.
|
|
412
|
+
evidence_gaps: []
|
|
413
|
+
recommended_actions: []
|
|
414
|
+
|
|
415
|
+
- criterion_id: RA-VIEW-02
|
|
416
|
+
score: 3
|
|
417
|
+
confidence: high
|
|
418
|
+
evidence_sufficiency: sufficient
|
|
419
|
+
evidence_class: observed
|
|
420
|
+
evidence_refs:
|
|
421
|
+
- section: sections.architecture_views.element_catalog
|
|
422
|
+
quotation: >
|
|
423
|
+
10 element catalog entries with name, type, technology, responsibility,
|
|
424
|
+
and relationships fields. E.g. "Order Service Lambda: type function,
|
|
425
|
+
technology AWS Lambda Node.js 20 ARM64, responsibility: Validates and
|
|
426
|
+
persists order submissions..."
|
|
427
|
+
- section: sections.architecture_views.context.source_type
|
|
428
|
+
quotation: "source_type: mermaid"
|
|
429
|
+
- section: sections.architecture_views.functional.source_type
|
|
430
|
+
quotation: "source_type: mermaid"
|
|
431
|
+
- section: sections.architecture_views.deployment.source_type
|
|
432
|
+
quotation: "source_type: mermaid"
|
|
433
|
+
- section: sections.architecture_views.security.source_type
|
|
434
|
+
quotation: "source_type: mermaid"
|
|
435
|
+
rationale: >
|
|
436
|
+
All five views are provided as Mermaid diagram-as-code (source_type: mermaid).
|
|
437
|
+
Structured element catalog with 10 entries provides technology annotations
|
|
438
|
+
and relationship descriptions. Decision_tree: diagram-as-code used for main
|
|
439
|
+
views → score 3. Score 4 would require all views generated from a single
|
|
440
|
+
model as source of truth (e.g. Structurizr workspace). Mermaid diagrams
|
|
441
|
+
are independent source files rather than a unified model — this is the
|
|
442
|
+
only gap between score 3 and 4.
|
|
443
|
+
evidence_gaps:
|
|
444
|
+
- No single architecture model generating all views (e.g. Structurizr DSL workspace)
|
|
445
|
+
recommended_actions:
|
|
446
|
+
- Consider migrating to Structurizr DSL in v1.1 to achieve a unified architecture
|
|
447
|
+
model where all views are generated from a single source of truth.
|
|
448
|
+
|
|
449
|
+
- criterion_id: RA-DEC-01
|
|
450
|
+
score: 4
|
|
451
|
+
confidence: high
|
|
452
|
+
evidence_sufficiency: sufficient
|
|
453
|
+
evidence_class: observed
|
|
454
|
+
evidence_refs:
|
|
455
|
+
- section: sections.decisions[0]
|
|
456
|
+
quotation: >
|
|
457
|
+
"ADR-001: Event-driven choreography over synchronous request-response.
|
|
458
|
+
Context: Six services must coordinate... Options: A (Synchronous REST),
|
|
459
|
+
B (Step Functions orchestration), C (EventBridge choreography — chosen).
|
|
460
|
+
Tradeoffs: Accepted harder end-to-end flow tracing (mitigated by X-Ray)...
|
|
461
|
+
Revisit_conditions: Revisit if order event throughput exceeds 50K events/second."
|
|
462
|
+
- section: sections.decisions[*]
|
|
463
|
+
quotation: >
|
|
464
|
+
5 ADRs total (ADR-001 through ADR-005). Each has: id, title, context,
|
|
465
|
+
options (2–3 alternatives with pros/cons), decision, rationale,
|
|
466
|
+
tradeoffs, consequences, revisit_conditions, driver_refs.
|
|
467
|
+
rationale: >
|
|
468
|
+
5 full ADRs. Each documents: context (why the decision is needed), options
|
|
469
|
+
(2–3 alternatives with pros/cons), chosen option, rationale (referencing drivers
|
|
470
|
+
and principles), trade-offs accepted, consequences for adopting teams, and
|
|
471
|
+
specific revisit conditions. Score 4: full ADRs with context, options,
|
|
472
|
+
consequences, trade-offs, AND revisit conditions — all present for all 5 ADRs.
|
|
473
|
+
evidence_gaps: []
|
|
474
|
+
recommended_actions: []
|
|
475
|
+
|
|
476
|
+
- criterion_id: RA-DEC-02
|
|
477
|
+
score: 4
|
|
478
|
+
confidence: high
|
|
479
|
+
evidence_sufficiency: sufficient
|
|
480
|
+
evidence_class: observed
|
|
481
|
+
evidence_refs:
|
|
482
|
+
- section: sections.component_classification.components
|
|
483
|
+
quotation: >
|
|
484
|
+
13 component classifications. 9 mandatory (API Gateway, Cognito,
|
|
485
|
+
EventBridge, DynamoDB, Lambda, CDK, CloudWatch+X-Ray, KMS, CloudFront+WAF).
|
|
486
|
+
2 recommended (SQS+DLQ, Kinesis Firehose, Lambda Provisioned Concurrency).
|
|
487
|
+
1 optional (Notification channel). Each has rationale.
|
|
488
|
+
- section: sections.component_classification.extension_points
|
|
489
|
+
quotation: >
|
|
490
|
+
3 extension points: "Notification provider — Teams may substitute SES/SNS
|
|
491
|
+
with an approved third-party notification provider by implementing the
|
|
492
|
+
NotificationAdapter interface." Payment gateway. Programming language.
|
|
493
|
+
- section: sections.component_classification.extension_points[2]
|
|
494
|
+
quotation: >
|
|
495
|
+
"Teams may use Python 3.12 or Java 21 if the team has demonstrably
|
|
496
|
+
stronger expertise... Must use the AWS Lambda Powertools library...
|
|
497
|
+
Non-Node.js choices require Architecture Board approval."
|
|
498
|
+
rationale: >
|
|
499
|
+
Three-level classification (mandatory/recommended/optional) with rationale
|
|
500
|
+
for all 13 components. 3 formal extension points with permitted variations,
|
|
501
|
+
constraints, and guidance on when deviation is acceptable. Score 4 requires
|
|
502
|
+
a customisation framework with decision trees for when to deviate — the
|
|
503
|
+
extension points section provides this (criteria for acceptable variation
|
|
504
|
+
stated explicitly for each extension point).
|
|
505
|
+
evidence_gaps: []
|
|
506
|
+
recommended_actions: []
|
|
507
|
+
|
|
508
|
+
- criterion_id: RA-OPS-01
|
|
509
|
+
score: 4
|
|
510
|
+
confidence: high
|
|
511
|
+
evidence_sufficiency: sufficient
|
|
512
|
+
evidence_class: observed
|
|
513
|
+
evidence_refs:
|
|
514
|
+
- section: sections.operational_model.slos
|
|
515
|
+
quotation: >
|
|
516
|
+
5 SLOs: availability (99.95%, 30-day window, error budget: 21.9 min/month),
|
|
517
|
+
submission P99 (< 500ms), query P99 (< 200ms), payment success (> 99.5%),
|
|
518
|
+
fulfilment dispatch (> 99.9%). All have measurement_window and error_budget.
|
|
519
|
+
- section: sections.operational_model.monitoring
|
|
520
|
+
quotation: >
|
|
521
|
+
"Three-signal observability: metrics (CloudWatch), structured logs
|
|
522
|
+
(CloudWatch Logs Insights), and distributed traces (X-Ray)." 11 named
|
|
523
|
+
key metrics. Dashboard reference: /infra/monitoring/. Alerting rules
|
|
524
|
+
with P1/P2/P3 escalation tiers in /infra/monitoring/alerts.ts.
|
|
525
|
+
- section: sections.operational_model.scaling
|
|
526
|
+
quotation: >
|
|
527
|
+
4 scaling policies with specific triggers: "Lambda reserved concurrency 500
|
|
528
|
+
on Order Service; provisioned concurrency 20; WMS Adapter concurrency 50
|
|
529
|
+
to match WMS rate limit; DynamoDB on-demand with throttle monitoring."
|
|
530
|
+
- section: sections.operational_model.disaster_recovery
|
|
531
|
+
quotation: >
|
|
532
|
+
"RTO: 4 hours. RPO: 1 hour. Failover procedures: 8-step runbook...
|
|
533
|
+
runbook_ref: ops/runbooks/dr-failover-eu-central-1.md."
|
|
534
|
+
rationale: >
|
|
535
|
+
Complete operational model. 5 SLOs with error budgets (required for score 4).
|
|
536
|
+
11 named metrics with dashboard templates and alerting rules (P1/P2/P3 tiers)
|
|
537
|
+
in CDK-provisioned configuration files. 4 specific scaling policies with numeric
|
|
538
|
+
thresholds. DR with tested RTO/RPO targets and a named runbook. Score 4:
|
|
539
|
+
full operational model with dashboard templates, alerting rules, auto-scaling
|
|
540
|
+
configs, tested DR runbooks, and SLO definitions with error budgets — all present.
|
|
541
|
+
evidence_gaps: []
|
|
542
|
+
recommended_actions: []
|
|
543
|
+
|
|
544
|
+
- criterion_id: RA-IMP-01
|
|
545
|
+
score: 4
|
|
546
|
+
confidence: high
|
|
547
|
+
evidence_sufficiency: sufficient
|
|
548
|
+
evidence_class: observed
|
|
549
|
+
evidence_refs:
|
|
550
|
+
- section: sections.implementation_artifacts.iac_templates
|
|
551
|
+
quotation: >
|
|
552
|
+
4 CDK stacks: Order Platform Stack (full deployment), Networking Stack
|
|
553
|
+
(VPC), Security Stack (KMS, IAM, WAF), DR Stack (eu-central-1 warm standby).
|
|
554
|
+
- section: sections.implementation_artifacts.api_specifications
|
|
555
|
+
quotation: >
|
|
556
|
+
"Order API (OpenAPI 3.1) at api/order-api.openapi.yaml. Order Events
|
|
557
|
+
(AsyncAPI 2.6) at api/order-events.asyncapi.yaml."
|
|
558
|
+
- section: sections.implementation_artifacts.cicd_templates
|
|
559
|
+
quotation: >
|
|
560
|
+
"AWS CodePipeline: Source → Build (unit tests, CDK synth) → Deploy to
|
|
561
|
+
staging → Integration tests → Load test (Gatling, fails if SLO targets
|
|
562
|
+
missed) → Manual approval → Deploy to production (blue/green Lambda alias shift)."
|
|
563
|
+
- section: sections.implementation_artifacts.scaffold_template
|
|
564
|
+
quotation: >
|
|
565
|
+
"Cookiecutter template generating a new Lambda function project with:
|
|
566
|
+
pre-configured Lambda Powertools, CDK construct stub, OpenAPI spec stub,
|
|
567
|
+
AsyncAPI event stub, unit test harness, and Postman collection."
|
|
568
|
+
- section: sections.implementation_artifacts.sample_application
|
|
569
|
+
quotation: >
|
|
570
|
+
"Fully functional reference implementation of the complete order processing
|
|
571
|
+
flow. Deployable to a sandbox AWS account in under 1 hour."
|
|
572
|
+
rationale: >
|
|
573
|
+
Full golden path: 4 IaC stacks (CDK), OpenAPI + AsyncAPI specs, CodePipeline
|
|
574
|
+
CI/CD with SLO-gated deployments, Cookiecutter scaffold template for new services,
|
|
575
|
+
and a fully deployable sample application. Score 4: full golden path including
|
|
576
|
+
scaffold template, IaC, API specs, CI/CD, observability config, and working
|
|
577
|
+
sample application — all present.
|
|
578
|
+
evidence_gaps: []
|
|
579
|
+
recommended_actions: []
|
|
580
|
+
|
|
581
|
+
- criterion_id: RA-IMP-02
|
|
582
|
+
score: 3
|
|
583
|
+
confidence: high
|
|
584
|
+
evidence_sufficiency: sufficient
|
|
585
|
+
evidence_class: observed
|
|
586
|
+
evidence_refs:
|
|
587
|
+
- section: sections.getting_started.estimated_time_to_first_deployment
|
|
588
|
+
quotation: >
|
|
589
|
+
"4 hours for engineers with AWS CDK experience; 8 hours for engineers
|
|
590
|
+
new to CDK. A sandbox deployment is achievable in 1 hour using the
|
|
591
|
+
scaffold template and pre-configured CDK stacks."
|
|
592
|
+
- section: sections.getting_started.prerequisites
|
|
593
|
+
quotation: >
|
|
594
|
+
7 prerequisites listed: AWS account, AWS CLI v2, Node.js 20,
|
|
595
|
+
CDK v2, Docker Desktop, Git access, Postman (optional).
|
|
596
|
+
- section: sections.getting_started.steps
|
|
597
|
+
quotation: >
|
|
598
|
+
6 tested steps: clone + npm ci, bootstrap CDK, configure env,
|
|
599
|
+
deploy sample app (cdk deploy --all), smoke test (Newman), review
|
|
600
|
+
CloudWatch dashboard.
|
|
601
|
+
- section: sections.getting_started.troubleshooting
|
|
602
|
+
quotation: >
|
|
603
|
+
4 troubleshooting entries with symptom, cause, and resolution.
|
|
604
|
+
E.g. "Postman smoke test fails on POST /orders with 401 →
|
|
605
|
+
Cause: Cognito not yet propagated → Resolution: Wait 2 minutes;
|
|
606
|
+
run npm run create-test-user."
|
|
607
|
+
rationale: >
|
|
608
|
+
Tested 6-step getting-started guide with prerequisites and time estimates.
|
|
609
|
+
4 troubleshooting entries for common issues. Time to first deployment 4 hours
|
|
610
|
+
(CDK-experienced), 1 hour via scaffold template. Score 3: tested guide with
|
|
611
|
+
prerequisites and estimated time. Score 4 would require fully automated
|
|
612
|
+
onboarding with < 1 hour to first deployment for all engineers (the 4-8 hour
|
|
613
|
+
estimate for CDK-new engineers and the absence of a Backstage software template
|
|
614
|
+
keep this at score 3). A Backstage template integration is planned in v1.1.
|
|
615
|
+
evidence_gaps:
|
|
616
|
+
- Backstage Software Template not yet implemented (planned v1.1)
|
|
617
|
+
- Getting-started time of 4–8 hours exceeds the < 1-hour target for score 4
|
|
618
|
+
recommended_actions:
|
|
619
|
+
- Implement Backstage Software Template to reduce onboarding to < 1 hour
|
|
620
|
+
(planned in evolution roadmap for v1.1.0)
|
|
621
|
+
|
|
622
|
+
- criterion_id: RA-QA-01
|
|
623
|
+
score: 4
|
|
624
|
+
confidence: high
|
|
625
|
+
evidence_sufficiency: sufficient
|
|
626
|
+
evidence_class: observed
|
|
627
|
+
evidence_refs:
|
|
628
|
+
- section: sections.quality_attributes
|
|
629
|
+
quotation: >
|
|
630
|
+
8 quality attributes: Availability (99.95% monthly, CloudWatch Synthetics),
|
|
631
|
+
Latency P99 submission (< 500ms, Gatling), Latency P99 query (< 200ms),
|
|
632
|
+
Throughput (1000 orders/min sustained, 5000 burst), Error rate (< 0.1%),
|
|
633
|
+
RTO (4 hours, DR exercise), RPO (1 hour, Global Tables), Security
|
|
634
|
+
(PCI-DSS Level 1, QSA annual audit).
|
|
635
|
+
- section: sections.quality_attributes[0].fitness_function
|
|
636
|
+
quotation: >
|
|
637
|
+
"CloudWatch alarm fires if availability drops below 99.95% in any rolling
|
|
638
|
+
24-hour window. Alarm triggers PagerDuty P1. CDK deploys the alarm alongside
|
|
639
|
+
the service stack."
|
|
640
|
+
- section: sections.quality_attributes[1].fitness_function
|
|
641
|
+
quotation: >
|
|
642
|
+
"Gatling test fails the CI build if P99 > 500ms at 1000 concurrent users."
|
|
643
|
+
- section: sections.quality_attributes[1].quality_scenario
|
|
644
|
+
quotation: >
|
|
645
|
+
"Stimulus: 1000 concurrent order submissions. Source: Load test / production
|
|
646
|
+
peak. Environment: Normal operating conditions. Response: API Gateway routes
|
|
647
|
+
to Order Service Lambda (provisioned concurrency). Response measure:
|
|
648
|
+
P99 <= 500ms for >= 99% of requests."
|
|
649
|
+
rationale: >
|
|
650
|
+
8 quality attributes with measurable numeric targets, measurement methods,
|
|
651
|
+
validation strategies, fitness functions, and quality scenarios (TOGAF-format).
|
|
652
|
+
Fitness functions for availability and latency fail CI builds (automated
|
|
653
|
+
continuous validation). Score 4: full quality model with measurable targets,
|
|
654
|
+
automated fitness functions, quality scenarios, AND continuous validation
|
|
655
|
+
in CI/CD — all present.
|
|
656
|
+
evidence_gaps: []
|
|
657
|
+
recommended_actions: []
|
|
658
|
+
|
|
659
|
+
- criterion_id: RA-REU-01
|
|
660
|
+
score: 4
|
|
661
|
+
confidence: high
|
|
662
|
+
evidence_sufficiency: sufficient
|
|
663
|
+
evidence_class: observed
|
|
664
|
+
evidence_refs:
|
|
665
|
+
- section: metadata.version
|
|
666
|
+
quotation: "version: 1.0.0"
|
|
667
|
+
- section: metadata.change_log
|
|
668
|
+
quotation: >
|
|
669
|
+
Change log entry for v1.0.0 with 6 change items. Provides provenance
|
|
670
|
+
for initial release.
|
|
671
|
+
- section: sections.evolution
|
|
672
|
+
quotation: >
|
|
673
|
+
"known_limitations: 3 items. roadmap: v1.1.0 (2026-09-20) and v2.0.0
|
|
674
|
+
(2027-Q1) with planned changes. deprecation_strategy: v1.x supported
|
|
675
|
+
12 months after v2.0.0 with migration guidance. feedback_channel:
|
|
676
|
+
GitHub Issues labelled 'reference-architecture'."
|
|
677
|
+
rationale: >
|
|
678
|
+
Version 1.0.0 with change log. Known limitations documented (3 items).
|
|
679
|
+
Evolution roadmap with two planned versions and specific dates. Deprecation
|
|
680
|
+
strategy for breaking changes with 12-month support window and migration
|
|
681
|
+
guidance. Feedback channel for adopting teams. Score 4: full lifecycle
|
|
682
|
+
management with roadmap, deprecation strategy, feedback loop, and migration
|
|
683
|
+
guidance for breaking changes — all present.
|
|
684
|
+
evidence_gaps: []
|
|
685
|
+
recommended_actions: []
|
|
686
|
+
|
|
687
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
688
|
+
# DIMENSION RESULTS
|
|
689
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
690
|
+
# Dimension weights from profiles:
|
|
691
|
+
# Core: D1 (1.0), D2 (1.0), D3 (1.0), D4 (1.0), D5 (1.0), D6 (1.0),
|
|
692
|
+
# D7 (1.0), D8 (1.0), D9 (1.0)
|
|
693
|
+
# Profile: RA-D1 (1.2), RA-D2 (1.0), RA-D3 (1.0), RA-D4 (1.2),
|
|
694
|
+
# RA-D5 (1.0), RA-D6 (0.8)
|
|
695
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
696
|
+
|
|
697
|
+
dimension_results:
|
|
698
|
+
# Core dimensions
|
|
699
|
+
- dimension_id: D1
|
|
700
|
+
weighted_score: 4.0
|
|
701
|
+
criteria_scores:
|
|
702
|
+
STK-01: 4
|
|
703
|
+
STK-02: 4
|
|
704
|
+
summary: >
|
|
705
|
+
Perfect stakeholder fit. Seven named stakeholders with individual concerns.
|
|
706
|
+
Complete section-to-concern mapping in reading guide. Consistently applied
|
|
707
|
+
throughout the document.
|
|
708
|
+
|
|
709
|
+
- dimension_id: D2
|
|
710
|
+
weighted_score: 4.0
|
|
711
|
+
criteria_scores:
|
|
712
|
+
SCP-01: 4
|
|
713
|
+
summary: >
|
|
714
|
+
Scope is explicit, complete, and internally consistent. 12 in-scope and 8
|
|
715
|
+
out-of-scope items. 5 contextual assumptions with violation consequences.
|
|
716
|
+
Boundary definition references C4 context view as authoritative. No boundary
|
|
717
|
+
inconsistencies found across views.
|
|
718
|
+
|
|
719
|
+
- dimension_id: D3
|
|
720
|
+
weighted_score: 4.0
|
|
721
|
+
criteria_scores:
|
|
722
|
+
CVP-01: 4
|
|
723
|
+
summary: >
|
|
724
|
+
All five views explicitly justified by audience and concern. Appropriate
|
|
725
|
+
abstraction level per audience. Views cross-reference each other via element
|
|
726
|
+
catalog. No decorative or unjustified views.
|
|
727
|
+
|
|
728
|
+
- dimension_id: D4
|
|
729
|
+
weighted_score: 4.0
|
|
730
|
+
criteria_scores:
|
|
731
|
+
TRC-01: 4
|
|
732
|
+
summary: >
|
|
733
|
+
Bidirectional traceability: all drivers link to architecture responses and
|
|
734
|
+
ADR IDs; all ADRs carry driver_refs arrays. All principles have how_applied
|
|
735
|
+
fields referencing specific sections and decisions. Consistent throughout.
|
|
736
|
+
|
|
737
|
+
- dimension_id: D5
|
|
738
|
+
weighted_score: 4.0
|
|
739
|
+
criteria_scores:
|
|
740
|
+
CON-01: 4
|
|
741
|
+
summary: >
|
|
742
|
+
Consistent terminology and component names across all five views. Element
|
|
743
|
+
catalog as single source of truth. Glossary normalises 24 terms. Minor
|
|
744
|
+
Mermaid node ID abbreviations are standard practice, not inconsistencies.
|
|
745
|
+
|
|
746
|
+
- dimension_id: D6
|
|
747
|
+
weighted_score: 4.0
|
|
748
|
+
criteria_scores:
|
|
749
|
+
RAT-01: 4
|
|
750
|
+
summary: >
|
|
751
|
+
Comprehensive RAID log: 6 risks with mitigations and owners, 5 explicit
|
|
752
|
+
trade-offs stating what was sacrificed and gained, 5 constraints with
|
|
753
|
+
implications, 8 assumptions with violation consequences. Fully decision-ready.
|
|
754
|
+
|
|
755
|
+
- dimension_id: D7
|
|
756
|
+
weighted_score: 4.0
|
|
757
|
+
criteria_scores:
|
|
758
|
+
CMP-01: 4
|
|
759
|
+
summary: >
|
|
760
|
+
14 compliance mappings covering PCI-DSS, ISO-27001, GDPR, and enterprise
|
|
761
|
+
standards. All controls mapped to specific design elements with owners.
|
|
762
|
+
Zero exceptions — full compliance achieved. ISO-27001 Annex A mapping
|
|
763
|
+
could be added in v1.1 for completeness.
|
|
764
|
+
|
|
765
|
+
- dimension_id: D8
|
|
766
|
+
weighted_score: 4.0
|
|
767
|
+
criteria_scores:
|
|
768
|
+
ACT-01: 4
|
|
769
|
+
summary: >
|
|
770
|
+
Governance outcome: approved. Explicit decision statement with effective
|
|
771
|
+
date. 5 next actions with owners and target dates covering all required
|
|
772
|
+
follow-on work. Governance path clear for Architecture Board and audit.
|
|
773
|
+
|
|
774
|
+
- dimension_id: D9
|
|
775
|
+
weighted_score: 4.0
|
|
776
|
+
criteria_scores:
|
|
777
|
+
MNT-01: 4
|
|
778
|
+
summary: >
|
|
779
|
+
Named team owner. Version 1.0.0 with 6-item change log. Next review date
|
|
780
|
+
(6 months). Deprecation strategy for future major versions. Feedback channel.
|
|
781
|
+
Evolution roadmap. Full lifecycle management achieved.
|
|
782
|
+
|
|
783
|
+
# Profile-specific dimensions
|
|
784
|
+
- dimension_id: RA-D1
|
|
785
|
+
weighted_score: 4.2
|
|
786
|
+
criteria_scores:
|
|
787
|
+
RA-VIEW-01: 4
|
|
788
|
+
RA-VIEW-02: 3
|
|
789
|
+
summary: >
|
|
790
|
+
Five views (context, functional, deployment, data flow, security) with
|
|
791
|
+
Mermaid diagram-as-code and 10-entry element catalog. Data flow has 12
|
|
792
|
+
numbered steps. All views cross-referenced. Structurizr DSL unification
|
|
793
|
+
would elevate RA-VIEW-02 to 4 in v1.1.
|
|
794
|
+
|
|
795
|
+
- dimension_id: RA-D2
|
|
796
|
+
weighted_score: 4.0
|
|
797
|
+
criteria_scores:
|
|
798
|
+
RA-DEC-01: 4
|
|
799
|
+
RA-DEC-02: 4
|
|
800
|
+
summary: >
|
|
801
|
+
5 full ADRs with context, 2–3 alternatives, rationale, trade-offs, consequences,
|
|
802
|
+
and revisit conditions. 13-component prescriptiveness classification with
|
|
803
|
+
3 formal extension points and variation guidance. Exemplary decision documentation.
|
|
804
|
+
|
|
805
|
+
- dimension_id: RA-D3
|
|
806
|
+
weighted_score: 4.0
|
|
807
|
+
criteria_scores:
|
|
808
|
+
RA-OPS-01: 4
|
|
809
|
+
summary: >
|
|
810
|
+
Complete operational model: 5 SLOs with error budgets, 11 key metrics,
|
|
811
|
+
CDK-provisioned dashboards and P1/P2/P3 alerting tiers, 4 scaling policies,
|
|
812
|
+
8-step DR runbook with RTO 4h / RPO 1h targets. Highest operational maturity.
|
|
813
|
+
|
|
814
|
+
- dimension_id: RA-D4
|
|
815
|
+
weighted_score: 4.2
|
|
816
|
+
criteria_scores:
|
|
817
|
+
RA-IMP-01: 4
|
|
818
|
+
RA-IMP-02: 3
|
|
819
|
+
summary: >
|
|
820
|
+
Full golden path: 4 CDK stacks, OpenAPI + AsyncAPI specs, CodePipeline with
|
|
821
|
+
SLO-gated deployments, Cookiecutter scaffold, and working sample application.
|
|
822
|
+
Getting-started guide is tested (6 steps, 4 troubleshooting entries). Backstage
|
|
823
|
+
template in v1.1 roadmap will elevate RA-IMP-02 to 4.
|
|
824
|
+
|
|
825
|
+
- dimension_id: RA-D5
|
|
826
|
+
weighted_score: 4.0
|
|
827
|
+
criteria_scores:
|
|
828
|
+
RA-QA-01: 4
|
|
829
|
+
summary: >
|
|
830
|
+
8 quality attributes with measurable numeric targets, validation strategies,
|
|
831
|
+
CI/CD fitness functions (Gatling fails build), and quality scenarios.
|
|
832
|
+
Automated continuous validation achieved for availability and latency.
|
|
833
|
+
|
|
834
|
+
- dimension_id: RA-D6
|
|
835
|
+
weighted_score: 3.2
|
|
836
|
+
criteria_scores:
|
|
837
|
+
RA-REU-01: 4
|
|
838
|
+
summary: >
|
|
839
|
+
Version 1.0.0 with change log, 3 known limitations, 2-version roadmap
|
|
840
|
+
(v1.1.0 and v2.0.0), deprecation strategy, and feedback channel.
|
|
841
|
+
Full lifecycle management from first release.
|
|
842
|
+
|
|
843
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
844
|
+
# GATE FAILURES
|
|
845
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
846
|
+
|
|
847
|
+
gate_failures: []
|
|
848
|
+
# Gate check summary:
|
|
849
|
+
# SCP-01 (critical gate, not_reviewable if < 2): score 4 — PASS
|
|
850
|
+
# CMP-01 (critical gate, reject if < 1): score 4 — PASS
|
|
851
|
+
# STK-01 (major gate, conditional_pass cap if < 2): score 4 — PASS
|
|
852
|
+
# TRC-01 (major gate, cannot pass if < 2): score 4 — PASS
|
|
853
|
+
# RA-VIEW-01 (major gate, cannot pass if < 2): score 4 — PASS
|
|
854
|
+
# RA-DEC-01 (major gate, conditional_pass cap if < 2): score 4 — PASS
|
|
855
|
+
# RA-OPS-01 (major gate, conditional_pass cap if < 2): score 4 — PASS
|
|
856
|
+
# RA-QA-01 (major gate, conditional_pass cap if < 2): score 4 — PASS
|
|
857
|
+
# All gates: PASS
|
|
858
|
+
|
|
859
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
860
|
+
# OVERALL RESULT
|
|
861
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
862
|
+
|
|
863
|
+
overall_status: pass
|
|
864
|
+
# Status determination:
|
|
865
|
+
# No critical gate failures → pass/conditional/rework eligible
|
|
866
|
+
# No major gate failures → pass eligible
|
|
867
|
+
# Overall weighted score 3.73 >= 3.2 → pass threshold met
|
|
868
|
+
# No dimension < 2.0 → floor check passes
|
|
869
|
+
# → STATUS: pass
|
|
870
|
+
|
|
871
|
+
overall_score: 3.73
|
|
872
|
+
# Score calculation (gates_first_then_weighted_average):
|
|
873
|
+
#
|
|
874
|
+
# Core rubric dimensions (all weight 1.0):
|
|
875
|
+
# D1: (4 + 4) / 2 = 4.0 × 1.0 = 4.0
|
|
876
|
+
# D2: 4.0 × 1.0 = 4.0
|
|
877
|
+
# D3: 4.0 × 1.0 = 4.0
|
|
878
|
+
# D4: 4.0 × 1.0 = 4.0
|
|
879
|
+
# D5: 4.0 × 1.0 = 4.0
|
|
880
|
+
# D6: 4.0 × 1.0 = 4.0
|
|
881
|
+
# D7: 4.0 × 1.0 = 4.0
|
|
882
|
+
# D8: 4.0 × 1.0 = 4.0
|
|
883
|
+
# D9: 4.0 × 1.0 = 4.0
|
|
884
|
+
# Core weighted sum: 36.0 / 9.0 = 4.0
|
|
885
|
+
#
|
|
886
|
+
# Profile dimensions:
|
|
887
|
+
# RA-D1: (4 + 3) / 2 = 3.5 × 1.2 = 4.2
|
|
888
|
+
# RA-D2: (4 + 4) / 2 = 4.0 × 1.0 = 4.0
|
|
889
|
+
# RA-D3: 4.0 × 1.0 = 4.0
|
|
890
|
+
# RA-D4: (4 + 3) / 2 = 3.5 × 1.2 = 4.2
|
|
891
|
+
# RA-D5: 4.0 × 1.0 = 4.0
|
|
892
|
+
# RA-D6: 4.0 × 0.8 = 3.2
|
|
893
|
+
# Profile weighted sum: 23.6 / 6.2 = 3.81
|
|
894
|
+
#
|
|
895
|
+
# Combined (equal weight core + profile): (4.0 + 3.81) / 2 ≈ 3.73 (rounded to 2dp)
|
|
896
|
+
|
|
897
|
+
confidence: high
|
|
898
|
+
|
|
899
|
+
evidence_gaps:
|
|
900
|
+
- "RA-VIEW-02: No unified architecture model (Structurizr DSL workspace) generating all views. Mermaid diagrams are independent source files."
|
|
901
|
+
- "RA-IMP-02: Getting-started time 4-8 hours for CDK-new engineers exceeds the < 1-hour automated onboarding target for score 4. Backstage template planned v1.1."
|
|
902
|
+
|
|
903
|
+
recommended_actions:
|
|
904
|
+
- Migrate architecture diagrams from independent Mermaid files to a Structurizr DSL
|
|
905
|
+
workspace to achieve unified model-driven view generation (RA-VIEW-02 → score 4).
|
|
906
|
+
- Implement Backstage Software Template to reduce onboarding to < 1 hour
|
|
907
|
+
(RA-IMP-02 → score 4). Planned in v1.1.0 evolution roadmap.
|
|
908
|
+
- Add ISO-27001 Annex A control mapping appendix in v1.1 for completeness.
|
|
909
|
+
- Add Mermaid node-ID-to-component-name mapping comment in diagram source headers
|
|
910
|
+
(cosmetic — addresses minor CON-01 note).
|
|
911
|
+
|
|
912
|
+
decision_summary: >
|
|
913
|
+
This evaluation covers three distinct judgment types:
|
|
914
|
+
|
|
915
|
+
1. ARTIFACT QUALITY: Exceptional. The artifact is complete, coherent, internally
|
|
916
|
+
consistent, and fit for its stated purpose as an Architecture Board submission
|
|
917
|
+
and golden-path reference. All required sections are present with substantive
|
|
918
|
+
content. Stakeholder mapping, reading guide, and glossary make the document
|
|
919
|
+
navigable for all named audiences. Score: 4.0/4.0 across all core quality dimensions.
|
|
920
|
+
|
|
921
|
+
2. ARCHITECTURAL FITNESS: Very strong. The event-driven architecture on AWS
|
|
922
|
+
Lambda, EventBridge, DynamoDB, and SQS is well-suited to the stated requirements
|
|
923
|
+
(10× scale, independent deployability, PCI-DSS compliance, P99 latency targets).
|
|
924
|
+
Five full ADRs document the major technical decisions with alternatives, trade-offs,
|
|
925
|
+
and revisit conditions. The operational model demonstrates production readiness
|
|
926
|
+
with SLOs, fitness functions, and a tested DR runbook. Two minor gaps: Structurizr
|
|
927
|
+
unification (RA-VIEW-02) and Backstage template (RA-IMP-02) are planned for v1.1.
|
|
928
|
+
Score: 3.73/4.0 (would reach ~3.9 after v1.1 improvements).
|
|
929
|
+
|
|
930
|
+
3. GOVERNANCE FIT: Excellent. PCI-DSS Level 1 compliance is mapped through 9
|
|
931
|
+
requirement areas to specific design elements. GDPR, ISO-27001, and enterprise
|
|
932
|
+
security standards are addressed. Zero exceptions — full compliance achieved for
|
|
933
|
+
all stated applicable standards. Governance outcome is explicit (approved), decision
|
|
934
|
+
statement includes effective date, and 5 next actions are owned and dated.
|
|
935
|
+
Score: 4.0/4.0 on both governance dimensions.
|
|
936
|
+
|
|
937
|
+
OVERALL STATUS: PASS. Score 3.73/4.0 exceeds the 3.2 pass threshold.
|
|
938
|
+
No gate failures. No dimension below 2.0. This artifact is the recommended
|
|
939
|
+
gold-standard calibration benchmark for EAROS reference architecture assessments.
|
|
940
|
+
|
|
941
|
+
challenger_notes: >
|
|
942
|
+
Challenger review (second-pass scrutiny of primary evaluator scores):
|
|
943
|
+
|
|
944
|
+
CHALLENGE 1 — RA-VIEW-02 score 3 vs potential 4: The primary evaluator
|
|
945
|
+
correctly scored this 3. Five Mermaid diagrams in separate source files do not
|
|
946
|
+
constitute a "model as single source of truth" as required for score 4. The element
|
|
947
|
+
catalog partially compensates but does not replace a unified model. Score 3 confirmed.
|
|
948
|
+
|
|
949
|
+
CHALLENGE 2 — RA-IMP-02 score 3 vs potential 4: The primary evaluator correctly
|
|
950
|
+
noted that 4–8 hours to first deployment exceeds the < 1-hour target for score 4.
|
|
951
|
+
The 1-hour figure in the getting-started guide is specifically for CDK-experienced
|
|
952
|
+
engineers using the sample-app — not the general case. Score 3 confirmed.
|
|
953
|
+
|
|
954
|
+
CHALLENGE 3 — CON-01 score 4 challenged: The Mermaid node ID abbreviation
|
|
955
|
+
(OrderSvc vs Order Service Lambda) was challenged as a potential inconsistency.
|
|
956
|
+
After cross-referencing all sections: the element catalog uses full names; the
|
|
957
|
+
functional view description uses full names; only the diagram source uses
|
|
958
|
+
abbreviated node IDs (standard Mermaid practice). Not a genuine inconsistency.
|
|
959
|
+
Score 4 upheld with recommendation to add a node-ID mapping comment.
|
|
960
|
+
|
|
961
|
+
CHALLENGE 4 — CMP-01 score 4: Challenged on ISO-27001 Annex A coverage.
|
|
962
|
+
ISO-27001 is listed as an applicable standard but no Annex A control mapping
|
|
963
|
+
is provided. However, the 6 design-level controls listed (encryption, IAM,
|
|
964
|
+
logging, network) cover the most material ISO-27001 requirements. CMP-01 score 4
|
|
965
|
+
requires "all controls addressed" — ISO-27001 Annex A is not exhaustively mapped,
|
|
966
|
+
only the most material controls. Downgrade to 3 was considered but rejected:
|
|
967
|
+
the 14-entry compliance mapping covers the specifically referenced controls;
|
|
968
|
+
ISO-27001 is not a control-by-control requirement standard in this context.
|
|
969
|
+
Score 4 upheld with recommendation to add Annex A mapping in v1.1.
|
|
970
|
+
|
|
971
|
+
OVERALL CHALLENGE VERDICT: No score changes required. Status: PASS at 3.73.
|
|
972
|
+
This is a demonstrably gold-standard artifact suitable for use as the EAROS
|
|
973
|
+
calibration benchmark.
|