Fleet changelogs · dev.ecs0.net
rdmsm4x-changelog-20260924-1410-rtty-dashboard-523-slice-c

Implemented Slice C table sizing and cached latency overlay; both builds and all added tests pass, with the full-suite Settings baseline blocker documented.

HANDBACK-C — RTTy dashboard Build 523, Slice C only

Recorded: 2026-09-24 14:10:14 EDT Host: rdmsm4x. Mode: production; isolated worker lane for lead claude@rdmsm4x/c13f617a. Workspace: /Users/richh/dev/_scratch/rtty-dashboard-523-20260924 Branch: feat/dashboard-one-timeline-523 Slice B base: 812862b2afe786893b3f185285e856ca557bd212

Result: C1 and C2 implemented and committed; both required builds pass and all 14 added tests pass. The required all-green package gate is NOT met: the final full run reports 1,697 tests, 8 skipped and 2 assertion failures in one existing Settings scrolling test. The untouched Slice B commit reproduces those same two assertions in the currently locked desktop session. Unlock/retest is pending; an unlocked rerun has not been verified. No Settings source or test modification is included in this commit. This is a source handoff with an explicit validation blocker, not a fully green slice or release claim.

Commit and exact files

505642657ef121336e982c935ab3b6f86e70e3b4 — feat(dashboard): implement Slice C table sizing and latency overlay

Committed by explicit path with Agent: codex@rdmsm4x. Post-commit git status --short is empty. Complete commit patch including the new test file: slice-c.patch.

FEATURE_MATRIX.md
Sources/RTTy/Stores/ObservationStore.swift
Sources/RTTy/Support/DashboardModuleLayout.swift
Sources/RTTy/Views/AggregateHistoryView.swift
Sources/RTTy/Views/ApplicationFlowsView.swift
Sources/RTTy/Views/DashboardView.swift
Sources/RTTy/Views/Graphs/ApplicationFlowGraphView.swift
Sources/RTTy/Views/Graphs/ChartBoardStyle.swift
Sources/RTTy/Views/PathHistoryView.swift
Tests/RTTyTests/ApplicationFlowsSizingOverlayTests.swift
Tests/RTTyTests/DashboardFitTests.swift
docs/FEATURE_MATRIX.md

Implemented acceptance

Exact build and test commands

Commands ran from the assigned workspace unless --package-path is shown. Dedicated writable caches/DerivedData are reused from A/B. SwiftPM's nested manifest sandbox failed in the restricted harness, so builds/tests used authorized host execution; no security setting changed.

CLANG_MODULE_CACHE_PATH=/private/tmp/rtty-a-cache/clang SWIFTPM_MODULECACHE_OVERRIDE=/private/tmp/rtty-a-cache/swiftpm swift build --arch arm64 > /private/tmp/rtty-c-build-final.log 2>&1

Exit 0: Build complete! (8.03 sec). Retained: slice-c-build-arm64.log. It waited for the preceding package test's SwiftPM lock, then built final source.

xcodebuild -project Apps/RTTyStandard/RTTyStandard.xcodeproj -scheme RTTyStandard -destination 'generic/platform=macOS' -derivedDataPath /private/tmp/rtty-a-standard build CODE_SIGNING_ALLOWED=NO > /private/tmp/rtty-c-standard-verified.log 2>&1
/usr/bin/lipo -archs /private/tmp/rtty-a-standard/Build/Products/Debug/RTTy.app/Contents/MacOS/RTTy

Both exited 0. Output: ** BUILD SUCCEEDED **; x86_64 arm64. Retained: slice-c-build-standard.log. Unsigned Standard build, not release signing/QA.

CLANG_MODULE_CACHE_PATH=/private/tmp/rtty-a-cache/clang SWIFTPM_MODULECACHE_OVERRIDE=/private/tmp/rtty-a-cache/swiftpm swift test > /private/tmp/rtty-c-tests-verified.log 2>&1

Exit 1. Retained: slice-c-tests.log. Exact final per-target summaries:

Test Suite 'RTTyTests.xctest' failed at 2026-09-24 14:07:28.696.
     Executed 1279 tests, with 8 tests skipped and 2 failures (0 unexpected) in 98.693 (98.789) seconds
