Open-source case · last 30 days
Warden
An open-source repo developed with YATFA — every pull request, priced in credits.
In the last 30 days: 406 pull requests merged, active 15/30 days.
Planned, implemented, and reviewed by YATFA agents. Credits are the compute each piece of work cost.
Repository →
Snapshot 32 minutes ago
Pull requests
406
merged, 30 days
Active days
15/30
with delivery
Credits / PR
106.41
average cost
Lines added
+148,830
in 30 days
Lines deleted
−22,327
in 30 days
Lines added/deleted reflect diff size, not quality — generated code, renames, and bulk deletions can distort them. A “credit” is the compute a piece of delivered work cost.
Daily activity
Each square is a day; darker means more delivered. Click a day to see what was done.
July 18, 2026
42 PRsPull requests
42
Lines
+15,309
−5,576
Credits
2,770.63
Pull requests
warden
35
- #313 Telemetry: add non-identifying `platform` (OS) base-tier field to every event (schema v2→v3) and surface `platforms` histogram on GET /summary — mirror appVersion (WARDEN-665) +233 −36 274.69
- #311 Preserve source-file basenames in telemetry frame.file through the sink redactor (server.js / App.tsx must survive, not become [REDACTED:host]) +305 −22 147.21
- #288 refactor(server): collapse 14 inlined git-route preludes into a withGitRepo wrapper (+ extract isValidGitHash into git.js) +669 −653 145.58
- #316 Surface merge-conflict-blocked agents distinctly in the ⚑ atRisk fleet chip (carry porcelain `conflict` through summarizeProjectGitState → 4th `'conflict'` atRiskReason + conflictCount on ProjectGitAgent + atRisk popover ranks conflict-first) +299 −38 104.12
- #294 Draggable resize gutters between grid panes — enlarge the pane you're reading while keeping the fleet side-by-side +1,166 −29 101.78
- #315 Decompose the 2,003-line App.tsx god-component into a concern-organized hook tree (useConfigPersistence, useWatchState, usePaneManager, useChatReconnect) — 94 commits/30d, root cause of the App.tsx merge-conflict treadmill +128 −38 101.58
- #301 Add a 5th fleet git-state chip (🗄N stashed WIP) to summarizeProjectGitState — stashCount ships in /api/git-status + the cached gitStatus map and powers the per-agent 🗄 badge, but the fleet rollup drops it (mirror the WARDEN-635 atRisk axis) +211 −77 101.42
- #298 refactor(web): decompose the 3,314-line SettingsPage god-component into per-section components — WARDEN-215 built the section-nav shell but never extracted the 14 section bodies (one file, ~70-prop signature, 15+ domains conflating client-prefs and backend-config with a 10×-documented "wrong persistence sink" footgun) +3,788 −3,260 89.61
- #286 Detect outgoing×outgoing cross-agent file collisions (complete the fleet collision matrix) +430 −41 85.84
- #284 Capture renderer-process JS errors as base-tier `error` events (runtime:'renderer') — forward React ErrorBoundary componentDidCatch + preload window error/unhandledrejection listeners through IPC to the consent-gated record() pipeline +334 −9 84.15
- #297 Add prev/next changed-region navigation to the DiffViewer +234 −40 66.47
- #312 Add 6th fleet git-state chip (💤N stalled) to summarizeProjectGitState — surface clean+synced+stale (>7d) agents currently invisible across all 5 chips (mirror WARDEN-667 stashed axis, WARDEN-545 headDate signal) +295 −124 64.73
- #314 Show each stashed agent's parked-WIP count (🗄N) in the 🗄 fleet-chip popover + rank heaviest-parker-first — stashCount ships on /api/git-status (WARDEN-211) and is read at gitStateSummary.ts:231 but discarded to a boolean (:257), leaving the stash popover the one original state axis with no per-agent detail +260 −57 62.40
- #302 Surface telemetry transmission log (actual send outcomes) in the Settings verifiability panel — the third verifiability leg +723 −1 56.08
- #306 Add tests: Add tests: cover web/src/lib/electron.ts — the IPC bridge behind Settings window-state + telemetry-drift prefs (10 exported functions, zero coverage; pins the consent defaults for launch-at-login/close-to-tray and the never-reject bridge-absence/throw/malformed-payload degradation) +382 −0 55.36
- #287 fix(observer): stop logDirective emitting "null@host" for local/tmux chats — DirectiveHistory badge + "Copy agent@host" show literal "null@host" +210 −12 51.81
- #283 Add in-view find-with-prev/next to the read-only session transcript viewer (mirror PaneTile search) +420 −7 48.85
- #285 Telemetry: extended-tier producer — attach focused chat + Claude session names to events when extended consent is on (source never populates them today; sink already gates/retains names) +368 −9 48.19
- #304 Show each dirty agent's WIP magnitude (+N −M) in the ±N fleet-chip popover and rank heaviest-first +207 −23 46.01
- #292 refactor(web): replace App.tsx's duplicated saveUi key list with a single type-checked PERSISTED_PREF_KEYS source + exhaustiveness test +99 −5 45.64
- #307 refactor(server): extract one shared readChatFile used by both /api/read-file and readWorkingTreeFile (de-drift the duplicated read-with-guards) +96 −89 45.47
- #300 Telemetry: idempotent ingest — per-batch Idempotency-Key header (client) + receiver-side dedup of seen keys, so a retried batch whose 2xx was lost doesn't double-count and corrupt /summary + /events +118 −4 44.90
- #289 fix(gitStatus): unescape C-quoted porcelain/name-only paths so spaces & special chars don't break collision detection + file-open +319 −1 44.31
- #303 Surface aging unpushed WIP in the fleet ↑N popover: carry headDate through the summarizer, derive headAgeMs onto ProjectGitAgent, and rank the unpushed popover oldest-first with a relative-age label +262 −11 41.82
- #305 Telemetry client: bounded in-memory replay buffer for transiently-dropped sends +412 −15 38.89
- #299 Telemetry: attribute signal to a warden release — add non-identifying `appVersion` to every base-tier event (schema v1→v2, coordinated across both repos) and surface an `appVersions` histogram on GET /summary +263 −50 37.40
- #291 refactor(web): extract pure layout-geometry from storage.ts into web/src/lib/layout.ts +191 −193 30.85
- #296 Pass per-agent git context into the collection-drill-in ChatRow so agents show the same branch/dirty/✦ badges as the host view +2 −2 26.34
- #308 fix(git): unescape C-quoted paths in parseGitShowNameStatus so stash/commit file lists + per-file diffs work on non-ASCII & special-char paths +62 −3 24.77
- #309 fix(server): unescape C-quoted paths in parseGitLsEntries so the WARDEN-573 file browser lists + drills into non-ASCII / special-char paths +53 −2 23.03
- #293 Add tests: Add tests: cover formatTokens.ts (the shared token-usage formatter behind sidebar / Fleet Health / fleet-budget — pure function, zero coverage) +83 −0 16.57
- #310 Extract Claude-session layer (JSONL parse + local/remote enumerate + cross-host merge/paginate + search + token rollup) from server.js into src/claudeSessions.js +560 −526 15.22
- #290 Gate ws.onerror on connectionTimeoutShownRef so a failed Observer WebSocket shows one error (no message-flip or spurious late "timeout" toast) +8 −1 13.13
- #295 fix(health): visibility-gate the Fleet Health /api/health poller — backgrounded tab burns a fetch + render churn every 10s +18 −3 12.14
- #317 Crash sentinel: detect main-process hard kills on next launch + allow main-runtime crash events in the cross-repo schema +675 −16 0.00
warden-telemetry
7
- #12 Telemetry receiver: guard top-of-handler `new URL(req.url)` parse — malformed request-target (`///`) crashes the process via unhandled rejection instead of returning 400 +78 −2 238.61
- #15 Stamp server-side receivedAt on telemetry events; re-key timeline/retention/events off it (fallback to client timestamp) for clock-skew robustness +333 −52 173.98
- #17 Crash sentinel: detect main-process hard kills on next launch + allow main-runtime crash events in the cross-repo schema +48 −9 121.63
- #16 Telemetry /summary: rank DISTINCT failures via a non-identifying `topSignatures` aggregate (error name + top stack frame / crash reason+exitCode / stall source) so a maintainer can tell one regression × N from N distinct bugs +303 −5 40.04
- #14 Telemetry: add non-identifying `platform` (OS) base-tier field to every event (schema v2→v3) and surface `platforms` histogram on GET /summary — mirror appVersion (WARDEN-665) +115 −14 0.00
- #11 Telemetry: attribute signal to a warden release — add non-identifying `appVersion` to every base-tier event (schema v1→v2, coordinated across both repos) and surface an `appVersions` histogram on GET /summary +162 −86 0.00
- #13 Telemetry: idempotent ingest — per-batch Idempotency-Key header (client) + receiver-side dedup of seen keys, so a retried batch whose 2xx was lost doesn't double-count and corrupt /summary + /events +387 −11 0.00
Also see: YATFA
YATFA developing its own codebase — autonomous work, measured in credits.