@jterrats/open-orchestra 1.0.2 → 1.0.3

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.
Files changed (145) hide show
  1. package/AGENTS.md +7 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +3 -0
  4. package/dist/args.js +12 -2
  5. package/dist/args.js.map +1 -1
  6. package/dist/assets/web-console.js +44 -0
  7. package/dist/autonomous-phase-lifecycle.js +23 -3
  8. package/dist/autonomous-phase-lifecycle.js.map +1 -1
  9. package/dist/autonomous-run-state.js +2 -0
  10. package/dist/autonomous-run-state.js.map +1 -1
  11. package/dist/benchmark.js +6 -0
  12. package/dist/benchmark.js.map +1 -1
  13. package/dist/cli.js +4 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/command-manifest.js +4 -3
  16. package/dist/command-manifest.js.map +1 -1
  17. package/dist/command-utils.js +4 -5
  18. package/dist/command-utils.js.map +1 -1
  19. package/dist/commands.d.ts +1 -1
  20. package/dist/commands.js +1 -1
  21. package/dist/commands.js.map +1 -1
  22. package/dist/metrics-commands.js +8 -0
  23. package/dist/metrics-commands.js.map +1 -1
  24. package/dist/roles/core-roles.js +10 -5
  25. package/dist/roles/core-roles.js.map +1 -1
  26. package/dist/skills-catalog.js +67 -0
  27. package/dist/skills-catalog.js.map +1 -1
  28. package/dist/skills-commands.d.ts +1 -0
  29. package/dist/skills-commands.js +37 -1
  30. package/dist/skills-commands.js.map +1 -1
  31. package/dist/skills-planning.d.ts +2 -1
  32. package/dist/skills-planning.js +79 -11
  33. package/dist/skills-planning.js.map +1 -1
  34. package/dist/skills.d.ts +1 -1
  35. package/dist/skills.js +1 -1
  36. package/dist/skills.js.map +1 -1
  37. package/dist/task-graph-commands.js +36 -8
  38. package/dist/task-graph-commands.js.map +1 -1
  39. package/dist/types/metrics.d.ts +2 -0
  40. package/dist/types/skills.d.ts +9 -0
  41. package/dist/types/tasks.d.ts +8 -1
  42. package/dist/types.d.ts +2 -2
  43. package/dist/types.js.map +1 -1
  44. package/dist/web-api.js +80 -7
  45. package/dist/web-api.js.map +1 -1
  46. package/dist/workflow-approval-service.js +13 -0
  47. package/dist/workflow-approval-service.js.map +1 -1
  48. package/dist/workflow-evidence-service.js +37 -2
  49. package/dist/workflow-evidence-service.js.map +1 -1
  50. package/dist/workflow-gates.js +56 -1
  51. package/dist/workflow-gates.js.map +1 -1
  52. package/dist/workflow-phase-planner.js +51 -9
  53. package/dist/workflow-phase-planner.js.map +1 -1
  54. package/dist/workflow-run-commands.d.ts +1 -0
  55. package/dist/workflow-run-commands.js +11 -6
  56. package/dist/workflow-run-commands.js.map +1 -1
  57. package/dist/workflow-services.js +24 -0
  58. package/dist/workflow-services.js.map +1 -1
  59. package/dist/workflow-task-service.js +27 -2
  60. package/dist/workflow-task-service.js.map +1 -1
  61. package/docs/adoption-guide.md +22 -1
  62. package/docs/advisory-supervisor-architecture.md +206 -0
  63. package/docs/architecture.md +47 -41
  64. package/docs/autonomous-workflow.md +2 -2
  65. package/docs/backlog/ac-evidence-bugfix-stories-20260517.md +76 -0
  66. package/docs/backlog/dev-best-practices-hardening-story.md +69 -0
  67. package/docs/backlog/docs-public-internal-package-hygiene-story.md +62 -0
  68. package/docs/backlog/prompt-bank-registry-epic.md +159 -0
  69. package/docs/backlog/site-docs-manifest-story.md +56 -0
  70. package/docs/dev-team-specialist-role-profiles.md +1 -1
  71. package/docs/diagrams/diagram-master-prompt.md +207 -0
  72. package/docs/diagrams/enterprise-set/README.md +22 -0
  73. package/docs/diagrams/enterprise-set/lead-to-account-swimlanes.svg +38 -0
  74. package/docs/diagrams/enterprise-set/product-implementation-timeline.svg +45 -0
  75. package/docs/diagrams/enterprise-set/salesforce-enterprise-architecture.svg +54 -0
  76. package/docs/diagrams/experiments/pixel-v2-review.md +124 -0
  77. package/docs/diagrams/experiments/roadmap/diagram.mmd +14 -0
  78. package/docs/diagrams/experiments/roadmap/diagram.svg +48 -0
  79. package/docs/diagrams/experiments/roadmap/experiment.md +44 -0
  80. package/docs/diagrams/experiments/sfdc-implementation/diagram.mmd +54 -0
  81. package/docs/diagrams/experiments/sfdc-implementation/diagram.svg +72 -0
  82. package/docs/diagrams/experiments/sfdc-implementation/experiment.md +41 -0
  83. package/docs/diagrams/experiments/swimlane/diagram.mmd +40 -0
  84. package/docs/diagrams/experiments/swimlane/diagram.svg +70 -0
  85. package/docs/diagrams/experiments/swimlane/experiment.md +50 -0
  86. package/docs/diagrams/experiments/timeline/diagram.mmd +9 -0
  87. package/docs/diagrams/experiments/timeline/diagram.svg +29 -0
  88. package/docs/diagrams/experiments/timeline/experiment.md +34 -0
  89. package/docs/diagrams/final-artifact-hygiene.md +40 -0
  90. package/docs/diagrams/mermaid-target-strategy.md +106 -0
  91. package/docs/diagrams/payment-gateway/architecture.md +57 -0
  92. package/docs/diagrams/payment-gateway/architecture.mmd +39 -0
  93. package/docs/diagrams/payment-gateway/architecture.svg +171 -0
  94. package/docs/diagrams/prompt-bank.md +48 -0
  95. package/docs/diagrams/salesforce-integration/architecture.md +56 -0
  96. package/docs/diagrams/salesforce-integration/architecture.mmd +26 -0
  97. package/docs/diagrams/salesforce-integration/architecture.svg +123 -0
  98. package/docs/diagrams/source-fidelity-review.md +116 -0
  99. package/docs/diagrams/state-uml-recreated.drawio +336 -0
  100. package/docs/diagrams/state-uml-recreated.prompt.md +114 -0
  101. package/docs/diagrams/state-uml-recreated.prompt.v10.md +52 -0
  102. package/docs/diagrams/state-uml-recreated.prompt.v11.md +52 -0
  103. package/docs/diagrams/state-uml-recreated.prompt.v12.md +50 -0
  104. package/docs/diagrams/state-uml-recreated.prompt.v14.md +91 -0
  105. package/docs/diagrams/state-uml-recreated.prompt.v2.md +31 -0
  106. package/docs/diagrams/state-uml-recreated.prompt.v3.md +36 -0
  107. package/docs/diagrams/state-uml-recreated.prompt.v4.md +35 -0
  108. package/docs/diagrams/state-uml-recreated.prompt.v5.md +35 -0
  109. package/docs/diagrams/state-uml-recreated.prompt.v6.md +39 -0
  110. package/docs/diagrams/state-uml-recreated.prompt.v7.md +37 -0
  111. package/docs/diagrams/state-uml-recreated.prompt.v8.md +41 -0
  112. package/docs/diagrams/state-uml-recreated.prompt.v9.md +32 -0
  113. package/docs/diagrams/state-uml-recreated.svg +159 -0
  114. package/docs/diagrams/v14-stress-test/README.md +33 -0
  115. package/docs/diagrams/v14-stress-test/stress-test.svg +114 -0
  116. package/docs/external-artifact-import-bridge.md +56 -0
  117. package/docs/{setup-agents-applicability-review.md → external-baseline-applicability-review.md} +37 -40
  118. package/docs/{setup-agents-dogfooding-findings.md → external-baseline-dogfooding-findings.md} +10 -9
  119. package/docs/multi-agent-orchestrator-backlog.md +1 -1
  120. package/docs/orchestra-mvp.md +19 -0
  121. package/docs/persona-workflows.md +42 -0
  122. package/docs/release-test-matrix.md +21 -9
  123. package/docs/reports/ac-evidence-backfill-20260517.md +256 -0
  124. package/docs/reports/ac-evolution-reconciliation-20260517.md +366 -0
  125. package/docs/reports/ac-failure-evidence-20260517.md +115 -0
  126. package/docs/reports/ac-history-dry-run-20260517.md +434 -0
  127. package/docs/runtime-llm-flow.md +8 -0
  128. package/docs/site-content-workflow.md +96 -0
  129. package/docs/site-manifest.json +143 -0
  130. package/docs/skill-loading-strategy.md +18 -7
  131. package/docs/story-mapping-adoption-review.md +99 -0
  132. package/docs/workspace-repo-strategy.md +63 -0
  133. package/package.json +3 -1
  134. package/rules/agent-collaboration.mdc +2 -0
  135. package/rules/code-review-engineering.mdc +2 -0
  136. package/rules/delivery-quality-gates.mdc +12 -0
  137. package/rules/development-engineering.mdc +3 -0
  138. package/rules/diagram-quality.mdc +35 -0
  139. package/rules/module-boundaries.mdc +71 -0
  140. package/rules/testing-discipline.mdc +13 -0
  141. package/skills/collection-standards/SKILL.md +2 -0
  142. package/skills/diagram-export/SKILL.md +30 -0
  143. package/skills/qa-evidence-pack/SKILL.md +110 -0
  144. package/skills/qa-evidence-pack/manifest.json +60 -0
  145. package/docs/setup-agents-bridge.md +0 -61