Test Suite 'RTTyPrivilegedCaptureTests.xctest' passed at 2026-09-24 14:07:29.054.
     Executed 71 tests, with 0 failures (0 unexpected) in 0.266 (0.270) seconds
Test Suite 'LatencyCoreTests.xctest' passed at 2026-09-24 14:07:36.419.
     Executed 347 tests, with 0 failures (0 unexpected) in 7.260 (7.285) seconds

Total: 1,697 tests, 8 skipped, 2 failures; +14 XCTest methods over Slice B's 1,683, above the 1,628 floor. Failures are two assertions in a single pre-existing test, not two new failing test methods. Swift Testing's separate zero-test runner is not counted.

Required/new regression summaries from this same final full run:

Test Suite 'ApplicationFlowsControlsTests' passed at 2026-09-24 14:06:18.573.
     Executed 6 tests, with 0 failures (0 unexpected) in 0.201 (0.202) seconds
Test Suite 'ApplicationFlowsSizingOverlayTests' passed at 2026-09-24 14:06:34.882.
     Executed 11 tests, with 0 failures (0 unexpected) in 0.153 (0.154) seconds
Test Suite 'DashboardFitTests' passed at 2026-09-24 14:06:55.802.
     Executed 8 tests, with 0 failures (0 unexpected) in 5.229 (5.230) seconds
Test Suite 'LatencyBandEdgeTests' passed at 2026-09-24 14:07:05.075.
     Executed 3 tests, with 0 failures (0 unexpected) in 0.003 (0.003) seconds
Test Suite 'LatencyBandScaleTests' passed at 2026-09-24 14:07:05.076.
     Executed 3 tests, with 0 failures (0 unexpected) in 0.000 (0.000) seconds

Earlier focused command, exit 0 (30 selected RTTy tests / 0 failures; before the two final render/frame methods were added):

CLANG_MODULE_CACHE_PATH=/private/tmp/rtty-a-cache/clang SWIFTPM_MODULECACHE_OVERRIDE=/private/tmp/rtty-a-cache/swiftpm swift test --filter 'ApplicationFlowsSizingOverlayTests|DashboardFitTests|ApplicationFlowsControlsTests|LatencyBand' > /private/tmp/rtty-c-focused-2.log 2>&1

Retained: slice-c-focused-tests.log. The final full run above supersedes that smaller test count.

git diff --check
cmp FEATURE_MATRIX.md docs/FEATURE_MATRIX.md
git status --short

All exited 0; post-commit status was empty. slice-c-scope-audit.txt records protected-path and API-term checks.

Full-suite blocker and baseline reproduction

SettingsOnePageRenderTests.testAJumpScrollsTheFormAndScrollingByHandMovesTheSidebarSelection reports:

SettingsOnePageRenderTests.swift:95: XCTAssertGreaterThan failed: ("0.0") is not greater than ("300.0") - A jump to Alerts must scroll past iCloud & Sync, Look and Menu Bar
SettingsOnePageRenderTests.swift:113: XCTAssertTrue failed - Scrolled by hand to where the jump landed, the sidebar must select Alerts as the jump did

The other Settings render tests pass. A focused rerun reproduced both assertions. A separate temporary tree was then populated with git archive 812862b2afe786893b3f185285e856ca557bd212 at /private/tmp/rtty-c-baseline/apps/RTTy, with /private/tmp/rtty-c-baseline/lib pointing to the existing shared libraries, and tested with:

CLANG_MODULE_CACHE_PATH=/private/tmp/rtty-a-cache/clang SWIFTPM_MODULECACHE_OVERRIDE=/private/tmp/rtty-a-cache/swiftpm swift test --package-path /private/tmp/rtty-c-baseline/apps/RTTy --filter SettingsOnePageRenderTests > /private/tmp/rtty-c-baseline-settings.log 2>&1

Exit 1, same two assertions; baseline RTTyTests: Executed 3 tests, with 2 failures (0 unexpected) in 8.656 (8.656) seconds. Retained: slice-c-baseline-settings.log. The A/B handbacks' earlier successful runs are historical evidence; this current baseline reproduction is the relevant comparison.

