Repository navigation
tests: structural tests for web-client.ts e.message scrub + session-handoff.sh (#1121 follow-up) - #1163
tests: structural tests for web-client.ts e.message scrub + session-handoff.sh (#1121 follow-up)#1163bassilkhilo-ag2 wants to merge 1 commit into
Conversation
VasiliyRad
left a comment
There was a problem hiding this comment.
Scope issue: production changes bundled in a test-only PR.
The PR description claims "No production code changes" but the diff includes:
-
src/health-check.py— 14 lines added, 2 deleted. Adds a_pid_script()helper and changes the multi-PID warn format from bare PID list to PID-with-source-path. This is a behavior change to production health-check output. -
build_log.md— 114-line new file of operational pass logs (passes 207–214). This is unrelated content that doesn't belong in a test PR scoped to #1121 follow-up. -
tests/health-check-bridge-multi-pid.test.py— tests for the health-check.py change above, not for #1121.
Only tests/web-client-security-scrub.test.py matches the stated PR scope (structural tests for #1121 + session-handoff invariants). That file looks correct — 17 assertions, sensible invariants, no false-positive risks.
Ask: Split into two PRs — one for the health-check multi-PID fix + its tests, one for the #1121/#session-handoff structural tests. Drop build_log.md from both (it's a workspace artifact, not source).
|
Status update (2026-05-26): The The health-check change ships cleanly in PR #1157 (already APPROVED by @VasiliyRad). The build_log.md chore commits should never have been pushed and will be dropped. A rebase onto upstream main (dropping build_log.md, letting health-check land via #1157) is ready — pending owner go-ahead to force-push. The actual test content here is unchanged and passes against current main. |
…andoff.sh invariants (sonichi#1121) 17 checks: no e.message/String(e) in res.end() calls, static error strings at the 3 scrubbed sites, ≥3 console.error('[web-client]') server-side logs, no instanceof/e?.message patterns; session-handoff.sh: STATE_FILE→session-state.md, SUTANDO_REPO_DIR for repo, SUTANDO_WORKSPACE for quota+sentinel, personal_path() for pending-questions, TRANSCRIPT="$1" from PreCompact hook. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
b372eb9 to
e661f74
Compare
|
Branch rebased onto origin/main — bundled junk (build_log.md, health-check.py, health-check-bridge-multi-pid.test.py) stripped. Diff is now clean: only the intended test file(s). |
Summary
Structural tests (17 assertions) guarding the invariants established by #1121 and the
session-handoff.shworkspace/state contract.PR #1121 —
web-client.tssecurity scrub (9 checks)e.messageore?.messageinside anyres.end(...)call"note-viewing parse failed","overlay control proxy failed","Error reading subscriptions"e instanceof Error ? e.message,'overlay control proxy failed: ' + e.message,e?.message || String(e)console.error('[web-client]')calls so details remain server-sideString(e)insideres.end()(regression guard)session-handoff.shworkspace/state invariants (8 checks)STATE_FILEwrites tosession-state.mdSUTANDO_REPO_DIRused for repo path (notSUTANDO_WORKSPACE)SUTANDO_WORKSPACEreferenced for quota file (quota-state.json)personal_pathused to resolvepending-questions.mdproactive-loop-started.sentinelcleared at end of handoffrmusesSUTANDO_WORKSPACE(sentinel lives in workspacestate/)TRANSCRIPT="$1"— accepts transcript path as positional arg from PreCompact hookTest plan
python3 tests/web-client-security-scrub.test.py→ All 17 tests passed (run againstorigin/main)🤖 Generated with Claude Code