@provartesting/provardx-cli 1.5.3 → 1.6.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 (47) hide show
  1. package/README.md +5 -37
  2. package/lib/commands/provar/automation/project/validate.js +5 -3
  3. package/lib/commands/provar/automation/project/validate.js.map +1 -1
  4. package/lib/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +13 -1
  5. package/lib/mcp/docs/VALIDATION_RULE_REGISTRY.md +225 -0
  6. package/lib/mcp/rules/comparisonTypeSets.d.ts +21 -0
  7. package/lib/mcp/rules/comparisonTypeSets.js +45 -0
  8. package/lib/mcp/rules/comparisonTypeSets.js.map +1 -0
  9. package/lib/mcp/rules/provar_best_practices_rules.json +119 -8
  10. package/lib/mcp/rules/provar_layer1_rules.json +151 -0
  11. package/lib/mcp/rules/provar_test_step_schema.json +3005 -0
  12. package/lib/mcp/server.d.ts +15 -0
  13. package/lib/mcp/server.js +64 -1
  14. package/lib/mcp/server.js.map +1 -1
  15. package/lib/mcp/tools/automationTools.js +38 -1
  16. package/lib/mcp/tools/automationTools.js.map +1 -1
  17. package/lib/mcp/tools/bestPracticesEngine.js +1068 -6
  18. package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
  19. package/lib/mcp/tools/hierarchyValidate.d.ts +2 -1
  20. package/lib/mcp/tools/hierarchyValidate.js +7 -1
  21. package/lib/mcp/tools/hierarchyValidate.js.map +1 -1
  22. package/lib/mcp/tools/projectValidateFromPath.js +1 -2
  23. package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
  24. package/lib/mcp/tools/sfSpawn.d.ts +23 -0
  25. package/lib/mcp/tools/sfSpawn.js +72 -1
  26. package/lib/mcp/tools/sfSpawn.js.map +1 -1
  27. package/lib/mcp/tools/testCaseGenerate.js +146 -12
  28. package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
  29. package/lib/mcp/tools/testCaseValidate.d.ts +46 -0
  30. package/lib/mcp/tools/testCaseValidate.js +307 -41
  31. package/lib/mcp/tools/testCaseValidate.js.map +1 -1
  32. package/lib/mcp/tools/testPlanValidate.js +3 -2
  33. package/lib/mcp/tools/testPlanValidate.js.map +1 -1
  34. package/lib/mcp/tools/testSuiteValidate.js +3 -2
  35. package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
  36. package/lib/mcp/utils/qualityThreshold.d.ts +8 -0
  37. package/lib/mcp/utils/qualityThreshold.js +42 -0
  38. package/lib/mcp/utils/qualityThreshold.js.map +1 -0
  39. package/lib/mcp/utils/testCaseId.d.ts +23 -0
  40. package/lib/mcp/utils/testCaseId.js +156 -0
  41. package/lib/mcp/utils/testCaseId.js.map +1 -0
  42. package/lib/services/projectValidation.js +2 -1
  43. package/lib/services/projectValidation.js.map +1 -1
  44. package/messages/sf.provar.automation.project.validate.md +1 -1
  45. package/messages/sf.provar.mcp.start.md +1 -0
  46. package/oclif.manifest.json +4 -4
  47. package/package.json +3 -2
@@ -12,6 +12,7 @@ import { z } from 'zod';
12
12
  import { assertPathAllowed, PathPolicyError } from '../security/pathPolicy.js';
13
13
  import { makeError, makeRequestId } from '../schemas/common.js';
14
14
  import { log } from '../logging/logger.js';
15
+ import { allocateTestCaseId, DEFAULT_TESTCASE_ID } from '../utils/testCaseId.js';
15
16
  import { validateTestCase } from './testCaseValidate.js';
16
17
  import { desc } from './descHelper.js';
17
18
  import { UI_ACTION_API_IDS, UI_SCREEN_CONTAINER_API_IDS, UI_LOCATOR_BEARING_API_IDS } from './uiActionApiIds.js';