Read-only session check (ioreg -n Root -d1 -l) reported "CGSSessionScreenIsLocked"=Yes; launchctl managername reported Aqua. An attempted animation-disabling change confined to the off-screen Settings test host did not fix it and was fully reverted. slice-c-settings-animation-experiment.log retains that experiment; the committed Settings test is byte-for-byte the baseline. The locked session is a current environmental condition, not a proven sole root cause. Unlocking/retesting is pending and requires the user; no lock, TCC or security boundary was bypassed.

Exact retry after unlocking:

CLANG_MODULE_CACHE_PATH=/private/tmp/rtty-a-cache/clang SWIFTPM_MODULECACHE_OVERRIDE=/private/tmp/rtty-a-cache/swiftpm swift test

Deviations and what could not be verified

  1. All-green full-suite acceptance is outstanding, as documented above. Neither assertions nor tests were weakened, removed or newly skipped to hide it. All C1/C2 tests pass; that does not convert the full suite into a pass.
  2. Auto uses measured content, rather than duplicating a rows-times-height formula, so expanded detail rows, scale, header and empty states are included correctly. The existing eight-row displayed selection remains unchanged. The original fit tests now assert the table's existing minimum instead of the superseded fixed 292 pt height; their core-band, overlap and channel assertions remain intact.
  3. Cache key is stronger than window + newest spike alone. It also tracks input sample identity/count, latest timestamp, cadence and policy so a policy change, same-count rolling history or a new sample cannot return stale intervals. Newest spike time is derived and recorded when that projection is rebuilt. No array is projected from the display-linked frame callback.
  4. Same-as-latency semantics follow the selected headline, including a selected individual target, because that is what A2's main latency band actually draws. Default remains overall aggregate. The shared geometry extraction clips successful spike columns to the window in both consumers; loss and raw/trend scales are unchanged.
  5. Initial new-test compilation found calls to private instance geometry methods (replaced with the existing public-to-tests static helpers) and a nonexistent DateInterval(end:duration:) initializer (replaced with start/end). Both were corrected; intermediate logs are retained. The initial sandbox build failure and the superseded full run are also retained.
  6. Installed mouse/hover, actual drag acceptance, Space Blue appearance, signed-app persistence, runtime profiling, and unlocked full-suite execution are unverified. Screenshots were not required. No signed/notarized release, Rosetta tests, full release QA, archive, deployment or push was attempted. Seven opt-in live network tests and one ad-hoc Keychain entitlement test skipped for their existing reasons in the final log.

Persistence and rollback

Handback, full logs, patch and scope receipt: /Users/richh/dev/_handoff/rtty-dashboard-523-20260924-codex. Local continuity: SESSION-STATE-C.md; scoped coordination check-in published at ~/.agent-coordination/checkins/codex-rtty-dashboard-523-slice-c.md. Preflight reported historical unacknowledged HIGH traffic; no unrelated fleet task or ticket completion is claimed. Canonical project/release records remain under the lead's ownership.

Undo code with git revert 505642657ef121336e982c935ab3b6f86e70e3b4. The prior A/B commits and complete C patch are retained. Tests use disposable preference suites; no installed data/preferences were changed. No data migration/deletion occurred. The lead retains integration and release ownership. The required per-host Notes/file changelog receipt is appended below after publication.

Persistence receipt:

Changelog archive: /Users/richh/dev/LLM/Claude/changelogs/rdmsm4x-changelog-20260924-1410-rtty-dashboard-523-slice-c.md
Folder: rdmsm4x
Title: rdmsm4x-changelog-20260924-1410-rtty-dashboard-523-slice-c
Notes saved and re-read: x-coredata://0633F37F-D856-467D-B0FF-5AACA70D027C/ICNote/p76982

The supplied Notes helper targets llmlog and rewrites the title; direct AppleScript preserved the explicitly required per-host folder/title in the existing iCloud account. No existing note was deleted. Desktop remained locked at the final read-only check; unlocked full-suite revalidation is still pending.