@riddledc/riddle-proof 0.7.4 → 0.7.6

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.
@@ -62,6 +62,8 @@ var BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES = [
62
62
  "selector_text_matches",
63
63
  "number_increases",
64
64
  "number_decreases",
65
+ "number_at_least",
66
+ "number_gte",
65
67
  "number_unchanged",
66
68
  "number_stays_equal",
67
69
  "number_equals",
@@ -147,10 +149,12 @@ function assessBasicGameplayRoute(route, options = {}) {
147
149
  const actionChange = changed(timed, afterAction);
148
150
  const surfaceVisible = numberValue(initial.visible_canvas_count) > 0 || numberValue(initial.enabled_clickable_count) > 0 || numberValue(initial.visible_large_node_count) >= minSurfaceLargeNodes;
149
151
  const actionResults = listValue(route.action_results || route.actionResults);
152
+ const restartActionResults = listValue(route.restart_action_results || route.restartActionResults);
150
153
  const actionAttempted = actionResults.some((result) => result.ok === true && result.action !== "wait");
151
154
  const actionFailed = actionResults.some((result) => result.ok === false && result.action !== "wait");
155
+ const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
152
156
  const stateChangeObserved = actionChange.changed || timedChange.changed;
153
- const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0;
157
+ const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || restartActionAttempted;
154
158
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
155
159
  const pageErrorCount = numberValue(route.page_error_count);
156
160
  const consoleErrorCount = numberValue(route.console_error_count);
@@ -245,6 +249,11 @@ function assessBasicGameplayProgressionCheck(check) {
245
249
  } else if (type === "number_decreases") {
246
250
  ok = numericValue(before?.number) !== null && numericValue(after?.number) !== null && numberValue(after?.number) < numberValue(before?.number);
247
251
  reason = ok ? null : "number_did_not_decrease";
252
+ } else if (type === "number_at_least" || type === "number_gte") {
253
+ const min = numericValue(check.min ?? check.expected ?? check.value);
254
+ if (min === null && hasExplicitResult) return resolveBasicGameplayProgressionCheckWithArtifactScreenshots({ ...check, ok, reason });
255
+ ok = numericValue(after?.number) !== null && min !== null && numberValue(after?.number) >= min;
256
+ reason = ok ? null : "number_below_minimum";
248
257
  } else if (type === "number_unchanged" || type === "number_stays_equal") {
249
258
  ok = numericValue(before?.number) !== null && numericValue(after?.number) !== null && numberValue(after?.number) === numberValue(before?.number);
250
259
  reason = ok ? null : "number_changed";
@@ -37,7 +37,7 @@ interface BasicGameplayActionResult {
37
37
  [key: string]: unknown;
38
38
  }
39
39
  declare const BASIC_GAMEPLAY_ACTION_TYPES: readonly ["wait", "key", "key-down", "key-up", "hold-key", "repeat", "click", "click-by-text", "wait-for-text", "window-call", "evaluate"];
40
- declare const BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES: readonly ["selector_count_increases", "selector_count_at_least", "selector_absent", "selector_text_matches", "number_increases", "number_decreases", "number_unchanged", "number_stays_equal", "number_equals", "canvas_hash_changes", "screenshot_hash_changes", "visual_hash_changes", "state_changes"];
40
+ declare const BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES: readonly ["selector_count_increases", "selector_count_at_least", "selector_absent", "selector_text_matches", "number_increases", "number_decreases", "number_at_least", "number_gte", "number_unchanged", "number_stays_equal", "number_equals", "canvas_hash_changes", "screenshot_hash_changes", "visual_hash_changes", "state_changes"];
41
41
  type BasicGameplayActionType = typeof BASIC_GAMEPLAY_ACTION_TYPES[number] | (string & {});
42
42
  type BasicGameplayProgressCheckType = typeof BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES[number] | (string & {});
43
43
  interface BasicGameplayMetric {
@@ -123,6 +123,7 @@ interface RiddleProofBasicGameplayRouteEvidence {
123
123
  actionResults?: BasicGameplayActionResult[];
124
124
  continued_action_results?: BasicGameplayActionResult[];
125
125
  restart_action_results?: BasicGameplayActionResult[];
126
+ restartActionResults?: BasicGameplayActionResult[];
126
127
  progression_checks?: BasicGameplayProgressionCheck[];
127
128
  progressionChecks?: BasicGameplayProgressionCheck[];
128
129
  requires_reset?: boolean;
@@ -37,7 +37,7 @@ interface BasicGameplayActionResult {
37
37
  [key: string]: unknown;
38
38
  }
39
39
  declare const BASIC_GAMEPLAY_ACTION_TYPES: readonly ["wait", "key", "key-down", "key-up", "hold-key", "repeat", "click", "click-by-text", "wait-for-text", "window-call", "evaluate"];
40
- declare const BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES: readonly ["selector_count_increases", "selector_count_at_least", "selector_absent", "selector_text_matches", "number_increases", "number_decreases", "number_unchanged", "number_stays_equal", "number_equals", "canvas_hash_changes", "screenshot_hash_changes", "visual_hash_changes", "state_changes"];
40
+ declare const BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES: readonly ["selector_count_increases", "selector_count_at_least", "selector_absent", "selector_text_matches", "number_increases", "number_decreases", "number_at_least", "number_gte", "number_unchanged", "number_stays_equal", "number_equals", "canvas_hash_changes", "screenshot_hash_changes", "visual_hash_changes", "state_changes"];
41
41
  type BasicGameplayActionType = typeof BASIC_GAMEPLAY_ACTION_TYPES[number] | (string & {});
42
42
  type BasicGameplayProgressCheckType = typeof BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES[number] | (string & {});
43
43
  interface BasicGameplayMetric {
@@ -123,6 +123,7 @@ interface RiddleProofBasicGameplayRouteEvidence {
123
123
  actionResults?: BasicGameplayActionResult[];
124
124
  continued_action_results?: BasicGameplayActionResult[];
125
125
  restart_action_results?: BasicGameplayActionResult[];
126
+ restartActionResults?: BasicGameplayActionResult[];
126
127
  progression_checks?: BasicGameplayProgressionCheck[];
127
128
  progressionChecks?: BasicGameplayProgressionCheck[];
128
129
  requires_reset?: boolean;
@@ -16,7 +16,7 @@ import {
16
16
  extractBasicGameplayEvidence,
17
17
  resolveBasicGameplayProgressionCheckWithArtifactScreenshots,
18
18
  sanitizeBasicGameplayJsonString
19
- } from "./chunk-AAIASO2C.js";
19
+ } from "./chunk-LHS7ZV2T.js";
20
20
  export {
21
21
  BASIC_GAMEPLAY_ACTION_TYPES,
22
22
  BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES,
@@ -1081,6 +1081,20 @@ async function routeCheckpoint(request, state, result, agent, input) {
1081
1081
  })
1082
1082
  };
1083
1083
  }
1084
+ if (checkpoint === "verify_audit_complete") {
1085
+ return {
1086
+ terminal: terminalResult(
1087
+ state,
1088
+ "completed",
1089
+ result,
1090
+ result.summary || "Riddle Proof audit complete.",
1091
+ {
1092
+ audit_complete: true,
1093
+ ship_disabled: true
1094
+ }
1095
+ )
1096
+ };
1097
+ }
1084
1098
  if (input.dry_run || request.dry_run) {
1085
1099
  return {
1086
1100
  blocker: {
@@ -22,6 +22,8 @@ var BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES = [
22
22
  "selector_text_matches",
23
23
  "number_increases",
24
24
  "number_decreases",
25
+ "number_at_least",
26
+ "number_gte",
25
27
  "number_unchanged",
26
28
  "number_stays_equal",
27
29
  "number_equals",
@@ -107,10 +109,12 @@ function assessBasicGameplayRoute(route, options = {}) {
107
109
  const actionChange = changed(timed, afterAction);
108
110
  const surfaceVisible = numberValue(initial.visible_canvas_count) > 0 || numberValue(initial.enabled_clickable_count) > 0 || numberValue(initial.visible_large_node_count) >= minSurfaceLargeNodes;
109
111
  const actionResults = listValue(route.action_results || route.actionResults);
112
+ const restartActionResults = listValue(route.restart_action_results || route.restartActionResults);
110
113
  const actionAttempted = actionResults.some((result) => result.ok === true && result.action !== "wait");
111
114
  const actionFailed = actionResults.some((result) => result.ok === false && result.action !== "wait");
115
+ const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
112
116
  const stateChangeObserved = actionChange.changed || timedChange.changed;
113
- const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0;
117
+ const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || restartActionAttempted;
114
118
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
115
119
  const pageErrorCount = numberValue(route.page_error_count);
116
120
  const consoleErrorCount = numberValue(route.console_error_count);
@@ -205,6 +209,11 @@ function assessBasicGameplayProgressionCheck(check) {
205
209
  } else if (type === "number_decreases") {
206
210
  ok = numericValue(before?.number) !== null && numericValue(after?.number) !== null && numberValue(after?.number) < numberValue(before?.number);
207
211
  reason = ok ? null : "number_did_not_decrease";
212
+ } else if (type === "number_at_least" || type === "number_gte") {
213
+ const min = numericValue(check.min ?? check.expected ?? check.value);
214
+ if (min === null && hasExplicitResult) return resolveBasicGameplayProgressionCheckWithArtifactScreenshots({ ...check, ok, reason });
215
+ ok = numericValue(after?.number) !== null && min !== null && numberValue(after?.number) >= min;
216
+ reason = ok ? null : "number_below_minimum";
208
217
  } else if (type === "number_unchanged" || type === "number_stays_equal") {
209
218
  ok = numericValue(before?.number) !== null && numericValue(after?.number) !== null && numberValue(after?.number) === numberValue(before?.number);
210
219
  reason = ok ? null : "number_changed";
package/dist/cli.cjs CHANGED
@@ -5267,6 +5267,20 @@ async function routeCheckpoint(request, state, result, agent, input) {
5267
5267
  })
5268
5268
  };
5269
5269
  }
5270
+ if (checkpoint === "verify_audit_complete") {
5271
+ return {
5272
+ terminal: terminalResult(
5273
+ state,
5274
+ "completed",
5275
+ result,
5276
+ result.summary || "Riddle Proof audit complete.",
5277
+ {
5278
+ audit_complete: true,
5279
+ ship_disabled: true
5280
+ }
5281
+ )
5282
+ };
5283
+ }
5270
5284
  if (input.dry_run || request.dry_run) {
5271
5285
  return {
5272
5286
  blocker: {
package/dist/cli.js CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  createDisabledRiddleProofAgentAdapter,
19
19
  readRiddleProofRunStatus,
20
20
  runRiddleProofEngineHarness
21
- } from "./chunk-3ICNKAWF.js";
21
+ } from "./chunk-F7BNWDF6.js";
22
22
  import "./chunk-4DM3OTWH.js";
23
23
  import "./chunk-3UHWI3FO.js";
24
24
  import "./chunk-SGXB5S4B.js";
@@ -5196,6 +5196,20 @@ async function routeCheckpoint(request, state, result, agent, input) {
5196
5196
  })
5197
5197
  };
5198
5198
  }
5199
+ if (checkpoint === "verify_audit_complete") {
5200
+ return {
5201
+ terminal: terminalResult(
5202
+ state,
5203
+ "completed",
5204
+ result,
5205
+ result.summary || "Riddle Proof audit complete.",
5206
+ {
5207
+ audit_complete: true,
5208
+ ship_disabled: true
5209
+ }
5210
+ )
5211
+ };
5212
+ }
5199
5213
  if (input.dry_run || request.dry_run) {
5200
5214
  return {
5201
5215
  blocker: {
@@ -2,7 +2,7 @@ import {
2
2
  createDisabledRiddleProofAgentAdapter,
3
3
  readRiddleProofRunStatus,
4
4
  runRiddleProofEngineHarness
5
- } from "./chunk-3ICNKAWF.js";
5
+ } from "./chunk-F7BNWDF6.js";
6
6
  import "./chunk-4DM3OTWH.js";
7
7
  import "./chunk-3UHWI3FO.js";
8
8
  import "./chunk-SGXB5S4B.js";
package/dist/index.cjs CHANGED
@@ -5919,6 +5919,20 @@ async function routeCheckpoint(request, state, result, agent, input) {
5919
5919
  })
5920
5920
  };
5921
5921
  }
5922
+ if (checkpoint === "verify_audit_complete") {
5923
+ return {
5924
+ terminal: terminalResult(
5925
+ state,
5926
+ "completed",
5927
+ result,
5928
+ result.summary || "Riddle Proof audit complete.",
5929
+ {
5930
+ audit_complete: true,
5931
+ ship_disabled: true
5932
+ }
5933
+ )
5934
+ };
5935
+ }
5922
5936
  if (input.dry_run || request.dry_run) {
5923
5937
  return {
5924
5938
  blocker: {
@@ -7815,6 +7829,8 @@ var BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES = [
7815
7829
  "selector_text_matches",
7816
7830
  "number_increases",
7817
7831
  "number_decreases",
7832
+ "number_at_least",
7833
+ "number_gte",
7818
7834
  "number_unchanged",
7819
7835
  "number_stays_equal",
7820
7836
  "number_equals",
@@ -7900,10 +7916,12 @@ function assessBasicGameplayRoute(route, options = {}) {
7900
7916
  const actionChange = changed(timed, afterAction);
7901
7917
  const surfaceVisible = numberValue2(initial.visible_canvas_count) > 0 || numberValue2(initial.enabled_clickable_count) > 0 || numberValue2(initial.visible_large_node_count) >= minSurfaceLargeNodes;
7902
7918
  const actionResults = listValue2(route.action_results || route.actionResults);
7919
+ const restartActionResults = listValue2(route.restart_action_results || route.restartActionResults);
7903
7920
  const actionAttempted = actionResults.some((result) => result.ok === true && result.action !== "wait");
7904
7921
  const actionFailed = actionResults.some((result) => result.ok === false && result.action !== "wait");
7922
+ const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
7905
7923
  const stateChangeObserved = actionChange.changed || timedChange.changed;
7906
- const resetPathPresent = numberValue2(initial.reset_control_count) > 0 || numberValue2(timed.reset_control_count) > 0 || numberValue2(afterAction.reset_control_count) > 0;
7924
+ const resetPathPresent = numberValue2(initial.reset_control_count) > 0 || numberValue2(timed.reset_control_count) > 0 || numberValue2(afterAction.reset_control_count) > 0 || restartActionAttempted;
7907
7925
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
7908
7926
  const pageErrorCount = numberValue2(route.page_error_count);
7909
7927
  const consoleErrorCount = numberValue2(route.console_error_count);
@@ -7998,6 +8016,11 @@ function assessBasicGameplayProgressionCheck(check) {
7998
8016
  } else if (type === "number_decreases") {
7999
8017
  ok = numericValue3(before?.number) !== null && numericValue3(after?.number) !== null && numberValue2(after?.number) < numberValue2(before?.number);
8000
8018
  reason = ok ? null : "number_did_not_decrease";
8019
+ } else if (type === "number_at_least" || type === "number_gte") {
8020
+ const min = numericValue3(check.min ?? check.expected ?? check.value);
8021
+ if (min === null && hasExplicitResult) return resolveBasicGameplayProgressionCheckWithArtifactScreenshots({ ...check, ok, reason });
8022
+ ok = numericValue3(after?.number) !== null && min !== null && numberValue2(after?.number) >= min;
8023
+ reason = ok ? null : "number_below_minimum";
8001
8024
  } else if (type === "number_unchanged" || type === "number_stays_equal") {
8002
8025
  ok = numericValue3(before?.number) !== null && numericValue3(after?.number) !== null && numberValue2(after?.number) === numberValue2(before?.number);
8003
8026
  reason = ok ? null : "number_changed";
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ import {
36
36
  extractBasicGameplayEvidence,
37
37
  resolveBasicGameplayProgressionCheckWithArtifactScreenshots,
38
38
  sanitizeBasicGameplayJsonString
39
- } from "./chunk-AAIASO2C.js";
39
+ } from "./chunk-LHS7ZV2T.js";
40
40
  import {
41
41
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
42
42
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
@@ -84,7 +84,7 @@ import {
84
84
  createDisabledRiddleProofAgentAdapter,
85
85
  readRiddleProofRunStatus,
86
86
  runRiddleProofEngineHarness
87
- } from "./chunk-3ICNKAWF.js";
87
+ } from "./chunk-F7BNWDF6.js";
88
88
  import {
89
89
  RIDDLE_PROOF_RUN_STATE_VERSION,
90
90
  appendRunEvent,
@@ -292,7 +292,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
292
292
  blocking?: boolean;
293
293
  details?: Record<string, unknown>;
294
294
  ok: boolean;
295
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
295
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
296
296
  state_path: string;
297
297
  stage: any;
298
298
  summary: string;
@@ -382,7 +382,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
382
382
  continueWithStage?: WorkflowStage | null;
383
383
  blocking?: boolean;
384
384
  details?: Record<string, unknown>;
385
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
385
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
386
386
  state_path: string;
387
387
  stage: any;
388
388
  checkpoint: string;
@@ -659,7 +659,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
659
659
  error?: undefined;
660
660
  } | {
661
661
  ok: boolean;
662
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
662
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
663
663
  state_path: string;
664
664
  stage: any;
665
665
  summary: string;
@@ -292,7 +292,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
292
292
  blocking?: boolean;
293
293
  details?: Record<string, unknown>;
294
294
  ok: boolean;
295
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
295
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
296
296
  state_path: string;
297
297
  stage: any;
298
298
  summary: string;
@@ -382,7 +382,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
382
382
  continueWithStage?: WorkflowStage | null;
383
383
  blocking?: boolean;
384
384
  details?: Record<string, unknown>;
385
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
385
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
386
386
  state_path: string;
387
387
  stage: any;
388
388
  checkpoint: string;
@@ -659,7 +659,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
659
659
  error?: undefined;
660
660
  } | {
661
661
  ok: boolean;
662
- action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
662
+ action: "recon" | "author" | "ship" | "implement" | "verify" | "setup" | "run";
663
663
  state_path: string;
664
664
  stage: any;
665
665
  summary: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riddledc/riddle-proof",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",