Repository navigation
Conversation
…ment test-issue-1648-m4-emoji-scan.js forbids U+25BE (the dropdown caret) on any map.js line not tagged EMOJI-OK, comments included. The comment added with the selected-area outline (4d46dba, merged in 9f5d594) quoted the Area dropdown label with its caret and broke the scan, which went unnoticed while the JS CI step stopped earlier on the Kpa-clawbot#1375 test. The quoted "Area: X" still identifies the control, and the next line names AreaFilter. Comment-only: no runtime change, scanner unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…tabs test-a11y-axe-routes-coverage.js (Kpa-clawbot#1706) requires every data-tab button in public/analytics.js to be exercised by the axe gate. The Foreign Traffic, Wardriving and Areas tabs were added afterwards without ROUTES entries, so the coverage check failed and the axe gate never scanned them. Add the three routes and register the tabs so the selftest's dispatch-arm reciprocity also covers them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Scopes: renderTab numbers .analytics-table elements by position, and the pass runs again after the tab's async sections are inserted ahead of the static overview table (and on every theme refresh). The first inserted table then reused the static table's positional id, giving axe duplicate-id analytics-tbl-scopes-0. Skip ids that are already taken; a single pass still yields the same numbering and column-width keys. Live: .vcr-mode-live rendered its text in --status-green, the swatch hue, at 2.27:1 on the light-theme VCR bar. Use the existing text token --status-green-text (#15803d light, unchanged #22c55e dark); the pulsing dot keeps the swatch hue. Add focused regression tests for both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The PAUSED and REPLAY badges had the same problem as LIVE: text in the swatch hues --status-yellow and --accent, 1.81:1 and 2.52:1 on the light-theme VCR bar. Use the semantic text tokens --warning and --link-color (light #b45309 / #2563eb, dark #fcd34d / #60a5fa); the badges' tinted backgrounds and the LIVE dot keep their indicator colors. Extend the contrast test to all three modes, the light theme and both dark token blocks, modelling the bar's color-mix background and each mode's tint (renamed to test-live-vcr-mode-contrast.js). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Assert the ids the browser shows on the Scopes tab after the fix (scopes-1, -0, -2, -3), in addition to uniqueness, so the test fails on the duplicate-id assertion with the old positional algorithm. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Run test-analytics-table-ids-unique.js and test-live-vcr-mode-contrast.js in the JS unit-test step and in test-all.sh, once each. No other workflow change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
roles.js defines window.getNodeFreshness at load time and index.html loads it before nodes.js and live.js, which call it as a bare global. ESLint's no-undef flagged both calls because the global was missing from .eslintrc.json, failing the frontend lint step. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… window The e2e fixture is freshened once before the server starts, and the packets page defaults to a 15-minute window. The slide-over flake gate runs after the main E2E step, ~16 minutes in, when that window no longer contains any fixture packet, so packets@800 waited 30s for a row that could not appear. Pin the packets scenario to a 180-minute window, the largest packets.js keeps at <=1024px, and bound the e2e job at 150 minutes so the gate always runs inside it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Closing without merge — this draft only existed to run CI on the combination (green run 35200470944 on The five feature PRs were merged individually, in order:
Master 🤖 Generated with Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this branch is
Branch
codex/ci-integration-1648-1706-a11y, created from mastere17377d8cfe8259f5ba170969907f97c41c10c48, with the exact heads of five PRs merged in with--no-ff(no squash, no extra commits, no conflict resolution needed):52ae9d1caf29ad5ce77def13525b7e5c210f7510▾from apublic/map.jscommente3f57426e4a09c1206be413e63dedb79bc6145d1e45ae99ec914769703852d048283e10a23174991448ae57c141cfc138aefcb304420be5931f21bc6getNodeFreshnessas a readonly global in.eslintrc.json(added after the first CI run failed at the eslint step)a2f2dd0b1f323350e48872a4803c7d157e69a6fetimeout-minutes: 150on the e2e job (added after the second CI run failed in the slide-over flake gate)Every changed file in this branch is byte-identical to the corresponding file in its PR head. Combined scope vs master:
public/map.js,test-a11y-axe-1668.js,public/analytics.js,public/live.css,test-all.sh,.github/workflows/deploy.yml(+2 lines from #60, +1 linetimeout-minutes: 150from #63),.eslintrc.json(+1 line, from #62),test-slideover-1056-e2e.js(+10, from #63), and two new test files.Why
Individually, #59 and #60 cannot show a green "Run JS unit tests" step, because the step stops at the Kpa-clawbot#1648 M4 scan until #56 is merged; the full axe gate is only green with #59 and #60 together. This run shows what CI reports for the combination.
Update: the first run on this branch (head
d82b4536, run 35187990504) passed the Go suites, all 69 JS unit-test commands and the XSS diff gate, then failed at "Frontend lint" on two pre-existingno-undeferrors forgetNodeFreshness(present on master since 2026-08-06, never reached before). #62 fixes that; its head was merged in with a normal merge (branch fast-forwarded toa4a6d28f). The integration diff added by that step is exactly the one.eslintrc.jsonline;.githubis unchanged.Update 2: the second run (head
a4a6d28f, run 35189733496) passed the whole Go job including eslint, and the main E2E step including the axe gate (116/116) and slide-over (27/27), then failed in the slide-over flake gate:packets@800had no rows. Cause (reproduced locally): the static fixture is freshened once, the packets page defaults to a 15-min window, and the gate ran ~16 min after freshening. #63 fixes it; its head was merged in with a normal merge (branch fast-forwarded toaa8c0568). The integration diff added by that step is exactly #63's two changes.Workflow safety
The only workflow changes are #60's two added
node …lines in the existing JS unit-test step and #63'stimeout-minutes: 150on thee2e-testjob. Triggers, permissions, concurrency, env, jobs,needs,if/fork-guards and all other steps are semantically identical to master; thecmd/serverfork-guard workflow tests pass. All side-effecting steps (GHCR login/push, release upload, staging deploy, badge publishing) still requiregithub.repository == 'Kpa-clawbot/CoreScope', so none of them can run indborup/CoreScopeeven if every test passes. This branch is notmaster, so no push-to-master pipeline is triggered; the only run is thepull_requestCI.Local results for this exact tree (macOS arm64 — not GitHub CI)
deploy.yml(set -e, 69 commands): all pass.node --check,sh -n test-all.sh, YAML parse,git diff --check, XSS--diffgate, fork-guard Go tests: pass.eslint public/*.jswith eslint 8.57.1 (the CI version): 0 errors, 89 pre-existing warnings (master: 2 errors, 89 warnings).🤖 Generated with Claude Code