@jterrats/open-orchestra 1.0.1 → 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.
- package/AGENTS.md +7 -2
- package/CLAUDE.md +2 -2
- package/README.md +3 -0
- package/dist/args.js +12 -2
- package/dist/args.js.map +1 -1
- package/dist/assets/web-console.js +44 -0
- package/dist/autonomous-phase-lifecycle.js +23 -3
- package/dist/autonomous-phase-lifecycle.js.map +1 -1
- package/dist/autonomous-run-state.js +2 -0
- package/dist/autonomous-run-state.js.map +1 -1
- package/dist/benchmark.js +6 -0
- package/dist/benchmark.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/command-manifest.js +4 -3
- package/dist/command-manifest.js.map +1 -1
- package/dist/command-utils.js +4 -5
- package/dist/command-utils.js.map +1 -1
- package/dist/commands.d.ts +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/memory.js +18 -8
- package/dist/memory.js.map +1 -1
- package/dist/metrics-commands.js +8 -0
- package/dist/metrics-commands.js.map +1 -1
- package/dist/model-commands.js +6 -2
- package/dist/model-commands.js.map +1 -1
- package/dist/phase-executor.js +3 -0
- package/dist/phase-executor.js.map +1 -1
- package/dist/prompt-registry-update.js +20 -0
- package/dist/prompt-registry-update.js.map +1 -1
- package/dist/qa-coverage.js +15 -6
- package/dist/qa-coverage.js.map +1 -1
- package/dist/release-commands.js +42 -5
- package/dist/release-commands.js.map +1 -1
- package/dist/release-readiness.d.ts +3 -1
- package/dist/release-readiness.js +33 -6
- package/dist/release-readiness.js.map +1 -1
- package/dist/roles/core-roles.js +10 -5
- package/dist/roles/core-roles.js.map +1 -1
- package/dist/skills-catalog.js +130 -0
- package/dist/skills-catalog.js.map +1 -1
- package/dist/skills-commands.d.ts +1 -0
- package/dist/skills-commands.js +37 -1
- package/dist/skills-commands.js.map +1 -1
- package/dist/skills-planning.d.ts +2 -1
- package/dist/skills-planning.js +79 -11
- package/dist/skills-planning.js.map +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.js +1 -1
- package/dist/skills.js.map +1 -1
- package/dist/task-graph-commands.js +36 -8
- package/dist/task-graph-commands.js.map +1 -1
- package/dist/types/metrics.d.ts +2 -0
- package/dist/types/model-config.d.ts +4 -0
- package/dist/types/skills.d.ts +9 -0
- package/dist/types/tasks.d.ts +8 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js.map +1 -1
- package/dist/web-api.js +80 -7
- package/dist/web-api.js.map +1 -1
- package/dist/web-console/assets/{index-C9lx-V42.css → index-jxCY5eEc.css} +1 -1
- package/dist/web-console/index.html +2 -2
- package/dist/workflow-approval-service.js +13 -0
- package/dist/workflow-approval-service.js.map +1 -1
- package/dist/workflow-evidence-service.js +37 -2
- package/dist/workflow-evidence-service.js.map +1 -1
- package/dist/workflow-gates.d.ts +1 -0
- package/dist/workflow-gates.js +220 -1
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-phase-planner.js +51 -9
- package/dist/workflow-phase-planner.js.map +1 -1
- package/dist/workflow-run-commands.d.ts +1 -0
- package/dist/workflow-run-commands.js +11 -6
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-services.js +26 -0
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-task-service.js +27 -2
- package/dist/workflow-task-service.js.map +1 -1
- package/docs/adoption-guide.md +22 -1
- package/docs/advisory-supervisor-architecture.md +206 -0
- package/docs/architecture.md +47 -41
- package/docs/autonomous-workflow.md +2 -2
- package/docs/backlog/ac-evidence-bugfix-stories-20260517.md +76 -0
- package/docs/backlog/dev-best-practices-hardening-story.md +69 -0
- package/docs/backlog/docs-public-internal-package-hygiene-story.md +62 -0
- package/docs/backlog/prompt-bank-registry-epic.md +159 -0
- package/docs/backlog/site-docs-manifest-story.md +56 -0
- package/docs/dev-team-specialist-role-profiles.md +1 -1
- package/docs/diagrams/diagram-master-prompt.md +207 -0
- package/docs/diagrams/enterprise-set/README.md +22 -0
- package/docs/diagrams/enterprise-set/lead-to-account-swimlanes.svg +38 -0
- package/docs/diagrams/enterprise-set/product-implementation-timeline.svg +45 -0
- package/docs/diagrams/enterprise-set/salesforce-enterprise-architecture.svg +54 -0
- package/docs/diagrams/experiments/pixel-v2-review.md +124 -0
- package/docs/diagrams/experiments/roadmap/diagram.mmd +14 -0
- package/docs/diagrams/experiments/roadmap/diagram.svg +48 -0
- package/docs/diagrams/experiments/roadmap/experiment.md +44 -0
- package/docs/diagrams/experiments/sfdc-implementation/diagram.mmd +54 -0
- package/docs/diagrams/experiments/sfdc-implementation/diagram.svg +72 -0
- package/docs/diagrams/experiments/sfdc-implementation/experiment.md +41 -0
- package/docs/diagrams/experiments/swimlane/diagram.mmd +40 -0
- package/docs/diagrams/experiments/swimlane/diagram.svg +70 -0
- package/docs/diagrams/experiments/swimlane/experiment.md +50 -0
- package/docs/diagrams/experiments/timeline/diagram.mmd +9 -0
- package/docs/diagrams/experiments/timeline/diagram.svg +29 -0
- package/docs/diagrams/experiments/timeline/experiment.md +34 -0
- package/docs/diagrams/final-artifact-hygiene.md +40 -0
- package/docs/diagrams/mermaid-target-strategy.md +106 -0
- package/docs/diagrams/payment-gateway/architecture.md +57 -0
- package/docs/diagrams/payment-gateway/architecture.mmd +39 -0
- package/docs/diagrams/payment-gateway/architecture.svg +171 -0
- package/docs/diagrams/prompt-bank.md +48 -0
- package/docs/diagrams/salesforce-integration/architecture.md +56 -0
- package/docs/diagrams/salesforce-integration/architecture.mmd +26 -0
- package/docs/diagrams/salesforce-integration/architecture.svg +123 -0
- package/docs/diagrams/source-fidelity-review.md +116 -0
- package/docs/diagrams/state-uml-recreated.drawio +336 -0
- package/docs/diagrams/state-uml-recreated.prompt.md +114 -0
- package/docs/diagrams/state-uml-recreated.prompt.v10.md +52 -0
- package/docs/diagrams/state-uml-recreated.prompt.v11.md +52 -0
- package/docs/diagrams/state-uml-recreated.prompt.v12.md +50 -0
- package/docs/diagrams/state-uml-recreated.prompt.v14.md +91 -0
- package/docs/diagrams/state-uml-recreated.prompt.v2.md +31 -0
- package/docs/diagrams/state-uml-recreated.prompt.v3.md +36 -0
- package/docs/diagrams/state-uml-recreated.prompt.v4.md +35 -0
- package/docs/diagrams/state-uml-recreated.prompt.v5.md +35 -0
- package/docs/diagrams/state-uml-recreated.prompt.v6.md +39 -0
- package/docs/diagrams/state-uml-recreated.prompt.v7.md +37 -0
- package/docs/diagrams/state-uml-recreated.prompt.v8.md +41 -0
- package/docs/diagrams/state-uml-recreated.prompt.v9.md +32 -0
- package/docs/diagrams/state-uml-recreated.svg +159 -0
- package/docs/diagrams/v14-stress-test/README.md +33 -0
- package/docs/diagrams/v14-stress-test/stress-test.svg +114 -0
- package/docs/external-artifact-import-bridge.md +56 -0
- package/docs/{setup-agents-applicability-review.md → external-baseline-applicability-review.md} +37 -40
- package/docs/{setup-agents-dogfooding-findings.md → external-baseline-dogfooding-findings.md} +10 -9
- package/docs/multi-agent-orchestrator-backlog.md +1 -1
- package/docs/orchestra-mvp.md +19 -0
- package/docs/persona-workflows.md +42 -0
- package/docs/release-test-matrix.md +21 -9
- package/docs/reports/ac-evidence-backfill-20260517.md +256 -0
- package/docs/reports/ac-evolution-reconciliation-20260517.md +366 -0
- package/docs/reports/ac-failure-evidence-20260517.md +115 -0
- package/docs/reports/ac-history-dry-run-20260517.md +434 -0
- package/docs/runtime-llm-flow.md +8 -0
- package/docs/site-content-workflow.md +96 -0
- package/docs/site-manifest.json +143 -0
- package/docs/skill-loading-strategy.md +19 -7
- package/docs/story-mapping-adoption-review.md +99 -0
- package/docs/traceability-flow.md +11 -0
- package/docs/workspace-repo-strategy.md +63 -0
- package/package.json +3 -1
- package/rules/agent-collaboration.mdc +2 -0
- package/rules/code-review-engineering.mdc +2 -0
- package/rules/delivery-quality-gates.mdc +12 -0
- package/rules/development-engineering.mdc +5 -0
- package/rules/devops-tooling.mdc +1 -0
- package/rules/diagram-quality.mdc +35 -0
- package/rules/dry-clean-code.mdc +1 -0
- package/rules/module-boundaries.mdc +71 -0
- package/rules/performance-reliability.mdc +1 -0
- package/rules/testing-discipline.mdc +17 -1
- package/skills/collection-standards/SKILL.md +65 -0
- package/skills/collection-standards/manifest.json +69 -0
- package/skills/diagram-export/SKILL.md +30 -0
- package/skills/qa-evidence-pack/SKILL.md +110 -0
- package/skills/qa-evidence-pack/manifest.json +60 -0
- package/docs/setup-agents-bridge.md +0 -61
- /package/dist/web-console/assets/{index-M3S0g1GK.js → index-BNESIVvk.js} +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Salesforce Integration Architecture
|
|
2
|
+
|
|
3
|
+
Task: ARCH-SALESFORCE-INTEGRATION-DIAGRAM
|
|
4
|
+
|
|
5
|
+
## Source Mode
|
|
6
|
+
|
|
7
|
+
`source-free`
|
|
8
|
+
|
|
9
|
+
No visual source reference was provided. The diagram is validated against this
|
|
10
|
+
contract rather than against a source screenshot.
|
|
11
|
+
|
|
12
|
+
## Architecture Contract
|
|
13
|
+
|
|
14
|
+
- Audience: architect and delivery team reviewing integration boundaries.
|
|
15
|
+
- Systems:
|
|
16
|
+
- Experience Cloud as the user-facing portal.
|
|
17
|
+
- Salesforce Core as CRM and business process system of record.
|
|
18
|
+
- MuleSoft as API orchestration and integration broker.
|
|
19
|
+
- Data 360 as customer data unification and profile/segment layer.
|
|
20
|
+
- S3 bucket as file repository/object storage.
|
|
21
|
+
- Payment Gateway as external payment processor.
|
|
22
|
+
- Required relationships:
|
|
23
|
+
- Users access Experience Cloud.
|
|
24
|
+
- Experience Cloud invokes Salesforce services for portal workflows.
|
|
25
|
+
- Salesforce publishes and consumes APIs through MuleSoft.
|
|
26
|
+
- MuleSoft coordinates payment calls with the payment gateway.
|
|
27
|
+
- MuleSoft coordinates file upload/download metadata and object operations
|
|
28
|
+
with S3.
|
|
29
|
+
- Salesforce and Data 360 exchange customer/profile data.
|
|
30
|
+
- MuleSoft can feed integration events into Data 360 when needed.
|
|
31
|
+
- Visual requirements:
|
|
32
|
+
- Clear trust/system boundaries.
|
|
33
|
+
- Orthogonal connectors with arrowheads on target edges.
|
|
34
|
+
- No text overflow.
|
|
35
|
+
- Composite containers grow around their child nodes with visible padding.
|
|
36
|
+
- External services are visually distinct from Salesforce platform services.
|
|
37
|
+
|
|
38
|
+
## Architect Result
|
|
39
|
+
|
|
40
|
+
The Architect decision recorded through Orchestra:
|
|
41
|
+
|
|
42
|
+
> Use a layered integration architecture with Salesforce core, Experience Cloud
|
|
43
|
+
> frontend, MuleSoft integration layer, Data 360 data layer, S3 file repository,
|
|
44
|
+
> and payment gateway external service.
|
|
45
|
+
|
|
46
|
+
## Validation Notes
|
|
47
|
+
|
|
48
|
+
- All requested systems are present.
|
|
49
|
+
- Salesforce platform services are grouped together.
|
|
50
|
+
- External services are grouped separately.
|
|
51
|
+
- MuleSoft sits between Salesforce and external dependencies.
|
|
52
|
+
- Connectors are orthogonal and terminate at visible target edges.
|
|
53
|
+
- Parent containers have padding around child nodes and labels.
|
|
54
|
+
- The rendered SVG was reflowed after label placement so connector labels sit in
|
|
55
|
+
clear lanes and parent containers still contain their children after sizing
|
|
56
|
+
changes.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
flowchart LR
|
|
2
|
+
user[External Users]
|
|
3
|
+
|
|
4
|
+
subgraph sf["Salesforce Platform Boundary"]
|
|
5
|
+
exp["Experience Cloud\nPortal / Self-Service"]
|
|
6
|
+
core["Salesforce Core\nCRM + Business Processes"]
|
|
7
|
+
d360["Data 360\nUnified Profiles + Segments"]
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
subgraph integration["Integration Layer"]
|
|
11
|
+
mulesoft["MuleSoft\nAPI Orchestration"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
subgraph external["External Services"]
|
|
15
|
+
s3["Amazon S3 Bucket\nFile Repository"]
|
|
16
|
+
pay["Payment Gateway\nPayments + Status"]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
user -->|"portal access"| exp
|
|
20
|
+
exp -->|"authenticated workflows"| core
|
|
21
|
+
core <-->|"customer/profile sync"| d360
|
|
22
|
+
core <-->|"system APIs + events"| mulesoft
|
|
23
|
+
mulesoft <-->|"file metadata + object ops"| s3
|
|
24
|
+
mulesoft <-->|"payment auth/capture/status"| pay
|
|
25
|
+
mulesoft -->|"integration events"| d360
|
|
26
|
+
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="760" viewBox="0 0 1280 760" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Salesforce integration architecture</title>
|
|
3
|
+
<desc id="desc">Architecture diagram showing Experience Cloud, Salesforce Core, Data 360, MuleSoft, S3 file repository, and payment gateway relationships.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto">
|
|
6
|
+
<path d="M0 0 L10 5 L0 10 z" fill="#526174"/>
|
|
7
|
+
</marker>
|
|
8
|
+
<marker id="arrow-start" viewBox="0 0 10 10" refX="1" refY="5" markerWidth="8" markerHeight="8" orient="auto">
|
|
9
|
+
<path d="M10 0 L0 5 L10 10 z" fill="#526174"/>
|
|
10
|
+
</marker>
|
|
11
|
+
<style>
|
|
12
|
+
.font{font-family:Arial,Helvetica,sans-serif}
|
|
13
|
+
.title{font-size:26px;font-weight:700;fill:#172033}
|
|
14
|
+
.subtitle{font-size:13px;fill:#4b596c}
|
|
15
|
+
.boundary{fill:#f3f7ff;stroke:#9fb4d8;stroke-width:1.5}
|
|
16
|
+
.boundaryExternal{fill:#f7faf8;stroke:#9bc3aa;stroke-width:1.5}
|
|
17
|
+
.boundaryIntegration{fill:#fff7ed;stroke:#e7b274;stroke-width:1.5}
|
|
18
|
+
.label{font-size:13px;font-weight:700;fill:#526174;text-transform:uppercase}
|
|
19
|
+
.card{fill:#fff;stroke:#6f7e92;stroke-width:1.5}
|
|
20
|
+
.cardTitle{font-size:17px;font-weight:700;fill:#1f2a3d}
|
|
21
|
+
.cardSub{font-size:12px;fill:#445267}
|
|
22
|
+
.badge{font-size:11px;font-weight:700;fill:#fff}
|
|
23
|
+
.edge{fill:none;stroke:#526174;stroke-width:2;marker-end:url(#arrow)}
|
|
24
|
+
.edgeBoth{fill:none;stroke:#526174;stroke-width:2;marker-start:url(#arrow-start);marker-end:url(#arrow)}
|
|
25
|
+
.edgeSoft{fill:none;stroke:#6b7b8f;stroke-width:1.8;stroke-dasharray:7 5;marker-end:url(#arrow)}
|
|
26
|
+
.labelBg{fill:#fff;stroke:#d8dee8;stroke-width:1}
|
|
27
|
+
.edgeLabel{font-size:12px;fill:#2f3a4c}
|
|
28
|
+
.note{font-size:12px;fill:#506074}
|
|
29
|
+
</style>
|
|
30
|
+
</defs>
|
|
31
|
+
<rect width="1280" height="760" fill="#ffffff"/>
|
|
32
|
+
<g class="font">
|
|
33
|
+
<text class="title" x="56" y="58">Salesforce Integration Architecture</text>
|
|
34
|
+
<text class="subtitle" x="56" y="82">Source-free architecture candidate generated from the Orchestra Architect handoff.</text>
|
|
35
|
+
|
|
36
|
+
<rect class="card" x="56" y="332" width="150" height="86" rx="12"/>
|
|
37
|
+
<circle cx="86" cy="362" r="16" fill="#334155"/>
|
|
38
|
+
<text class="badge" x="86" y="366" text-anchor="middle">U</text>
|
|
39
|
+
<text class="cardTitle" x="116" y="358">Users</text>
|
|
40
|
+
<text class="cardSub" x="76" y="386">Customers / partners</text>
|
|
41
|
+
<text class="cardSub" x="76" y="404">self-service access</text>
|
|
42
|
+
|
|
43
|
+
<rect class="boundary" x="250" y="132" width="468" height="560" rx="18"/>
|
|
44
|
+
<text class="label" x="278" y="166">Salesforce Platform Boundary</text>
|
|
45
|
+
|
|
46
|
+
<rect class="card" x="292" y="214" width="210" height="112" rx="12"/>
|
|
47
|
+
<circle cx="324" cy="246" r="17" fill="#0f65d8"/>
|
|
48
|
+
<text class="badge" x="324" y="250" text-anchor="middle">EC</text>
|
|
49
|
+
<text class="cardTitle" x="356" y="242">Experience Cloud</text>
|
|
50
|
+
<text class="cardSub" x="320" y="276">Portal workflows</text>
|
|
51
|
+
<text class="cardSub" x="320" y="296">authentication surface</text>
|
|
52
|
+
|
|
53
|
+
<rect class="card" x="292" y="424" width="210" height="120" rx="12"/>
|
|
54
|
+
<circle cx="324" cy="456" r="17" fill="#1798c1"/>
|
|
55
|
+
<text class="badge" x="324" y="460" text-anchor="middle">SF</text>
|
|
56
|
+
<text class="cardTitle" x="356" y="452">Salesforce Core</text>
|
|
57
|
+
<text class="cardSub" x="320" y="488">CRM records</text>
|
|
58
|
+
<text class="cardSub" x="320" y="508">business processes</text>
|
|
59
|
+
|
|
60
|
+
<rect class="card" x="532" y="424" width="150" height="120" rx="12"/>
|
|
61
|
+
<circle cx="564" cy="456" r="17" fill="#6952ff"/>
|
|
62
|
+
<text class="badge" x="564" y="460" text-anchor="middle">D3</text>
|
|
63
|
+
<text class="cardTitle" x="596" y="452">Data 360</text>
|
|
64
|
+
<text class="cardSub" x="556" y="488">Unified profiles</text>
|
|
65
|
+
<text class="cardSub" x="556" y="508">segments + signals</text>
|
|
66
|
+
|
|
67
|
+
<rect class="boundaryIntegration" x="784" y="318" width="212" height="242" rx="18"/>
|
|
68
|
+
<text class="label" x="812" y="352">Integration Layer</text>
|
|
69
|
+
<rect class="card" x="824" y="426" width="132" height="92" rx="12"/>
|
|
70
|
+
<circle cx="856" cy="456" r="17" fill="#00a1df"/>
|
|
71
|
+
<text class="badge" x="856" y="460" text-anchor="middle">M</text>
|
|
72
|
+
<text class="cardTitle" x="884" y="452">MuleSoft</text>
|
|
73
|
+
<text class="cardSub" x="846" y="482">API orchestration</text>
|
|
74
|
+
<text class="cardSub" x="846" y="500">events + routing</text>
|
|
75
|
+
|
|
76
|
+
<rect class="boundaryExternal" x="1028" y="174" width="220" height="392" rx="18"/>
|
|
77
|
+
<text class="label" x="1060" y="208">External Services</text>
|
|
78
|
+
|
|
79
|
+
<rect class="card" x="1060" y="252" width="156" height="92" rx="12"/>
|
|
80
|
+
<circle cx="1104" cy="284" r="17" fill="#e87912"/>
|
|
81
|
+
<text class="badge" x="1104" y="288" text-anchor="middle">S3</text>
|
|
82
|
+
<text class="cardTitle" x="1132" y="280">S3 Bucket</text>
|
|
83
|
+
<text class="cardSub" x="1098" y="314">file repository</text>
|
|
84
|
+
<text class="cardSub" x="1098" y="332">object storage</text>
|
|
85
|
+
|
|
86
|
+
<rect class="card" x="1060" y="418" width="156" height="102" rx="12"/>
|
|
87
|
+
<circle cx="1104" cy="450" r="17" fill="#0f766e"/>
|
|
88
|
+
<text class="badge" x="1104" y="454" text-anchor="middle">PG</text>
|
|
89
|
+
<text class="cardTitle" x="1132" y="444">Payment</text>
|
|
90
|
+
<text class="cardTitle" x="1132" y="464">Gateway</text>
|
|
91
|
+
<text class="cardSub" x="1098" y="494">payment auth</text>
|
|
92
|
+
<text class="cardSub" x="1098" y="512">status callbacks</text>
|
|
93
|
+
|
|
94
|
+
<path class="edge" d="M206 375 H292"/>
|
|
95
|
+
<text class="edgeLabel" x="222" y="362">portal access</text>
|
|
96
|
+
|
|
97
|
+
<path class="edge" d="M385 326 V424"/>
|
|
98
|
+
<text class="edgeLabel" x="404" y="378">workflow services</text>
|
|
99
|
+
|
|
100
|
+
<path class="edgeBoth" d="M502 484 H532"/>
|
|
101
|
+
<rect class="labelBg" x="510" y="550" width="130" height="20" rx="4"/>
|
|
102
|
+
<text class="edgeLabel" x="518" y="564">customer/profile sync</text>
|
|
103
|
+
|
|
104
|
+
<path class="edgeBoth" d="M682 484 H824"/>
|
|
105
|
+
<rect class="labelBg" x="702" y="456" width="108" height="20" rx="4"/>
|
|
106
|
+
<text class="edgeLabel" x="710" y="470">integration events</text>
|
|
107
|
+
|
|
108
|
+
<path class="edgeBoth" d="M397 544 V586 H756 Q784 586 784 494 H824"/>
|
|
109
|
+
<rect class="labelBg" x="560" y="592" width="126" height="20" rx="4"/>
|
|
110
|
+
<text class="edgeLabel" x="568" y="606">system APIs + events</text>
|
|
111
|
+
|
|
112
|
+
<path class="edgeBoth" d="M956 456 H1014 Q1028 456 1028 298 H1060"/>
|
|
113
|
+
<rect class="labelBg" x="928" y="390" width="96" height="20" rx="4"/>
|
|
114
|
+
<text class="edgeLabel" x="936" y="404">file/object ops</text>
|
|
115
|
+
|
|
116
|
+
<path class="edgeBoth" d="M956 486 H1060"/>
|
|
117
|
+
<rect class="labelBg" x="970" y="500" width="82" height="20" rx="4"/>
|
|
118
|
+
<text class="edgeLabel" x="978" y="514">payment API</text>
|
|
119
|
+
|
|
120
|
+
<text class="note" x="258" y="668">Composite platform container is sized around child services with visible padding.</text>
|
|
121
|
+
<text class="note" x="806" y="578">MuleSoft centralizes API policy and routing.</text>
|
|
122
|
+
</g>
|
|
123
|
+
</svg>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Source Fidelity Review
|
|
2
|
+
|
|
3
|
+
Task: DIAGRAM-SOURCE-FIDELITY-REVIEW
|
|
4
|
+
Date: 2026-05-16
|
|
5
|
+
|
|
6
|
+
## Clarification
|
|
7
|
+
|
|
8
|
+
The first diagram experiment batch produced type examples and findings. Those
|
|
9
|
+
outputs were reviewed for nonblank rendering, text fit, and broad structure.
|
|
10
|
+
They were not accepted as pixel-perfect recreations.
|
|
11
|
+
|
|
12
|
+
For future work, any task labeled as `recreation` must be evaluated pixel-perfect
|
|
13
|
+
against the source reference. Similar structure is not sufficient.
|
|
14
|
+
|
|
15
|
+
## Required Recreation Workflow
|
|
16
|
+
|
|
17
|
+
1. Classify the task:
|
|
18
|
+
- `semantic`: explain the concept.
|
|
19
|
+
- `inspired-by-reference`: reuse visual ideas without fidelity acceptance.
|
|
20
|
+
- `recreation`: reproduce the source.
|
|
21
|
+
2. For `recreation`, extract the source region first. Ignore browser chrome,
|
|
22
|
+
page headers, footers, and download-site UI unless they are explicitly part
|
|
23
|
+
of the requested diagram.
|
|
24
|
+
3. Build a source inventory:
|
|
25
|
+
- page/canvas size and aspect ratio.
|
|
26
|
+
- every container and nested container.
|
|
27
|
+
- all text, including line breaks, rotation, alignment, size, and approximate color.
|
|
28
|
+
- every connector, endpoint, arrowhead, bend point, line style, and label.
|
|
29
|
+
- icons, badges, legend entries, borders, fills, shadows, and z-order.
|
|
30
|
+
4. Render the output.
|
|
31
|
+
5. Compare source versus output by element or visual region.
|
|
32
|
+
6. Correct and re-render until gaps are closed or explicitly documented.
|
|
33
|
+
7. If the target cannot support required fidelity, reclassify the deliverable as
|
|
34
|
+
approximation and escalate to draw.io/Lucid for the authoritative artifact.
|
|
35
|
+
|
|
36
|
+
## Required Source-Free Workflow
|
|
37
|
+
|
|
38
|
+
Diagrams without a source reference are not exempt from visual precision. They
|
|
39
|
+
must be pixel-perfect against their own declared contract before handoff.
|
|
40
|
+
|
|
41
|
+
1. Define the contract before drawing: canvas size, diagram type, groups, nodes,
|
|
42
|
+
labels, relationships, reading flow, expected connector endpoints, and layout
|
|
43
|
+
constraints.
|
|
44
|
+
2. Render the diagram.
|
|
45
|
+
3. Inspect the render, not only the source file:
|
|
46
|
+
- text fits inside every container.
|
|
47
|
+
- containers are not too small or visually unbalanced.
|
|
48
|
+
- connector endpoints visibly touch the intended source and target edges.
|
|
49
|
+
- arrowheads are visible and not hidden behind shapes.
|
|
50
|
+
- lines do not cross labels, important symbols, or containers unless explicitly
|
|
51
|
+
justified.
|
|
52
|
+
- labels have clearance from borders, connectors, and arrowheads.
|
|
53
|
+
- whitespace is intentional and does not make the layout feel broken.
|
|
54
|
+
4. Correct and re-render before delivery.
|
|
55
|
+
5. Record residual issues if a diagram is accepted as an approximation.
|
|
56
|
+
|
|
57
|
+
## Findings From Current Experiments
|
|
58
|
+
|
|
59
|
+
### Swimlane
|
|
60
|
+
|
|
61
|
+
Current output is structurally similar but not pixel-perfect:
|
|
62
|
+
|
|
63
|
+
- header icons are approximated with text symbols.
|
|
64
|
+
- lane header colors and body colors are close but not measured from source.
|
|
65
|
+
- node positions and connector bends are simplified.
|
|
66
|
+
- source legend and typography are not fully recreated.
|
|
67
|
+
|
|
68
|
+
Target recommendation for recreation: draw.io or SVG with measured coordinates.
|
|
69
|
+
Mermaid recommendation: semantic swimlane only.
|
|
70
|
+
|
|
71
|
+
### Technology Roadmap
|
|
72
|
+
|
|
73
|
+
Current output is a representative roadmap, not a source-accurate recreation:
|
|
74
|
+
|
|
75
|
+
- card sizes, shadows, and exact month grid positions differ.
|
|
76
|
+
- icon badges are simplified.
|
|
77
|
+
- source legend shape and title band are approximated.
|
|
78
|
+
- typography and card spacing were manually adjusted for readability, not exact fidelity.
|
|
79
|
+
|
|
80
|
+
Target recommendation for recreation: draw.io/SVG with extracted source metrics.
|
|
81
|
+
Mermaid recommendation: `gantt` semantic schedule.
|
|
82
|
+
|
|
83
|
+
### Timeline Infographic
|
|
84
|
+
|
|
85
|
+
The downloaded PDF contains web page chrome. Current output intentionally uses
|
|
86
|
+
only the visible infographic idea and is not a recreation:
|
|
87
|
+
|
|
88
|
+
- source region extraction was not performed.
|
|
89
|
+
- exact colors, icons, and preview card details were not recreated.
|
|
90
|
+
- layout was normalized into a clean six-step diagram.
|
|
91
|
+
|
|
92
|
+
Target recommendation for recreation: first extract the actual infographic image
|
|
93
|
+
region, then recreate in draw.io/SVG. Mermaid recommendation: `timeline` semantic
|
|
94
|
+
milestones.
|
|
95
|
+
|
|
96
|
+
### Layered Implementation Architecture
|
|
97
|
+
|
|
98
|
+
Current output is an abstraction, not a pixel-perfect recreation:
|
|
99
|
+
|
|
100
|
+
- many source micro-icons and vendor badges were collapsed.
|
|
101
|
+
- layer rail labels and system cards were simplified.
|
|
102
|
+
- connector count and routing are reduced.
|
|
103
|
+
- dense source labels were omitted to preserve readability.
|
|
104
|
+
|
|
105
|
+
Target recommendation for recreation: draw.io/Lucid with density budget and
|
|
106
|
+
source inventory. Mermaid recommendation: semantic layer/component map only.
|
|
107
|
+
|
|
108
|
+
## Rule Candidates
|
|
109
|
+
|
|
110
|
+
- `recreation` requires pixel-perfect review.
|
|
111
|
+
- `inspired-by-reference` must not be described as recreation.
|
|
112
|
+
- PDF/web captures require source-region extraction before diagram authoring.
|
|
113
|
+
- Mermaid outputs must be labeled semantic unless exact layout is not acceptance criteria.
|
|
114
|
+
- Every recreation needs a source-vs-output gap table before handoff.
|
|
115
|
+
- Source-free diagrams need a contract-vs-output gap table before handoff when
|
|
116
|
+
any visual issue remains.
|