Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
273 changes: 218 additions & 55 deletions test-parity/node_suite_baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,62 +2,225 @@
"_schema": {
"description": "Floor baseline for scripts/node_suite_regression_check.py. Each module's run must produce pass >= floor.pass; dropping below is a regression (exit 1). Improvements are always accepted and reported as ratchet candidates. Captured in the node-26 environment with scripts/node_suite_run.py (pre-warm + fast/slow lanes).",
"oracle": "node v26.3.0 on Linux (the box)",
"note": "Deterministic modules are floored at full pass. Timing/racy modules (http2, net, stream, diagnostics_channel, fs-promises) carry a small margin below observed pass so ordinary flake does not false-alarm; the guard still catches real regressions, which are large (e.g. dns 6->0, http 19->9). node_suite_run.normalize() scrubs environment-variant tokens (console.time hrtime durations, stack-trace frame lines) symmetrically before the stdout compare, so console is floored at full pass (119) on its deterministic content."
"note": "Deterministic modules are floored at full pass. Timing/racy modules (http2, net, stream, diagnostics_channel, fs-promises) carry a small margin below observed pass so ordinary flake does not false-alarm; the guard still catches real regressions, which are large (e.g. dns 6->0, http 19->9). node_suite_run.normalize() scrubs environment-variant tokens (console.time hrtime durations, stack-trace frame lines) symmetrically before the stdout compare, so console is floored at full pass (119) on its deterministic content. http is verified 19/19 in isolation but the full-suite harness flakes to 17 under port contention, so it is floored at 17 (flake margin, not a regression); a real http break is a much larger drop. Floors refreshed from a clean node-26 run at 2810/2863 (98.1%)."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Schema note references inconsistent overall pass count.

The note states "Floors refreshed from a clean node-26 run at 2810/2863 (98.1%)", but the sum of module pass values is 2801 (not 2810). Either the note should reference 2801, or the module floor values need adjustment to match the actual 2810-pass run.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test-parity/node_suite_baseline.json` at line 5, The note field in
node_suite_baseline.json references a total pass count of 2810 from a clean
node-26 run, but the actual sum of all module floor values in the file totals
2801. Verify the sum of all module pass/floor values currently specified in the
baseline to confirm the discrepancy, then either update the note to reference
the correct total (2801) or, if you have access to the original clean run data
showing 2810, adjust the individual module floor values accordingly to match
that total.

},
"overall": {
"pass": 2810,
"total": 2863,
"pct": 98.1
Comment on lines +7 to +10

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Sum all module pass and total values from the baseline JSON.

jq '.modules | to_entries | map(.value.pass) | add' test-parity/node_suite_baseline.json
jq '.modules | to_entries | map(.value.total) | add' test-parity/node_suite_baseline.json

Repository: PerryTS/perry

Length of output: 67


Fix arithmetic mismatch in overall baseline aggregate.

The overall.pass is set to 2810, but the sum of all 53 module pass values is 2801. This creates a 9-test discrepancy. The pct should be updated from 98.1% to 97.8% to match.

Proposed fix
   "overall": {
-    "pass": 2810,
+    "pass": 2801,
     "total": 2863,
-    "pct": 98.1
+    "pct": 97.8
   },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"overall": {
"pass": 2810,
"total": 2863,
"pct": 98.1
"overall": {
"pass": 2801,
"total": 2863,
"pct": 97.8
},
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test-parity/node_suite_baseline.json` around lines 7 - 10, The overall
aggregate in the JSON baseline has an arithmetic mismatch where the overall.pass
value of 2810 does not match the sum of all 53 module pass values which totals
2801, creating a 9-test discrepancy. Update the overall.pass field to 2801 to
match the actual sum of module pass values, and recalculate the overall.pct
field to 97.8% based on the corrected pass count divided by the total count of
2863 to restore consistency between the aggregate and its components.

},
"overall": { "pass": 2792, "total": 2863, "pct": 97.5 },
"modules": {
"assert": { "pass": 70, "total": 70 },
"async_hooks": { "pass": 5, "total": 5 },
"bigint": { "pass": 3, "total": 3 },
"buffer": { "pass": 134, "total": 134 },
"child_process": { "pass": 26, "total": 26 },
"cluster": { "pass": 1, "total": 1 },
"console": { "pass": 119, "total": 119 },
"constants": { "pass": 4, "total": 4 },
"crypto": { "pass": 240, "total": 242 },
"dgram": { "pass": 4, "total": 4 },
"diagnostics_channel": { "pass": 65, "total": 69 },
"dns": { "pass": 6, "total": 6 },
"domain": { "pass": 3, "total": 3 },
"events": { "pass": 65, "total": 69 },
"fetch": { "pass": 12, "total": 12 },
"fs": { "pass": 168, "total": 175 },
"fs-promises": { "pass": 76, "total": 82 },
"globals": { "pass": 107, "total": 115 },
"http": { "pass": 19, "total": 19 },
"http2": { "pass": 8, "total": 9 },
"https": { "pass": 5, "total": 5 },
"inspector": { "pass": 2, "total": 3 },
"inspector-promises": { "pass": 1, "total": 1 },
"module": { "pass": 28, "total": 28 },
"net": { "pass": 12, "total": 13 },
"node-core": { "pass": 2, "total": 2 },
"object": { "pass": 22, "total": 23 },
"os": { "pass": 39, "total": 39 },
"path": { "pass": 92, "total": 92 },
"perf_hooks": { "pass": 83, "total": 83 },
"process": { "pass": 95, "total": 96 },
"punycode": { "pass": 8, "total": 8 },
"querystring": { "pass": 59, "total": 59 },
"readline": { "pass": 12, "total": 12 },
"repl": { "pass": 4, "total": 4 },
"sea": { "pass": 1, "total": 1 },
"sqlite": { "pass": 1, "total": 1 },
"stream": { "pass": 760, "total": 801 },
"string": { "pass": 2, "total": 2 },
"string_decoder": { "pass": 36, "total": 36 },
"sys": { "pass": 2, "total": 2 },
"test": { "pass": 7, "total": 11 },
"timers": { "pass": 90, "total": 90 },
"tls": { "pass": 3, "total": 3 },
"trace_events": { "pass": 6, "total": 6 },
"tty": { "pass": 31, "total": 32 },
"url": { "pass": 67, "total": 67 },
"util": { "pass": 84, "total": 86 },
"v8": { "pass": 4, "total": 4 },
"vm": { "pass": 8, "total": 8 },
"wasi": { "pass": 3, "total": 3 },
"worker_threads": { "pass": 17, "total": 17 },
"zlib": { "pass": 58, "total": 58 }
"assert": {
"pass": 70,
"total": 70
},
"async_hooks": {
"pass": 5,
"total": 5
},
"bigint": {
"pass": 3,
"total": 3
},
"buffer": {
"pass": 134,
"total": 134
},
"child_process": {
"pass": 26,
"total": 26
},
"cluster": {
"pass": 1,
"total": 1
},
"console": {
"pass": 119,
"total": 119
},
"constants": {
"pass": 4,
"total": 4
},
"crypto": {
"pass": 240,
"total": 242
},
"dgram": {
"pass": 4,
"total": 4
},
"diagnostics_channel": {
"pass": 66,
"total": 69
},
"dns": {
"pass": 6,
"total": 6
},
"domain": {
"pass": 3,
"total": 3
},
"events": {
"pass": 69,
"total": 69
},
"fetch": {
"pass": 12,
"total": 12
},
"fs": {
"pass": 168,
"total": 175
},
"fs-promises": {
"pass": 77,
"total": 82
},
"globals": {
"pass": 111,
"total": 115
},
"http": {
"pass": 17,
"total": 19
},
"http2": {
"pass": 8,
"total": 9
},
"https": {
"pass": 5,
"total": 5
},
"inspector": {
"pass": 2,
"total": 3
},
"inspector-promises": {
"pass": 1,
"total": 1
},
"module": {
"pass": 28,
"total": 28
},
"net": {
"pass": 12,
"total": 13
},
"node-core": {
"pass": 2,
"total": 2
},
"object": {
"pass": 23,
"total": 23
},
"os": {
"pass": 39,
"total": 39
},
"path": {
"pass": 92,
"total": 92
},
"perf_hooks": {
"pass": 83,
"total": 83
},
"process": {
"pass": 95,
"total": 96
},
"punycode": {
"pass": 8,
"total": 8
},
"querystring": {
"pass": 59,
"total": 59
},
"readline": {
"pass": 12,
"total": 12
},
"repl": {
"pass": 4,
"total": 4
},
"sea": {
"pass": 1,
"total": 1
},
"sqlite": {
"pass": 1,
"total": 1
},
"stream": {
"pass": 770,
"total": 801
},
"string": {
"pass": 2,
"total": 2
},
"string_decoder": {
"pass": 36,
"total": 36
},
"sys": {
"pass": 2,
"total": 2
},
"test": {
"pass": 7,
"total": 11
},
"timers": {
"pass": 90,
"total": 90
},
"tls": {
"pass": 3,
"total": 3
},
"trace_events": {
"pass": 6,
"total": 6
},
"tty": {
"pass": 32,
"total": 32
},
"url": {
"pass": 67,
"total": 67
},
"util": {
"pass": 86,
"total": 86
},
"v8": {
"pass": 4,
"total": 4
},
"vm": {
"pass": 8,
"total": 8
},
"wasi": {
"pass": 3,
"total": 3
},
"worker_threads": {
"pass": 17,
"total": 17
},
"zlib": {
"pass": 58,
"total": 58
}
}
}