fix: single-source and property-test the measured-performance path in audit.mjs - #726
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
There was a problem hiding this comment.
Important
The SQL parser still treats unsupported valid PostgreSQL forms as confidently parsed, allowing measured audit signals to be computed or suppressed from incorrect facts.
Reviewed changes in the measured-performance normalization, its generated audit-workflow copy, the generation/drift gate, and the expanded deterministic and property-based harness coverage.
- Canonical generated path — moves measured-performance logic into
tools/lib/performance-measurement.mjs, generates the sandboxed workflow block from it, and adds a CI drift check. - Conservative SQL analysis — replaces positional regular expressions with tokenized query-shape analysis and suppresses signals when analysis returns unknown.
- Invariant coverage — adds
fast-checkproperties for egress, projection width, and background-budget bounds while executing both the canonical module and generated consumer. - Tool integration — registers the generator in the tool harness and updates package manifests, lockfile, and tool documentation.
GPT Sol | 𝕏
…nce parser Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Important
No new issue was introduced by this delta, but one earlier parser thread remains partially addressed and must be completed before merge.
Reviewed changes since the prior Pullfrog review at 9ea9b095:
- Unbounded limit handling — Treated PostgreSQL
LIMIT ALLas unbounded so request mappings retainunbounded-user-list. - Comma-source handling — Recognized comma-separated
FROMsources without mistaking commas in later clauses for joins. - Regression coverage — Added canonical and generated-path cases for
LIMIT ALL, comma joins, andORDER BYcommas.
GPT Sol | 𝕏
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Important
Joined expressions can still produce a false measured projection signal and should be fixed before merge.
Reviewed changes since the prior Pullfrog review at 4525f56 focused on the joined-projection follow-up:
- Joined projection attribution — Required direct non-star columns in joined queries to name the root alias before preserving the projection count.
- Regression coverage — Added canonical and generated-path coverage for an unqualified column list over a comma join.
GPT Sol | 𝕏
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes since the prior Pullfrog review at 873c028f focused on completing joined-projection attribution:
- Unclassified joined expressions — Made projection width unknown whenever any joined expression cannot be proven to be a direct, non-star root-alias column.
- Regression coverage — Added the mixed-alias
COALESCEcase to both the canonical module and generated workflow execution paths.
GPT Sol | 𝕏




Closes https://github.com/thomasluizon/orbit-tickets/issues/288
Ticket: #288 (https://github.com/thomasluizon/orbit-tickets/issues/288)
Summary
tools/lib/performance-measurement.mjsis the one copy, and.claude/workflows/audit.mjsis generated from it bytools/generate-performance-workflow.mjswith a drift gate inguards.yml.Salvage note
The worker committed this work (9ea9b09) and was killed at the 10-minute no-progress cap while waiting for the repository-wide
tools/test-tools.mjsrun. The orchestrator ran both harnesses in the worktree after the kill:node tools/test-tools.mjsexit 0,node .claude/hooks/test-hooks.mjsexit 0, at this head. No code was added or changed after the worker's commit.Assumptions
arch-map.yml) was chosen over a shared imported module; the ticket delegated this choice.