@riddledc/riddle-proof 0.7.194 → 0.7.195

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/dist/cli.cjs CHANGED
@@ -16524,6 +16524,31 @@ function profileResultHasArtifact(result) {
16524
16524
  function profileReceiptSignalStatus(hasSignal, presentReason, missingReason) {
16525
16525
  return hasSignal ? { status: "present", reason: presentReason } : { status: "missing", reason: missingReason };
16526
16526
  }
16527
+ function profileViewportNameList(viewports) {
16528
+ const names = [...new Set(viewports.map((viewport) => cliString(viewport.name) || cliString(viewport.viewport)).filter((name) => Boolean(name)))];
16529
+ if (!names.length) return "unnamed";
16530
+ const shown = names.slice(0, 6).join(", ");
16531
+ return names.length > 6 ? `${shown}, +${names.length - 6} more` : shown;
16532
+ }
16533
+ function profileEveryRouteViewportStatus(result, setupSummary, setupViewports, evidenceViewports) {
16534
+ const evidenceViewportRecords = evidenceViewports.map(cliRecord).filter((viewport) => Boolean(viewport));
16535
+ const domSummary = cliRecord(result.evidence?.dom_summary);
16536
+ const expectedViewportCount = cliFiniteNumber(domSummary?.expected_viewport_count) ?? cliFiniteNumber(setupSummary?.viewport_count) ?? cliFiniteNumber(domSummary?.viewport_count) ?? Math.max(evidenceViewportRecords.length, setupViewports.length);
16537
+ const evidenceWithRoute = evidenceViewportRecords.filter((viewport) => Boolean(cliRecord(viewport.route)) || Boolean(result.route) && Boolean(cliString(viewport.screenshot_label)));
16538
+ const setupOkCount = setupViewports.filter((viewport) => viewport.ok !== false).length;
16539
+ const setupComplete = !setupViewports.length || setupOkCount >= expectedViewportCount;
16540
+ if (expectedViewportCount > 0 && evidenceWithRoute.length >= expectedViewportCount && setupComplete) {
16541
+ return {
16542
+ status: "present",
16543
+ reason: `route/setup evidence present for all ${expectedViewportCount} viewport(s): ${profileViewportNameList(evidenceWithRoute)}`
16544
+ };
16545
+ }
16546
+ const setupPart = setupViewports.length ? `, setup ok ${setupOkCount}/${expectedViewportCount}` : "";
16547
+ return {
16548
+ status: "missing",
16549
+ reason: `route/viewport evidence incomplete: expected ${expectedViewportCount}, route evidence ${evidenceWithRoute.length}${setupPart}`
16550
+ };
16551
+ }
16527
16552
  function compactProfileReceiptReason(value, limit = 180) {
16528
16553
  const text = cliString(value)?.replace(/\s+/g, " ").trim();
16529
16554
  if (!text) return void 0;
@@ -16772,6 +16797,9 @@ function profilePackReceiptStatus(result, metadata, receipt) {
16772
16797
  return profileReceiptSignalStatus(hasConsoleAccounting, "console checks or evidence present", "console accounting evidence missing");
16773
16798
  }
16774
16799
  if (text.includes("route") && text.includes("viewport")) {
16800
+ if (text.includes("every target viewport") || text.includes("all target viewport") || text.includes("every") && text.includes("viewport")) {
16801
+ return profileEveryRouteViewportStatus(result, setupSummary, setupViewports, evidenceViewports);
16802
+ }
16775
16803
  return profileReceiptSignalStatus(hasRouteViewport, "route and viewport evidence present", "route or viewport evidence missing");
16776
16804
  }
16777
16805
  if (text.includes("setup action")) {
package/dist/cli.js CHANGED
@@ -616,6 +616,31 @@ function profileResultHasArtifact(result) {
616
616
  function profileReceiptSignalStatus(hasSignal, presentReason, missingReason) {
617
617
  return hasSignal ? { status: "present", reason: presentReason } : { status: "missing", reason: missingReason };
618
618
  }
619
+ function profileViewportNameList(viewports) {
620
+ const names = [...new Set(viewports.map((viewport) => cliString(viewport.name) || cliString(viewport.viewport)).filter((name) => Boolean(name)))];
621
+ if (!names.length) return "unnamed";
622
+ const shown = names.slice(0, 6).join(", ");
623
+ return names.length > 6 ? `${shown}, +${names.length - 6} more` : shown;
624
+ }
625
+ function profileEveryRouteViewportStatus(result, setupSummary, setupViewports, evidenceViewports) {
626
+ const evidenceViewportRecords = evidenceViewports.map(cliRecord).filter((viewport) => Boolean(viewport));
627
+ const domSummary = cliRecord(result.evidence?.dom_summary);
628
+ const expectedViewportCount = cliFiniteNumber(domSummary?.expected_viewport_count) ?? cliFiniteNumber(setupSummary?.viewport_count) ?? cliFiniteNumber(domSummary?.viewport_count) ?? Math.max(evidenceViewportRecords.length, setupViewports.length);
629
+ const evidenceWithRoute = evidenceViewportRecords.filter((viewport) => Boolean(cliRecord(viewport.route)) || Boolean(result.route) && Boolean(cliString(viewport.screenshot_label)));
630
+ const setupOkCount = setupViewports.filter((viewport) => viewport.ok !== false).length;
631
+ const setupComplete = !setupViewports.length || setupOkCount >= expectedViewportCount;
632
+ if (expectedViewportCount > 0 && evidenceWithRoute.length >= expectedViewportCount && setupComplete) {
633
+ return {
634
+ status: "present",
635
+ reason: `route/setup evidence present for all ${expectedViewportCount} viewport(s): ${profileViewportNameList(evidenceWithRoute)}`
636
+ };
637
+ }
638
+ const setupPart = setupViewports.length ? `, setup ok ${setupOkCount}/${expectedViewportCount}` : "";
639
+ return {
640
+ status: "missing",
641
+ reason: `route/viewport evidence incomplete: expected ${expectedViewportCount}, route evidence ${evidenceWithRoute.length}${setupPart}`
642
+ };
643
+ }
619
644
  function compactProfileReceiptReason(value, limit = 180) {
620
645
  const text = cliString(value)?.replace(/\s+/g, " ").trim();
621
646
  if (!text) return void 0;
@@ -864,6 +889,9 @@ function profilePackReceiptStatus(result, metadata, receipt) {
864
889
  return profileReceiptSignalStatus(hasConsoleAccounting, "console checks or evidence present", "console accounting evidence missing");
865
890
  }
866
891
  if (text.includes("route") && text.includes("viewport")) {
892
+ if (text.includes("every target viewport") || text.includes("all target viewport") || text.includes("every") && text.includes("viewport")) {
893
+ return profileEveryRouteViewportStatus(result, setupSummary, setupViewports, evidenceViewports);
894
+ }
867
895
  return profileReceiptSignalStatus(hasRouteViewport, "route and viewport evidence present", "route or viewport evidence missing");
868
896
  }
869
897
  if (text.includes("setup action")) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riddledc/riddle-proof",
3
- "version": "0.7.194",
3
+ "version": "0.7.195",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",