@ryuenn3123/agentic-senior-core 3.0.8 → 3.0.10

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.
@@ -268,6 +268,61 @@ const REQUIRED_UPGRADE_UI_CONTRACT_WARNING_SNIPPETS = [
268
268
  ],
269
269
  },
270
270
  ];
271
+ const REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS = [
272
+ {
273
+ path: '.instructions.md',
274
+ snippets: [
275
+ 'UI Design Mode',
276
+ 'bootstrap-design.md',
277
+ 'frontend-architecture.md',
278
+ 'do not eagerly load unrelated backend-only rules',
279
+ ],
280
+ },
281
+ {
282
+ path: '.agent-context/prompts/bootstrap-design.md',
283
+ snippets: [
284
+ 'UI Design Mode is context-isolated by default:',
285
+ 'Responsive Strategy and Cross-Viewport Adaptation Matrix',
286
+ '`colorTruth.format`',
287
+ '`crossViewportAdaptation.mutationRules.mobile/tablet/desktop`',
288
+ ],
289
+ },
290
+ {
291
+ path: 'scripts/ui-design-judge.mjs',
292
+ snippets: [
293
+ 'Advisory-first UI design contract judge.',
294
+ 'Default mode is advisory: findings never block release. Strict mode is opt-in.',
295
+ 'Do not reward generic SaaS defaults or popular template patterns.',
296
+ 'UI design judge only evaluates changed UI surfaces.',
297
+ ],
298
+ },
299
+ {
300
+ path: 'lib/cli/project-scaffolder.mjs',
301
+ snippets: [
302
+ 'colorTruth',
303
+ 'crossViewportAdaptation',
304
+ 'requireViewportMutationRules',
305
+ 'allowHexDerivatives',
306
+ ],
307
+ },
308
+ {
309
+ path: 'lib/cli/detector.mjs',
310
+ snippets: [
311
+ 'hardcodedColorCount',
312
+ 'propDrillingCandidateCount',
313
+ 'arbitraryBreakpointCount',
314
+ 'frontendEvidenceMetrics',
315
+ ],
316
+ },
317
+ {
318
+ path: 'lib/cli/compiler.mjs',
319
+ snippets: [
320
+ 'LAYER 5: EXECUTION PROMPTS AND UI TRIGGERS',
321
+ 'bootstrap-design.md -> ui, ux, layout, screen, tailwind, frontend, redesign',
322
+ 'Keep UI-only requests context-isolated',
323
+ ],
324
+ },
325
+ ];
271
326
  const FORBIDDEN_TEMPLATE_BOOTSTRAP_SNIPPETS = [
272
327
  {
273
328
  path: 'lib/cli/project-scaffolder.mjs',
@@ -392,6 +447,7 @@ async function validateRequiredFiles() {
392
447
  'scripts/governance-weekly-report.mjs',
393
448
  'scripts/mcp-server.mjs',
394
449
  'scripts/frontend-usability-audit.mjs',
450
+ 'scripts/ui-design-judge.mjs',
395
451
  'scripts/documentation-boundary-audit.mjs',
396
452
  'scripts/context-triggered-audit.mjs',
397
453
  'scripts/rules-guardian-audit.mjs',
@@ -490,6 +546,7 @@ async function validateRuleFiles() {
490
546
  'review-checklists/pr-checklist.md',
491
547
  'review-checklists/architecture-review.md',
492
548
  'prompts/init-project.md',
549
+ 'prompts/bootstrap-design.md',
493
550
  'prompts/refactor.md',
494
551
  'prompts/review-code.md',
495
552
  'state/architecture-map.md',
@@ -1057,6 +1114,28 @@ async function validateUpgradeUiContractWarningCoverage() {
1057
1114
  }
1058
1115
  }
1059
1116
 
1117
+ async function validateUiDesignAutomationCoverage() {
1118
+ console.log('\nChecking UI design automation coverage...');
1119
+
1120
+ for (const coverageRule of REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS) {
1121
+ const absoluteCoveragePath = join(ROOT_DIR, coverageRule.path);
1122
+
1123
+ if (!(await fileExists(absoluteCoveragePath))) {
1124
+ fail(`Missing UI design automation source: ${coverageRule.path}`);
1125
+ continue;
1126
+ }
1127
+
1128
+ const coverageContent = await readTextFile(absoluteCoveragePath);
1129
+ for (const requiredSnippet of coverageRule.snippets) {
1130
+ if (coverageContent.includes(requiredSnippet)) {
1131
+ pass(`${coverageRule.path} includes UI design automation snippet: ${requiredSnippet}`);
1132
+ } else {
1133
+ fail(`${coverageRule.path} is missing UI design automation snippet: ${requiredSnippet}`);
1134
+ }
1135
+ }
1136
+ }
1137
+ }
1138
+
1060
1139
  async function validateDeterministicBoundaryEnforcementCoverage() {
1061
1140
  console.log('\nChecking deterministic boundary enforcement coverage...');
1062
1141
 
@@ -1326,6 +1405,7 @@ async function main() {
1326
1405
  await validateUniversalSopConsolidationCoverage();
1327
1406
  await validateTemplateFreeBootstrapCoverage();
1328
1407
  await validateUpgradeUiContractWarningCoverage();
1408
+ await validateUiDesignAutomationCoverage();
1329
1409
  await validateDeterministicBoundaryEnforcementCoverage();
1330
1410
  await validateStackResearchSnapshotState();
1331
1411
  await validateMcpConfiguration();