@@ -0,0 +1,44 @@
1
+ # Technology Roadmap Diagram Experiment
2
+
3
+ Task: DIAGRAM-ROADMAP-EXPERIMENT
4
+
5
+ ## Source Inventory
6
+
7
+ - `roadmap-technology-component.pdf`: one-page technology component roadmap with a title band, legend, month columns, a left-side product lane, and rounded initiative cards positioned by time span.
8
+
9
+ ## Element Contract
10
+
11
+ - Audience: delivery leads and technical stakeholders planning releases and dependencies.
12
+ - Reading flow: month grid left to right; cards occupy the months where work happens.
13
+ - Layout: single product lane with month columns January through June.
14
+ - Nodes: initiative cards with title, start/end date, dependency note, and component icons.
15
+ - Visual constraints: cards must align to month columns, legend must stay separate from the schedule, and card shadows should not imply grouping.
16
+
17
+ ## Prompt Used
18
+
19
+ Create a technology component roadmap diagram as SVG.
20
+
21
+ Use a title block on the upper left, a compact legend on the upper right, and a
22
+ timeline grid below. The grid has a left lane label and six monthly columns:
23
+ January, February, March, April, May, June. Use rounded initiative cards placed
24
+ inside the grid by rough date span. Include these initiatives:
25
+
26
+ - Environment Set-Up, January 15 to February 1, dependency Environment.
27
+ - Account and Contact Management, February 5 to March 15, dependency Environment.
28
+ - Custom Lead Conversion Process, February 15 to April 10, dependency Leads.
29
+ - Opportunity and Quote Management, March 15 to April 15, dependency Accounts, Contacts, Leads.
30
+ - CPQ Integration, March 20 to April 25, dependency Environment.
31
+ - Forecasting, April 20 to May 15, dependency Accounts, Contacts, Leads.
32
+ - Territory Management, April 15 to May 10, dependency Accounts, Contacts, Leads.
33
+
34
+ Use icon dots inside each card to show component categories. Align every card to
35
+ the relevant month region. Re-evaluate text fit, timeline alignment, overlap,
36
+ and legend spacing after rendering.
37
+
38
+ ## Evaluation Findings
39
+
40
+ - Roadmaps need column-grid fidelity more than connector fidelity; small card shifts can change perceived timing.
41
+ - Card density becomes a problem when initiatives overlap in the same months; vertical staggering must be part of the prompt.
42
+ - Icons work as metadata, but they need a legend and consistent spacing.
43
+ - A future master rule should require roadmap card start/end alignment checks against the declared time axis.
44
+
@@ -0,0 +1,54 @@
1
+ flowchart TB
2
+ subgraph app["Application, Service, Orchestration and Agentic Layer"]
3
+ WS["Collaboration Workspace"]
4
+ EO["Employee Org"]
5
+ SO["Service Org"]
6
+ SA["Sales Org"]
7
+ PO["Partner Org"]
8
+ CS["Customer Success Org"]
9
+ WS --> EO
10
+ WS --> SO
11
+ WS --> SA
12
+ WS --> PO
13
+ WS --> CS
14
+ end
15
+
16
+ subgraph bi["Business Intelligence and Reporting Layer"]
17
+ AC["Analytics Cloud"]
18
+ end
19
+
20
+ subgraph data["Data Platform and Unification Layer"]
21
+ DP2["Data Platform Instance 2\nEmployee, IT, Security, Legal"]
22
+ DP1["Data Platform Instance 1\nSales, Knowledge, CS, M&A, Marketing"]
23
+ DP2 <--> DP1
24
+ end
25
+
26
+ subgraph external["External Data and Federation Layer"]
27
+ FED["Query and Federation Layer"]
28
+ EDW["EDW"]
29
+ MA["M&A EDW"]
30
+ TL["Telemetry Lake"]
31
+ FED --> EDW
32
+ FED --> MA
33
+ FED --> TL
34
+ end
35
+
36
+ subgraph source["Source Layer"]
37
+ SRC1["1P and 3P Data"]
38
+ SRC2["Structured Data"]
39
+ SRC3["Enterprise Systems"]
40
+ SRC4["Marketing Systems"]
41
+ SRC5["App Logs and Telemetry"]
42
+ end
43
+
44
+ EO --> DP2
45
+ SO --> AC
46
+ SA --> AC
47
+ PO --> DP1
48
+ CS --> DP1
49
+ AC --> DP1
50
+ DP1 --> FED
51
+ DP2 --> SRC2
52
+ EDW --> SRC3
53
+ MA --> SRC4
54
+ TL --> SRC5
@@ -0,0 +1,72 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1380" height="980" viewBox="0 0 1380 980" role="img" aria-labelledby="title desc">
2
+ <title id="title">Layered implementation architecture experiment</title>
3
+ <desc id="desc">Five-layer enterprise implementation architecture with application orgs, reporting, data platforms, external data, and source systems.</desc>
4
+ <defs>
5
+ <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
6
+ <path d="M0 0 L10 5 L0 10 z" fill="#7b8497"/>
7
+ </marker>
8
+ <style>
9
+ .font{font-family:Arial,Helvetica,sans-serif}.title{fill:#2f3747;font-size:22px;font-weight:700}.sub{fill:#3f4858;font-size:11px}.layerLabel{fill:#fff;font-size:14px;font-weight:700}.band{fill:#f0f1fc}.rail{fill:#6155f6}.card{fill:#fff;stroke:#7a8394;stroke-width:1.4}.bar{fill:#fff;stroke:#7a8394;stroke-width:1.4}.cardTitle{fill:#243044;font-size:13px;font-weight:700}.small{fill:#374151;font-size:10px}.chip{fill:#e8fff8;stroke:#bde9db}.chip2{fill:#fff3f3;stroke:#f0c7c7}.edge{fill:none;stroke:#8d96a8;stroke-width:1.5;marker-end:url(#arrow)}.edgeSoft{fill:none;stroke:#8d96a8;stroke-width:1.2}.badgeText{fill:#fff;font-size:9px;font-weight:700}
10
+ </style>
11
+ </defs>
12
+ <rect width="1380" height="980" fill="#fff"/>
13
+ <g class="font">
14
+ <text class="title" x="82" y="78">Customer Zero Implementation Architecture</text>
15
+ <text class="sub" x="82" y="104">Layered view of service, reporting, data platform, external data, and source system relationships.</text>
16
+ <path d="M760 42 C800 78 800 118 760 154 H1320 V42 Z" fill="#e5e7eb"/>
17
+ <rect x="930" y="58" width="320" height="80" rx="8" fill="#fff"/>
18
+ <circle cx="960" cy="82" r="10" fill="#f97316"/><text class="small" x="978" y="86">Cloud service</text>
19
+ <circle cx="1080" cy="82" r="10" fill="#4285f4"/><text class="small" x="1098" y="86">Ads / media</text>
20
+ <circle cx="960" cy="114" r="10" fill="#2563eb"/><text class="small" x="978" y="118">Data platform</text>
21
+ <circle cx="1080" cy="114" r="10" fill="#4b5563"/><text class="small" x="1098" y="118">External app</text>
22
+ <g>
23
+ <rect class="rail" x="70" y="178" width="160" height="238" rx="8"/><text class="layerLabel" x="150" y="274" text-anchor="middle">Application</text><text class="layerLabel" x="150" y="294" text-anchor="middle">Service</text><text class="layerLabel" x="150" y="314" text-anchor="middle">Orchestration</text><text class="layerLabel" x="150" y="334" text-anchor="middle">Agentic Layer</text>
24
+ <rect class="rail" x="70" y="424" width="160" height="118" rx="8"/><text class="layerLabel" x="150" y="466" text-anchor="middle">Business</text><text class="layerLabel" x="150" y="486" text-anchor="middle">Intelligence and</text><text class="layerLabel" x="150" y="506" text-anchor="middle">Reporting Layer</text>
25
+ <rect class="rail" x="70" y="550" width="160" height="154" rx="8"/><text class="layerLabel" x="150" y="610" text-anchor="middle">Data Platform</text><text class="layerLabel" x="150" y="630" text-anchor="middle">and Unification</text><text class="layerLabel" x="150" y="650" text-anchor="middle">Layer</text>
26
+ <rect class="rail" x="70" y="712" width="160" height="150" rx="8"/><text class="layerLabel" x="150" y="770" text-anchor="middle">External Data</text><text class="layerLabel" x="150" y="790" text-anchor="middle">and Federation</text><text class="layerLabel" x="150" y="810" text-anchor="middle">Layer</text>
27
+ <rect class="rail" x="70" y="870" width="160" height="82" rx="8"/><text class="layerLabel" x="150" y="906" text-anchor="middle">Source Layer</text>
28
+ </g>
29
+ <rect class="band" x="245" y="178" width="1070" height="238" rx="10"/>
30
+ <rect class="band" x="245" y="424" width="1070" height="118" rx="10"/>
31
+ <rect class="band" x="245" y="550" width="1070" height="154" rx="10"/>
32
+ <rect class="band" x="245" y="712" width="1070" height="150" rx="10"/>
33
+ <rect class="band" x="245" y="870" width="1070" height="82" rx="10"/>
34
+ <rect class="bar" x="280" y="192" width="820" height="54" rx="8"/><text class="cardTitle" x="300" y="225">Collaboration Workspace</text>
35
+ <g>
36
+ <rect class="card" x="290" y="280" width="160" height="106" rx="8"/><text class="cardTitle" x="310" y="310">Employee Org</text><text class="small" x="310" y="334">Employee agents</text><text class="small" x="310" y="352">HR support</text>
37
+ <rect class="card" x="478" y="280" width="160" height="106" rx="8"/><text class="cardTitle" x="498" y="310">Service Org</text><text class="small" x="498" y="334">Service agents</text><text class="small" x="498" y="352">Support workflows</text>
38
+ <rect class="card" x="666" y="280" width="160" height="106" rx="8"/><text class="cardTitle" x="686" y="310">Sales Org</text><text class="small" x="686" y="334">Sales agents</text><text class="small" x="686" y="352">Revenue workflows</text>
39
+ <rect class="card" x="854" y="280" width="160" height="106" rx="8"/><text class="cardTitle" x="874" y="310">Partner Org</text><text class="small" x="874" y="334">Partner learning</text><text class="small" x="874" y="352">Lead routing</text>
40
+ <rect class="card" x="1042" y="280" width="160" height="106" rx="8"/><text class="cardTitle" x="1062" y="310">Customer Success</text><text class="small" x="1062" y="334">Incident response</text><text class="small" x="1062" y="352">Success metrics</text>
41
+ </g>
42
+ <rect class="card" x="660" y="454" width="190" height="64" rx="8"/><text class="cardTitle" x="682" y="482">Analytics Cloud</text><text class="small" x="682" y="500">Data intelligence and reporting</text>
43
+ <rect class="card" x="340" y="578" width="310" height="98" rx="8"/><text class="cardTitle" x="362" y="606">Data Platform Instance 2</text><rect class="chip" x="362" y="628" width="66" height="24" rx="5"/><text class="small" x="374" y="644">Employee</text><rect class="chip" x="436" y="628" width="56" height="24" rx="5"/><text class="small" x="451" y="644">IT</text><rect class="chip2" x="362" y="658" width="66" height="24" rx="5"/><text class="small" x="380" y="674">Security</text><rect class="chip2" x="436" y="658" width="56" height="24" rx="5"/><text class="small" x="452" y="674">Legal</text>
44
+ <rect class="card" x="880" y="578" width="310" height="98" rx="8"/><text class="cardTitle" x="902" y="606">Data Platform Instance 1</text><rect class="chip" x="902" y="628" width="58" height="24" rx="5"/><text class="small" x="918" y="644">Sales</text><rect class="chip" x="968" y="628" width="98" height="24" rx="5"/><text class="small" x="982" y="644">Unified Knowledge</text><rect class="chip2" x="902" y="658" width="58" height="24" rx="5"/><text class="small" x="920" y="674">CS</text><rect class="chip2" x="968" y="658" width="58" height="24" rx="5"/><text class="small" x="986" y="674">M&amp;A</text><rect class="chip2" x="1034" y="658" width="72" height="24" rx="5"/><text class="small" x="1048" y="674">Marketing</text>
45
+ <rect class="bar" x="736" y="692" width="280" height="24" rx="6"/><text class="small" x="876" y="708" text-anchor="middle">Data sharing between platform instances</text>
46
+ <rect class="bar" x="742" y="726" width="380" height="26" rx="6"/><text class="small" x="932" y="744" text-anchor="middle">Query and federation layer</text>
47
+ <g>
48
+ <rect class="card" x="690" y="772" width="150" height="58" rx="8"/><text class="cardTitle" x="710" y="804">EDW</text>
49
+ <rect class="card" x="860" y="772" width="150" height="58" rx="8"/><text class="cardTitle" x="880" y="804">M&amp;A EDW</text>
50
+ <rect class="card" x="1030" y="772" width="150" height="58" rx="8"/><text class="cardTitle" x="1050" y="804">Telemetry Lake</text>
51
+ </g>
52
+ <g>
53
+ <rect class="card" x="270" y="890" width="130" height="42" rx="7"/><text class="small" x="335" y="916" text-anchor="middle">1P and 3P Data</text>
54
+ <rect class="card" x="430" y="890" width="150" height="42" rx="7"/><text class="small" x="505" y="916" text-anchor="middle">Structured Data</text>
55
+ <rect class="card" x="610" y="890" width="170" height="42" rx="7"/><text class="small" x="695" y="916" text-anchor="middle">Enterprise Systems</text>
56
+ <rect class="card" x="810" y="890" width="160" height="42" rx="7"/><text class="small" x="890" y="916" text-anchor="middle">Marketing Systems</text>
57
+ <rect class="card" x="1000" y="890" width="180" height="42" rx="7"/><text class="small" x="1090" y="916" text-anchor="middle">App Logs and Telemetry</text>
58
+ </g>
59
+ <path class="edge" d="M370 386V578"/>
60
+ <path class="edge" d="M558 386V454"/>
61
+ <path class="edge" d="M746 386V454"/>
62
+ <path class="edge" d="M934 386V578"/>
63
+ <path class="edge" d="M1122 386V578"/>
64
+ <path class="edge" d="M755 518V578"/>
65
+ <path class="edgeSoft" d="M650 628H880"/>
66
+ <path class="edge" d="M495 676V890"/>
67
+ <path class="edge" d="M1035 676V772"/>
68
+ <path class="edge" d="M765 830V890"/>
69
+ <path class="edge" d="M935 830V890"/>
70
+ <path class="edge" d="M1105 830V890"/>
71
+ </g>
72
+ </svg>
@@ -0,0 +1,41 @@
1
+ # Implementation Architecture Diagram Experiment
2
+
3
+ Task: DIAGRAM-SFDC-IMPLEMENTATION-EXPERIMENT
4
+
5
+ ## Source Inventory
6
+
7
+ - `sfdc_customer_zero_implementation.pdf`: one-page layered enterprise implementation architecture. It uses a title/legend band, horizontal layer bands, a left-side layer label rail, system cards, internal subcards, many vertical integration lines, and external/source systems at the bottom.
8
+
9
+ ## Element Contract
10
+
11
+ - Audience: architecture reviewer evaluating system boundaries and data movement.
12
+ - Reading flow: top application layer down to source systems, with lateral data sharing between platform instances.
13
+ - Layers: Application/Service/Agentic, BI/Reporting, Data Platform, External Data, Source.
14
+ - Nodes: workspace cards, platform cards, external system cards, and integration bars.
15
+ - Connectors: mostly vertical, orthogonal, and labeled only for cross-layer meaning.
16
+ - Visual constraints: layer labels must align with bands, connectors must not hide system names, and dense icons should be abstracted into compact badges.
17
+
18
+ ## Prompt Used
19
+
20
+ Create a layered implementation architecture diagram as SVG.
21
+
22
+ Use a top title band and compact legend. Build five horizontal layers with a
23
+ purple label rail on the left. In the top layer, place five organization cards
24
+ under a collaboration bar. In the reporting layer, place a central analytics
25
+ card. In the data platform layer, place two platform instance cards with data
26
+ space chips and feature blocks. In the external data layer, place a shared query
27
+ and federation bar plus three data platform cards. In the source layer, place
28
+ five source system cards.
29
+
30
+ Use vertical orthogonal connectors between layers and one horizontal connector
31
+ between platform instances. Abstract vendor icons as small colored badges. Keep
32
+ all text inside cards, avoid connector overlap with labels, and re-evaluate
33
+ layer heights after rendering.
34
+
35
+ ## Evaluation Findings
36
+
37
+ - Dense enterprise diagrams need abstraction rules; copying every icon and micro-label from a reference makes the output unreadable.
38
+ - Layer bands are the primary structure; connectors should be secondary and lower contrast.
39
+ - The prompt must declare which labels are essential versus optional because source diagrams contain many small badges.
40
+ - Future master rules should add a density budget for architecture recreations: max cards per layer, max badges per card, and required zoom/screenshot review.
41
+
@@ -0,0 +1,40 @@
1
+ flowchart LR
2
+ subgraph client["Client"]
3
+ direction TB
4
+ C1(["Client submits PO"])
5
+ end
6
+
7
+ subgraph sales["Sales"]
8
+ direction TB
9
+ S1["Sales reviews costing"]
10
+ end
11
+
12
+ subgraph contracts["Contracts"]
13
+ direction TB
14
+ K1["Contracts review"]
15
+ K2{"Contract okay?"}
16
+ K3["Set mobilization date"]
17
+ K4["Complete requirements"]
18
+ K5["Completion date delayed"]
19
+ end
20
+
21
+ subgraph construction["Construction"]
22
+ direction TB
23
+ B1["Construction starts"]
24
+ B2{"Terms accepted?"}
25
+ B3["Return files to contractor"]
26
+ end
27
+
28
+ subgraph handover["Handover"]
29
+ direction TB
30
+ H1["Construction finished"]
31
+ H2(["Project handed over"])
32
+ end
33
+
34
+ C1 --> S1 --> K1 --> K2
35
+ K2 -- Yes --> K3 --> B1 --> B2
36
+ K2 -- No --> K4
37
+ K4 --> K3
38
+ B2 -- Yes --> H1 --> H2
39
+ B2 -- No --> B3 --> K5
40
+
@@ -0,0 +1,70 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1180" height="760" viewBox="0 0 1180 760" role="img" aria-labelledby="title desc">
2
+ <title id="title">Swimlane workflow experiment</title>
3
+ <desc id="desc">Five-lane process flow with department ownership, decisions, and handoff arrows.</desc>
4
+ <defs>
5
+ <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
6
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="#7384b7"/>
7
+ </marker>
8
+ <style>
9
+ .font{font-family:Arial,Helvetica,sans-serif}.h{fill:#fff;font-size:24px;font-weight:700}.icon{fill:#fff;font-size:32px;font-weight:700}.laneText{fill:#17213a;font-size:14px}.node{fill:#fff;stroke:#8ea0d4;stroke-width:2}.start{fill:#28208b;stroke:#8ea0d4;stroke-width:2}.process{fill:#6876e8;stroke:#8ea0d4;stroke-width:2}.process2{fill:#5b9df0;stroke:#8ea0d4;stroke-width:2}.end{fill:#0966d8;stroke:#7fb3ff;stroke-width:2}.txt{fill:#fff;font-size:14px}.small{fill:#2b3556;font-size:12px}.edge{fill:none;stroke:#9aabd8;stroke-width:2;marker-end:url(#arrow)}.lbl{fill:#8c9ccb;font-size:16px}
10
+ </style>
11
+ </defs>
12
+ <rect x="34" y="34" width="1112" height="650" fill="#eaf0fb"/>
13
+ <g class="font">
14
+ <g>
15
+ <rect x="34" y="34" width="222" height="126" fill="#28208b"/>
16
+ <rect x="256" y="34" width="222" height="126" fill="#3e45bd"/>
17
+ <rect x="478" y="34" width="222" height="126" fill="#787ee8"/>
18
+ <rect x="700" y="34" width="222" height="126" fill="#62a2ef"/>
19
+ <rect x="922" y="34" width="224" height="126" fill="#0966d8"/>
20
+ <path d="M256 34V684M478 34V684M700 34V684M922 34V684" stroke="#fff" stroke-width="3"/>
21
+ <text class="icon" x="120" y="83" text-anchor="middle">+</text><text class="h" x="145" y="124" text-anchor="middle">Client</text>
22
+ <text class="icon" x="367" y="83" text-anchor="middle">$</text><text class="h" x="367" y="124" text-anchor="middle">Sales</text>
23
+ <text class="icon" x="589" y="83" text-anchor="middle">#</text><text class="h" x="589" y="124" text-anchor="middle">Contracts</text>
24
+ <text class="icon" x="811" y="83" text-anchor="middle">*</text><text class="h" x="811" y="124" text-anchor="middle">Construction</text>
25
+ <text class="icon" x="1034" y="83" text-anchor="middle">✓</text><text class="h" x="1034" y="124" text-anchor="middle">Handover</text>
26
+ </g>
27
+ <g>
28
+ <rect class="start" x="72" y="184" width="142" height="68" rx="28"/>
29
+ <text class="txt" x="143" y="213" text-anchor="middle">Client</text><text class="txt" x="143" y="231" text-anchor="middle">submits PO</text>
30
+ <rect class="process" x="294" y="184" width="148" height="68"/>
31
+ <text class="txt" x="368" y="209" text-anchor="middle">Sales reviews</text><text class="txt" x="368" y="227" text-anchor="middle">costing</text>
32
+ <rect class="process" x="516" y="184" width="148" height="68"/>
33
+ <text class="txt" x="590" y="209" text-anchor="middle">Contracts</text><text class="txt" x="590" y="227" text-anchor="middle">review</text>
34
+ <path class="process" d="M590 288 L662 328 L590 368 L518 328 z"/>
35
+ <text class="txt" x="590" y="324" text-anchor="middle">Contract</text><text class="txt" x="590" y="342" text-anchor="middle">okay?</text>
36
+ <rect class="process" x="516" y="414" width="148" height="68"/>
37
+ <text class="txt" x="590" y="441" text-anchor="middle">Set mobilization</text><text class="txt" x="590" y="459" text-anchor="middle">date</text>
38
+ <rect class="process2" x="738" y="414" width="148" height="68"/>
39
+ <text class="txt" x="812" y="441" text-anchor="middle">Construction</text><text class="txt" x="812" y="459" text-anchor="middle">starts</text>
40
+ <path class="process2" d="M812 526 L884 566 L812 606 L740 566 z"/>
41
+ <text class="txt" x="812" y="562" text-anchor="middle">Terms</text><text class="txt" x="812" y="580" text-anchor="middle">accepted?</text>
42
+ <rect class="process2" x="738" y="636" width="148" height="68"/>
43
+ <text class="txt" x="812" y="663" text-anchor="middle">Return files to</text><text class="txt" x="812" y="681" text-anchor="middle">contractor</text>
44
+ <rect class="process" x="516" y="636" width="148" height="68"/>
45
+ <text class="txt" x="590" y="663" text-anchor="middle">Completion date</text><text class="txt" x="590" y="681" text-anchor="middle">delayed</text>
46
+ <rect class="process" x="516" y="526" width="148" height="68"/>
47
+ <text class="txt" x="590" y="553" text-anchor="middle">Complete</text><text class="txt" x="590" y="571" text-anchor="middle">requirements</text>
48
+ <rect class="process2" x="960" y="414" width="148" height="68"/>
49
+ <text class="txt" x="1034" y="441" text-anchor="middle">Construction</text><text class="txt" x="1034" y="459" text-anchor="middle">finished</text>
50
+ <rect class="end" x="960" y="540" width="148" height="68" rx="28"/>
51
+ <text class="txt" x="1034" y="567" text-anchor="middle">Project handed</text><text class="txt" x="1034" y="585" text-anchor="middle">over</text>
52
+ </g>
53
+ <path class="edge" d="M214 218H294"/>
54
+ <path class="edge" d="M442 218H516"/>
55
+ <path class="edge" d="M590 252V288"/>
56
+ <path class="edge" d="M590 368V414"/>
57
+ <text class="lbl" x="606" y="393">Yes</text>
58
+ <path class="edge" d="M518 328H494V560H516"/>
59
+ <text class="lbl" x="486" y="394">No</text>
60
+ <path class="edge" d="M664 448H738"/>
61
+ <path class="edge" d="M812 482V526"/>
62
+ <path class="edge" d="M884 566H922V670H886"/>
63
+ <text class="lbl" x="902" y="618">No</text>
64
+ <path class="edge" d="M740 566H664"/>
65
+ <path class="edge" d="M738 670H664"/>
66
+ <path class="edge" d="M886 448H960"/>
67
+ <path class="edge" d="M1034 482V540"/>
68
+ <text class="small" x="70" y="730" font-size="22" font-weight="700">Swimlane Activity Diagram</text>
69
+ </g>
70
+ </svg>
@@ -0,0 +1,50 @@
1
+ # Swimlane Diagram Experiment
2
+
3
+ Task: DIAGRAM-SWIMLANE-EXPERIMENT
4
+
5
+ ## Source Inventory
6
+
7
+ - `swimline-1.png`: five vertical lanes with colored headers, role icons, light lane backgrounds, process rectangles, decision diamonds, start/end rounded nodes, and orthogonal arrows across lanes.
8
+ - `Swimlane diagram - definitions, uses, examples.pdf`: long-form reference with swimlane illustrations; the useful visual pattern is a role-owned process flow with handoffs and decisions.
9
+ - `Swimlane Diagrams for Presentations.pdf`: presentation-oriented variants for layout and spacing reference.
10
+
11
+ ## Element Contract
12
+
13
+ - Audience: product/operations reviewer validating process ownership and handoffs.
14
+ - Reading flow: left to right across departments, with retry paths returning to earlier lanes.
15
+ - Lanes: Client, Sales, Contracts, Construction, Handover.
16
+ - Nodes: start/end rounded pills, process rectangles, decision diamonds.
17
+ - Connectors: orthogonal arrows, lane-crossing handoffs, labels only when they disambiguate decision branches.
18
+ - Visual constraints: headers remain compact, lane bodies keep equal widths, arrows land on target edges, and decision branches avoid covering text.
19
+
20
+ ## Prompt Used
21
+
22
+ Create an editable swimlane workflow diagram as SVG.
23
+
24
+ Use five vertical lanes: Client, Sales, Contracts, Construction, and Handover.
25
+ Each lane has a saturated blue/purple header with a simple white role icon and a
26
+ light blue body. Place nodes on a clear left-to-right process path:
27
+
28
+ 1. Client submits PO.
29
+ 2. Sales reviews costing.
30
+ 3. Contracts reviews contract.
31
+ 4. Decision: Contract okay?
32
+ 5. If yes, set mobilization date, then Construction starts.
33
+ 6. Decision: Terms accepted?
34
+ 7. If yes, Construction finished, then Project handed over.
35
+ 8. If no, Construction returns files to contractor and Completion date delayed.
36
+ 9. If contract is not okay, complete requirements and return into the same review path.
37
+
38
+ Use rounded start/end nodes, rectangular process nodes, and diamond decisions.
39
+ Use orthogonal connectors only. Avoid diagonal connectors. Route arrows outside
40
+ node interiors. Add branch labels with at least 10px clearance from lines and
41
+ containers. After rendering, re-evaluate lane width, node text fit, connector
42
+ landing points, and unused whitespace.
43
+
44
+ ## Evaluation Findings
45
+
46
+ - Swimlane references need explicit lane ownership and equal lane sizing; otherwise the flow becomes a generic process diagram.
47
+ - Decision labels are the highest-risk element because they can collide with vertical handoff lines.
48
+ - Icons are decorative but useful as first-scan lane identifiers; they should not drive layout.
49
+ - The generated SVG is readable, but a future high-fidelity pass should add a legend only when shape meaning is not obvious.
50
+
@@ -0,0 +1,9 @@
1
+ timeline
2
+ title Business Process Timeline
3
+ Discover : Collect goals and current-state pain
4
+ Map : Identify actors, systems, and flow
5
+ Design : Define target experience
6
+ Build : Implement the approved slice
7
+ Validate : Test against acceptance criteria
8
+ Launch : Release and monitor adoption
9
+
@@ -0,0 +1,29 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1180" height="620" viewBox="0 0 1180 620" role="img" aria-labelledby="title desc">
2
+ <title id="title">Timeline infographic experiment</title>
3
+ <desc id="desc">Six-step alternating process timeline with numbered circular milestones.</desc>
4
+ <defs>
5
+ <style>
6
+ .font{font-family:Arial,Helvetica,sans-serif}.title{fill:#263238;font-size:30px;font-weight:700;letter-spacing:0}.sub{fill:#607d8b;font-size:14px}.line{stroke:#8fa1b5;stroke-width:5;stroke-linecap:round}.stem{stroke:#b6c1ce;stroke-width:2}.card{fill:#fff;stroke:#d5dde8;stroke-width:1.5}.cardTitle{fill:#253044;font-size:16px;font-weight:700}.body{fill:#526174;font-size:12px}.num{fill:#fff;font-size:18px;font-weight:700}.icon{fill:#fff;font-size:22px;font-weight:700}
7
+ </style>
8
+ </defs>
9
+ <rect width="1180" height="620" fill="#fbfcfe"/>
10
+ <g class="font">
11
+ <text class="title" x="590" y="64" text-anchor="middle">Business Process Timeline</text>
12
+ <text class="sub" x="590" y="92" text-anchor="middle">Six staged milestones with alternating annotations and balanced spacing.</text>
13
+ <path class="line" d="M110 316H1070"/>
14
+ <g>
15
+ <path class="stem" d="M130 316V172"/><rect class="card" x="60" y="112" width="140" height="96" rx="8"/><text class="cardTitle" x="130" y="142" text-anchor="middle">Discover</text><text class="body" x="130" y="166" text-anchor="middle">Collect goals and</text><text class="body" x="130" y="184" text-anchor="middle">current-state pain.</text>
16
+ <circle cx="130" cy="316" r="34" fill="#ff6d00"/><text class="num" x="130" y="323" text-anchor="middle">01</text>
17
+ <path class="stem" d="M314 316V458"/><rect class="card" x="244" y="414" width="140" height="96" rx="8"/><text class="cardTitle" x="314" y="444" text-anchor="middle">Map</text><text class="body" x="314" y="468" text-anchor="middle">Identify actors,</text><text class="body" x="314" y="486" text-anchor="middle">systems, and flow.</text>
18
+ <circle cx="314" cy="316" r="34" fill="#00a6a6"/><text class="num" x="314" y="323" text-anchor="middle">02</text>
19
+ <path class="stem" d="M498 316V172"/><rect class="card" x="428" y="112" width="140" height="96" rx="8"/><text class="cardTitle" x="498" y="142" text-anchor="middle">Design</text><text class="body" x="498" y="166" text-anchor="middle">Define target</text><text class="body" x="498" y="184" text-anchor="middle">experience.</text>
20
+ <circle cx="498" cy="316" r="34" fill="#2f80ed"/><text class="num" x="498" y="323" text-anchor="middle">03</text>
21
+ <path class="stem" d="M682 316V458"/><rect class="card" x="612" y="414" width="140" height="96" rx="8"/><text class="cardTitle" x="682" y="444" text-anchor="middle">Build</text><text class="body" x="682" y="468" text-anchor="middle">Implement the</text><text class="body" x="682" y="486" text-anchor="middle">approved slice.</text>
22
+ <circle cx="682" cy="316" r="34" fill="#172b4d"/><text class="num" x="682" y="323" text-anchor="middle">04</text>
23
+ <path class="stem" d="M866 316V172"/><rect class="card" x="796" y="112" width="140" height="96" rx="8"/><text class="cardTitle" x="866" y="142" text-anchor="middle">Validate</text><text class="body" x="866" y="166" text-anchor="middle">Test against</text><text class="body" x="866" y="184" text-anchor="middle">acceptance criteria.</text>
24
+ <circle cx="866" cy="316" r="34" fill="#2e7d32"/><text class="num" x="866" y="323" text-anchor="middle">05</text>
25
+ <path class="stem" d="M1050 316V458"/><rect class="card" x="980" y="414" width="140" height="96" rx="8"/><text class="cardTitle" x="1050" y="444" text-anchor="middle">Launch</text><text class="body" x="1050" y="468" text-anchor="middle">Release and</text><text class="body" x="1050" y="486" text-anchor="middle">monitor adoption.</text>
26
+ <circle cx="1050" cy="316" r="34" fill="#6a1b9a"/><text class="num" x="1050" y="323" text-anchor="middle">06</text>
27
+ </g>
28
+ </g>
29
+ </svg>
@@ -0,0 +1,34 @@
1
+ # Timeline Infographic Diagram Experiment
2
+
3
+ Task: DIAGRAM-TIMELINE-EXPERIMENT
4
+
5
+ ## Source Inventory
6
+
7
+ - Three downloaded timeline/process infographic PDFs from Vecteezy. The converted pages mostly include site chrome, but the visible previews show horizontal timeline patterns, circular milestones, icon markers, and alternating annotation blocks.
8
+
9
+ ## Element Contract
10
+
11
+ - Audience: business presentation reviewer scanning a staged process.
12
+ - Reading flow: left to right along a single horizontal spine.
13
+ - Nodes: six milestones with numbered circular markers.
14
+ - Annotations: alternating above and below the spine to reduce crowding.
15
+ - Visual constraints: milestone labels must not sit on the line, icons must be centered, and connector stems must be vertical.
16
+
17
+ ## Prompt Used
18
+
19
+ Create a clean six-step process timeline infographic as SVG.
20
+
21
+ Use a horizontal spine across the center with six evenly spaced circular markers.
22
+ Alternate annotation cards above and below the line. Each marker has a number,
23
+ short title, icon placeholder, and two-line description. Use a mixed palette
24
+ instead of one hue: orange, teal, blue, navy, green, and violet. Keep all text
25
+ inside cards. Re-evaluate marker spacing, card text fit, and stem clearance
26
+ after rendering.
27
+
28
+ ## Evaluation Findings
29
+
30
+ - Timeline references often include website chrome in downloaded PDFs; the prompt must identify the actual diagram region before copying page structure.
31
+ - Alternating cards reduce vertical whitespace but require strict stem alignment.
32
+ - Numbered circles and icons should be separated; otherwise the marker becomes visually noisy.
33
+ - For future rules, add a source-region extraction step before diagram generation when the PDF is a web download rather than a direct asset.
34
+
@@ -0,0 +1,40 @@
1
+ # Diagram Final Artifact Hygiene
2
+
3
+ Use this checklist before handing off a diagram as final.
4
+
5
+ ## Keep In Final Delivery
6
+
7
+ - Accepted editable source: `.drawio`, `.mmd`, source `.svg`, or equivalent.
8
+ - Accepted rendered output: `.svg`, `.png`, `.pdf`, or the format requested by
9
+ the user.
10
+ - Prompt master or final prompt when it adds reusable traceability.
11
+ - Final QA evidence: rendered screenshot, source comparison report for
12
+ recreations, lint output, or visual review checklist.
13
+ - Short handoff note with accepted artifact paths and known residual risks.
14
+
15
+ ## Archive Or Exclude
16
+
17
+ - Preview iterations such as `preview-v1.png`, `preview-v2.png`, failed renders,
18
+ temporary exported images, and superseded SVGs.
19
+ - Incremental prompts that were consolidated into a prompt master.
20
+ - One-off visual correction notes that are not reusable rules.
21
+ - Source-specific PDF/page text that should not enter the reusable prompt bank.
22
+
23
+ ## Archive Rules
24
+
25
+ - Keep audit-relevant iterations in workflow evidence, an explicit archive
26
+ folder, or an ignored output path.
27
+ - Do not package or present archived iterations as final deliverables.
28
+ - If the user asks for traceability, link to the archive/evidence from the
29
+ handoff instead of mixing intermediate artifacts into the final folder.
30
+ - If a prompt delta becomes reusable, rewrite it as a source-free rule before
31
+ promoting it to the prompt bank.
32
+
33
+ ## QA Checklist
34
+
35
+ - Final source and final render are geometrically equivalent.
36
+ - Final render passes whole-canvas visual review.
37
+ - Intermediate artifacts are removed from the final delivery path or clearly
38
+ archived.
39
+ - Prompt bank candidates are source-free, reusable, and validated.
40
+ - Handoff lists only accepted artifact paths plus evidence paths.
@@ -0,0 +1,106 @@
1
+ # Mermaid Target Strategy
2
+
3
+ Task: DIAGRAM-MERMAID-TARGET-STRATEGY
4
+ Date: 2026-05-16
5
+
6
+ ## Position
7
+
8
+ Mermaid should be supported as the default semantic diagram target for docs,
9
+ architecture notes, pull requests, and offline agent evidence. It is not the
10
+ right target for high-fidelity recreation of PDF, Lucid, or presentation assets
11
+ where exact geometry, icon placement, connector routing, line jumps, or manual
12
+ label positioning matter.
13
+
14
+ When the user asks for a recreation, the acceptance target is pixel-perfect
15
+ source fidelity unless they explicitly accept an approximation. In that mode,
16
+ Mermaid can be used only as a semantic companion artifact; it is not the
17
+ authoritative recreation target.
18
+
19
+ Use this target order:
20
+
21
+ 1. Mermaid first when the goal is explainability, reviewability, markdown-native
22
+ documentation, or fast validation.
23
+ 2. draw.io XML when the goal is editable high-fidelity layout, controlled
24
+ connector anchors, bend points, line jumps, rotated labels, and SVG parity.
25
+ 3. Lucid/Lucidspark when the goal is collaborative editing, stakeholder review,
26
+ live boards, or use of a visual tool already owned by the team.
27
+
28
+ ## Decision Matrix
29
+
30
+ | Diagram family | Mermaid fit | Recommended Mermaid type | Escalate to draw.io/Lucid when |
31
+ | --- | --- | --- | --- |
32
+ | Swimlane workflow | Medium | `flowchart` with subgraphs | Equal lane sizing, exact header styling, lane icons, or complex retry routing are required. |
33
+ | Technology roadmap | Medium | `gantt` | Cards must be staggered freely, include component icon legends, or align to a branded roadmap template. |
34
+ | Timeline infographic | Medium-high | `timeline` or `flowchart` | The visual is a presentation infographic with alternating cards, decorative icons, or precise spacing. |
35
+ | Layered enterprise architecture | Medium | `flowchart` with subgraphs | The diagram has many system cards, badges, layer rails, dense integration lines, or needs pixel-level readability. |
36
+ | UML state machine | High for semantics, low for recreation | `stateDiagram-v2` | The task is to recreate a reference diagram with exact arrows, labels, internal actions, history markers, or line crossings. |
37
+ | Sequence/integration | High | `sequenceDiagram` | Stakeholder-facing visual branding or custom swimlanes are required. |
38
+ | Data model | High | `erDiagram` | Crow's-foot styling, domain colors, or physical layout are part of the deliverable. |
39
+
40
+ ## Mermaid Implementation Rules
41
+
42
+ - Classify the work before authoring:
43
+ - `semantic`: explain the idea; Mermaid is usually enough.
44
+ - `inspired-by-reference`: borrow structure/style; Mermaid may be enough if
45
+ visual fidelity is not acceptance criteria.
46
+ - `recreation`: reproduce the source; use draw.io/Lucid as the authoritative
47
+ target and validate pixel-perfect gaps.
48
+ - Start from a diagram contract: purpose, audience, required elements, grouping,
49
+ relationships, reading flow, and validation criteria.
50
+ - Preserve semantics over visual fidelity. If Mermaid cannot express exact
51
+ placement, document the approximation.
52
+ - Prefer native Mermaid types:
53
+ - `flowchart` for workflows, swimlanes, layered architecture, component maps.
54
+ - `gantt` for roadmaps with actual dates.
55
+ - `timeline` for milestone narratives.
56
+ - `stateDiagram-v2` for lifecycle/state logic.
57
+ - `sequenceDiagram` for integration order.
58
+ - `erDiagram` for entity relationships.
59
+ - Keep labels short. Mermaid text wrapping is renderer-dependent.
60
+ - Avoid depending on exact connector paths. Mermaid owns layout.
61
+ - Use subgraphs as semantic groups, not as guaranteed layout containers.
62
+ - Run Mermaid lint/render validation before publishing.
63
+ - Capture residual gaps in the experiment or evidence file.
64
+
65
+ ## Escalation Rules
66
+
67
+ Escalate from Mermaid to draw.io/Lucid when any of these are acceptance criteria:
68
+
69
+ - source-reference fidelity, near-pixel recreation, or pixel-perfect recreation.
70
+ - exact lane sizes, timeline card positions, or layer rails.
71
+ - explicit connector anchors, bend counts, line jumps, or no-line-over-label guarantees.
72
+ - rotated labels or non-horizontal text.
73
+ - branded icon libraries, dense badges, or presentation-quality visual hierarchy.
74
+ - manual stakeholder editing in a visual canvas.
75
+ - rendering must match screenshots across tools, not only describe the architecture.
76
+
77
+ ## Validation Strategy
78
+
79
+ For Mermaid:
80
+
81
+ - validate syntax with `orchestra diagrams lint --file <diagram.mmd>`.
82
+ - render to SVG where local Mermaid tooling is available.
83
+ - visually inspect the rendered output for nonblank content, readable labels, and
84
+ grouping semantics.
85
+ - document known loss versus the source SVG/draw.io/Lucid output.
86
+
87
+ For draw.io/Lucid:
88
+
89
+ - for recreation, compare source and output as a pixel-perfect review, not only
90
+ as a semantic review.
91
+ - keep editable source and rendered SVG equivalent.
92
+ - run post-render visual QA for text fit, connector endpoints, z-order, line
93
+ overlaps, and label clearance.
94
+ - capture screenshots as evidence.
95
+
96
+ ## Experiment Mapping
97
+
98
+ The recent SVG experiments now have Mermaid semantic counterparts:
99
+
100
+ - `docs/diagrams/experiments/swimlane/diagram.mmd`
101
+ - `docs/diagrams/experiments/roadmap/diagram.mmd`
102
+ - `docs/diagrams/experiments/timeline/diagram.mmd`
103
+ - `docs/diagrams/experiments/sfdc-implementation/diagram.mmd`
104
+
105
+ These Mermaid files should be reviewed as semantic approximations, not visual
106
+ replacements for the SVG experiments.