@zigrivers/scaffold 3.19.0 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  3. package/dist/cli/commands/dashboard.js +98 -25
  4. package/dist/cli/commands/dashboard.js.map +1 -1
  5. package/dist/cli/commands/dashboard.test.js +210 -0
  6. package/dist/cli/commands/dashboard.test.js.map +1 -1
  7. package/dist/config/loader.test.js +72 -0
  8. package/dist/config/loader.test.js.map +1 -1
  9. package/dist/config/schema.d.ts +432 -420
  10. package/dist/config/schema.d.ts.map +1 -1
  11. package/dist/config/schema.js +35 -4
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/config/schema.test.js +82 -1
  14. package/dist/config/schema.test.js.map +1 -1
  15. package/dist/core/assembly/overlay-state-resolver.d.ts.map +1 -1
  16. package/dist/core/assembly/overlay-state-resolver.js +47 -18
  17. package/dist/core/assembly/overlay-state-resolver.js.map +1 -1
  18. package/dist/core/assembly/overlay-state-resolver.test.js +291 -0
  19. package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -1
  20. package/dist/dashboard/generator.d.ts +57 -0
  21. package/dist/dashboard/generator.d.ts.map +1 -1
  22. package/dist/dashboard/generator.js +125 -1
  23. package/dist/dashboard/generator.js.map +1 -1
  24. package/dist/dashboard/multi-service.test.d.ts +2 -0
  25. package/dist/dashboard/multi-service.test.d.ts.map +1 -0
  26. package/dist/dashboard/multi-service.test.js +535 -0
  27. package/dist/dashboard/multi-service.test.js.map +1 -0
  28. package/dist/dashboard/template.d.ts +2 -1
  29. package/dist/dashboard/template.d.ts.map +1 -1
  30. package/dist/dashboard/template.js +400 -0
  31. package/dist/dashboard/template.js.map +1 -1
  32. package/dist/e2e/service-execution.test.js +69 -0
  33. package/dist/e2e/service-execution.test.js.map +1 -1
  34. package/package.json +1 -1
