Skip to content

CI integration only: #36 + #37 + #43 — do not merge - #65

Closed
adminopenclaw8-sketch wants to merge 15 commits into
masterfrom
codex/integration-pr36-pr37-pr43-693eb045
Closed

adminopenclaw8-sketch wants to merge 15 commits into
masterfrom
codex/integration-pr36-pr37-pr43-693eb045

Conversation

@adminopenclaw8-sketch

@adminopenclaw8-sketch adminopenclaw8-sketch commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

"## Purpose\n\nCI-only integration of three already-reviewed feature PR heads. Do not merge this PR. The feature PRs remain the branches that should be considered and merged individually after the combined result is assessed.\n\n## Exact inputs\n\nBase:\n- master at 693eb045dbb10ecdd4657444134a696f007297e1\n\nMerged in order with ordinary merge commits, without squash, rebase, amend, or history rewriting:\n1. #36 — e218de155e627769ad66e6b3fa0894d1678acb40\n2. #37 — d1a80b2f5adee48cbc4a43d822fb7354f2732b65\n3. #43 — 350b0b74eb3ad00f3f10047b28d9a7d888741521\n\nIntegration commit:\n- 54bc05b66755cdcf612dab50bdf8f55d2139eda2\n- tree 15878f0e88deac388dedc34cf67d76e918e336b2\n\n## Combined scope\n\n- public/app.js\n- test-all.sh\n- test-issue-1883-redirect-history.js\n- cmd/server/store.go\n- public/observers.js\n\nEvery resulting blob matches its corresponding feature head. Workflow files and the existing CI/fork guards are unchanged from the base.\n\n## Fresh local verification on the integration commit\n\n- node --check public/app.js: PASS\n- node --check public/observers.js: PASS\n- node --check test-issue-1883-redirect-history.js: PASS\n- node test-issue-1883-redirect-history.js: 4/4 PASS, including Back navigation\n- node test-observer-naive-clock-1478.js: 8/8 PASS\n- cd cmd/server && go test ./...: PASS\n- git diff --check 693eb045..HEAD: PASS\n\n## CI safety and limitations\n\nThis PR exists only to exercise the combined tree in CI. No workflow changes are included. On the dborup/CoreScope fork, GHCR login/push, release upload, staging deploy, and badge commits are guarded out; the Docker job may perform its local image build only.\n\nNo staging, demo, production, auto-merge, autofix, or manual workflow rerun is requested or authorized.\n\n\n\n## Automatic integration CI result\n\nRun 35224155622 completed successfully on 54bc05b66755cdcf612dab50bdf8f55d2139eda2.\n\n- Go server, ingestor, channel library, JS unit gate, XSS preflight, frontend lint, and proto checks: PASS\n- Playwright fail-fast suite and slide-over flake-gate: PASS\n- Local Docker staging-image build: PASS\n- Release artifacts, GHCR login/push, staging deploy, and badge publication: SKIPPED by the fork/event guards\n\nNo retry, autofix, deploy, or publication was performed.\n"

