diff --git a/diagrams/strategy-adoption-mobile.architecture.json b/diagrams/strategy-adoption-mobile.architecture.json new file mode 100644 index 0000000..ef99828 --- /dev/null +++ b/diagrams/strategy-adoption-mobile.architecture.json @@ -0,0 +1,139 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Learn before expanding", + "output": "static/diagrams/strategy-adoption-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "choose", + "type": "backend", + "label": "Choose workflow", + "sublabel": "Department outcome", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coach", + "type": "backend", + "label": "Coach people", + "sublabel": "Verify + recover", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "canary", + "type": "backend", + "label": "Run bounded canary", + "sublabel": "Qualified skill + client", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "accept", + "type": "backend", + "label": "Accept real work", + "sublabel": "Independent review", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "feedback", + "type": "backend", + "label": "Review feedback", + "sublabel": "Usefulness + non-use", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expand", + "type": "backend", + "label": "Expand or revise", + "sublabel": "Keep a manual path", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "choose", + "to": "coach", + "label": "Prepare" + }, + { + "id": "flow-1", + "from": "coach", + "to": "canary", + "label": "support pilot" + }, + { + "id": "flow-2", + "from": "canary", + "to": "accept", + "label": "Verify" + }, + { + "id": "flow-3", + "from": "accept", + "to": "feedback", + "label": "learn" + }, + { + "id": "flow-4", + "from": "feedback", + "to": "expand", + "label": "decide" + }, + { + "id": "feedback-loop", + "from": "expand", + "to": "coach", + "label": "Review revision", + "variant": "dashed", + "fromSide": "right", + "toSide": "right" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-adoption.architecture.json b/diagrams/strategy-adoption.architecture.json new file mode 100644 index 0000000..c92665e --- /dev/null +++ b/diagrams/strategy-adoption.architecture.json @@ -0,0 +1,139 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Learn before expanding", + "output": "static/diagrams/strategy-adoption/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "choose", + "type": "backend", + "label": "Choose workflow", + "sublabel": "Department outcome", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coach", + "type": "backend", + "label": "Coach people", + "sublabel": "Verify + recover", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "canary", + "type": "backend", + "label": "Run bounded canary", + "sublabel": "Qualified skill + client", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "accept", + "type": "backend", + "label": "Accept real work", + "sublabel": "Independent review", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "feedback", + "type": "backend", + "label": "Review feedback", + "sublabel": "Usefulness + non-use", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expand", + "type": "backend", + "label": "Expand or revise", + "sublabel": "Keep a manual path", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "choose", + "to": "coach", + "label": "Prepare" + }, + { + "id": "flow-1", + "from": "coach", + "to": "canary", + "label": "support pilot" + }, + { + "id": "flow-2", + "from": "canary", + "to": "accept", + "label": "Verify" + }, + { + "id": "flow-3", + "from": "accept", + "to": "feedback", + "label": "learn" + }, + { + "id": "flow-4", + "from": "feedback", + "to": "expand", + "label": "decide" + }, + { + "id": "feedback-loop", + "from": "expand", + "to": "coach", + "label": "Review revision", + "variant": "dashed", + "fromSide": "right", + "toSide": "right" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-governance-mobile.architecture.json b/diagrams/strategy-governance-mobile.architecture.json new file mode 100644 index 0000000..3e05b06 --- /dev/null +++ b/diagrams/strategy-governance-mobile.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Independent approval", + "output": "static/diagrams/strategy-governance-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "owner", + "type": "security", + "label": "Owner proposes", + "sublabel": "Existing accountable team", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "review", + "type": "security", + "label": "Independent review", + "sublabel": "Quality + risk evidence", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "canary", + "type": "security", + "label": "Bounded canary", + "sublabel": "Qualified client path", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "approve", + "type": "security", + "label": "Approve revision", + "sublabel": "Exact digest + scope", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "publish", + "type": "security", + "label": "Publish bundle", + "sublabel": "Data & AI catalog", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribute", + "type": "security", + "label": "Verify effective state", + "sublabel": "Platform & IT", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "owner", + "to": "review", + "label": "submit" + }, + { + "id": "flow-1", + "from": "review", + "to": "canary", + "label": "qualify" + }, + { + "id": "flow-2", + "from": "canary", + "to": "approve", + "label": "Accept" + }, + { + "id": "flow-3", + "from": "approve", + "to": "publish", + "label": "record approval" + }, + { + "id": "flow-4", + "from": "publish", + "to": "distribute", + "label": "Deliver" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-governance.architecture.json b/diagrams/strategy-governance.architecture.json new file mode 100644 index 0000000..f413a5e --- /dev/null +++ b/diagrams/strategy-governance.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Independent approval", + "output": "static/diagrams/strategy-governance/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "owner", + "type": "security", + "label": "Owner proposes", + "sublabel": "Existing accountable team", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "review", + "type": "security", + "label": "Independent review", + "sublabel": "Quality + risk evidence", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "canary", + "type": "security", + "label": "Bounded canary", + "sublabel": "Qualified client path", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "approve", + "type": "security", + "label": "Approve revision", + "sublabel": "Exact digest + scope", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "publish", + "type": "security", + "label": "Publish bundle", + "sublabel": "Data & AI catalog", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribute", + "type": "security", + "label": "Verify effective state", + "sublabel": "Platform & IT", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "owner", + "to": "review", + "label": "submit" + }, + { + "id": "flow-1", + "from": "review", + "to": "canary", + "label": "qualify" + }, + { + "id": "flow-2", + "from": "canary", + "to": "approve", + "label": "Accept" + }, + { + "id": "flow-3", + "from": "approve", + "to": "publish", + "label": "record approval" + }, + { + "id": "flow-4", + "from": "publish", + "to": "distribute", + "label": "Deliver" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-journey-mobile.architecture.json b/diagrams/strategy-journey-mobile.architecture.json new file mode 100644 index 0000000..20f2dd3 --- /dev/null +++ b/diagrams/strategy-journey-mobile.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Skills before authority", + "output": "static/diagrams/strategy-journey-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "skills", + "type": "backend", + "label": "Govern skills", + "sublabel": "Owner + pinned revision", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "prove", + "type": "backend", + "label": "Prove quality", + "sublabel": "Independent evaluation", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "pilot", + "type": "backend", + "label": "Pilot with people", + "sublabel": "Qualified local clients", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribute", + "type": "backend", + "label": "Verify distribution", + "sublabel": "Canary + rollback", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordinate", + "type": "backend", + "label": "Coordinate delivery", + "sublabel": "One logical SDLC agent", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expand", + "type": "backend", + "label": "Expand by evidence", + "sublabel": "Department outcomes", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "skills", + "to": "prove", + "label": "qualify" + }, + { + "id": "flow-1", + "from": "prove", + "to": "pilot", + "label": "coach" + }, + { + "id": "flow-2", + "from": "pilot", + "to": "distribute", + "label": "Verify" + }, + { + "id": "flow-3", + "from": "distribute", + "to": "coordinate", + "label": "prove recovery" + }, + { + "id": "flow-4", + "from": "coordinate", + "to": "expand", + "label": "Justify" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-journey.architecture.json b/diagrams/strategy-journey.architecture.json new file mode 100644 index 0000000..ee3bd14 --- /dev/null +++ b/diagrams/strategy-journey.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Skills before authority", + "output": "static/diagrams/strategy-journey/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "skills", + "type": "backend", + "label": "Govern skills", + "sublabel": "Owner + pinned revision", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "prove", + "type": "backend", + "label": "Prove quality", + "sublabel": "Independent evaluation", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "pilot", + "type": "backend", + "label": "Pilot with people", + "sublabel": "Qualified local clients", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribute", + "type": "backend", + "label": "Verify distribution", + "sublabel": "Canary + rollback", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordinate", + "type": "backend", + "label": "Coordinate delivery", + "sublabel": "One logical SDLC agent", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expand", + "type": "backend", + "label": "Expand by evidence", + "sublabel": "Department outcomes", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "skills", + "to": "prove", + "label": "qualify" + }, + { + "id": "flow-1", + "from": "prove", + "to": "pilot", + "label": "coach" + }, + { + "id": "flow-2", + "from": "pilot", + "to": "distribute", + "label": "Verify" + }, + { + "id": "flow-3", + "from": "distribute", + "to": "coordinate", + "label": "prove recovery" + }, + { + "id": "flow-4", + "from": "coordinate", + "to": "expand", + "label": "Justify" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-maintenance-mobile.architecture.json b/diagrams/strategy-maintenance-mobile.architecture.json new file mode 100644 index 0000000..cfdb0d9 --- /dev/null +++ b/diagrams/strategy-maintenance-mobile.architecture.json @@ -0,0 +1,141 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Maintain trust over time", + "output": "static/diagrams/strategy-maintenance-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "monitor", + "type": "backend", + "label": "Monitor skills", + "sublabel": "Usefulness + safety", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "triage", + "type": "backend", + "label": "Triage changes", + "sublabel": "Owner + risk review", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "correct", + "type": "backend", + "label": "Correct and test", + "sublabel": "Independent regression", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "decision", + "type": "backend", + "label": "Approve or hold", + "sublabel": "Exact revised bundle", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "promote", + "type": "backend", + "label": "Promote safely", + "sublabel": "Verify state + monitor", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "observe", + "type": "backend", + "label": "Quarantine / rollback", + "sublabel": "Revoke unsafe revision", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "monitor", + "to": "triage", + "label": "Detect" + }, + { + "id": "flow-1", + "from": "triage", + "to": "correct", + "label": "scope correction" + }, + { + "id": "flow-2", + "from": "correct", + "to": "decision", + "label": "Prove" + }, + { + "id": "flow-3", + "from": "decision", + "to": "promote", + "label": "authorize" + }, + + { + "id": "unsafe", + "from": "triage", + "to": "observe", + "label": "Unsafe", + "variant": "security", + "fromSide": "right", + "toSide": "right" + }, + { + "id": "review-loop", + "from": "observe", + "to": "correct", + "label": "Requalify", + "variant": "dashed" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-maintenance.architecture.json b/diagrams/strategy-maintenance.architecture.json new file mode 100644 index 0000000..06d3b9a --- /dev/null +++ b/diagrams/strategy-maintenance.architecture.json @@ -0,0 +1,141 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Maintain trust over time", + "output": "static/diagrams/strategy-maintenance/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "monitor", + "type": "backend", + "label": "Monitor skills", + "sublabel": "Usefulness + safety", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "triage", + "type": "backend", + "label": "Triage changes", + "sublabel": "Owner + risk review", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "correct", + "type": "backend", + "label": "Correct and test", + "sublabel": "Independent regression", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "decision", + "type": "backend", + "label": "Approve or hold", + "sublabel": "Exact revised bundle", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "promote", + "type": "backend", + "label": "Promote safely", + "sublabel": "Verify state + monitor", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "observe", + "type": "backend", + "label": "Quarantine / rollback", + "sublabel": "Revoke unsafe revision", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "monitor", + "to": "triage", + "label": "Detect" + }, + { + "id": "flow-1", + "from": "triage", + "to": "correct", + "label": "scope correction" + }, + { + "id": "flow-2", + "from": "correct", + "to": "decision", + "label": "Prove" + }, + { + "id": "flow-3", + "from": "decision", + "to": "promote", + "label": "authorize" + }, + + { + "id": "unsafe", + "from": "triage", + "to": "observe", + "label": "Unsafe", + "variant": "security", + "fromSide": "right", + "toSide": "right" + }, + { + "id": "review-loop", + "from": "observe", + "to": "correct", + "label": "Requalify", + "variant": "dashed" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-measurement-mobile.architecture.json b/diagrams/strategy-measurement-mobile.architecture.json new file mode 100644 index 0000000..a293aab --- /dev/null +++ b/diagrams/strategy-measurement-mobile.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Evidence before claims", + "output": "static/diagrams/strategy-measurement-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "collect", + "type": "backend", + "label": "Collect evidence", + "sublabel": "Task / CI / incident", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "validate", + "type": "backend", + "label": "Validate sources", + "sublabel": "Joins + missingness", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "calculate", + "type": "backend", + "label": "Calculate measures", + "sublabel": "16 exact contracts", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "balance", + "type": "backend", + "label": "Read balanced signals", + "sublabel": "Quality / flow / risk", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "weigh", + "type": "backend", + "label": "Weigh benefit and cost", + "sublabel": "Outcomes / cost / people", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "decide", + "type": "backend", + "label": "Continue or change", + "sublabel": "No causal ROI claim", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "collect", + "to": "validate", + "label": "Check" + }, + { + "id": "flow-1", + "from": "validate", + "to": "calculate", + "label": "apply definitions" + }, + { + "id": "flow-2", + "from": "calculate", + "to": "balance", + "label": "compare" + }, + { + "id": "flow-3", + "from": "balance", + "to": "weigh", + "label": "consider together" + }, + { + "id": "flow-4", + "from": "weigh", + "to": "decide", + "label": "decide" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-measurement.architecture.json b/diagrams/strategy-measurement.architecture.json new file mode 100644 index 0000000..6fe684f --- /dev/null +++ b/diagrams/strategy-measurement.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Evidence before claims", + "output": "static/diagrams/strategy-measurement/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "collect", + "type": "backend", + "label": "Collect evidence", + "sublabel": "Task / CI / incident", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "validate", + "type": "backend", + "label": "Validate sources", + "sublabel": "Joins + missingness", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "calculate", + "type": "backend", + "label": "Calculate measures", + "sublabel": "16 exact contracts", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "balance", + "type": "backend", + "label": "Read balanced signals", + "sublabel": "Quality / flow / risk", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "weigh", + "type": "backend", + "label": "Weigh benefit and cost", + "sublabel": "Outcomes / cost / people", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "decide", + "type": "backend", + "label": "Continue or change", + "sublabel": "No causal ROI claim", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "collect", + "to": "validate", + "label": "Check" + }, + { + "id": "flow-1", + "from": "validate", + "to": "calculate", + "label": "apply definitions" + }, + { + "id": "flow-2", + "from": "calculate", + "to": "balance", + "label": "compare" + }, + { + "id": "flow-3", + "from": "balance", + "to": "weigh", + "label": "consider together" + }, + { + "id": "flow-4", + "from": "weigh", + "to": "decide", + "label": "decide" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-quality-mobile.architecture.json b/diagrams/strategy-quality-mobile.architecture.json new file mode 100644 index 0000000..7ab18d8 --- /dev/null +++ b/diagrams/strategy-quality-mobile.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Risk-tiered qualification", + "output": "static/diagrams/strategy-quality-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "risk", + "type": "security", + "label": "Classify risk", + "sublabel": "R1 / R2 / R3", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "plan", + "type": "security", + "label": "Agree evaluation", + "sublabel": "Task mix + thresholds", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "trial", + "type": "security", + "label": "Repeat trials", + "sublabel": "Candidate vs approved", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "verify", + "type": "security", + "label": "Verify artifacts", + "sublabel": "Independent checks", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "gate", + "type": "security", + "label": "All gates pass?", + "sublabel": "Safety cannot be traded", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "promote", + "type": "security", + "label": "Promote or hold", + "sublabel": "Owner decision", + "pos": [ + 20, + 620 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "risk", + "to": "plan", + "label": "Scope" + }, + { + "id": "flow-1", + "from": "plan", + "to": "trial", + "label": "freeze plan" + }, + { + "id": "flow-2", + "from": "trial", + "to": "verify", + "label": "Assess" + }, + { + "id": "flow-3", + "from": "verify", + "to": "gate", + "label": "review evidence" + }, + { + "id": "flow-4", + "from": "gate", + "to": "promote", + "label": "decide" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-quality.architecture.json b/diagrams/strategy-quality.architecture.json new file mode 100644 index 0000000..baf9879 --- /dev/null +++ b/diagrams/strategy-quality.architecture.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Risk-tiered qualification", + "output": "static/diagrams/strategy-quality/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "risk", + "type": "security", + "label": "Classify risk", + "sublabel": "R1 / R2 / R3", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "plan", + "type": "security", + "label": "Agree evaluation", + "sublabel": "Task mix + thresholds", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "trial", + "type": "security", + "label": "Repeat trials", + "sublabel": "Candidate vs approved", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "verify", + "type": "security", + "label": "Verify artifacts", + "sublabel": "Independent checks", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "gate", + "type": "security", + "label": "All gates pass?", + "sublabel": "Safety cannot be traded", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "promote", + "type": "security", + "label": "Promote or hold", + "sublabel": "Owner decision", + "pos": [ + 260, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "risk", + "to": "plan", + "label": "Scope" + }, + { + "id": "flow-1", + "from": "plan", + "to": "trial", + "label": "freeze plan" + }, + { + "id": "flow-2", + "from": "trial", + "to": "verify", + "label": "Assess" + }, + { + "id": "flow-3", + "from": "verify", + "to": "gate", + "label": "review evidence" + }, + { + "id": "flow-4", + "from": "gate", + "to": "promote", + "label": "decide" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-roadmap-mobile.architecture.json b/diagrams/strategy-roadmap-mobile.architecture.json new file mode 100644 index 0000000..5aaff8f --- /dev/null +++ b/diagrams/strategy-roadmap-mobile.architecture.json @@ -0,0 +1,110 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Evidence-gated rollout", + "output": "static/diagrams/strategy-roadmap-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "foundation", + "type": "backend", + "label": "1 \u00b7 Foundation", + "sublabel": "People + data + baseline", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "pilot", + "type": "backend", + "label": "2 \u00b7 Skills pilot", + "sublabel": "Qualified, useful work", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribution", + "type": "backend", + "label": "3 \u00b7 Distribution", + "sublabel": "Revocation + recovery", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordination", + "type": "backend", + "label": "4 \u00b7 Coordination", + "sublabel": "Human takeover proven", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expansion", + "type": "backend", + "label": "5 \u00b7 Departments", + "sublabel": "Outcomes + cost + risk", + "pos": [ + 20, + 500 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "foundation", + "to": "pilot", + "label": "Charter" + }, + { + "id": "flow-1", + "from": "pilot", + "to": "distribution", + "label": "quality + coverage" + }, + { + "id": "flow-2", + "from": "distribution", + "to": "coordination", + "label": "Controls" + }, + { + "id": "flow-3", + "from": "coordination", + "to": "expansion", + "label": "authority drills pass" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-roadmap.architecture.json b/diagrams/strategy-roadmap.architecture.json new file mode 100644 index 0000000..ce8637c --- /dev/null +++ b/diagrams/strategy-roadmap.architecture.json @@ -0,0 +1,110 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: Evidence-gated rollout", + "output": "static/diagrams/strategy-roadmap/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "foundation", + "type": "backend", + "label": "1 \u00b7 Foundation", + "sublabel": "People + data + baseline", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "pilot", + "type": "backend", + "label": "2 \u00b7 Skills pilot", + "sublabel": "Qualified, useful work", + "pos": [ + 260, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "distribution", + "type": "backend", + "label": "3 \u00b7 Distribution", + "sublabel": "Revocation + recovery", + "pos": [ + 260, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordination", + "type": "backend", + "label": "4 \u00b7 Coordination", + "sublabel": "Human takeover proven", + "pos": [ + 20, + 150 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "expansion", + "type": "backend", + "label": "5 \u00b7 Departments", + "sublabel": "Outcomes + cost + risk", + "pos": [ + 20, + 280 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "foundation", + "to": "pilot", + "label": "Charter" + }, + { + "id": "flow-1", + "from": "pilot", + "to": "distribution", + "label": "quality + coverage" + }, + { + "id": "flow-2", + "from": "distribution", + "to": "coordination", + "label": "Controls" + }, + { + "id": "flow-3", + "from": "coordination", + "to": "expansion", + "label": "authority drills pass" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-target-mobile.architecture.json b/diagrams/strategy-target-mobile.architecture.json new file mode 100644 index 0000000..5b4e467 --- /dev/null +++ b/diagrams/strategy-target-mobile.architecture.json @@ -0,0 +1,156 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: coordination without authority transfer", + "output": "static/diagrams/strategy-target-mobile/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "people", + "type": "backend", + "label": "People authorize", + "sublabel": "Retain accountability", + "pos": [ + 40, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordinator", + "type": "backend", + "label": "SDLC coordinator", + "sublabel": "Routes approved work", + "pos": [ + 40, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "clients", + "type": "backend", + "label": "Local coding agents", + "sublabel": "Propose changes", + "pos": [ + 40, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "gates", + "type": "security", + "label": "Repository + CI", + "sublabel": "Verify exact revision", + "pos": [ + 40, + 500 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "registry", + "type": "backend", + "label": "Governed skills", + "sublabel": "Pinned + qualified", + "pos": [ + 40, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "approval", + "type": "security", + "label": "Human approval", + "sublabel": "Exact artifact + scope", + "pos": [ + 40, + 620 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "release", + "type": "security", + "label": "Release service", + "sublabel": "Production credentials", + "pos": [ + 40, + 740 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "people", + "to": "coordinator", + "label": "Authorize scope" + }, + { + "id": "flow-1", + "from": "coordinator", + "to": "clients", + "label": "Route tasks" + }, + { + "id": "flow-2", + "from": "registry", + "to": "coordinator", + "label": "Guide" + }, + { + "id": "flow-3", + "from": "registry", + "to": "clients", + "label": "Guide" + }, + { + "id": "flow-4", + "from": "clients", + "to": "gates", + "label": "Propose" + }, + { + "id": "flow-5", + "from": "gates", + "to": "approval", + "label": "Evidence" + }, + { + "id": "flow-6", + "from": "approval", + "to": "release", + "label": "Authorize" + } + ] +} \ No newline at end of file diff --git a/diagrams/strategy-target.architecture.json b/diagrams/strategy-target.architecture.json new file mode 100644 index 0000000..d7605e4 --- /dev/null +++ b/diagrams/strategy-target.architecture.json @@ -0,0 +1,156 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "TO-BE: coordination without authority transfer", + "output": "static/diagrams/strategy-target/index.html", + "quality_profile": "showcase", + "legend": { + "mode": "hidden" + } + }, + "components": [ + { + "id": "people", + "type": "backend", + "label": "People authorize", + "sublabel": "Retain accountability", + "pos": [ + 20, + 20 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "coordinator", + "type": "backend", + "label": "SDLC coordinator", + "sublabel": "Routes approved work", + "pos": [ + 20, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "clients", + "type": "backend", + "label": "Local coding agents", + "sublabel": "Propose changes", + "pos": [ + 20, + 260 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "gates", + "type": "security", + "label": "Repository + CI", + "sublabel": "Verify exact revision", + "pos": [ + 20, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "registry", + "type": "backend", + "label": "Governed skills", + "sublabel": "Pinned + qualified", + "pos": [ + 260, + 140 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "approval", + "type": "security", + "label": "Human approval", + "sublabel": "Exact artifact + scope", + "pos": [ + 260, + 380 + ], + "size": [ + 180, + 60 + ] + }, + { + "id": "release", + "type": "security", + "label": "Release service", + "sublabel": "Production credentials", + "pos": [ + 260, + 500 + ], + "size": [ + 180, + 60 + ] + } + ], + "connections": [ + { + "id": "flow-0", + "from": "people", + "to": "coordinator", + "label": "Authorize scope" + }, + { + "id": "flow-1", + "from": "coordinator", + "to": "clients", + "label": "Route tasks" + }, + { + "id": "flow-2", + "from": "registry", + "to": "coordinator", + "label": "Guide" + }, + { + "id": "flow-3", + "from": "registry", + "to": "clients", + "label": "Guide" + }, + { + "id": "flow-4", + "from": "clients", + "to": "gates", + "label": "Propose" + }, + { + "id": "flow-5", + "from": "gates", + "to": "approval", + "label": "Evidence" + }, + { + "id": "flow-6", + "from": "approval", + "to": "release", + "label": "Authorize" + } + ] +} \ No newline at end of file diff --git a/docs/strategy/index.mdx b/docs/strategy/index.mdx index d2475b9..90393ab 100644 --- a/docs/strategy/index.mdx +++ b/docs/strategy/index.mdx @@ -3,11 +3,28 @@ id: index title: AI adoption strategy description: Govern skills first; outcomes before activity; explicit target status. slug: / +hide_table_of_contents: true --- +import ArchifyDiagram from '@site/src/components/ArchifyDiagram';