@@ -828,4 +828,404 @@ body.modal-open { overflow: hidden; }
828
828
  </html>`;
829
829
  }
830
830
  /* eslint-enable max-len */
831
+ /* eslint-disable max-len */
832
+ export function buildMultiServiceTemplate(dataJson, data) {
833
+ const generatedAt = new Date(data.generatedAt);
834
+ const ageMs = Date.now() - generatedAt.getTime();
835
+ const staleNotice = ageMs > 3600000
836
+ ? '<div id="stale-notice" class="stale-notice">&#9888; Data may be stale (generated more than 1 hour ago)</div>'
837
+ : '';
838
+ const methodology = escapeHtml(data.methodology);
839
+ const avgPct = data.aggregate.averagePercentage;
840
+ const serviceCards = data.services.map(svc => {
841
+ const name = escapeHtml(svc.name);
842
+ const projectType = escapeHtml(svc.projectType);
843
+ const pct = svc.percentage;
844
+ // "Complete" badge requires pipeline steps to have existed AND all to be done.
845
+ // total=0 (skeleton for missing state.json) renders "Not started" instead.
846
+ const isNotStarted = svc.total === 0;
847
+ const isComplete = !isNotStarted && svc.currentPhaseNumber === null;
848
+ const phaseLine = isComplete
849
+ ? '<span class="service-complete-badge">Complete</span>'
850
+ : isNotStarted
851
+ ? '<span class="service-not-started-badge">Not started</span>'
852
+ : `<span class="service-phase">Phase ${svc.currentPhaseNumber ?? ''}: ${escapeHtml(svc.currentPhaseName ?? '')}</span>`;
853
+ const nextLine = svc.nextEligibleSlug
854
+ ? `<div class="service-next"><span class="service-next-label">Next:</span> <span class="service-next-slug">${escapeHtml(svc.nextEligibleSlug)}</span>${svc.nextEligibleSummary ? ` <span class="service-next-summary">${escapeHtml(svc.nextEligibleSummary)}</span>` : ''}</div>`
855
+ : '';
856
+ // Command copy uses data-copy attribute + JS event listener (see script below).
857
+ // Avoids inline onclick XSS vectors where attacker-controlled svc.name could
858
+ // escape the single-quoted JS string (Codex MMR P1 — v3.20.0 PR #292).
859
+ const cmdRaw = `scaffold dashboard --service ${svc.name}`;
860
+ const cmdAttr = escapeHtml(cmdRaw);
861
+ return [
862
+ `<div class="service-card" data-service="${name}" data-copy="${cmdAttr}">`,
863
+ ' <div class="service-card-head">',
864
+ ` <div class="service-name">${name}</div>`,
865
+ ` <span class="service-type-pill">${projectType}</span>`,
866
+ ' </div>',
867
+ ' <div class="service-progress-row">',
868
+ ` <div class="service-progress-bar"><div class="service-progress-fill" style="width:${pct}%"></div></div>`,
869
+ ` <span class="service-pct">${pct}%</span>`,
870
+ ' </div>',
871
+ ' <div class="service-counts">',
872
+ ` <span class="count-pill count-completed">${svc.completed} done</span>`,
873
+ svc.skipped > 0 ? ` <span class="count-pill count-skipped">${svc.skipped} skipped</span>` : '',
874
+ svc.inProgress > 0 ? ` <span class="count-pill count-in-progress">${svc.inProgress} active</span>` : '',
875
+ svc.pending > 0 ? ` <span class="count-pill count-pending">${svc.pending} pending</span>` : '',
876
+ ' </div>',
877
+ ` <div class="service-phase-line">${phaseLine}</div>`,
878
+ nextLine,
879
+ ` <div class="service-cmd-hint"><code>${escapeHtml(cmdRaw)}</code><span class="service-cmd-copy">Click to copy</span></div>`,
880
+ '</div>',
881
+ ].filter(Boolean).join('\n');
882
+ }).join('\n');
883
+ const servicesByPhase = data.aggregate.servicesByPhase
884
+ .filter(p => p.reachedCount > 0)
885
+ .map(p => [
886
+ '<div class="phase-indicator">',
887
+ ` <div class="phase-indicator-num">P${p.phaseNumber}</div>`,
888
+ ` <div class="phase-indicator-name">${escapeHtml(p.phaseName)}</div>`,
889
+ ` <div class="phase-indicator-count">${p.reachedCount} / ${data.aggregate.totalServices}</div>`,
890
+ '</div>',
891
+ ].join('\n')).join('\n');
892
+ return `<!DOCTYPE html>
893
+ <html lang="en">
894
+ <head>
895
+ <meta charset="UTF-8">
896
+ <meta name="viewport" content="width=device-width, initial-scale=1">
897
+ <title>Scaffold Multi-Service Dashboard</title>
898
+ <script id="scaffold-data" type="application/json">
899
+ ${dataJson}
900
+ </script>
901
+ <style>
902
+ [data-theme="dark"] {
903
+ --bg: #0f172a;
904
+ --card-bg: #1e293b;
905
+ --border: #334155;
906
+ --text: #e2e8f0;
907
+ --muted: #94a3b8;
908
+ --faint: #64748b;
909
+ --status-completed: #4ade80;
910
+ --status-skipped: #818cf8;
911
+ --status-in-progress: #fbbf24;
912
+ --status-pending: #64748b;
913
+ --accent: #6366f1;
914
+ --accent-light: #818cf8;
915
+ --stale-bg: #451a03;
916
+ --stale-text: #fef3c7;
917
+ }
918
+ [data-theme="light"] {
919
+ --bg: #f8fafc;
920
+ --card-bg: #ffffff;
921
+ --border: #e2e8f0;
922
+ --text: #1e293b;
923
+ --muted: #64748b;
924
+ --faint: #94a3b8;
925
+ --status-completed: #4ade80;
926
+ --status-skipped: #818cf8;
927
+ --status-in-progress: #fbbf24;
928
+ --status-pending: #64748b;
929
+ --accent: #6366f1;
930
+ --accent-light: #818cf8;
931
+ --stale-bg: #fef3c7;
932
+ --stale-text: #92400e;
933
+ }
934
+ *, *::before, *::after { box-sizing: border-box; }
935
+ body {
936
+ font-family: system-ui, -apple-system, sans-serif;
937
+ background: var(--bg);
938
+ color: var(--text);
939
+ margin: 0;
940
+ padding: 24px;
941
+ line-height: 1.5;
942
+ }
943
+ .container { max-width: 1120px; margin: 0 auto; }
944
+ .header {
945
+ display: flex;
946
+ justify-content: space-between;
947
+ align-items: flex-start;
948
+ margin-bottom: 24px;
949
+ flex-wrap: wrap;
950
+ gap: 12px;
951
+ }
952
+ .header h1 { margin: 0 0 4px; font-size: 1.5rem; }
953
+ .header-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
954
+ .methodology-badge {
955
+ background: var(--accent);
956
+ color: #fff;
957
+ padding: 2px 10px;
958
+ border-radius: 12px;
959
+ font-size: 0.8rem;
960
+ font-weight: 600;
961
+ text-transform: uppercase;
962
+ }
963
+ .pct-label { color: var(--muted); font-size: 0.9rem; }
964
+ .theme-toggle {
965
+ cursor: pointer;
966
+ background: var(--card-bg);
967
+ border: 1px solid var(--border);
968
+ padding: 6px 14px;
969
+ border-radius: 6px;
970
+ color: var(--text);
971
+ font-size: 0.85rem;
972
+ }
973
+ .theme-toggle:hover { border-color: var(--accent); }
974
+ .stale-notice {
975
+ background: var(--stale-bg);
976
+ color: var(--stale-text);
977
+ padding: 10px 16px;
978
+ border-radius: 6px;
979
+ margin-bottom: 16px;
980
+ font-size: 0.9rem;
981
+ }
982
+ .aggregate-block {
983
+ background: var(--card-bg);
984
+ border: 1px solid var(--border);
985
+ border-radius: 10px;
986
+ padding: 20px 24px;
987
+ margin-bottom: 28px;
988
+ }
989
+ .aggregate-row {
990
+ display: flex;
991
+ align-items: center;
992
+ gap: 16px;
993
+ margin-bottom: 14px;
994
+ flex-wrap: wrap;
995
+ }
996
+ .aggregate-progress-bar {
997
+ flex: 1;
998
+ min-width: 200px;
999
+ height: 10px;
1000
+ background: var(--border);
1001
+ border-radius: 5px;
1002
+ overflow: hidden;
1003
+ }
1004
+ .aggregate-progress-fill {
1005
+ height: 100%;
1006
+ background: var(--status-completed);
1007
+ }
1008
+ .aggregate-pct { font-size: 1.1rem; font-weight: 700; min-width: 48px; text-align: right; }
1009
+ .aggregate-stat { color: var(--muted); font-size: 0.9rem; }
1010
+ .aggregate-stat strong { color: var(--text); font-weight: 700; }
1011
+ .phase-indicators {
1012
+ display: flex;
1013
+ gap: 10px;
1014
+ flex-wrap: wrap;
1015
+ padding-top: 8px;
1016
+ border-top: 1px solid var(--border);
1017
+ margin-top: 8px;
1018
+ }
1019
+ .phase-indicator {
1020
+ background: var(--bg);
1021
+ border: 1px solid var(--border);
1022
+ border-radius: 6px;
1023
+ padding: 6px 10px;
1024
+ min-width: 90px;
1025
+ }
1026
+ .phase-indicator-num { font-size: 0.7rem; color: var(--faint); font-weight: 700; }
1027
+ .phase-indicator-name { font-size: 0.8rem; font-weight: 600; }
1028
+ .phase-indicator-count { font-size: 0.75rem; color: var(--muted); }
1029
+ .services-grid {
1030
+ display: grid;
1031
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
1032
+ gap: 16px;
1033
+ }
1034
+ .service-card {
1035
+ background: var(--card-bg);
1036
+ border: 1px solid var(--border);
1037
+ border-radius: 10px;
1038
+ padding: 16px 18px;
1039
+ cursor: pointer;
1040
+ transition: border-color 0.15s, transform 0.1s;
1041
+ }
1042
+ .service-card:hover { border-color: var(--accent); transform: translateY(-1px); }
1043
+ .service-card-head {
1044
+ display: flex;
1045
+ justify-content: space-between;
1046
+ align-items: center;
1047
+ gap: 8px;
1048
+ margin-bottom: 10px;
1049
+ }
1050
+ .service-name { font-size: 1.1rem; font-weight: 700; }
1051
+ .service-type-pill {
1052
+ background: var(--border);
1053
+ color: var(--muted);
1054
+ padding: 2px 8px;
1055
+ border-radius: 10px;
1056
+ font-size: 0.7rem;
1057
+ font-weight: 600;
1058
+ text-transform: lowercase;
1059
+ }
1060
+ .service-progress-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
1061
+ .service-progress-bar { flex: 1; height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; }
1062
+ .service-progress-fill { height: 100%; background: var(--status-completed); }
1063
+ .service-pct { font-size: 0.85rem; font-weight: 600; min-width: 42px; text-align: right; }
1064
+ .service-counts { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
1065
+ .count-pill {
1066
+ font-size: 0.7rem;
1067
+ padding: 2px 8px;
1068
+ border-radius: 10px;
1069
+ font-weight: 600;
1070
+ }
1071
+ .count-completed { background: var(--status-completed); color: #064e3b; }
1072
+ .count-skipped { background: var(--status-skipped); color: #1e1b4b; }
1073
+ .count-in-progress { background: var(--status-in-progress); color: #451a03; }
1074
+ .count-pending { background: var(--border); color: var(--muted); }
1075
+ .service-phase-line { font-size: 0.85rem; color: var(--muted); margin-bottom: 6px; }
1076
+ .service-phase { color: var(--text); font-weight: 500; }
1077
+ .service-complete-badge {
1078
+ background: var(--status-completed);
1079
+ color: #064e3b;
1080
+ padding: 2px 10px;
1081
+ border-radius: 10px;
1082
+ font-size: 0.75rem;
1083
+ font-weight: 700;
1084
+ text-transform: uppercase;
1085
+ }
1086
+ .service-not-started-badge {
1087
+ background: var(--border);
1088
+ color: var(--muted);
1089
+ padding: 2px 10px;
1090
+ border-radius: 10px;
1091
+ font-size: 0.75rem;
1092
+ font-weight: 700;
1093
+ text-transform: uppercase;
1094
+ }
1095
+ .service-next { font-size: 0.8rem; color: var(--muted); margin-bottom: 10px; }
1096
+ .service-next-label { color: var(--faint); text-transform: uppercase; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; }
1097
+ .service-next-slug { color: var(--accent-light); font-weight: 600; }
1098
+ .service-next-summary { color: var(--muted); }
1099
+ .service-cmd-hint {
1100
+ display: flex;
1101
+ justify-content: space-between;
1102
+ align-items: center;
1103
+ gap: 8px;
1104
+ padding: 8px 10px;
1105
+ background: var(--bg);
1106
+ border: 1px solid var(--border);
1107
+ border-radius: 6px;
1108
+ font-size: 0.75rem;
1109
+ }
1110
+ .service-cmd-hint code { color: var(--text); }
1111
+ .service-cmd-copy { color: var(--faint); }
1112
+ .service-card.copied { border-color: var(--status-completed); }
1113
+ .service-card.copied .service-cmd-copy { color: var(--status-completed); font-weight: 600; }
1114
+ .footer {
1115
+ margin-top: 40px;
1116
+ padding-top: 16px;
1117
+ border-top: 1px solid var(--border);
1118
+ color: var(--faint);
1119
+ font-size: 0.75rem;
1120
+ display: flex;
1121
+ justify-content: space-between;
1122
+ flex-wrap: wrap;
1123
+ gap: 8px;
1124
+ }
1125
+ @media (max-width: 480px) {
1126
+ body { padding: 16px; }
1127
+ .header { flex-direction: column; }
1128
+ .services-grid { grid-template-columns: 1fr; }
1129
+ }
1130
+ </style>
1131
+ </head>
1132
+ <body>
1133
+ <script>
1134
+ var stored = localStorage.getItem('scaffold-theme');
1135
+ var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
1136
+ var theme = stored || (prefersDark ? 'dark' : 'light');
1137
+ document.documentElement.setAttribute('data-theme', theme);
1138
+ </script>
1139
+ <div class="container">
1140
+ <div class="header">
1141
+ <div>
1142
+ <h1>Multi-Service Pipeline</h1>
1143
+ <div class="header-meta">
1144
+ <span class="methodology-badge">${methodology}</span>
1145
+ <span class="pct-label">${avgPct}% average</span>
1146
+ </div>
1147
+ </div>
1148
+ <button class="theme-toggle" onclick="toggleTheme()">Toggle theme</button>
1149
+ </div>
1150
+ ${staleNotice}
1151
+ <div class="aggregate-block">
1152
+ <div class="aggregate-row">
1153
+ <div class="aggregate-progress-bar"><div class="aggregate-progress-fill" style="width:${avgPct}%"></div></div>
1154
+ <span class="aggregate-pct">${avgPct}%</span>
1155
+ </div>
1156
+ <div class="aggregate-stat"><strong>${data.aggregate.servicesComplete}</strong> of <strong>${data.aggregate.totalServices}</strong> services complete</div>
1157
+ ${servicesByPhase ? `<div class="phase-indicators">${servicesByPhase}</div>` : ''}
1158
+ </div>
1159
+ <div class="services-grid">
1160
+ ${serviceCards}
1161
+ </div>
1162
+ <div class="footer">
1163
+ <span>Generated ${escapeHtml(data.generatedAt)}</span>
1164
+ <span>Scaffold v${escapeHtml(data.scaffoldVersion)}</span>
1165
+ </div>
1166
+ </div>
1167
+ <script>
1168
+ (function() {
1169
+ function toggleTheme() {
1170
+ var current = document.documentElement.getAttribute('data-theme');
1171
+ var next = current === 'dark' ? 'light' : 'dark';
1172
+ document.documentElement.setAttribute('data-theme', next);
1173
+ localStorage.setItem('scaffold-theme', next);
1174
+ }
1175
+ window.toggleTheme = toggleTheme;
1176
+
1177
+ function copyCommand(text, card) {
1178
+ if (navigator.clipboard && navigator.clipboard.writeText) {
1179
+ navigator.clipboard.writeText(text).then(function() {
1180
+ if (card) {
1181
+ card.classList.add('copied');
1182
+ var label = card.querySelector('.service-cmd-copy');
1183
+ if (label) {
1184
+ var orig = label.textContent;
1185
+ label.textContent = 'Copied!';
1186
+ setTimeout(function() {
1187
+ label.textContent = orig;
1188
+ card.classList.remove('copied');
1189
+ }, 1500);
1190
+ }
1191
+ }
1192
+ });
1193
+ }
1194
+ }
1195
+ window.copyCommand = copyCommand;
1196
+
1197
+ // Wire up service-card clicks via data-copy (no inline onclick — XSS-safe).
1198
+ var cards = document.querySelectorAll('.service-card[data-copy]');
1199
+ for (var i = 0; i < cards.length; i++) {
1200
+ (function(card) {
1201
+ var cmd = card.getAttribute('data-copy') || '';
1202
+ card.addEventListener('click', function() { copyCommand(cmd, card); });
1203
+ })(cards[i]);
1204
+ }
1205
+
1206
+ (function() {
1207
+ var dataEl = document.getElementById('scaffold-data');
1208
+ if (!dataEl) return;
1209
+ var data = JSON.parse(dataEl.textContent || '{}');
1210
+ if (data.generatedAt) {
1211
+ var age = Date.now() - new Date(data.generatedAt).getTime();
1212
+ if (age > 3600000) {
1213
+ var existing = document.getElementById('stale-notice');
1214
+ if (!existing) {
1215
+ var notice = document.createElement('div');
1216
+ notice.id = 'stale-notice';
1217
+ notice.className = 'stale-notice';
1218
+ notice.textContent = '\u26A0 Data may be stale (generated more than 1 hour ago)';
1219
+ var container = document.querySelector('.container');
1220
+ if (container) container.insertBefore(notice, container.children[1]);
1221
+ }
1222
+ }
1223
+ }
1224
+ })();
1225
+ })();
1226
+ </script>
1227
+ </body>
1228
+ </html>`;
1229
+ }
1230
+ /* eslint-enable max-len */
831
1231
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/dashboard/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/dashboard/template.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAmB;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAA;IAEL,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAA;IAChD,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO;QACjC,CAAC,CAAC;YACA,8CAA8C;YAC9C,4DAA4D;YAC5D,QAAQ;SACT,CAAC,IAAI,CAAC,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,CAAA;IAEN,4CAA4C;IAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY;QACvC,CAAC,CAAC;YACA,0CAA0C;YAC1C,oDAAoD;YACpD,mCAAmC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ;YAC7E,IAAI,CAAC,YAAY,CAAC,OAAO;gBACvB,CAAC,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;gBACpF,CAAC,CAAC,EAAE;YACN,kCAAkC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ;YACnF,wDAAwD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS;YAClJ,QAAQ;SACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;IAEpC,OAAO;;;;;;;EAOP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAscgC,WAAW;kCACnB,GAAG;;;;;IAKjC,WAAW;;mDAEoC,YAAY;iDACd,UAAU;;;;iCAI1B,IAAI,CAAC,QAAQ,CAAC,SAAS;;;;iCAIvB,IAAI,CAAC,QAAQ,CAAC,OAAO;;;;iCAIrB,IAAI,CAAC,QAAQ,CAAC,OAAO;;;;iCAIrB,IAAI,CAAC,QAAQ,CAAC,UAAU;;;;IAIrD,eAAe;;;;sBAIG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;sBAC5B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqS9C,CAAA;AACR,CAAC;AACD,2BAA2B;AAE3B,4BAA4B;AAC5B,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAChB,IAA+B;IAE/B,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAA;IAChD,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO;QACjC,CAAC,CAAC,8GAA8G;QAChH,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAA;IAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAA;QAC1B,+EAA+E;QAC/E,2EAA2E;QAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,KAAK,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAA;QACnE,MAAM,SAAS,GAAG,UAAU;YAC1B,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,4DAA4D;gBAE9D,CAAC,CAAC,qCAAqC,GAAG,CAAC,kBAAkB,IAAI,EAAE,KAAK,UAAU,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,SAAS,CAAA;QAC3H,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB;YAEnC,CAAC,CAAC,2GAA2G,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,uCAAuC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ;YACjR,CAAC,CAAC,EAAE,CAAA;QACN,gFAAgF;QAChF,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,MAAM,GAAG,gCAAgC,GAAG,CAAC,IAAI,EAAE,CAAA;QACzD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAElC,OAAO;YACL,2CAA2C,IAAI,gBAAgB,OAAO,IAAI;YAC1E,mCAAmC;YACnC,iCAAiC,IAAI,QAAQ;YAC7C,uCAAuC,WAAW,SAAS;YAC3D,UAAU;YACV,sCAAsC;YAEtC,yFAAyF,GAAG,iBAAiB;YAC7G,iCAAiC,GAAG,UAAU;YAC9C,UAAU;YACV,gCAAgC;YAChC,gDAAgD,GAAG,CAAC,SAAS,cAAc;YAC3E,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,8CAA8C,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACjG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,kDAAkD,GAAG,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC1G,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,8CAA8C,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACjG,UAAU;YACV,qCAAqC,SAAS,QAAQ;YACtD,QAAQ;YAER,yCAAyC,UAAU,CAAC,MAAM,CAAC,kEAAkE;YAC7H,QAAQ;SACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe;SACnD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACR,+BAA+B;QAC/B,uCAAuC,CAAC,CAAC,WAAW,QAAQ;QAC5D,uCAAuC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ;QACtE,wCAAwC,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,QAAQ;QAChG,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE1B,OAAO;;;;;;;EAOP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAqPgC,WAAW;kCACnB,MAAM;;;;;IAKpC,WAAW;;;8FAG+E,MAAM;oCAChE,MAAM;;0CAEA,IAAI,CAAC,SAAS,CAAC,gBAAgB,wBAAwB,IAAI,CAAC,SAAS,CAAC,aAAa;MACvH,eAAe,CAAC,CAAC,CAAC,iCAAiC,eAAe,QAAQ,CAAC,CAAC,CAAC,EAAE;;;EAGnF,YAAY;;;sBAGQ,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;sBAC5B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgE9C,CAAA;AACR,CAAC;AACD,2BAA2B"}
@@ -119,6 +119,31 @@ function makeSingleServiceConfig() {
119
119
  },
120
120
  };
121
121
  }
122
+ /**
123
+ * Build a research-service config with the given multi-domain array.
124
+ * Cast pattern matches makeMultiServiceConfig / makeSingleServiceConfig above.
125
+ */
126
+ function makeResearchMultiDomainConfig(domain) {
127
+ return {
128
+ version: 2,
129
+ methodology: 'deep',
130
+ platforms: ['claude-code'],
131
+ project: {
132
+ services: [
133
+ {
134
+ name: 'experiments',
135
+ projectType: 'research',
136
+ researchConfig: {
137
+ experimentDriver: 'code-driven',
138
+ interactionMode: 'checkpoint-gated',
139
+ hasExperimentTracking: true,
140
+ domain,
141
+ },
142
+ },
143
+ ],
144
+ },
145
+ };
146
+ }
122
147
  // ---------------------------------------------------------------------------
123
148
  // Tests
124
149
  // ---------------------------------------------------------------------------
@@ -215,5 +240,49 @@ describe('service-qualified execution E2E', () => {
215
240
  expect(pipeline.globalSteps.has(step), `globalSteps should contain '${step}'`).toBe(true);
216
241
  }
217
242
  });
243
+ // Service-mode multi-domain tests (spec §5.3.1): exercise the real
244
+ // resolvePipeline(ctx, { serviceId }) entry with a research service that
245
+ // declares multiple domains. Verifies that ServiceSchema's config-reuse of
246
+ // ResearchConfigSchema carries the widened multi-domain shape through, AND
247
+ // that declaration order is preserved.
248
+ it.each([
249
+ {
250
+ name: 'service-mode multi-domain preserves declaration order',
251
+ domain: ['quant-finance', 'ml-research'],
252
+ quantBeforeMl: true,
253
+ },
254
+ {
255
+ name: 'service-mode multi-domain preserves order when reversed',
256
+ domain: ['ml-research', 'quant-finance'],
257
+ quantBeforeMl: false,
258
+ },
259
+ ])('$name', async ({ domain, quantBeforeMl }) => {
260
+ const methodologyDir = getPackageMethodologyDir();
261
+ const realMetaPrompts = await discoverRealMetaPrompts();
262
+ const knownSteps = [...realMetaPrompts.keys()];
263
+ const presets = loadAllPresets(methodologyDir, knownSteps);
264
+ const output = createMockOutput();
265
+ const config = makeResearchMultiDomainConfig(domain);
266
+ const pipeline = resolvePipeline({
267
+ projectRoot: '/tmp/test',
268
+ metaPrompts: realMetaPrompts,
269
+ config,
270
+ configErrors: [],
271
+ configWarnings: [],
272
+ presets,
273
+ methodologyDir,
274
+ }, { output, serviceId: 'experiments' });
275
+ const sysArchKnowledge = pipeline.overlay.knowledge['system-architecture'] ?? [];
276
+ const quantIdx = sysArchKnowledge.indexOf('research-quant-backtesting');
277
+ const mlIdx = sysArchKnowledge.indexOf('research-ml-architecture-search');
278
+ expect(quantIdx).toBeGreaterThan(-1);
279
+ expect(mlIdx).toBeGreaterThan(-1);
280
+ if (quantBeforeMl) {
281
+ expect(quantIdx).toBeLessThan(mlIdx);
282
+ }
283
+ else {
284
+ expect(mlIdx).toBeLessThan(quantIdx);
285
+ }
286
+ });
218
287
  });
219
288
  //# sourceMappingURL=service-execution.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-execution.test.js","sourceRoot":"","sources":["../../src/e2e/service-execution.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-execution.test.js","sourceRoot":"","sources":["../../src/e2e/service-execution.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zigrivers/scaffold",
3
- "version": "3.19.0",
3
+ "version": "3.21.0",
4
4
  "description": "AI-powered software project scaffolding pipeline",
5
5
  "type": "module",
6
6
  "workspaces": [