Add network session collection#2
Merged
Merged
Conversation
Portable session collector CLI with default tool globs, metadata sidecars, incremental state, and local or SSH push; JSONL and syslog event logging; ops packaging for systemd, launchd, report refresh, Grafana Loki, and a rootless LAN proxy; dashboard and analysis revisions for collected sessions and attribution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
All tasks complete and strictly validated; spec delta merged into openspec/specs/network-session-collection. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The app re-renders the spend flow behind a 60ms resize debounce, so the fixed 100ms sleeps raced the render under host load and measured stale geometry. Replace them with a wait for node geometry to hold stable longer than the debounce window. Five consecutive local runs pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The dashboard's hour and day filters intentionally use local time, and the test's expectations were authored under UTC+10, so the embedded Node script failed on UTC CI runners. Pin TZ for the subprocess so the test is deterministic on any host. Verified under UTC, US Eastern, and Australia/Sydney. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
codex-usage-collector) that scans configurable tool globs (Codex, Claude, Pi, Cursor, droid, OpenCode, and more), stages changed files with host/tool metadata sidecars and incremental state, and pushes to a local or SSH central collection directory.syslog_util.py) plus ops packaging: systemd units/timers, a launchd plist, report-refresh script, Grafana Loki datasource, and a rootless high-port LAN proxy.add-network-session-collectionOpenSpec change (spec delta merged intoopenspec/specs/) and fixes two test-determinism issues found while landing.Implementation notes
source_pathmetadata, sidecar identifiers, and topology-snapshot-based attribution.TZfor its Node subprocess.Verification
PYTHONPATH=src python3 -m unittest discover -q— 21 tests OK.pytest -q— 21 passed underTZ=UTC,TZ=America/New_York, and local Australia/Sydney.npm run test:e2e— 5 consecutive passes after the settle fix (previously flaky under load).openspec validate --all— 3 items pass, including the newnetwork-session-collectionspec.Risk and rollback
🤖 Generated with Claude Code