Marius Ciepluch and Claude Opus 5
4ee31142ab
fix(pre-push-safety-net): take the operation symbol from the call (M1b 12.1)
...
Admission extracted everything before the first parenthesis, so the operation for
`const preTax = eval(req.body.preTax)` was `const preTax = eval`. No real
declaration can enumerate every assignment a codebase might write, so admission
would have rejected genuine findings on operation_semantics_mismatch. The M1b
demonstration only passed because its declaration listed the assignment spellings.
The symbol is now the trailing qualified callee. Receiver spelling stays part of
it, so `$wpdb->prepare` and `prepare` remain different operations and a declaration
cannot widen from one to the other. A spelling that is not a qualified name, such
as a dynamic `handlers[name](x)`, yields the statement text, matches no declaration
and stays ineligible exactly as before.
Controls cover the assigned call, the receiver distinction, the dynamic spelling,
and that a declaration for a different operation still does not cover it. The
recorded-veto report reads the same helper instead of repeating the extraction.
1,403 tests passed, nine skipped.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected] >
Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
2026-09-17 09:56:59 +02:00
..
2026-06-22 17:13:02 +02:00
2026-09-11 01:16:00 +02:00
2026-09-04 11:50:44 +02:00
2026-06-18 10:06:21 +02:00
2026-09-08 12:15:54 +02:00
2026-09-09 07:42:44 +02:00
2026-09-05 10:45:43 +02:00
2026-09-03 20:33:48 +02:00
2026-09-04 00:18:33 +02:00
2026-09-03 20:33:48 +02:00
2026-09-03 20:05:13 +02:00
2026-09-04 14:06:18 +02:00
2026-09-17 09:04:44 +02:00
2026-09-13 11:53:29 +02:00
2026-09-11 10:49:10 +02:00
2026-09-17 08:35:57 +02:00
2026-09-08 12:15:54 +02:00
2026-06-22 17:13:02 +02:00
2026-06-22 15:27:16 +02:00
2026-09-14 08:07:06 +02:00
2026-06-22 18:57:03 +02:00
2026-06-22 20:02:34 +02:00
2026-09-13 17:08:49 +02:00
2026-06-22 20:02:34 +02:00
2026-06-22 17:59:44 +02:00
2026-06-18 10:06:21 +02:00
2026-09-06 14:18:09 +02:00
2026-06-22 17:59:44 +02:00
2026-09-03 21:01:57 +02:00
2026-06-18 10:59:25 +02:00
2026-09-05 10:45:43 +02:00
2026-09-08 19:46:58 +02:00
2026-09-13 11:53:29 +02:00
2026-09-04 11:53:06 +02:00
2026-09-09 17:33:36 +02:00
2026-09-09 13:15:54 +02:00
2026-09-08 19:46:58 +02:00
2026-09-16 17:35:00 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 13:09:47 +02:00
2026-09-10 15:49:57 +02:00
2026-09-11 13:45:00 +02:00
2026-09-08 16:58:03 +02:00
2026-09-08 19:46:58 +02:00
2026-09-08 19:46:58 +02:00
2026-09-14 08:07:06 +02:00
2026-09-09 09:27:19 +02:00
2026-09-09 15:39:58 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 07:42:44 +02:00
2026-09-14 08:07:06 +02:00
2026-09-14 08:07:06 +02:00
2026-09-09 12:45:21 +02:00
2026-09-09 16:13:17 +02:00
2026-09-09 14:30:48 +02:00
2026-09-09 15:08:01 +02:00
2026-09-08 12:15:54 +02:00
2026-09-04 11:50:44 +02:00
2026-09-08 12:15:54 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 13:09:56 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-06-21 14:28:19 +02:00
2026-09-08 12:15:54 +02:00
2026-09-06 07:24:13 +02:00
2026-09-08 19:46:58 +02:00
2026-09-08 19:46:58 +02:00
2026-06-21 20:44:08 +02:00
2026-06-22 12:31:35 +02:00
2026-06-17 21:13:51 +02:00
2026-09-05 10:45:43 +02:00
2026-09-07 07:37:41 +02:00
2026-09-17 09:56:59 +02:00
2026-09-13 18:03:31 +02:00
2026-09-13 16:16:19 +02:00
2026-09-13 16:11:19 +02:00
2026-09-12 21:12:45 +02:00
2026-09-13 19:32:43 +02:00
2026-09-13 15:24:06 +02:00
2026-09-13 19:06:02 +02:00
2026-09-13 17:51:28 +02:00
2026-09-12 18:45:54 +02:00
2026-09-13 17:45:16 +02:00
2026-09-16 18:52:04 +02:00
2026-09-13 18:43:13 +02:00
2026-09-13 13:25:44 +02:00
2026-09-13 17:08:49 +02:00
2026-09-13 17:08:49 +02:00
2026-09-12 19:04:20 +02:00
2026-09-12 21:12:45 +02:00
2026-09-16 19:59:12 +02:00
2026-06-18 07:57:06 +02:00
2026-06-22 20:02:34 +02:00
2026-09-03 22:36:02 +02:00
2026-09-03 22:48:10 +02:00
2026-09-03 22:12:45 +02:00
2026-09-03 22:59:01 +02:00
2026-09-10 07:32:20 +02:00
2026-09-09 08:10:59 +02:00
2026-06-22 15:41:17 +02:00
2026-06-17 21:13:51 +02:00
2026-09-03 23:43:15 +02:00
2026-09-03 23:43:15 +02:00
2026-09-04 13:57:33 +02:00
2026-09-09 07:42:44 +02:00
2026-06-22 15:27:16 +02:00
2026-06-22 15:41:17 +02:00
2026-09-04 15:07:35 +02:00
2026-09-04 15:07:35 +02:00
2026-09-04 15:07:35 +02:00
2026-09-08 19:46:58 +02:00
2026-06-22 19:51:04 +02:00
2026-06-22 18:39:09 +02:00
2026-09-04 11:49:44 +02:00
2026-09-04 11:54:01 +02:00
2026-09-03 23:14:00 +02:00
2026-09-08 19:46:58 +02:00
2026-09-06 14:18:09 +02:00
2026-09-06 12:39:55 +02:00
2026-06-18 10:06:21 +02:00
2026-06-22 17:59:44 +02:00