
Kpa-clawbotandopenclaw-bot
2beeb2b324
fix(#1199): 6 deferred quality items from PR #1198 r2 review (#1200)
Red commit: 75563ce (CI run: pending — pushed at branch open)
Follows up PR #1198 round-2 adversarial review (issue #1199). Six
robustness / perf-hot-path / maintenance items, one commit per logical
change. Stacked on top of `fix/issue-1197` (PR #1198) — base must move
to `master` after #1198 merges.
| # | Item | Commit(s) | Discipline |
|---|---|---|---|
| 1 | Brittle static-grep regex → go/parser AST walk in
`resolve_context_callsites_test.go` | 33d80b6 (RED) → 450236d (GREEN) |
red→green |
| 2 | `computeAnalyticsTopology` double-pass filter → materialize
`filteredTxs` once | 00005f6 | refactor |
| 3 | `BenchmarkBuildAggregateHopContextPubkeys` baseline + tiny smoke
test | b520048 | net-new bench/test |
| 4 | `hopResolverPerTx` CONCURRENCY doc — single-goroutine invariant |
155ff07 | doc-only |
| 5 | `schemaDegradationLogged` package-level `sync.Map` → PacketStore
field | 75563ce (RED) → 7dbf193 (GREEN) | red→green |
| 6 | `buildHopContextPubkeys` `out` slice cap hint (`make([]string, 0,
16)`) | 2040962 | refactor |
Items 2 & 6 are pure refactors — no test files modified for items 2 & 6
(per AGENTS.md exemption rule). Existing tests stay green and unaltered.
Item 4 is doc-only (CONCURRENCY: comment); no behavior change.
Item 3 adds a bench + a smoke assertion for the aggregate helper that
previously had no coverage. Local arm64 baseline: ~72ms/op, 130k allocs
at 5k txs.
Items 1 & 5 follow red→green: 33d80b6 demonstrates the regex blindspot
via a synthetic AST-detectable input the regex misses; 75563ce
demonstrates per-store log dedup leaks across instances. Both flips
visible in branch history.
Full `go test ./cmd/server/...` runs clean post-amend.
Fixes #1199
---------
Co-authored-by: openclaw-bot <bot@openclaw.local>
2026-05-15 16:21:14 +00:00
..
2026-04-21 09:09:39 -07:00
2026-04-03 13:51:13 -07:00
2026-04-05 14:50:40 -07:00
2026-04-05 09:49:39 -07:00
2026-05-03 17:56:42 -07:00
2026-05-03 17:56:42 -07:00
2026-05-01 06:47:55 +00:00
2026-04-12 18:09:23 -07:00
2026-05-03 17:41:22 -07:00
2026-04-20 21:46:34 -07:00
2026-05-02 10:30:54 -07:00
2026-05-02 10:30:54 -07:00
2026-04-16 00:18:25 -07:00
2026-04-05 09:49:39 -07:00
2026-04-17 09:24:40 -07:00
2026-05-05 01:41:00 -07:00
2026-05-02 12:04:37 -07:00
2026-05-02 12:04:37 -07:00
2026-05-06 23:50:44 -07:00
2026-05-06 23:50:44 -07:00
2026-04-30 23:45:00 -07:00
2026-05-06 23:50:44 -07:00
2026-05-03 11:17:25 -07:00
2026-05-03 11:17:25 -07:00
2026-05-05 01:16:57 -07:00
2026-05-05 01:16:57 -07:00
2026-04-16 00:09:36 -07:00
2026-04-20 19:55:00 -07:00
2026-05-05 01:58:52 -07:00
2026-05-06 23:50:44 -07:00
2026-05-06 23:50:44 -07:00
2026-03-31 01:10:56 -07:00
2026-05-08 16:29:23 -07:00
2026-03-27 01:16:59 -07:00
2026-04-18 11:52:22 -07:00
2026-04-18 11:52:22 -07:00
2026-05-06 23:50:44 -07:00
2026-05-06 23:50:44 -07:00
2026-04-03 13:11:59 -07:00
2026-05-15 16:21:14 +00:00
2026-04-20 22:15:02 -07:00
2026-05-03 20:10:02 -07:00
2026-04-21 04:51:24 +00:00
2026-05-02 20:35:15 -07:00
2026-05-06 23:50:44 -07:00
2026-05-05 01:33:23 -07:00
2026-05-05 01:33:23 -07:00
2026-04-20 23:10:33 -07:00
2026-04-18 11:39:13 -07:00
2026-05-03 08:56:09 -07:00
2026-05-05 06:42:58 +00:00
2026-04-16 21:35:14 -07:00
2026-04-17 23:43:05 +00:00
2026-04-02 23:45:03 -07:00
2026-05-15 09:16:39 -07:00
2026-05-15 09:16:39 -07:00
2026-04-30 09:25:51 -07:00
2026-05-15 09:16:39 -07:00
2026-05-02 12:03:42 -07:00
2026-05-05 01:58:52 -07:00
2026-05-05 01:41:00 -07:00
2026-05-05 01:41:00 -07:00
2026-04-17 23:43:05 +00:00
2026-04-03 13:33:26 -07:00
2026-05-01 23:11:27 -07:00
2026-04-05 15:05:20 -07:00
2026-05-03 17:56:42 -07:00
2026-03-30 03:42:11 +00:00
2026-04-30 23:28:16 -07:00
2026-04-30 23:28:16 -07:00
2026-05-02 11:15:25 -07:00
2026-05-08 16:29:23 -07:00
2026-05-08 16:29:23 -07:00
2026-05-08 16:29:23 -07:00
2026-05-08 16:29:23 -07:00
2026-05-05 17:56:56 -07:00
2026-05-08 16:29:23 -07:00
2026-04-01 19:26:11 -07:00
2026-05-15 09:16:39 -07:00
2026-05-03 19:50:01 -07:00
2026-05-05 02:33:27 -07:00
2026-05-05 02:33:27 -07:00
2026-05-05 01:34:08 -07:00
2026-05-05 01:34:08 -07:00
2026-05-15 16:21:14 +00:00
2026-05-15 09:16:39 -07:00
2026-04-20 19:55:00 -07:00
2026-04-21 04:51:24 +00:00
2026-05-03 17:56:12 -07:00
2026-05-03 17:56:12 -07:00
2026-04-20 22:50:01 -07:00
2026-05-15 09:16:39 -07:00
2026-05-02 20:15:30 -07:00
2026-05-02 20:15:30 -07:00
2026-05-15 16:21:14 +00:00
2026-05-03 17:40:54 -07:00
2026-04-20 23:10:33 -07:00
2026-04-21 09:09:39 -07:00
2026-05-15 16:21:14 +00:00
2026-05-03 17:41:22 -07:00
2026-05-03 17:41:22 -07:00
2026-05-03 17:41:22 -07:00
2026-04-20 19:55:00 -07:00
2026-04-20 19:55:00 -07:00
2026-05-02 12:03:42 -07:00
2026-05-02 20:15:30 -07:00
2026-03-30 03:42:11 +00:00
2026-04-01 12:19:20 -07:00