@@ -165,7 +166,7 @@ const TOOL_DESCRIPTION = [
165
166
  // ── Existing description (unchanged below) ───────────────────────────────────
166
167
  'Generate a Provar XML test case skeleton with proper UUID v4 guids, sequential testItemId values, and <steps> structure.',
167
168
  'Returns XML content. Writes to disk only when dry_run=false.',
168
- 'Generated structure: <?xml version="1.0" encoding="UTF-8" standalone="no"?> with <testCase guid="..." id="1" registryId="..."> (id is always the integer literal "1" as required by the Provar runtime), a <summary/> child, then <steps>.',
169
+ 'Generated structure: <?xml version="1.0" encoding="UTF-8" standalone="no"?> with <testCase guid="..." id="N" registryId="..."> (a numeric integer id), a <summary/> child, then <steps>. The unique identifier is the guid; id is a human-facing label. When writing into an existing project the id is auto-allocated as the highest in-use id + 1; otherwise it defaults to 1.',
169
170
  'URI-aware generation: use target_uri to control the XML nesting structure.',
170
171
  ' - sf:ui:target (or omit target_uri) → flat Salesforce XML structure (existing behaviour).',
171
172
  ' - ui:pageobject:target?pageId=pageobjects.PageClass → wraps all steps in a UiWithScreen element targeting that non-SF page object.',
@@ -190,9 +191,9 @@ const TOOL_DESCRIPTION = [
190
191
  'target argument (UiWithScreen/UiWithRow): pass the URI value; emitted as class="uiTarget" uri="...".',
191
192
  'locator argument (UiDoAction/UiAssert/UiRead/UiFill): pass the URI value; emitted as class="uiLocator" uri="...".',
192
193
  'valueClass auto-detection: argument values are typed automatically before XML emission. ' +
193
- 'ISO-8601 date "YYYY-MM-DD" → valueClass="date"; ISO-8601 datetime "YYYY-MM-DDTHH:MM:SS" (optional fractional seconds + timezone) → "datetime"; ' +
194
+ 'ISO-8601 date "YYYY-MM-DD" → valueClass="date"; ISO-8601 datetime "YYYY-MM-DDTHH:MM:SS" (optional fractional seconds + timezone) → "dateTime"; ' +
194
195
  '"true"/"false" → "boolean"; numeric string (e.g. "42", "-5", "3.14") → "decimal"; otherwise "string". ' +
195
- 'Pass dates / booleans / numbers in those formats Provar runtime silently discards date fields emitted as valueClass="string". ' +
196
+ 'Pass dates in ISO-8601 the generator converts them to the epoch-millisecond value Provar requires (a date/dateTime field emitted as an ISO string, or as valueClass="string", fails to load in the IDE). A bare date is treated as UTC midnight; a datetime without a timezone is treated as UTC. ' +
196
197
  'Note: numbers always emit valueClass="decimal" per the canonical Provar reference (there is no separate "integer" valueClass).',
197
198
  'Edit page objects: action=Edit targets require a compiled page object for the SF object. ' +
198
199
  'If none exists in the project page-objects directory, the locator binding will fail at runtime. ' +
@@ -303,11 +304,18 @@ export function registerTestCaseGenerate(server, config) {
303
304
  return { isError: true, content: [{ type: 'text', text: JSON.stringify(err) }] };
304
305
  }
305
306
  try {
306
- const xmlContent = buildTestCaseXml(input);
307
307
  const filePath = input.output_path ? path.resolve(input.output_path) : undefined;
308
- let written = false;
308
+ // Allocate the root testCase id from surrounding project context, but only
309
+ // when actually persisting (a write path that has cleared the path policy).
310
+ // Preview/dry-run runs have no project anchor, so they keep the default id.
311
+ let idAllocation = { id: DEFAULT_TESTCASE_ID, basis: 'default' };
309
312
  if (filePath && !input.dry_run) {
310
313
  assertPathAllowed(filePath, config.allowedPaths);
314
+ idAllocation = allocateTestCaseId(filePath, config.allowedPaths);
315
+ }
316
+ const xmlContent = buildTestCaseXml(input, idAllocation.id);
317
+ let written = false;
318
+ if (filePath && !input.dry_run) {
311
319
  if (fs.existsSync(filePath) && !input.overwrite) {
312
320
  const err = makeError('FILE_EXISTS', `File already exists: ${filePath}. Set overwrite=true to replace.`, requestId);
313
321
  return { isError: true, content: [{ type: 'text', text: JSON.stringify(err) }] };
@@ -315,7 +323,12 @@ export function registerTestCaseGenerate(server, config) {
315
323
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
316
324
  fs.writeFileSync(filePath, xmlContent, 'utf-8');
317
325
  written = true;
318
- log('info', 'provar_testcase_generate: wrote file', { requestId, filePath });
326
+ log('info', 'provar_testcase_generate: wrote file', {
327
+ requestId,
328
+ filePath,
329
+ testCaseId: idAllocation.id,
330
+ idBasis: idAllocation.basis,
331
+ });
319
332
  }
320
333
  const warnings = buildStepWarnings(input.steps);
321
334
  const runValidation = input.validate_after_edit !== false;
@@ -326,6 +339,7 @@ export function registerTestCaseGenerate(server, config) {
326
339
  written,
327
340
  dry_run: input.dry_run,
328
341
  step_count: input.steps.length,
342
+ test_case_id: idAllocation.id,
329
343
  idempotency_key: input.idempotency_key,
330
344
  ...(warnings.length > 0 ? { warnings } : {}),
331
345
  };
@@ -450,13 +464,47 @@ function buildArgumentValue(key, val, indent, inNamedValues = false, apiId = '')
450
464
  if (key === 'locator' && UI_LOCATOR_BEARING_API_IDS.has(apiId)) {
451
465
  return `${indent}<value class="uiLocator" uri="${escapeXmlAttr(val)}"/>`;
452
466
  }
467
+ // D2: 'interaction' argument → class="uiInteraction" (UiDoAction Action widget).
468
+ // PDX-506: the IDE step editor binds its Action only from a typed uiInteraction;
469
+ // a plain string runs green from the CLI but renders the Action field blank.
470
+ // Gated on the shared UI-action API set so generator + validator stay aligned.
471
+ if (key === 'interaction' && UI_ACTION_API_IDS.has(apiId)) {
472
+ return `${indent}<value class="uiInteraction" uri="${escapeXmlAttr(val)}"/>`;
473
+ }
453
474
  }
454
475
  // PDX-493 (H3): infer valueClass for date / datetime / boolean / decimal / string. The
455
476
  // `fieldTypeHint` parameter on `inferSalesforceValueClass` is intentionally not threaded
456
477
  // through here yet — it lands in PDX-492 (H2b) along with the `field_type_hints` tool input.
457
478
  const inferred = inferSalesforceValueClass(key, val);
479
+ if (inferred === 'date' || inferred === 'datetime') {
480
+ // PDX-509: Provar stores date/dateTime as epoch MILLISECONDS, never an ISO string —
481
+ // an ISO string fails to load in the IDE (RENDER-DATE-VALUECLASS-001), and the real
482
+ // corpus uses epoch ms exclusively with camelCase `dateTime`. Convert here.
483
+ const ms = isoToEpochMs(val, inferred);
484
+ if (ms !== null) {
485
+ const valueClass = inferred === 'datetime' ? 'dateTime' : 'date';
486
+ return `${indent}<value class="value" valueClass="${valueClass}">${ms}</value>`;
487
+ }
488
+ // A value that matches the ISO shape but is not a real date (e.g. "2026-99-99")
489
+ // cannot be converted — fall back to a plain string rather than emit a
490
+ // load-breaking date/dateTime with a non-epoch value.
491
+ return `${indent}<value class="value" valueClass="string">${escapeXmlContent(val)}</value>`;
492
+ }
458
493
  return `${indent}<value class="value" valueClass="${inferred}">${escapeXmlContent(val)}</value>`;
459
494
  }
495
+ /**
496
+ * Convert a validated ISO-8601 date / datetime string to epoch milliseconds.
497
+ * A date-only string ("YYYY-MM-DD") is parsed as UTC midnight per the ES spec. A
498
+ * datetime WITHOUT an explicit timezone would otherwise parse as machine-local
499
+ * time (non-deterministic), so we pin it to UTC by appending 'Z' — matching the
500
+ * Provar corpus, where date/dateTime values are stored as UTC epoch ms.
501
+ * Returns null if the value cannot be parsed (caller falls back to the raw text).
502
+ */
503
+ function isoToEpochMs(val, kind) {
504
+ const needsUtc = kind === 'datetime' && !/(Z|[+-]\d{2}:?\d{2})$/.test(val);
505
+ const ms = Date.parse(needsUtc ? `${val}Z` : val);
506
+ return Number.isNaN(ms) ? null : ms;
507
+ }
460
508
  function buildArgumentsXml(attributes, baseIndent = ' ', apiId = '') {
461
509
  const entries = Object.entries(attributes);
462
510
  if (entries.length === 0)
@@ -493,6 +541,82 @@ function buildSetValuesXml(attributes, baseIndent) {
493
541
  `${i(0)}</arguments>\n` +
494
542
  `${baseIndent.slice(0, -2)}`);
495
543
  }
544
+ // PDX-507: derive the field name for a uiFieldAssertion from a locator URI's
545
+ // `name=` parameter (e.g. ui:locator?name=LastName&binding=… → "LastName").
546
+ function extractFieldName(uri) {
547
+ const m = /[?&]name=([^&]*)/.exec(uri);
548
+ if (!m)
549
+ return 'Field';
550
+ try {
551
+ return decodeURIComponent(m[1]) || 'Field';
552
+ }
553
+ catch {
554
+ return m[1] || 'Field';
555
+ }
556
+ }
557
+ // PDX-507: UiAssert — assemble the nested fieldAssertions / uiFieldAssertion
558
+ // structure the Provar IDE Result Assertions tab binds from. The generator
559
+ // previously emitted the flat shape (top-level fieldLocator / attributeName /
560
+ // comparisonType / expectedValue arguments), which runs green from the CLI but
561
+ // renders the Result Assertions tab blank in the IDE. Shape confirmed against
562
+ // the real test corpus (AllPOCProjects): 3,743/3,778 UiAssert steps use this
563
+ // nested form, with a BARE <fieldLocator uri="…"/> element (never class="uiLocator"
564
+ // — see best-practice rule UI-ASSERT-FIELDLOCATOR-002) and no `assertionType`.
565
+ // Only a `fieldLocator` attribute triggers the nested form; a UiAssert that
566
+ // carries a plain `locator` argument keeps the documented locator→uiLocator
567
+ // contract via the flat fallback (buildArgumentValue dispatches it). When no
568
+ // fieldLocator is supplied the step is not a field assertion, so fall back to
569
+ // flat argument emission and leave other UiAssert shapes untouched.
570
+ function buildUiAssertXml(attributes, baseIndent, apiId) {
571
+ const a = attributes;
572
+ const fieldLocator = a['fieldLocator'] ?? '';
573
+ if (!fieldLocator)
574
+ return buildArgumentsXml(attributes, baseIndent, apiId);
575
+ const i = (n) => baseIndent + ' '.repeat(n);
576
+ const resultName = a['resultName'] ?? 'Values';
577
+ const resultScope = a['resultScope'] ?? 'Test';
578
+ const captureAfter = a['captureAfter'] ?? 'false';
579
+ const attributeName = a['attributeName'] ?? 'value';
580
+ const comparisonType = a['comparisonType'] ?? 'EqualTo';
581
+ const fieldName = extractFieldName(fieldLocator);
582
+ const expected = a['expectedValue'];
583
+ // resultName / resultScope / captureAfter are control-plane literals that the
584
+ // real corpus ALWAYS emits as valueClass="string" — including captureAfter
585
+ // ("true"/"false"), which is intentionally NOT valueClass="boolean" here.
586
+ // Routing these through inferSalesforceValueClass would diverge from the
587
+ // corpus (it would infer boolean), so they are emitted as string literals.
588
+ const strVal = (v) => `<value class="value" valueClass="string">${escapeXmlContent(v)}</value>`;
589
+ // uiAttributeAssertion — self-closing when there is no expected value. This is
590
+ // a real corpus form (e.g. ADP_POV "UI Assert - Date Empty" emits
591
+ // <uiAttributeAssertion attributeName="value" comparisonType="EqualTo"/>);
592
+ // otherwise it carries a typed <value> child built via buildArgumentValue so
593
+ // {Var} expands to class="variable".
594
+ const attrOpen = `${i(5)}<uiAttributeAssertion attributeName="${escapeXmlAttr(attributeName)}" comparisonType="${escapeXmlAttr(comparisonType)}"`;
595
+ const attrAssertion = expected != null && expected !== ''
596
+ ? `${attrOpen}>\n${buildArgumentValue('expectedValue', expected, i(6), true)}\n${i(5)}</uiAttributeAssertion>`
597
+ : `${attrOpen}/>`;
598
+ const fieldAssertion = `${i(4)}<uiFieldAssertion resultName="${escapeXmlAttr(fieldName)}">\n` +
599
+ `${i(5)}<fieldLocator uri="${escapeXmlAttr(fieldLocator)}"/>\n` +
600
+ `${i(5)}<attributeAssertions>\n` +
601
+ `${attrAssertion}\n` +
602
+ `${i(5)}</attributeAssertions>\n` +
603
+ `${i(4)}</uiFieldAssertion>`;
604
+ return (`\n${i(0)}<arguments>\n` +
605
+ `${i(0)}<argument id="resultName">\n${i(1)}${strVal(resultName)}\n${i(0)}</argument>\n` +
606
+ `${i(0)}<argument id="resultScope">\n${i(1)}${strVal(resultScope)}\n${i(0)}</argument>\n` +
607
+ `${i(0)}<argument id="fieldAssertions">\n` +
608
+ `${i(1)}<value class="valueList" mutable="Mutable">\n` +
609
+ `${fieldAssertion}\n` +
610
+ `${i(1)}</value>\n` +
611
+ `${i(0)}</argument>\n` +
612
+ `${i(0)}<argument id="captureAfter">\n${i(1)}${strVal(captureAfter)}\n${i(0)}</argument>\n` +
613
+ `${i(0)}<argument id="columnAssertions">\n${i(1)}<value class="valueList" mutable="Mutable"/>\n${i(0)}</argument>\n` +
614
+ `${i(0)}<argument id="pageAssertions">\n${i(1)}<value class="valueList" mutable="Mutable"/>\n${i(0)}</argument>\n` +
615
+ `${i(0)}<argument id="beforeWait"/>\n` +
616
+ `${i(0)}<argument id="autoRetry"/>\n` +
617
+ `${i(0)}</arguments>\n` +
618
+ `${baseIndent.slice(0, -2)}`);
619
+ }
496
620
  function buildFlatStepXml(step, testItemId, indent) {
497
621
  return buildStepXmlWithChildren(step, testItemId, indent, '', undefined);
498
622
  }
@@ -510,9 +634,17 @@ function buildStepXmlWithChildren(step, testItemId, indent, childrenXml, substep
510
634
  const resolvedApiId = resolveApiId(step.api_id);
511
635
  const baseIndent = indent + ' ';
512
636
  // Use SetValues structure for any SetValues API (string-match mirrors the validator).
513
- const argumentsXml = resolvedApiId.includes('SetValues')
514
- ? buildSetValuesXml(step.attributes, baseIndent)
515
- : buildArgumentsXml(step.attributes, baseIndent, resolvedApiId);
637
+ // PDX-507: UiAssert uses the nested fieldAssertions/uiFieldAssertion structure.
638
+ let argumentsXml;
639
+ if (resolvedApiId.includes('SetValues')) {
640
+ argumentsXml = buildSetValuesXml(step.attributes, baseIndent);
641
+ }
642
+ else if (resolvedApiId.endsWith('.UiAssert') || resolvedApiId === 'UiAssert') {
643
+ argumentsXml = buildUiAssertXml(step.attributes, baseIndent, resolvedApiId);
644
+ }
645
+ else {
646
+ argumentsXml = buildArgumentsXml(step.attributes, baseIndent, resolvedApiId);
647
+ }
516
648
  const hasClauses = substepsTestItemId !== undefined;
517
649
  const open = `${indent}<apiCall guid="${guid}" apiId="${escapeXmlAttr(resolvedApiId)}" name="${escapeXmlAttr(step.name)}" testItemId="${testItemId}">`;
518
650
  const close = `${indent}</apiCall>`;
@@ -614,7 +746,7 @@ function emitGroupedSteps(nodes, indent, startId) {
614
746
  }
615
747
  return { xml: lines.join('\n'), nextId: id };
616
748
  }
617
- function buildTestCaseXml(input) {
749
+ function buildTestCaseXml(input, testCaseId = DEFAULT_TESTCASE_ID) {
618
750
  const testCaseGuid = randomUUID();
619
751
  const registryId = randomUUID();
620
752
  const groupingMode = input.grouping_mode ?? 'auto';
@@ -660,9 +792,11 @@ function buildTestCaseXml(input) {
660
792
  const lines = input.steps.map((step, i) => buildFlatStepXml(step, i + 1, ' ')).join('\n');
661
793
  stepLines = lines || ' <!-- TODO: Add test steps here -->';
662
794
  }
663
- // Provar requires: standalone="no", id="1" (integer literal), no name attr, <summary/> before <steps>.
795
+ // Provar requires: standalone="no", a numeric integer id, no name attr, <summary/> before <steps>.
796
+ // The id is a human-facing label, not a uniqueness key (guid is) — see allocateTestCaseId:
797
+ // when writing into an existing project we pass highest-in-use + 1; otherwise it defaults to 1.
664
798
  return ('<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n' +
665
- `<testCase guid="${testCaseGuid}" id="1" registryId="${registryId}">\n` +
799
+ `<testCase guid="${testCaseGuid}" id="${testCaseId}" registryId="${registryId}">\n` +
666
800
  ' <summary/>\n' +
667
801
  ' <steps>\n' +
668
802
  stepLines +
@@ -1 +1 @@
1
- {"version":3,"file":"testCaseGenerate.js","sourceRoot":"","sources":["../../../src/mcp/tools/testCaseGenerate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testCaseGenerate.js","sourceRoot":"","sources":["../../../src/mcp/tools/testCaseGenerate.ts"],"names":[],"mappings":"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"}
@@ -42,3 +42,49 @@ export interface ValidateTestCaseOptions {
42
42
  }
43
43
  /** Pure function — exported for unit testing */
44
44
  export declare function validateTestCase(xmlContent: string, testName?: string, options?: ValidateTestCaseOptions): TestCaseValidationResult;
45
+ /**
46
+ * The Layer-1 structural-validity rule catalog — the single source of truth for
47
+ * Layer-1 rule metadata (id / severity / applies_to / description) and the
48
+ * best-practice ownership mapping. Loaded from `provar_layer1_rules.json`
49
+ * (copied into `lib/mcp/rules/` at compile, same as the best-practices ruleset).
50
+ * The imperative DETECTION below is unchanged; centralizing only the metadata
51
+ * keeps the published Validation Rule Registry from drifting from the validator.
52
+ * The same JSON is read by `scripts/build-validation-rule-registry.cjs` (renders
53
+ * the registry rows) and guarded by `validationRuleRegistry.test.ts`.
54
+ */
55
+ export interface Layer1RuleCatalogEntry {
56
+ id: string;
57
+ severity: 'ERROR' | 'WARNING';
58
+ applies_to: string;
59
+ description: string;
60
+ /** Layer-2 `critical` BP rule ids whose concept this Layer-1 check owns (suppressed from the bridge). */
61
+ owns_bp_rules?: string[];
62
+ }
63
+ export declare const LAYER1_RULE_CATALOG: readonly Layer1RuleCatalogEntry[];
64
+ /**
65
+ * PDX-509 — validity bridge.
66
+ *
67
+ * Best-practice violations carry a `critical|major|minor|info` severity, but
68
+ * historically that severity only moved `quality_score` and never gated
69
+ * `is_valid`. Per the canonical taxonomy, `critical` means "Provar will not
70
+ * load/render the test case" — exactly the class of defect that MUST flip
71
+ * validity. The bridge surfaces every un-suppressed `critical` BP violation as
72
+ * an ERROR issue so it gates `is_valid`.
73
+ *
74
+ * `major`/`minor`/`info` are intentionally NOT bridged — a major is a runtime
75
+ * ERROR that still loads, so it influences the quality score (and the
76
+ * `needs_improvement` verdict) without flipping `is_valid`.
77
+ *
78
+ * These BP rules cover concepts the hand-coded Layer-1 checks already OWN
79
+ * (root element, identifier, steps presence, testItemId integers, comparisonType
80
+ * enums). Layer-1 is authoritative for those: it fires only on the genuinely
81
+ * load-blocking condition (e.g. TC_020 fires on a MISSING <steps>, but an
82
+ * empty-but-present <steps> still loads — it just does nothing), whereas the
83
+ * ported BP rule is coarser (VALID-STEPS-001 also flags an empty <steps>, a
84
+ * "does nothing" design smell, not a load failure). So we never bridge these —
85
+ * Layer-1 already gates the load-blocking case, and the BP version still counts
86
+ * toward quality_score. The bridge's real value is the criticals Layer-1 does
87
+ * NOT check (unknown apiId, missing required control/connection args, invalid
88
+ * render value-class casing, NitroX connect args…).
89
+ */
90
+ export declare const LAYER1_OWNED_BP_RULES: ReadonlySet<string>;