flakelab 0.1.0 → 0.1.2
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/README.md +225 -38
- package/dist/analysis/blob-report.d.ts +15 -0
- package/dist/analysis/blob-report.js +137 -0
- package/dist/analysis/blob-report.js.map +1 -0
- package/dist/analysis/cli.d.ts +7 -0
- package/dist/analysis/cli.js +28 -0
- package/dist/analysis/cli.js.map +1 -0
- package/dist/analysis/schema.d.ts +175 -0
- package/dist/analysis/schema.js +34 -0
- package/dist/analysis/schema.js.map +1 -0
- package/dist/analysis/zip-archive.d.ts +6 -0
- package/dist/analysis/zip-archive.js +193 -0
- package/dist/analysis/zip-archive.js.map +1 -0
- package/dist/artifacts/paths.d.ts +3 -0
- package/dist/artifacts/paths.js +34 -0
- package/dist/artifacts/paths.js.map +1 -0
- package/dist/artifacts/retention.d.ts +1 -0
- package/dist/artifacts/retention.js +80 -0
- package/dist/artifacts/retention.js.map +1 -0
- package/dist/bisect/engine.js +0 -1
- package/dist/bisect/engine.js.map +1 -1
- package/dist/bisect/schema.d.ts +5 -6
- package/dist/bisect/schema.js +1 -2
- package/dist/bisect/schema.js.map +1 -1
- package/dist/bisect/solari-evaluator.js +9 -1
- package/dist/bisect/solari-evaluator.js.map +1 -1
- package/dist/ci/job-summary.d.ts +2 -0
- package/dist/ci/job-summary.js +120 -2
- package/dist/ci/job-summary.js.map +1 -1
- package/dist/ci/select-command.js +1 -1
- package/dist/ci/select-command.js.map +1 -1
- package/dist/ci/summary-command.js +12 -7
- package/dist/ci/summary-command.js.map +1 -1
- package/dist/cli-arguments.d.ts +44 -0
- package/dist/cli-arguments.js +356 -0
- package/dist/cli-arguments.js.map +1 -0
- package/dist/cli-command-help.d.ts +11 -0
- package/dist/cli-command-help.js +211 -0
- package/dist/cli-command-help.js.map +1 -0
- package/dist/cli-help.d.ts +5 -2
- package/dist/cli-help.js +122 -45
- package/dist/cli-help.js.map +1 -1
- package/dist/cli-option-definitions.d.ts +202 -0
- package/dist/cli-option-definitions.js +59 -0
- package/dist/cli-option-definitions.js.map +1 -0
- package/dist/cli.js +100 -100
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze-summary.d.ts +5 -0
- package/dist/commands/analyze-summary.js +89 -0
- package/dist/commands/analyze-summary.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -0
- package/dist/commands/analyze.js +128 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/bisect.d.ts +2 -2
- package/dist/commands/bisect.js +32 -3
- package/dist/commands/bisect.js.map +1 -1
- package/dist/commands/diagnose.d.ts +3 -2
- package/dist/commands/diagnose.js +355 -23
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/discover.d.ts +18 -2
- package/dist/commands/discover.js +215 -25
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.js +66 -25
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/investigate.d.ts +3 -2
- package/dist/commands/investigate.js +22 -3
- package/dist/commands/investigate.js.map +1 -1
- package/dist/commands/options.d.ts +123 -16
- package/dist/commands/options.js +24 -2
- package/dist/commands/options.js.map +1 -1
- package/dist/commands/prove.d.ts +2 -2
- package/dist/commands/prove.js +38 -1
- package/dist/commands/prove.js.map +1 -1
- package/dist/commands/repair.d.ts +8 -2
- package/dist/commands/repair.js +32 -9
- package/dist/commands/repair.js.map +1 -1
- package/dist/commands/replay.d.ts +2 -2
- package/dist/commands/replay.js +15 -2
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/report.d.ts +2 -2
- package/dist/commands/report.js +35 -10
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/scan-summary.d.ts +7 -0
- package/dist/commands/scan-summary.js +175 -0
- package/dist/commands/scan-summary.js.map +1 -0
- package/dist/commands/scan.d.ts +9 -12
- package/dist/commands/scan.js +66 -62
- package/dist/commands/scan.js.map +1 -1
- package/dist/core/plan.js +1 -1
- package/dist/core/plan.js.map +1 -1
- package/dist/diagnosis/checkpoint.d.ts +6 -0
- package/dist/diagnosis/checkpoint.js +46 -0
- package/dist/diagnosis/checkpoint.js.map +1 -0
- package/dist/diagnosis/cli.d.ts +7 -0
- package/dist/diagnosis/cli.js +84 -0
- package/dist/diagnosis/cli.js.map +1 -0
- package/dist/diagnosis/recommendation.d.ts +13 -0
- package/dist/diagnosis/recommendation.js +95 -0
- package/dist/diagnosis/recommendation.js.map +1 -0
- package/dist/diagnosis/run-state.d.ts +52 -0
- package/dist/diagnosis/run-state.js +173 -0
- package/dist/diagnosis/run-state.js.map +1 -0
- package/dist/diagnosis/schema.d.ts +207 -0
- package/dist/diagnosis/schema.js +108 -0
- package/dist/diagnosis/schema.js.map +1 -0
- package/dist/diagnosis/solari-handoff.d.ts +9 -0
- package/dist/diagnosis/solari-handoff.js +40 -0
- package/dist/diagnosis/solari-handoff.js.map +1 -0
- package/dist/diagnosis/summary.d.ts +3 -0
- package/dist/diagnosis/summary.js +115 -0
- package/dist/diagnosis/summary.js.map +1 -0
- package/dist/discovery/auth-cookie.d.ts +19 -0
- package/dist/discovery/auth-cookie.js +26 -0
- package/dist/discovery/auth-cookie.js.map +1 -0
- package/dist/discovery/evaluate.d.ts +35 -2
- package/dist/discovery/evaluate.js +136 -30
- package/dist/discovery/evaluate.js.map +1 -1
- package/dist/discovery/event-loop.d.ts +25 -0
- package/dist/discovery/event-loop.js +84 -0
- package/dist/discovery/event-loop.js.map +1 -0
- package/dist/discovery/minimize.d.ts +61 -1
- package/dist/discovery/minimize.js +179 -7
- package/dist/discovery/minimize.js.map +1 -1
- package/dist/discovery/resource-loading.d.ts +25 -0
- package/dist/discovery/resource-loading.js +84 -0
- package/dist/discovery/resource-loading.js.map +1 -0
- package/dist/discovery/runner-environment.d.ts +26 -0
- package/dist/discovery/runner-environment.js +68 -0
- package/dist/discovery/runner-environment.js.map +1 -0
- package/dist/discovery/startup-event.d.ts +25 -0
- package/dist/discovery/startup-event.js +84 -0
- package/dist/discovery/startup-event.js.map +1 -0
- package/dist/discovery/storage-state.d.ts +26 -0
- package/dist/discovery/storage-state.js +86 -0
- package/dist/discovery/storage-state.js.map +1 -0
- package/dist/discovery/temporal-environment.d.ts +31 -0
- package/dist/discovery/temporal-environment.js +43 -0
- package/dist/discovery/temporal-environment.js.map +1 -0
- package/dist/discovery/visual-environment.d.ts +28 -0
- package/dist/discovery/visual-environment.js +42 -0
- package/dist/discovery/visual-environment.js.map +1 -0
- package/dist/domain/schema.d.ts +840 -20
- package/dist/domain/schema.js +216 -6
- package/dist/domain/schema.js.map +1 -1
- package/dist/faults/browser-context.d.ts +16 -0
- package/dist/faults/browser-context.js +60 -0
- package/dist/faults/browser-context.js.map +1 -0
- package/dist/faults/cookie-header.d.ts +5 -0
- package/dist/faults/cookie-header.js +25 -0
- package/dist/faults/cookie-header.js.map +1 -0
- package/dist/faults/document-bootstrap.d.ts +5 -0
- package/dist/faults/document-bootstrap.js +141 -0
- package/dist/faults/document-bootstrap.js.map +1 -0
- package/dist/faults/install.d.ts +1 -1
- package/dist/faults/install.js +199 -6
- package/dist/faults/install.js.map +1 -1
- package/dist/faults/pattern.d.ts +1 -0
- package/dist/faults/pattern.js +24 -0
- package/dist/faults/pattern.js.map +1 -0
- package/dist/investigator/agent.js +39 -17
- package/dist/investigator/agent.js.map +1 -1
- package/dist/investigator/ledger.d.ts +1 -1
- package/dist/investigator/ledger.js +2 -2
- package/dist/investigator/ledger.js.map +1 -1
- package/dist/investigator/safe-source.d.ts +1 -0
- package/dist/investigator/safe-source.js +12 -3
- package/dist/investigator/safe-source.js.map +1 -1
- package/dist/investigator/schema.d.ts +293 -2
- package/dist/investigator/schema.js +100 -2
- package/dist/investigator/schema.js.map +1 -1
- package/dist/proof/cli.d.ts +7 -0
- package/dist/proof/cli.js +108 -0
- package/dist/proof/cli.js.map +1 -0
- package/dist/proof/preflight.d.ts +4 -0
- package/dist/proof/preflight.js +9 -0
- package/dist/proof/preflight.js.map +1 -0
- package/dist/repair/generator.d.ts +12 -1
- package/dist/repair/generator.js +30 -6
- package/dist/repair/generator.js.map +1 -1
- package/dist/repair/remote-proof-runner.js +6 -10
- package/dist/repair/remote-proof-runner.js.map +1 -1
- package/dist/repair/schema.d.ts +77 -2
- package/dist/repair/schema.js +23 -2
- package/dist/repair/schema.js.map +1 -1
- package/dist/repair/solari-validator.d.ts +2 -0
- package/dist/repair/solari-validator.js +4 -6
- package/dist/repair/solari-validator.js.map +1 -1
- package/dist/repair/summary.d.ts +10 -0
- package/dist/repair/summary.js +58 -0
- package/dist/repair/summary.js.map +1 -0
- package/dist/repair/validator.d.ts +1 -0
- package/dist/repair/validator.js +53 -12
- package/dist/repair/validator.js.map +1 -1
- package/dist/report/bundle.js +16 -37
- package/dist/report/bundle.js.map +1 -1
- package/dist/report/model.js +131 -12
- package/dist/report/model.js.map +1 -1
- package/dist/report/open.d.ts +9 -0
- package/dist/report/open.js +23 -0
- package/dist/report/open.js.map +1 -1
- package/dist/report/report-client.css +2 -0
- package/dist/report/report-client.js +58 -0
- package/dist/report/schema.d.ts +115 -5
- package/dist/report/schema.js +24 -5
- package/dist/report/schema.js.map +1 -1
- package/dist/reproducer/schema.d.ts +89 -4
- package/dist/reproducer/schema.js +3 -4
- package/dist/reproducer/schema.js.map +1 -1
- package/dist/runner/execution-fault.d.ts +10 -0
- package/dist/runner/execution-fault.js +24 -0
- package/dist/runner/execution-fault.js.map +1 -0
- package/dist/runner/fault-proxy.d.ts +7 -0
- package/dist/runner/fault-proxy.js +366 -0
- package/dist/runner/fault-proxy.js.map +1 -0
- package/dist/runner/local.js +2 -2
- package/dist/runner/local.js.map +1 -1
- package/dist/runner/native-scan.d.ts +25 -0
- package/dist/runner/native-scan.js +306 -0
- package/dist/runner/native-scan.js.map +1 -0
- package/dist/runner/playwright-executor.d.ts +3 -0
- package/dist/runner/playwright-executor.js +125 -66
- package/dist/runner/playwright-executor.js.map +1 -1
- package/dist/runner/process-tree.d.ts +7 -0
- package/dist/runner/process-tree.js +62 -0
- package/dist/runner/process-tree.js.map +1 -0
- package/dist/runner/project-bridge.d.ts +7 -0
- package/dist/runner/project-bridge.js +83 -0
- package/dist/runner/project-bridge.js.map +1 -0
- package/dist/runner/trial-reporter.d.ts +7 -0
- package/dist/runner/trial-reporter.js +47 -0
- package/dist/runner/trial-reporter.js.map +1 -0
- package/dist/scan/failure-clusters.d.ts +24 -0
- package/dist/scan/failure-clusters.js +74 -0
- package/dist/scan/failure-clusters.js.map +1 -0
- package/dist/scan/schema.d.ts +170 -0
- package/dist/scan/schema.js +71 -0
- package/dist/scan/schema.js.map +1 -0
- package/dist/solari/executor.d.ts +5 -1
- package/dist/solari/executor.js +25 -17
- package/dist/solari/executor.js.map +1 -1
- package/dist/solari/run-demo.d.ts +13 -1
- package/dist/solari/run-demo.js +35 -16
- package/dist/solari/run-demo.js.map +1 -1
- package/dist/solari/usage.d.ts +8 -2
- package/dist/solari/usage.js +14 -4
- package/dist/solari/usage.js.map +1 -1
- package/dist/ui/boundary.d.ts +17 -0
- package/dist/ui/boundary.js +18 -0
- package/dist/ui/boundary.js.map +1 -0
- package/dist/ui/console.d.ts +4 -0
- package/dist/ui/console.js +11 -0
- package/dist/ui/console.js.map +1 -0
- package/dist/ui/document.d.ts +40 -0
- package/dist/ui/document.js +120 -0
- package/dist/ui/document.js.map +1 -0
- package/dist/ui/format.d.ts +8 -0
- package/dist/ui/format.js +32 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/progress.d.ts +17 -1
- package/dist/ui/progress.js +51 -8
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/status.d.ts +7 -0
- package/dist/ui/status.js +36 -0
- package/dist/ui/status.js.map +1 -0
- package/dist/ui/style.d.ts +8 -0
- package/dist/ui/style.js +22 -0
- package/dist/ui/style.js.map +1 -0
- package/dist/ui/text.d.ts +17 -0
- package/dist/ui/text.js +123 -0
- package/dist/ui/text.js.map +1 -0
- package/dist/ui/theme.d.ts +23 -0
- package/dist/ui/theme.js +77 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/trial-progress.d.ts +13 -0
- package/dist/ui/trial-progress.js +42 -0
- package/dist/ui/trial-progress.js.map +1 -0
- package/package.json +14 -19
- package/dist/faults/network-delay.d.ts +0 -5
- package/dist/faults/network-delay.js +0 -34
- package/dist/faults/network-delay.js.map +0 -1
- package/dist/faults/request-failure.d.ts +0 -5
- package/dist/faults/request-failure.js +0 -24
- package/dist/faults/request-failure.js.map +0 -1
- package/dist/playwright.d.ts +0 -3
- package/dist/playwright.js +0 -21
- package/dist/playwright.js.map +0 -1
- package/dist/report/browser-entry.d.ts +0 -2
- package/dist/report/browser-entry.js +0 -15
- package/dist/report/browser-entry.js.map +0 -1
- package/dist/report/components/artifacts.d.ts +0 -4
- package/dist/report/components/artifacts.js +0 -6
- package/dist/report/components/artifacts.js.map +0 -1
- package/dist/report/components/experiments.d.ts +0 -4
- package/dist/report/components/experiments.js +0 -7
- package/dist/report/components/experiments.js.map +0 -1
- package/dist/report/components/hypotheses.d.ts +0 -4
- package/dist/report/components/hypotheses.js +0 -26
- package/dist/report/components/hypotheses.js.map +0 -1
- package/dist/report/components/indicators.d.ts +0 -32
- package/dist/report/components/indicators.js +0 -42
- package/dist/report/components/indicators.js.map +0 -1
- package/dist/report/components/layout.d.ts +0 -29
- package/dist/report/components/layout.js +0 -20
- package/dist/report/components/layout.js.map +0 -1
- package/dist/report/components/proof.d.ts +0 -4
- package/dist/report/components/proof.js +0 -34
- package/dist/report/components/proof.js.map +0 -1
- package/dist/report/components/reproduction.d.ts +0 -4
- package/dist/report/components/reproduction.js +0 -19
- package/dist/report/components/reproduction.js.map +0 -1
- package/dist/report/components/summary.d.ts +0 -4
- package/dist/report/components/summary.js +0 -12
- package/dist/report/components/summary.js.map +0 -1
- package/dist/report/components/verdict.d.ts +0 -4
- package/dist/report/components/verdict.js +0 -27
- package/dist/report/components/verdict.js.map +0 -1
- package/dist/report/report-app.d.ts +0 -6
- package/dist/report/report-app.js +0 -16
- package/dist/report/report-app.js.map +0 -1
- package/dist/report/report-details.css +0 -182
- package/dist/report/report.css +0 -404
package/dist/report/schema.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare const failureOwnershipSchema: z.ZodEnum<{
|
|
|
10
10
|
UNKNOWN: "UNKNOWN";
|
|
11
11
|
}>;
|
|
12
12
|
export declare const evidenceReportSchema: z.ZodObject<{
|
|
13
|
-
version: z.ZodLiteral<1>;
|
|
14
13
|
generatedAt: z.ZodISODateTime;
|
|
15
14
|
status: z.ZodEnum<{
|
|
16
15
|
FIX_PROVEN: "FIX_PROVEN";
|
|
@@ -19,6 +18,10 @@ export declare const evidenceReportSchema: z.ZodObject<{
|
|
|
19
18
|
test: z.ZodString;
|
|
20
19
|
model: z.ZodString;
|
|
21
20
|
conclusion: z.ZodString;
|
|
21
|
+
causalClaim: z.ZodObject<{
|
|
22
|
+
controlExperimentIds: z.ZodArray<z.ZodString>;
|
|
23
|
+
interventionExperimentIds: z.ZodArray<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>;
|
|
22
25
|
ownership: z.ZodObject<{
|
|
23
26
|
classification: z.ZodEnum<{
|
|
24
27
|
PRODUCT_RACE: "PRODUCT_RACE";
|
|
@@ -38,9 +41,97 @@ export declare const evidenceReportSchema: z.ZodObject<{
|
|
|
38
41
|
rationale: z.ZodString;
|
|
39
42
|
}, z.core.$strip>;
|
|
40
43
|
trigger: z.ZodObject<{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
faults: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
45
|
+
kind: z.ZodLiteral<"animation-speed">;
|
|
46
|
+
pattern: z.ZodString;
|
|
47
|
+
rate: z.ZodNumber;
|
|
48
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
49
|
+
kind: z.ZodLiteral<"auth-cookie-expiry">;
|
|
50
|
+
pattern: z.ZodString;
|
|
51
|
+
cookieName: z.ZodString;
|
|
52
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
53
|
+
kind: z.ZodLiteral<"clock-jump">;
|
|
54
|
+
pattern: z.ZodString;
|
|
55
|
+
jumpAfterMs: z.ZodNumber;
|
|
56
|
+
offsetMs: z.ZodNumber;
|
|
57
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
58
|
+
kind: z.ZodLiteral<"event-loop-stall">;
|
|
59
|
+
pattern: z.ZodString;
|
|
60
|
+
startAfterMs: z.ZodNumber;
|
|
61
|
+
durationMs: z.ZodNumber;
|
|
62
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
63
|
+
kind: z.ZodLiteral<"locale">;
|
|
64
|
+
pattern: z.ZodString;
|
|
65
|
+
locale: z.ZodString;
|
|
66
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
67
|
+
kind: z.ZodLiteral<"network-delay">;
|
|
68
|
+
pattern: z.ZodString;
|
|
69
|
+
delayMs: z.ZodNumber;
|
|
70
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
71
|
+
kind: z.ZodLiteral<"request-failure">;
|
|
72
|
+
pattern: z.ZodString;
|
|
73
|
+
statusCode: z.ZodNumber;
|
|
74
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
75
|
+
kind: z.ZodLiteral<"reduced-motion">;
|
|
76
|
+
pattern: z.ZodString;
|
|
77
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
78
|
+
kind: z.ZodLiteral<"resource-loading-delay">;
|
|
79
|
+
pattern: z.ZodString;
|
|
80
|
+
resourceType: z.ZodEnum<{
|
|
81
|
+
script: "script";
|
|
82
|
+
document: "document";
|
|
83
|
+
font: "font";
|
|
84
|
+
image: "image";
|
|
85
|
+
stylesheet: "stylesheet";
|
|
86
|
+
}>;
|
|
87
|
+
delayMs: z.ZodNumber;
|
|
88
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
89
|
+
kind: z.ZodLiteral<"response-duplication">;
|
|
90
|
+
pattern: z.ZodString;
|
|
91
|
+
duplicateBytes: z.ZodNumber;
|
|
92
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
93
|
+
kind: z.ZodLiteral<"response-reordering">;
|
|
94
|
+
pattern: z.ZodString;
|
|
95
|
+
holdMs: z.ZodNumber;
|
|
96
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
97
|
+
kind: z.ZodLiteral<"response-truncation">;
|
|
98
|
+
pattern: z.ZodString;
|
|
99
|
+
removeBytes: z.ZodNumber;
|
|
100
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
101
|
+
kind: z.ZodLiteral<"shared-state-interference">;
|
|
102
|
+
pattern: z.ZodString;
|
|
103
|
+
copies: z.ZodNumber;
|
|
104
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
105
|
+
kind: z.ZodLiteral<"storage-state-delay">;
|
|
106
|
+
pattern: z.ZodString;
|
|
107
|
+
storage: z.ZodEnum<{
|
|
108
|
+
"local-storage": "local-storage";
|
|
109
|
+
"session-storage": "session-storage";
|
|
110
|
+
}>;
|
|
111
|
+
key: z.ZodString;
|
|
112
|
+
delayMs: z.ZodNumber;
|
|
113
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
114
|
+
kind: z.ZodLiteral<"startup-event-delay">;
|
|
115
|
+
pattern: z.ZodString;
|
|
116
|
+
event: z.ZodEnum<{
|
|
117
|
+
"dom-content-loaded": "dom-content-loaded";
|
|
118
|
+
load: "load";
|
|
119
|
+
}>;
|
|
120
|
+
delayMs: z.ZodNumber;
|
|
121
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
122
|
+
kind: z.ZodLiteral<"timezone">;
|
|
123
|
+
pattern: z.ZodString;
|
|
124
|
+
timezoneId: z.ZodString;
|
|
125
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
126
|
+
kind: z.ZodLiteral<"viewport">;
|
|
127
|
+
pattern: z.ZodString;
|
|
128
|
+
width: z.ZodNumber;
|
|
129
|
+
height: z.ZodNumber;
|
|
130
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
131
|
+
kind: z.ZodLiteral<"worker-pressure">;
|
|
132
|
+
pattern: z.ZodString;
|
|
133
|
+
workers: z.ZodNumber;
|
|
134
|
+
}, z.core.$strict>], "kind">>;
|
|
44
135
|
minimumFailureRate: z.ZodNumber;
|
|
45
136
|
signature: z.ZodOptional<z.ZodString>;
|
|
46
137
|
}, z.core.$strip>;
|
|
@@ -59,6 +150,19 @@ export declare const evidenceReportSchema: z.ZodObject<{
|
|
|
59
150
|
id: z.ZodString;
|
|
60
151
|
hypothesisId: z.ZodString;
|
|
61
152
|
condition: z.ZodString;
|
|
153
|
+
representativeRuns: z.ZodArray<z.ZodObject<{
|
|
154
|
+
artifacts: z.ZodArray<z.ZodObject<{
|
|
155
|
+
contentType: z.ZodString;
|
|
156
|
+
name: z.ZodString;
|
|
157
|
+
path: z.ZodString;
|
|
158
|
+
}, z.core.$strip>>;
|
|
159
|
+
durationMs: z.ZodNumber;
|
|
160
|
+
status: z.ZodEnum<{
|
|
161
|
+
passed: "passed";
|
|
162
|
+
failed: "failed";
|
|
163
|
+
}>;
|
|
164
|
+
trialId: z.ZodString;
|
|
165
|
+
}, z.core.$strip>>;
|
|
62
166
|
result: z.ZodObject<{
|
|
63
167
|
errors: z.ZodNumber;
|
|
64
168
|
failed: z.ZodNumber;
|
|
@@ -68,6 +172,12 @@ export declare const evidenceReportSchema: z.ZodObject<{
|
|
|
68
172
|
trials: z.ZodNumber;
|
|
69
173
|
}, z.core.$strip>;
|
|
70
174
|
}, z.core.$strip>>;
|
|
175
|
+
replayCommand: z.ZodString;
|
|
176
|
+
sourcePaths: z.ZodArray<z.ZodString>;
|
|
177
|
+
sourceLocations: z.ZodArray<z.ZodObject<{
|
|
178
|
+
line: z.ZodNumber;
|
|
179
|
+
path: z.ZodString;
|
|
180
|
+
}, z.core.$strip>>;
|
|
71
181
|
proof: z.ZodObject<{
|
|
72
182
|
accepted: z.ZodBoolean;
|
|
73
183
|
execution: z.ZodLiteral<"solari-microvm">;
|
|
@@ -96,6 +206,6 @@ export declare const evidenceReportSchema: z.ZodObject<{
|
|
|
96
206
|
label: z.ZodString;
|
|
97
207
|
path: z.ZodString;
|
|
98
208
|
}, z.core.$strip>>;
|
|
99
|
-
}, z.core.$
|
|
209
|
+
}, z.core.$strict>;
|
|
100
210
|
export type EvidenceReport = z.infer<typeof evidenceReportSchema>;
|
|
101
211
|
export type FailureOwnership = z.infer<typeof failureOwnershipSchema>;
|
package/dist/report/schema.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { faultSetSchema } from "../domain/schema.js";
|
|
2
3
|
export const failureOwnershipSchema = z.enum([
|
|
3
4
|
"PRODUCT_RACE",
|
|
4
5
|
"TEST_SELECTOR",
|
|
@@ -17,22 +18,33 @@ const resultSchema = z.object({
|
|
|
17
18
|
passed: z.number().int().nonnegative(),
|
|
18
19
|
trials: z.number().int().nonnegative(),
|
|
19
20
|
});
|
|
21
|
+
const representativeRunSchema = z.object({
|
|
22
|
+
artifacts: z.array(z.object({
|
|
23
|
+
contentType: z.string().min(1),
|
|
24
|
+
name: z.string().min(1),
|
|
25
|
+
path: z.string().min(1).max(500),
|
|
26
|
+
})).max(5),
|
|
27
|
+
durationMs: z.number().int().nonnegative(),
|
|
28
|
+
status: z.enum(["failed", "passed"]),
|
|
29
|
+
trialId: z.string().min(1),
|
|
30
|
+
});
|
|
20
31
|
export const evidenceReportSchema = z.object({
|
|
21
|
-
version: z.literal(1),
|
|
22
32
|
generatedAt: z.iso.datetime(),
|
|
23
33
|
status: z.enum(["FIX_PROVEN", "PATCH_REJECTED"]),
|
|
24
34
|
test: z.string().min(1).max(500),
|
|
25
35
|
model: z.string().min(1).max(200),
|
|
26
36
|
conclusion: z.string().min(1).max(2_000),
|
|
37
|
+
causalClaim: z.object({
|
|
38
|
+
controlExperimentIds: z.array(z.string().min(1)).min(1),
|
|
39
|
+
interventionExperimentIds: z.array(z.string().min(1)).min(1),
|
|
40
|
+
}),
|
|
27
41
|
ownership: z.object({
|
|
28
42
|
classification: failureOwnershipSchema,
|
|
29
43
|
confidence: z.enum(["high", "medium", "low"]),
|
|
30
44
|
rationale: z.string().min(1).max(1_000),
|
|
31
45
|
}),
|
|
32
46
|
trigger: z.object({
|
|
33
|
-
|
|
34
|
-
pattern: z.string().min(1).max(500),
|
|
35
|
-
delayMs: z.number().int().positive(),
|
|
47
|
+
faults: faultSetSchema,
|
|
36
48
|
minimumFailureRate: z.number().gt(0).max(1),
|
|
37
49
|
signature: z.string().min(1).max(200).optional(),
|
|
38
50
|
}),
|
|
@@ -47,8 +59,15 @@ export const evidenceReportSchema = z.object({
|
|
|
47
59
|
id: z.string().min(1),
|
|
48
60
|
hypothesisId: z.string().min(1),
|
|
49
61
|
condition: z.string().min(1).max(500),
|
|
62
|
+
representativeRuns: z.array(representativeRunSchema).max(2),
|
|
50
63
|
result: resultSchema,
|
|
51
64
|
})),
|
|
65
|
+
replayCommand: z.string().min(1).max(1_000),
|
|
66
|
+
sourcePaths: z.array(z.string().min(1).max(500)).min(1).max(8),
|
|
67
|
+
sourceLocations: z.array(z.object({
|
|
68
|
+
line: z.number().int().positive(),
|
|
69
|
+
path: z.string().min(1).max(500),
|
|
70
|
+
})).min(1).max(3),
|
|
52
71
|
proof: z.object({
|
|
53
72
|
accepted: z.boolean(),
|
|
54
73
|
execution: z.literal("solari-microvm"),
|
|
@@ -67,5 +86,5 @@ export const evidenceReportSchema = z.object({
|
|
|
67
86
|
label: z.string().min(1).max(100),
|
|
68
87
|
path: z.string().min(1).max(500),
|
|
69
88
|
})).min(3),
|
|
70
|
-
});
|
|
89
|
+
}).strict();
|
|
71
90
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/report/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,wBAAwB;IACxB,iBAAiB;IACjB,qBAAqB;IACrB,yBAAyB;IACzB,SAAS;CACV,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACvC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/report/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,102 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const reproducerSchema: z.ZodObject<{
|
|
3
|
-
version: z.ZodLiteral<1>;
|
|
4
3
|
test: z.ZodString;
|
|
5
4
|
seed: z.ZodNumber;
|
|
6
5
|
trials: z.ZodNumber;
|
|
7
|
-
faults: z.ZodArray<z.ZodObject<{
|
|
6
|
+
faults: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
7
|
+
kind: z.ZodLiteral<"animation-speed">;
|
|
8
|
+
pattern: z.ZodString;
|
|
9
|
+
rate: z.ZodNumber;
|
|
10
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"auth-cookie-expiry">;
|
|
12
|
+
pattern: z.ZodString;
|
|
13
|
+
cookieName: z.ZodString;
|
|
14
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
15
|
+
kind: z.ZodLiteral<"clock-jump">;
|
|
16
|
+
pattern: z.ZodString;
|
|
17
|
+
jumpAfterMs: z.ZodNumber;
|
|
18
|
+
offsetMs: z.ZodNumber;
|
|
19
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
20
|
+
kind: z.ZodLiteral<"event-loop-stall">;
|
|
21
|
+
pattern: z.ZodString;
|
|
22
|
+
startAfterMs: z.ZodNumber;
|
|
23
|
+
durationMs: z.ZodNumber;
|
|
24
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
25
|
+
kind: z.ZodLiteral<"locale">;
|
|
26
|
+
pattern: z.ZodString;
|
|
27
|
+
locale: z.ZodString;
|
|
28
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
8
29
|
kind: z.ZodLiteral<"network-delay">;
|
|
9
30
|
pattern: z.ZodString;
|
|
10
31
|
delayMs: z.ZodNumber;
|
|
11
|
-
}, z.core.$
|
|
32
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
33
|
+
kind: z.ZodLiteral<"request-failure">;
|
|
34
|
+
pattern: z.ZodString;
|
|
35
|
+
statusCode: z.ZodNumber;
|
|
36
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
37
|
+
kind: z.ZodLiteral<"reduced-motion">;
|
|
38
|
+
pattern: z.ZodString;
|
|
39
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
40
|
+
kind: z.ZodLiteral<"resource-loading-delay">;
|
|
41
|
+
pattern: z.ZodString;
|
|
42
|
+
resourceType: z.ZodEnum<{
|
|
43
|
+
script: "script";
|
|
44
|
+
document: "document";
|
|
45
|
+
font: "font";
|
|
46
|
+
image: "image";
|
|
47
|
+
stylesheet: "stylesheet";
|
|
48
|
+
}>;
|
|
49
|
+
delayMs: z.ZodNumber;
|
|
50
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
51
|
+
kind: z.ZodLiteral<"response-duplication">;
|
|
52
|
+
pattern: z.ZodString;
|
|
53
|
+
duplicateBytes: z.ZodNumber;
|
|
54
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
55
|
+
kind: z.ZodLiteral<"response-reordering">;
|
|
56
|
+
pattern: z.ZodString;
|
|
57
|
+
holdMs: z.ZodNumber;
|
|
58
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
59
|
+
kind: z.ZodLiteral<"response-truncation">;
|
|
60
|
+
pattern: z.ZodString;
|
|
61
|
+
removeBytes: z.ZodNumber;
|
|
62
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
63
|
+
kind: z.ZodLiteral<"shared-state-interference">;
|
|
64
|
+
pattern: z.ZodString;
|
|
65
|
+
copies: z.ZodNumber;
|
|
66
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
67
|
+
kind: z.ZodLiteral<"storage-state-delay">;
|
|
68
|
+
pattern: z.ZodString;
|
|
69
|
+
storage: z.ZodEnum<{
|
|
70
|
+
"local-storage": "local-storage";
|
|
71
|
+
"session-storage": "session-storage";
|
|
72
|
+
}>;
|
|
73
|
+
key: z.ZodString;
|
|
74
|
+
delayMs: z.ZodNumber;
|
|
75
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
76
|
+
kind: z.ZodLiteral<"startup-event-delay">;
|
|
77
|
+
pattern: z.ZodString;
|
|
78
|
+
event: z.ZodEnum<{
|
|
79
|
+
"dom-content-loaded": "dom-content-loaded";
|
|
80
|
+
load: "load";
|
|
81
|
+
}>;
|
|
82
|
+
delayMs: z.ZodNumber;
|
|
83
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
84
|
+
kind: z.ZodLiteral<"timezone">;
|
|
85
|
+
pattern: z.ZodString;
|
|
86
|
+
timezoneId: z.ZodString;
|
|
87
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
88
|
+
kind: z.ZodLiteral<"viewport">;
|
|
89
|
+
pattern: z.ZodString;
|
|
90
|
+
width: z.ZodNumber;
|
|
91
|
+
height: z.ZodNumber;
|
|
92
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
93
|
+
kind: z.ZodLiteral<"worker-pressure">;
|
|
94
|
+
pattern: z.ZodString;
|
|
95
|
+
workers: z.ZodNumber;
|
|
96
|
+
}, z.core.$strict>], "kind">>;
|
|
12
97
|
expectedFailure: z.ZodObject<{
|
|
13
98
|
minimumRate: z.ZodNumber;
|
|
14
99
|
signature: z.ZodOptional<z.ZodString>;
|
|
15
100
|
}, z.core.$strip>;
|
|
16
|
-
}, z.core.$
|
|
101
|
+
}, z.core.$strict>;
|
|
17
102
|
export type Reproducer = z.infer<typeof reproducerSchema>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { faultSetSchema } from "../domain/schema.js";
|
|
3
3
|
export const reproducerSchema = z.object({
|
|
4
|
-
version: z.literal(1),
|
|
5
4
|
test: z.string().min(1),
|
|
6
5
|
seed: z.number().int().min(0).max(0xffff_ffff),
|
|
7
6
|
trials: z.number().int().min(2).max(100),
|
|
8
|
-
faults:
|
|
7
|
+
faults: faultSetSchema,
|
|
9
8
|
expectedFailure: z.object({
|
|
10
9
|
minimumRate: z.number().gt(0).max(1),
|
|
11
10
|
signature: z.string().min(1).optional(),
|
|
12
11
|
}),
|
|
13
|
-
});
|
|
12
|
+
}).strict();
|
|
14
13
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/reproducer/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/reproducer/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,MAAM,EAAE,cAAc;IACtB,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACxC,CAAC;CACH,CAAC,CAAC,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Fault } from "../domain/schema.js";
|
|
2
|
+
export type RunnerExecutionFault = Extract<Fault, {
|
|
3
|
+
kind: "shared-state-interference" | "worker-pressure";
|
|
4
|
+
}>;
|
|
5
|
+
export interface RunnerExecutionControls {
|
|
6
|
+
arguments: string[];
|
|
7
|
+
environment: NodeJS.ProcessEnv;
|
|
8
|
+
}
|
|
9
|
+
export declare function isRunnerExecutionFault(fault: Fault): fault is RunnerExecutionFault;
|
|
10
|
+
export declare function runnerExecutionControls(faults: readonly Fault[]): RunnerExecutionControls;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function isRunnerExecutionFault(fault) {
|
|
2
|
+
return fault.kind === "shared-state-interference" || fault.kind === "worker-pressure";
|
|
3
|
+
}
|
|
4
|
+
export function runnerExecutionControls(faults) {
|
|
5
|
+
const runnerFault = faults.find(isRunnerExecutionFault);
|
|
6
|
+
if (!runnerFault) {
|
|
7
|
+
return { arguments: ["--workers=1"], environment: {} };
|
|
8
|
+
}
|
|
9
|
+
if (runnerFault.kind === "worker-pressure") {
|
|
10
|
+
return {
|
|
11
|
+
arguments: [`--workers=${runnerFault.workers}`, "--fully-parallel"],
|
|
12
|
+
environment: { FLAKELAB_WORKER_PRESSURE_ACTIVE: "1" },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
arguments: [
|
|
17
|
+
`--workers=${runnerFault.copies}`,
|
|
18
|
+
`--repeat-each=${runnerFault.copies}`,
|
|
19
|
+
"--fully-parallel",
|
|
20
|
+
],
|
|
21
|
+
environment: { FLAKELAB_SHARED_STATE_ACTIVE: "1" },
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=execution-fault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-fault.js","sourceRoot":"","sources":["../../src/runner/execution-fault.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,sBAAsB,CAAC,KAAY;IACjD,OAAO,KAAK,CAAC,IAAI,KAAK,2BAA2B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAwB;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IACxD,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,OAAO;YACL,SAAS,EAAE,CAAC,aAAa,WAAW,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC;YACnE,WAAW,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE;SACtD,CAAA;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE;YACT,aAAa,WAAW,CAAC,MAAM,EAAE;YACjC,iBAAiB,WAAW,CAAC,MAAM,EAAE;YACrC,kBAAkB;SACnB;QACD,WAAW,EAAE,EAAE,4BAA4B,EAAE,GAAG,EAAE;KACnD,CAAA;AACH,CAAC"}
|