@riddledc/riddle-proof 0.8.69 → 0.8.70
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/adapters/codex-exec-agent.js +3 -3
- package/dist/adapters/codex.js +3 -3
- package/dist/adapters/local-agent.js +3 -3
- package/dist/adapters/openclaw.js +6 -6
- package/dist/advanced/engine-harness.cjs +19 -4
- package/dist/advanced/engine-harness.js +6 -6
- package/dist/advanced/index.cjs +19 -4
- package/dist/advanced/index.js +7 -7
- package/dist/advanced/runner.cjs +19 -4
- package/dist/advanced/runner.js +6 -6
- package/dist/checkpoint.js +3 -3
- package/dist/{chunk-NMQIWBSB.js → chunk-CGJX7LJO.js} +2 -2
- package/dist/{chunk-DTFSHRV5.js → chunk-CWRIXP5H.js} +1 -1
- package/dist/{chunk-ZB5XBHWD.js → chunk-DYE3URAQ.js} +1 -1
- package/dist/{chunk-WKNWMRDF.js → chunk-HNAMDVE3.js} +2 -2
- package/dist/{chunk-OD6OKXL2.js → chunk-KXLEN4SA.js} +1 -1
- package/dist/{chunk-UK7G4RKA.js → chunk-NKHZASNQ.js} +1 -1
- package/dist/{chunk-AF3KFD4A.js → chunk-RJVA5KKM.js} +4 -4
- package/dist/{chunk-2OTPBHSM.js → chunk-UTCL7FEZ.js} +2 -2
- package/dist/{chunk-P4BHU5NM.js → chunk-WLUMLHII.js} +4 -4
- package/dist/{chunk-LD2YTPD7.js → chunk-YH7ADFY4.js} +2 -2
- package/dist/{chunk-6PSM6KB2.js → chunk-ZAR7BWMN.js} +19 -4
- package/dist/cli/index.js +9 -9
- package/dist/cli.cjs +19 -4
- package/dist/cli.js +9 -9
- package/dist/codex-exec-agent.js +3 -3
- package/dist/engine-harness.cjs +19 -4
- package/dist/engine-harness.js +6 -6
- package/dist/index.cjs +19 -4
- package/dist/index.js +9 -9
- package/dist/local-agent.js +3 -3
- package/dist/openclaw.js +6 -6
- package/dist/pr-comment.cjs +19 -4
- package/dist/pr-comment.js +2 -2
- package/dist/public-state.cjs +19 -4
- package/dist/public-state.js +1 -1
- package/dist/result.cjs +19 -4
- package/dist/result.js +2 -2
- package/dist/run-card.cjs +19 -4
- package/dist/run-card.js +4 -4
- package/dist/runner.cjs +19 -4
- package/dist/runner.js +6 -6
- package/dist/spec/checkpoint.js +3 -3
- package/dist/spec/index.cjs +19 -4
- package/dist/spec/index.js +5 -5
- package/dist/spec/public-state.cjs +19 -4
- package/dist/spec/public-state.js +1 -1
- package/dist/spec/result.cjs +19 -4
- package/dist/spec/result.js +2 -2
- package/dist/spec/run-card.cjs +19 -4
- package/dist/spec/run-card.js +4 -4
- package/dist/spec/state.cjs +19 -4
- package/dist/spec/state.js +5 -5
- package/dist/state.cjs +19 -4
- package/dist/state.js +5 -5
- package/examples/story-matrices/riddle-proof-ux-coverage.csv +8 -2
- package/package.json +1 -1
package/dist/state.cjs
CHANGED
|
@@ -111,6 +111,19 @@ function checkpointSummaryFrom(...values) {
|
|
|
111
111
|
function uniqueStrings(values) {
|
|
112
112
|
return [...new Set(values.filter(Boolean))];
|
|
113
113
|
}
|
|
114
|
+
function statusIsProofFailed(status) {
|
|
115
|
+
return status === "failed" || status === "product_regression";
|
|
116
|
+
}
|
|
117
|
+
function statusIsProofBlocked(status) {
|
|
118
|
+
return status === "blocked" || status === "proof_insufficient" || status === "environment_blocked" || status === "configuration_error" || status === "needs_human_review";
|
|
119
|
+
}
|
|
120
|
+
function statusRequiresDisclosure(status) {
|
|
121
|
+
if (status === "proof_insufficient") return "proof_insufficient";
|
|
122
|
+
if (status === "environment_blocked") return "environment_blocked";
|
|
123
|
+
if (status === "configuration_error") return "configuration_error";
|
|
124
|
+
if (status === "needs_human_review") return "human_review_required";
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
114
127
|
function summarizeRiddleProofPublicState(input) {
|
|
115
128
|
const record = asRecord(input);
|
|
116
129
|
const runCard = asRecord(record.run_card);
|
|
@@ -153,7 +166,7 @@ function summarizeRiddleProofPublicState(input) {
|
|
|
153
166
|
asRecord(record.details).checkpoint_summary,
|
|
154
167
|
asRecord(raw.details).checkpoint_summary
|
|
155
168
|
);
|
|
156
|
-
const blockedOrWaiting = status
|
|
169
|
+
const blockedOrWaiting = statusIsProofBlocked(status) || statusIsProofFailed(status) || status === "awaiting_checkpoint" || handoffState === "proof_blocked" || handoffState === "proof_review_required" || handoffState === "proof_failed" || handoffState === "proof_checkpoint_required";
|
|
157
170
|
const proofPassed = Boolean(proofComplete && !blockedOrWaiting);
|
|
158
171
|
const explicitMergeReady = firstBooleanValue(record.merge_ready, stopCondition.merge_ready, raw.merge_ready, handoff.merge_ready);
|
|
159
172
|
const normalPrAllowed = firstBooleanValue(record.normal_pr_allowed, raw.normal_pr_allowed, handoff.normal_pr_allowed);
|
|
@@ -162,8 +175,8 @@ function summarizeRiddleProofPublicState(input) {
|
|
|
162
175
|
const syncAllowed = mergeReady;
|
|
163
176
|
let policyState = "unknown";
|
|
164
177
|
if (status === "awaiting_checkpoint" || handoffState === "proof_checkpoint_required") policyState = "awaiting_checkpoint";
|
|
165
|
-
else if (status
|
|
166
|
-
else if (status
|
|
178
|
+
else if (statusIsProofFailed(status) || handoffState === "proof_failed") policyState = "proof_failed";
|
|
179
|
+
else if (statusIsProofBlocked(status) || handoffState === "proof_blocked" || handoffState === "proof_review_required") policyState = "proof_blocked";
|
|
167
180
|
else if (handoffState === "proof_complete_ship_disabled") policyState = "proof_complete_ship_disabled";
|
|
168
181
|
else if (proofComplete && shipHeld && !shipAuthorized) policyState = "proof_passed_ship_held";
|
|
169
182
|
else if (proofComplete && shippingDisabled && !shipAuthorized) policyState = "proof_complete_ship_disabled";
|
|
@@ -175,6 +188,8 @@ function summarizeRiddleProofPublicState(input) {
|
|
|
175
188
|
if (shippingDisabled) requiredDisclosures.push("shipping_disabled");
|
|
176
189
|
if (checkpointSummary?.audit_disclosure_required) requiredDisclosures.push("checkpoint_audit_counters");
|
|
177
190
|
if (status === "awaiting_checkpoint" || handoffState === "proof_checkpoint_required") requiredDisclosures.push("checkpoint_required");
|
|
191
|
+
const statusDisclosure = statusRequiresDisclosure(status);
|
|
192
|
+
if (statusDisclosure) requiredDisclosures.push(statusDisclosure);
|
|
178
193
|
const prohibitedClaims = [];
|
|
179
194
|
if (!shipAuthorized || shipHeld || shippingDisabled) prohibitedClaims.push("ship_authorized", "shipped");
|
|
180
195
|
if (!mergeReady) prohibitedClaims.push("merge_ready");
|
|
@@ -185,7 +200,7 @@ function summarizeRiddleProofPublicState(input) {
|
|
|
185
200
|
if (checkpointSummary?.audit_disclosure_required) {
|
|
186
201
|
prohibitedClaims.push("all_checkpoint_responses_accepted");
|
|
187
202
|
}
|
|
188
|
-
const resultLabel = policyState === "awaiting_checkpoint" ? "checkpoint required" : policyState === "proof_blocked" ? "blocked" : policyState === "proof_failed" ? "failed" : policyState === "proof_complete_ship_disabled" ? "proof complete; shipping disabled" : policyState === "proof_passed_ship_held" ? "proof passed; ship held" : policyState === "ship_authorized" ? status === "shipped" ? "shipped" : "ship authorized" : policyState === "proof_passed" ? "passed" : policyState === "proof_in_progress" ? "running" : status || "recorded";
|
|
203
|
+
const resultLabel = status === "product_regression" ? "product_regression" : status === "proof_insufficient" ? "proof_insufficient" : status === "environment_blocked" ? "environment_blocked" : status === "configuration_error" ? "configuration_error" : status === "needs_human_review" ? "needs_human_review" : policyState === "awaiting_checkpoint" ? "checkpoint required" : policyState === "proof_blocked" ? "blocked" : policyState === "proof_failed" ? "failed" : policyState === "proof_complete_ship_disabled" ? "proof complete; shipping disabled" : policyState === "proof_passed_ship_held" ? "proof passed; ship held" : policyState === "ship_authorized" ? status === "shipped" ? "shipped" : "ship authorized" : policyState === "proof_passed" ? "passed" : policyState === "proof_in_progress" ? "running" : status || "recorded";
|
|
189
204
|
return {
|
|
190
205
|
status,
|
|
191
206
|
ok,
|
package/dist/state.js
CHANGED
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
normalizePrLifecycleState,
|
|
10
10
|
normalizeRunParams,
|
|
11
11
|
setRunStatus
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-CGJX7LJO.js";
|
|
13
|
+
import "./chunk-UTCL7FEZ.js";
|
|
14
|
+
import "./chunk-DYE3URAQ.js";
|
|
15
|
+
import "./chunk-NKHZASNQ.js";
|
|
16
|
+
import "./chunk-ZAR7BWMN.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
export {
|
|
19
19
|
RIDDLE_PROOF_RUN_STATE_VERSION,
|
|
@@ -12,6 +12,12 @@ area,user_story_id,user_story,expected_behavior,surface,runner,evidence_required
|
|
|
12
12
|
"Local browser","rp-ux-local-playwright-runner-smoke","As a user avoiding hosted infra, I can run the local Playwright runner and receive the same profile-result contract shape.","riddle-proof-playwright writes profile-result.json, proof.json, console.json, dom-summary.json, summary.md, and artifact-manifest.json.","@riddledc/riddle-proof-runner-playwright","local-playwright","profile-result.json; artifact-manifest.json; screenshot or DOM evidence","passed","2026-06-21","docs/riddle-proof-story-matrix-runs/2026-06-21-ux-coverage-batch.md","Live local Playwright smoke passed against riddledc.com/proof with 5/5 checks.","Keep as local-vs-hosted parity smoke; rerun after runner package changes.","P1","configuration_error"
|
|
13
13
|
"Viewport matrices","rp-story-viewport-aggregate-does-not-hide-child-failure","As a maintainer running viewport matrices, I can aggregate child runs without losing the failing viewport.","Aggregate returns the worst child verdict, lists child outputs, and separates summed poll time from max child latency.","run-profile aggregate","local-cli","child profile-result files; aggregate profile-result.json; summary.md","product_regression_expected","2026-06-21","docs/riddle-proof-story-matrix-runs/2026-06-21-ux-coverage-batch.md","Aggregate preserved the phone child product_regression via split_viewport_children.","Keep as a recurring negative-control aggregate using one passing child and one failing child.","P1","contract_gap"
|
|
14
14
|
"Formal contract","rp-story-formal-kernel-matches-runtime-contract","As a framework maintainer, I can prove the status/result contract that runtime tests depend on.","Lean kernel builds and runtime conformance tests mirror the formal contract cases.","formal/riddle-proof-kernel","lean-kernel","lake build; formal-conformance test log","passed","2026-06-21","PR #947 CI formal-kernel","Formal layer stayed in contract-hardening path, not runtime evidence collection.","Keep recurring when status semantics change.","P2","contract_gap"
|
|
15
|
-
"Hosted proof view","rp-
|
|
16
|
-
"
|
|
15
|
+
"Hosted proof view","rp-ux-hosted-proof-view-contract-passed","As a hosted proof viewer, I see a passing packet rendered from the shared public-state contract.","Hosted proof view helper reports passed proof state only from passed/ready evidence and preserves handoff gating.","hosted proof view contract","formal-conformance","summarizeRiddleProofHostedProofViewSurface passed case; public-state claims; handoff claims","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Shared hosted-view helper uses the same public-state contract as PR comments.","Use this helper from any real hosted proof packet renderer.","P1","contract_gap"
|
|
16
|
+
"Hosted proof view","rp-ux-hosted-proof-view-contract-product-regression","As a hosted proof viewer, I see product_regression as failed evidence, not as a generic successful packet.","product_regression maps to proof_failed, keeps result_label product_regression, and prohibits proof_passed/ready_to_ship/merge claims.","hosted proof view contract","formal-conformance","product_regression packet; prohibited claims; suppressed merge recommendation","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Found and fixed the semantic gap where profile verdicts were not explicit public-state blockers.","Keep this as the negative-control renderer contract before UI smoke.","P1","contract_gap"
|
|
17
|
+
"Hosted proof view","rp-ux-hosted-proof-view-contract-proof-insufficient","As a hosted proof viewer, I see missing or incomplete evidence as proof_insufficient with an explicit disclosure.","proof_insufficient maps to proof_blocked, keeps result_label proof_insufficient, and requires proof_insufficient disclosure.","hosted proof view contract","formal-conformance","proof_insufficient packet; disclosure; prohibited proof_passed claim","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Incomplete evidence now stays blocked in public consumer surfaces.","Keep paired with product_regression in renderer smoke tests.","P1","proof_insufficient"
|
|
18
|
+
"Hosted proof view","rp-ux-hosted-proof-view-product-renderer-imports-contract","As a hosted proof viewer, the actual product renderer imports the shared contract instead of rendering raw proof fields.","Hosted proof packet UI uses @riddledc/riddle-proof/public-state or an equivalent shared wrapper for status, handoff, and disclosures.","hosted proof renderer","manual-review","renderer import; screenshot; passed and negative-control packets","needs_product_hook","","","Read-only site scan found proof/example pages, but no live hosted proof packet renderer importing public-state yet.","Wire any hosted proof packet renderer to summarizeRiddleProofHostedProofViewSurface and run passed plus negative-control UI smoke.","P1","contract_gap"
|
|
19
|
+
"Agent summary","rp-ux-agent-summary-contract-proof-insufficient","As an agent consuming Riddle Proof output, I see proof_insufficient as incomplete evidence, not as success.","Agent summary helper maps proof_insufficient to proof_blocked and prohibits proof_passed.","agent summary contract","formal-conformance","summarizeRiddleProofAgentSummarySurface proof_insufficient case; disclosure; prohibited claim","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Agent-facing proof_insufficient summaries now share the public-state blocker contract.","Keep as a fixture for agent-output golden summaries.","P1","proof_insufficient"
|
|
20
|
+
"Agent summary","rp-ux-agent-summary-contract-environment-blocked","As an agent consuming Riddle Proof output, I see environment_blocked as a blocker outside product correctness.","Agent summary helper maps environment_blocked to proof_blocked, suppresses merge recommendations, and requires environment disclosure.","agent summary contract","formal-conformance","environment_blocked packet; suppressed merge recommendation; disclosure","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Environment blockers stay visible and cannot become proof_passed in agent summaries.","Use in hosted cold-start/network-blocked summary tests.","P1","environment_blocked"
|
|
21
|
+
"Agent summary","rp-ux-agent-summary-contract-human-review","As an agent consuming Riddle Proof output, I see needs_human_review as a held proof state, not a pass.","Agent summary helper maps needs_human_review to proof_blocked and requires human-review disclosure.","agent summary contract","formal-conformance","needs_human_review packet; disclosure; prohibited proof_passed claim","passed","2026-06-21","packages/riddle-proof/formal-conformance.test.js","Human-review verdicts now stay blocked in public consumer surfaces.","Keep this for evidence packets with subjective or unsupported checks.","P2","contract_gap"
|
|
22
|
+
"Agent summary","rp-ux-agent-summary-product-wiring-uses-contract","As an agent consuming real Riddle Proof output, the emitted summary uses the shared contract rather than raw fields.","Agent-facing summaries import/use the public-state consumer helper for status, handoff, and prohibited claims.","agent-facing summary","manual-review","summary text; contract import or documented gap; negative-control packet","needs_product_hook","","","Package helper is now contract-tested; product wiring still needs an executable consumer check outside PR comments.","Find the actual agent summary renderer/emitter and wire or verify summarizeRiddleProofAgentSummarySurface usage.","P1","contract_gap"
|
|
17
23
|
"Release and publish","rp-ux-release-publish-flow","As a package maintainer, I can merge a fix, get a version PR, and publish the package without manual status fakery.","Changeset release PR validates, merges, and trusted npm publish updates latest.","changesets release","github-actions","release PR; Release workflow; npm view latest","passed","2026-06-21","@riddledc/riddle-proof@0.8.68","Release path worked for the reporting fix and published with provenance.","Keep GitHub Action noise low and use this as release smoke.","P2","environment_blocked"
|