Nick
853468783d
local-review.yml (push) Invalid workflow file
Auto-version and Release / release (push) Successful in 12s
CI Pipeline / lint (push) Failing after 31s
CI Pipeline / go-surface (push) Failing after 19s
CI Pipeline / canary (push) Failing after 1m32s
CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / type-check (push) Failing after 36s
CI Pipeline / gitea-offline (push) Successful in 19s
CI Pipeline / rust-surface (push) Successful in 4m36s
CI Pipeline / unit-tests (push) Failing after 5m50s
deploy / deploy (push) Failing after 15m12s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 9s
feat(finance): stdlib-only finance tracker — #3 (contract BUILDER-2026-10-08T13:22:02Z-af7a8b)
- scripts/finance_tracker.py: CSV ledger (~/.rune/finance/, human-readable,
portable), add/budget/report commands, month + week filters, per-category
totals vs budgets with over-by flags, income/net, and recurring-payment
detection (3+ same-note ~monthly payments) that surfaces subscription
cancellation candidates — the exact 'flags subscriptions worth cancelling'
acceptance.
- tests/test_finance_tracker.py 6/6: sign→kind, budget over-flag, net,
week filter, monthly-subscription detection, one-off not flagged.
2026-10-08 14:24:29 +01:00
..
2026-09-07 19:51:36 +01:00
2026-08-30 17:10:32 +01:00
2026-09-15 17:02:04 +01:00
2026-09-11 15:36:08 +01:00
2026-10-08 13:23:26 +01:00
2026-09-11 00:24:39 +01:00
2026-09-10 17:47:28 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-07 15:08:02 +01:00
2026-09-17 01:38:39 +01:00
2026-10-05 22:14:47 +01:00
2026-09-18 10:25:59 +01:00
2026-09-15 22:33:59 +01:00
2026-09-16 00:54:34 +01:00
2026-08-28 11:26:04 +01:00
2026-09-23 18:10:07 +01:00
2026-09-14 12:46:52 +01:00
2026-09-13 04:16:48 +01:00
2026-09-07 19:33:46 +01:00
2026-09-07 16:07:45 +01:00
2026-09-08 02:26:59 +01:00
2026-09-19 00:11:51 +01:00
2026-09-08 01:58:29 +01:00
2026-09-07 17:37:35 +01:00
2026-10-08 14:20:41 +01:00
2026-09-19 03:32:24 +01:00
2026-10-08 13:19:42 +01:00
2026-10-06 14:51:15 +01:00
2026-10-08 11:23:57 +01:00
2026-10-04 08:16:38 +01:00
2026-09-14 12:06:58 +01:00
2026-10-06 03:46:24 +01:00
2026-09-14 04:27:40 +01:00
2026-09-13 14:48:28 +01:00
2026-09-12 04:30:18 +01:00
2026-10-08 12:51:50 +01:00
2026-09-15 19:38:31 +01:00
2026-09-15 23:33:42 +01:00
2026-09-15 22:33:59 +01:00
2026-09-13 04:49:17 +01:00
2026-09-07 15:26:33 +01:00
2026-09-16 18:22:05 +01:00
2026-09-11 15:36:08 +01:00
2026-10-06 07:11:54 +01:00
2026-09-12 20:10:28 +01:00
2026-09-14 06:26:24 +01:00
2026-09-11 03:16:50 +01:00
2026-09-16 17:11:39 +01:00
2026-09-07 15:00:53 +01:00
2026-09-15 17:34:00 +01:00
2026-10-08 13:38:57 +01:00
2026-10-04 12:30:37 +01:00
2026-09-11 00:24:39 +01:00
2026-10-04 02:08:29 +01:00
2026-09-07 17:36:25 +01:00
2026-09-07 17:38:33 +01:00
2026-09-07 17:36:25 +01:00
2026-10-04 01:08:20 +01:00
2026-10-08 14:24:29 +01:00
2026-09-07 19:51:36 +01:00
2026-09-30 01:10:22 +01:00
2026-09-30 01:10:22 +01:00
2026-09-11 20:59:39 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-19 15:25:04 +01:00
2026-10-08 11:41:12 +01:00
2026-10-07 12:00:35 +01:00
2026-10-08 12:02:37 +01:00
2026-09-15 23:33:42 +01:00
2026-09-07 20:10:38 +01:00
2026-09-16 18:22:05 +01:00
2026-09-23 18:09:26 +01:00
2026-10-08 11:47:54 +01:00
2026-09-12 07:57:26 +01:00
2026-10-08 12:38:34 +01:00
2026-09-13 04:16:48 +01:00
2026-09-13 04:16:48 +01:00
2026-09-13 04:49:17 +01:00
2026-09-04 00:22:24 +01:00
2026-09-04 00:10:03 +01:00
2026-09-04 03:30:14 +01:00
2026-10-07 18:04:47 +01:00
2026-09-16 13:41:32 +01:00
2026-09-12 11:15:42 +01:00
2026-09-17 12:56:52 +01:00
2026-09-08 05:54:37 +01:00
2026-08-28 11:26:04 +01:00
2026-09-30 02:07:30 +01:00
2026-09-15 03:06:55 +01:00
2026-09-23 18:10:07 +01:00
2026-09-29 12:47:34 +01:00
2026-09-29 23:08:32 +01:00
2026-09-12 10:49:42 +01:00
2026-10-06 07:14:24 +01:00
2026-09-03 21:01:40 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 17:12:09 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 21:13:08 +01:00
2026-09-03 17:12:09 +01:00
2026-09-03 17:44:51 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 20:52:37 +01:00
2026-09-03 19:17:01 +01:00
2026-09-03 17:12:09 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 20:46:30 +01:00
2026-09-03 18:56:02 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 17:12:09 +01:00
2026-09-03 17:16:31 +01:00
2026-09-03 17:12:09 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 19:02:15 +01:00
2026-09-03 22:41:56 +01:00
2026-09-03 23:18:14 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 20:38:10 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 17:12:09 +01:00
2026-09-03 18:32:57 +01:00
2026-09-03 22:41:56 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 18:23:25 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 17:12:09 +01:00
2026-09-03 23:40:06 +01:00
2026-09-11 15:36:08 +01:00
2026-09-03 22:41:56 +01:00
2026-09-03 18:43:41 +01:00
2026-09-05 11:39:45 +01:00
2026-09-11 15:36:08 +01:00
2026-09-05 14:50:23 +01:00
2026-09-05 18:21:56 +01:00
2026-10-08 11:02:28 +01:00
2026-10-08 12:51:50 +01:00
2026-09-11 15:36:08 +01:00
2026-09-06 16:39:28 +01:00
2026-09-06 04:58:23 +01:00
2026-10-08 13:07:33 +01:00
2026-10-08 13:07:33 +01:00
2026-10-08 13:07:33 +01:00
2026-10-08 13:14:31 +01:00
2026-10-08 12:32:03 +01:00
2026-10-08 12:20:18 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 05:58:47 +01:00
2026-09-15 19:10:46 +01:00
2026-09-16 18:22:05 +01:00
2026-09-15 19:10:46 +01:00
2026-09-14 07:28:37 +01:00
2026-10-07 21:31:23 +01:00
2026-09-15 17:02:04 +01:00
2026-09-11 15:36:08 +01:00
2026-09-19 04:59:07 +01:00
2026-09-19 03:32:24 +01:00
2026-09-11 18:17:17 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 18:17:17 +01:00
2026-09-14 23:30:51 +01:00
2026-09-11 03:16:50 +01:00
2026-09-08 07:08:06 +01:00
2026-09-11 15:36:08 +01:00
2026-09-08 14:51:51 +01:00
2026-09-11 15:36:08 +01:00
2026-09-08 12:31:53 +01:00
2026-09-08 07:12:34 +01:00
2026-09-11 15:36:08 +01:00
2026-09-16 18:22:05 +01:00
2026-09-11 15:36:08 +01:00
2026-09-16 03:01:42 +01:00
2026-09-17 01:38:39 +01:00
2026-10-08 11:55:37 +01:00
2026-10-08 13:30:14 +01:00
2026-09-11 15:36:08 +01:00
2026-10-07 23:47:54 +01:00
2026-10-08 12:27:45 +01:00
2026-09-11 15:36:08 +01:00
2026-09-07 12:00:35 +01:00
2026-10-07 11:06:24 +01:00
2026-10-06 06:00:10 +01:00
2026-09-14 05:35:25 +01:00
2026-10-07 12:38:09 +01:00
2026-10-08 12:23:55 +01:00
2026-09-15 23:33:42 +01:00
2026-09-09 11:25:42 +01:00
2026-09-16 03:32:53 +01:00
2026-09-08 05:12:55 +01:00
2026-09-18 17:09:40 +01:00
2026-09-11 15:36:08 +01:00
2026-09-16 16:07:19 +01:00
2026-10-06 02:28:16 +01:00
2026-10-05 22:14:46 +01:00
2026-09-11 15:36:08 +01:00
2026-09-15 03:06:55 +01:00
2026-09-11 15:36:08 +01:00
2026-09-11 15:36:08 +01:00
2026-09-15 22:33:59 +01:00
2026-10-05 22:14:46 +01:00
2026-10-06 02:40:49 +01:00
2026-09-04 17:40:07 +01:00
2026-09-13 13:36:50 +01:00
2026-09-11 15:36:08 +01:00
2026-09-15 04:54:39 +01:00
2026-09-16 18:37:22 +01:00
2026-09-17 02:07:15 +01:00
2026-09-17 13:35:08 +01:00
2026-09-29 14:11:30 +01:00
2026-09-15 19:49:18 +01:00
2026-09-16 05:08:14 +01:00
2026-09-16 01:24:29 +01:00
2026-10-06 05:31:58 +01:00
2026-09-30 12:18:35 +01:00
2026-09-11 15:36:08 +01:00
2026-09-19 07:18:07 +01:00
2026-10-06 07:14:24 +01:00
2026-09-13 04:16:48 +01:00
2026-09-12 10:49:42 +01:00
2026-09-13 17:23:13 +01:00
2026-10-06 02:40:25 +01:00
2026-09-07 20:14:57 +01:00
2026-09-09 03:55:22 +01:00
2026-09-15 23:39:42 +01:00
2026-09-04 20:05:23 +01:00
2026-09-15 23:00:23 +01:00
2026-09-15 23:00:23 +01:00
2026-09-16 01:24:29 +01:00
2026-09-16 00:54:34 +01:00
2026-09-11 22:33:10 +01:00
2026-09-04 11:59:57 +01:00
2026-09-16 20:37:19 +01:00
2026-09-16 20:29:43 +01:00
2026-09-16 18:22:05 +01:00
2026-09-16 04:52:23 +01:00
2026-10-08 12:57:55 +01:00
2026-10-06 05:50:51 +01:00
2026-09-07 14:52:51 +01:00
2026-10-07 12:00:35 +01:00
2026-09-17 13:39:52 +01:00