IW-681: ./mill dashboard.test output is pristine #798

Merged
mph merged 25 commits from IW-681 into main 2026-10-11 17:45:09 +00:00
Member

Summary

./mill dashboard.test printed about 280 stray lines. Now it prints only the test report. Expected warnings are captured and asserted, not printed.

Defects fixed

  1. CaskServer wrote expected diagnostics to stderr (the --dev WARNING, the two "Forgejo not yet implemented" lines). CaskServer.start now takes a diagnosticsLog sink; tests capture it and assert the exact text. (Phase 1)
  2. The pollers wrote their lane reports to stderr. IssuePoller and PullRequestPoller take a log sink; tests capture and assert it. (Phase 2)
  3. Undertow, XNIO and JBoss Threads wrote INFO chatter on every server start and stop. The dashboard.test JVM loads a logging.properties that sets these libraries to WARNING; LibraryLogLevelsTest pins it. Warnings and errors still print. (Phase 3)

Testing

  • Each phase added a test that failed before its fix, and each phase PR passed the full CI suite.
  • Acceptance: the reproduction program in analysis.md counts no stray lines in a ./mill dashboard.test run.

Release notes

See project-management/issues/IW-681/release-notes.md (Czech). No change is visible to dashboard users.

Follow-ups

Filed as #795 (dashboard.itest output, CI check for pristine output), #796 (diagnostics sink cleanup, poller test gaps) and #797 (small dashboard fixes).

Closes #681

🤖 Generated with Claude Code

## Summary `./mill dashboard.test` printed about 280 stray lines. Now it prints only the test report. Expected warnings are captured and asserted, not printed. ## Defects fixed 1. **CaskServer wrote expected diagnostics to stderr** (the `--dev` WARNING, the two "Forgejo not yet implemented" lines). `CaskServer.start` now takes a `diagnosticsLog` sink; tests capture it and assert the exact text. (Phase 1) 2. **The pollers wrote their lane reports to stderr.** `IssuePoller` and `PullRequestPoller` take a log sink; tests capture and assert it. (Phase 2) 3. **Undertow, XNIO and JBoss Threads wrote INFO chatter on every server start and stop.** The `dashboard.test` JVM loads a `logging.properties` that sets these libraries to WARNING; `LibraryLogLevelsTest` pins it. Warnings and errors still print. (Phase 3) ## Testing - Each phase added a test that failed before its fix, and each phase PR passed the full CI suite. - Acceptance: the reproduction program in `analysis.md` counts no stray lines in a `./mill dashboard.test` run. ## Release notes See `project-management/issues/IW-681/release-notes.md` (Czech). No change is visible to dashboard users. ## Follow-ups Filed as #795 (`dashboard.itest` output, CI check for pristine output), #796 (diagnostics sink cleanup, poller test gaps) and #797 (small dashboard fixes). Closes #681 🤖 Generated with [Claude Code](https://claude.com/claude-code)
./mill dashboard.test output is not pristine

Artifacts:
- analysis.md
- issue.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
./mill dashboard.test output is not pristine

Artifacts:
- tasks.md
- review-state.json (tasks_ready)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018fPBZaKwU97SaaHzVo3ePq
./mill dashboard.test output is not pristine

Artifacts:
- tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018fPBZaKwU97SaaHzVo3ePq
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018fPBZaKwU97SaaHzVo3ePq
Issue: IW-681
Phase: 1 - CaskServer writes expected diagnostics to stderr, and tests cannot capture them

This commit marks the checkpoint for phase 1 context generation.
The CaskServer sink is named diagnosticsLog, because cask.Main
already declares implicit def log; analysis.md and tasks.md follow.
Use dx-fix IW-681 to return to this point.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CaskServer writes expected diagnostics to stderr, and tests cannot capture them

Artifacts:
- phase-01-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Issue: IW-681
Phase: 2 - The pollers write their lane reports to stderr, and tests cannot capture them

This commit marks the checkpoint for phase 2 context generation.
Use dx-fix IW-681 to return to this point.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pollers write their lane reports to stderr, and tests cannot capture them

Artifacts:
- phase-02-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Issue: IW-681
Phase: 3 - Undertow, XNIO and JBoss Threads INFO chatter on every server start and stop

This commit marks the checkpoint for phase 3 context generation.
Use dx-fix IW-681 to return to this point.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Undertow, XNIO and JBoss Threads INFO chatter on every server start and stop

Artifacts:
- phase-03-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chore(IW-681): file follow-ups as #795, #796 and #797
All checks were successful
CI / changes (pull_request) Successful in 5s
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 11s
CI / lint (pull_request) Successful in 16s
CI / compile (pull_request) Successful in 1m38s
CI / dashboard-build (pull_request) Successful in 1m30s
CI / test (pull_request) Successful in 19m35s
70087cf93d
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mph merged commit 33e14e5f91 into main 2026-10-11 17:45:09 +00:00
Sign in to join this conversation.
No description provided.