Jonher937 and others added 15 commits September 13, 2026 10:42
…ton history (Kpa-clawbot#1883)

fix: use replaceState for traces/roles redirects to preserve back-button
history

The #/traces/<hash> and #/roles backward-compat redirects used
location.hash = ..., which pushes a new history entry instead of
replacing the current one. This trapped users navigating back from a
trace view: the intermediate #/traces/<hash> entry would immediately
re-redirect forward again on hashchange, so back button never reached
the packets view they came from.

(cherry picked from commit a46a6d5)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The `relayTimes` field (`map[string][]int64`) on `PacketStore` is never
written to and never read. Its only references are the declaration at
`store.go:180` and the `make()` in `NewPacketStore` at `store.go:644`.

`relay_liveness_test.go` looks like a user at a glance but builds its
own local `idx := make(map[string][]int64)` and passes that to
`addTxToRelayTimeIndex`; the string "relayTimes" there is only inside a
`t.Error` message.

This is the surviving fragment of Kpa-clawbot#1872, which no longer compiles after
Kpa-clawbot#1855 removed `lastSeenTouched` and `touchRelayLastSeen` from master.
Verified against current master: both references are gone, build passes,
all tests pass (32.2s).

Co-authored-by: Joel Claw <358739783+Joel-Claw@users.noreply.github.com>
(cherry picked from commit 4a77645)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…pa-clawbot#1962)

Closes Kpa-clawbot#1896.

The banner told operators their clock is naive but not that the notice
goes away on its own, so people went looking for Kpa-clawbot#1480 to find out. One
sentence:

> Clock is naive — per-packet timing clamped to ingest time. **Clears
itself 24h after the last skew event.**

## Verified before writing it into the UI

The issue asserts the 24h self-clear. Rather than repeat that, I checked
it:

- `cmd/server/observer_naive_clock.go:8` — `const
observerNaiveClockWindow = 24 * time.Hour`
- `applyObserverNaiveClock` applies the decay at read time and leaves
`clock_naive` false once the last event is older than the window
- its own comment: *"any event older than observerNaiveClockWindow is
treated as absent so the chip and banner clear automatically without a
background sweep"*

So "24h after the last skew event" is accurate, including the fact that
it needs no sweep and no restart.

No test pinned the old string.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 83134d6)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…pa-clawbot#1962)

Closes Kpa-clawbot#1896.

The banner told operators their clock is naive but not that the notice
goes away on its own, so people went looking for Kpa-clawbot#1480 to find out. One
sentence:

> Clock is naive — per-packet timing clamped to ingest time. **Clears
itself 24h after the last skew event.**

## Verified before writing it into the UI

The issue asserts the 24h self-clear. Rather than repeat that, I checked
it:

- `cmd/server/observer_naive_clock.go:8` — `const
observerNaiveClockWindow = 24 * time.Hour`
- `applyObserverNaiveClock` applies the decay at read time and leaves
`clock_naive` false once the last event is older than the window
- its own comment: *"any event older than observerNaiveClockWindow is
treated as absent so the chip and banner clear automatically without a
background sweep"*

So "24h after the last skew event" is accurate, including the fact that
it needs no sweep and no restart.

No test pinned the old string.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 83134d6)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The `relayTimes` field (`map[string][]int64`) on `PacketStore` is never
written to and never read. Its only references are the declaration at
`store.go:180` and the `make()` in `NewPacketStore` at `store.go:644`.

`relay_liveness_test.go` looks like a user at a glance but builds its
own local `idx := make(map[string][]int64)` and passes that to
`addTxToRelayTimeIndex`; the string "relayTimes" there is only inside a
`t.Error` message.

This is the surviving fragment of Kpa-clawbot#1872, which no longer compiles after
Kpa-clawbot#1855 removed `lastSeenTouched` and `touchRelayLastSeen` from master.
Verified against current master: both references are gone, build passes,
all tests pass (32.2s).

Co-authored-by: Joel Claw <358739783+Joel-Claw@users.noreply.github.com>
(cherry picked from commit 4a77645)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@adminopenclaw8-sketch

Copy link
Copy Markdown
Collaborator Author

Sequential feature merges completed and verified:

  1. port(upstream#1883): replaceState for traces/roles redirects so Back works #36 → ce985891edc36475049f273cc592dbf666e3b041
  2. port(upstream#1931): remove dead relayTimes field #37 → 575cf35fb8684ff540b625f120e15eae3ff0d193
  3. port(upstream#1962): naive-clock notice says it clears itself #43 → 99d336e4d2a647a406560a4430a31b18aa14fcbb

Final master tree: 15878f0e88deac388dedc34cf67d76e918e336b2, identical to the tested integration tree at 54bc05b66755cdcf612dab50bdf8f55d2139eda2.

This integration PR is being closed without merge. Its branch is preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants