Dotta and Paperclip
4e27a82a42
fix(server): wake approval queue seeding from committed changes ( #17510 )
...
## Thinking Path
> - Paperclip manages work and human decisions for AI-agent companies.
> - Automatic decision queues store membership for pending attention
sources.
> - The old attention maintenance scan created that membership as a side
effect.
> - Moving approval retention out of the scan also removed approval
queue discovery.
> - Queue API consumers do not build the attention feed first, so they
can miss pending PR approvals.
> - This pull request gives approval queue discovery its own worker and
commit signals.
> - The worker becomes quiet after it saves every missing membership.
## Linked Issues or Issue Description
Refs #17497 . Stacked on #17508 , following #17505 .
This is a correctness dependency for the approval retention migration in
#17497 . Do not treat that migration as complete without this
queue-population path. A real PostgreSQL regression found no PR queue
when a pending approval had a linked PR work product and the maintenance
feed excluded approvals.
Related: #13364 proposes pruning stale seeded memberships. This PR
preserves existing membership retention and does not implement pruning.
#15149 documents the decision-queue APIs.
## What Changed
- Add an approval queue worker that selects missing PR-queue memberships
from existing durable records. Bound each pass to 100 rows. Continue
past failed rows and revisit them on retry.
- Reuse the queue service's seed writer through a normalized source
contract. Keep queue rules, uniqueness, and audit writes in that
service. Keep feed readers compatible.
- Wake from committed approval and link changes, issue/company
visibility, PR work-product changes and imports, and queue-rule changes.
Reuse the existing transaction boundaries.
- Recheck approval status under a row lock. Serialize queue-rule changes
with the seed writer. Preserve required recovery during drain and
shutdown.
- Register startup reconstruction under the existing maintenance switch.
Leave other attention-source seeding with its current owner until its
own migration.
- Document the complete producer audit and stack dependency. Add a
validated external PostgreSQL option to the existing queue route suite
so it runs on hosts without embedded database support.
## Verification
Current tested revision: `7948136ef8`. This PR targets master after
#17508 merged as `8406047b4e`. Normal ancestry reconciliation preserved
the complete tested integration tree, before the review repairs below.
Only the original 25 seeding paths differ from master, and database
schema/migration metadata is identical.
- **56 cases pass in the three complete affected suites:** 28 approval
seeding, 6 queue routes and 22 task-watchdog cases. Server typecheck and
production build pass.
- Three real PostgreSQL retry regressions failed then passed: new
matching arrivals cannot postpone a recovered failure indefinitely;
successful partial progress resets old failure penalties; an empty
cursor rollover does not reset outage backoff. Exact one- and two-second
retry assertions, eventual complete recovery and existing
capped-backoff/company isolation tests pass.
- Three genuinely empty external databases failed before setup repair
because tables were missing. Each suite now applies migrations itself.
All 55 cases passed on a second set of fresh databases; adding the final
rollover guard then passed all 56 cases using those now-migrated
fixtures. No production migration or table is added.
- The initial expanded fresh run passed 54 cases but failed a cleanup
expectation that omitted a required cursor rollover pass. The fixture
now permits that explicit continuation while preserving exact deadline
and complete-membership assertions. All failure records remain in
`doc/idle-approval-queue-seeding.md`.
- The prior integrated revision `4e725e2055` passed **522 cases in
fifteen complete producer/consumer suites**, plus types/build. Its
unchanged consumer code and historical deadlock, cross-company
amplification, backoff, gateway integration and setup evidence remain
documented; those counts are not relabeled as current acceptance.
Commands: server Vitest for approval queue seeding, queue routes and
task watchdogs; server typecheck/build. Fresh exact-head
Greptile/Ponytail reviews and all CI checks remain required. No full
local repository-suite, deployed suspension or cost claim is made.
## Risks
- Signals cover the supported in-process service writers. Independent
SQL writers and multiple server replicas need a separate notification
contract.
- The source predicate must stay aligned with unscoped attention
maintenance. The first linked issue, company scope, pending status, and
execution visibility are tested. A pending approval itself keeps its
linked external conversation active.
- Existing enabled seed rules can re-add manually removed matching
memberships. This preserves the old scan's behavior. Completed or
archived membership is not pruned.
- Queue seeding and retention are separate owners. Other attention
sources still need their own event-driven discovery before the aggregate
scan can be retired.
- This PR does not extend Cloud wake coverage, relax sleep admission, or
claim measured host/database suspension.
## Model Used
OpenAI Codex, GPT-6 family, with reasoning and code execution. The exact
serving model identifier and context window were not exposed.
## Checklist
- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [ ] All Paperclip CI gates are green
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge
---------
Co-authored-by: Paperclip <noreply@paperclip.ing >
2026-10-27 20:33:01 -05:00
..
2026-10-26 17:22:49 -07:00
2026-10-27 19:07:53 -05:00
2026-10-19 09:54:22 -05:00
2026-08-20 17:54:44 -07:00
2026-09-14 20:16:29 -07:00
2026-10-19 08:09:46 -05:00
2026-10-09 17:06:54 -05:00
2026-10-26 08:11:39 -05:00
2026-10-14 16:11:29 -05:00
2026-10-14 11:33:02 -05:00
2026-10-07 14:43:07 -05:00
2026-10-05 13:59:08 -07:00
2026-10-20 07:02:22 -05:00
2026-10-06 07:19:15 -07:00
2026-10-20 07:02:22 -05:00
2026-09-12 08:56:04 -05:00
2026-10-20 12:46:14 -05:00
2026-10-27 15:28:42 -05:00
2026-10-25 15:53:18 -07:00
2026-10-17 22:44:36 -05:00
2026-10-20 18:08:57 -07:00
2026-10-08 06:33:31 -05:00
2026-10-06 16:14:06 -05:00
2026-10-06 16:14:06 -05:00
2026-10-19 16:58:17 -05:00
2026-10-06 16:14:06 -05:00
2026-10-09 09:05:12 -07:00
2026-09-30 11:46:46 -05:00
2026-10-09 11:15:24 -07:00
2026-10-19 08:09:46 -05:00
2026-10-14 23:21:16 -07:00
2026-10-12 20:45:18 -05:00
2026-10-09 08:56:41 -05:00
2026-09-30 13:33:37 -05:00
2026-10-23 16:31:18 -07:00
2026-10-20 07:02:22 -05:00
2026-10-27 08:20:24 -05:00
2026-10-19 13:58:52 -05:00
2026-09-19 07:57:53 -05:00
2026-10-06 13:57:03 -05:00
2026-10-09 09:05:12 -07:00
2026-10-23 14:54:25 -07:00
2026-09-29 08:25:56 -05:00
2026-09-29 08:25:56 -05:00
2026-10-09 08:56:41 -05:00
2026-10-15 00:06:50 -05:00
2026-09-29 08:25:56 -05:00
2026-10-26 08:11:39 -05:00
2026-10-19 15:36:04 -05:00
2026-10-19 15:36:04 -05:00
2026-10-21 17:10:00 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-10-13 20:57:42 -05:00
2026-10-26 07:30:27 -05:00
2026-10-25 07:38:18 -07:00
2026-10-16 11:44:14 -07:00
2026-10-14 17:46:50 -05:00
2026-10-27 15:28:42 -05:00
2026-10-19 10:56:08 -07:00
2026-10-19 12:49:11 -07:00
2026-10-23 14:54:25 -07:00
2026-10-22 18:47:06 -05:00
2026-10-16 08:28:47 -07:00
2026-10-19 10:56:08 -07:00
2026-09-11 08:34:24 -05:00
2026-10-19 16:33:02 -05:00
2026-10-24 14:01:41 -07:00
2026-10-26 15:21:47 -07:00
2026-10-02 10:01:15 -05:00
2026-10-09 09:05:12 -07:00
2026-10-19 13:58:52 -05:00
2026-09-02 16:11:26 -05:00
2026-10-14 11:33:02 -05:00
2026-10-21 15:13:42 -05:00
2026-10-09 09:05:12 -07:00
2026-10-05 14:57:04 -05:00
2026-10-05 14:57:04 -05:00
2026-10-06 20:48:15 -05:00
2026-10-27 08:20:24 -05:00
2026-10-05 20:44:37 -05:00
2026-10-21 17:10:00 -05:00
2026-10-06 13:29:03 -05:00
2026-10-21 17:10:00 -05:00
2026-09-14 10:19:54 -05:00
2026-09-14 10:19:54 -05:00
2026-09-14 10:19:54 -05:00
2026-09-14 10:19:54 -05:00
2026-08-17 06:23:33 -04:00
2026-10-13 07:55:27 -07:00
2026-10-27 20:33:01 -05:00
2026-10-27 20:03:16 -05:00
2026-10-07 07:06:40 -05:00
2026-10-27 19:23:24 -05:00
2026-10-19 15:36:04 -05:00
2026-08-20 17:28:01 -07:00
2026-10-07 07:06:40 -05:00
2026-09-10 10:06:45 -05:00
2026-10-27 19:23:24 -05:00
2026-10-14 23:17:13 -05:00
2026-10-15 00:33:09 -05:00
2026-10-13 10:14:45 -05:00
2026-10-26 20:54:18 -07:00
2026-08-27 22:31:35 -07:00
2026-08-29 12:08:32 -05:00
2026-10-10 13:09:17 -05:00
2026-09-04 10:02:28 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-10-21 16:19:58 -05:00
2026-10-21 07:23:00 -05:00
2026-10-05 19:41:52 -07:00
2026-09-30 07:13:16 -05:00
2026-10-10 07:06:31 -05:00
2026-10-21 07:23:00 -05:00
2026-10-21 07:23:00 -05:00
2026-10-21 07:23:00 -05:00
2026-10-21 07:23:00 -05:00
2026-10-27 19:23:24 -05:00
2026-09-20 08:08:33 -07:00
2026-09-29 08:25:56 -05:00
2026-10-19 14:17:24 -05:00
2026-09-19 09:18:10 -07:00
2026-10-20 12:46:14 -05:00
2026-10-20 12:46:14 -05:00
2026-10-20 12:46:14 -05:00
2026-10-20 12:46:14 -05:00
2026-10-13 07:55:27 -07:00
2026-10-27 11:34:18 -05:00
2026-10-09 10:01:26 -05:00
2026-10-14 08:40:32 -05:00
2026-10-12 20:45:18 -05:00
2026-10-12 09:49:34 -05:00
2026-10-24 10:29:15 -07:00
2026-10-12 20:45:18 -05:00
2026-10-27 11:22:25 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-10-19 13:58:52 -05:00
2026-10-22 18:44:53 -07:00
2026-10-06 16:14:06 -05:00
2026-10-09 09:05:12 -07:00
2026-10-17 23:22:57 -05:00
2026-10-06 18:13:46 -07:00
2026-09-22 17:49:15 -07:00
2026-09-23 19:35:19 -07:00
2026-09-23 19:35:19 -07:00
2026-10-19 13:04:07 -05:00
2026-09-22 17:49:15 -07:00
2026-10-06 06:58:36 -07:00
2026-10-06 06:58:36 -07:00
2026-10-08 08:35:45 -07:00
2026-08-27 11:34:42 -07:00
2026-09-20 12:43:25 -07:00
2026-10-21 07:55:09 -05:00
2026-10-06 13:29:03 -05:00
2026-10-06 18:16:18 -07:00
2026-10-13 16:11:43 -05:00
2026-08-26 09:45:24 -05:00
2026-10-19 16:58:17 -05:00
2026-10-06 07:19:15 -07:00
2026-10-21 07:23:00 -05:00
2026-10-04 02:13:46 -07:00
2026-08-27 12:11:05 -07:00
2026-09-03 14:15:32 -05:00
2026-10-06 07:19:15 -07:00
2026-09-11 15:46:35 -05:00
2026-10-06 12:13:46 -07:00
2026-10-27 15:28:42 -05:00
2026-10-11 10:01:57 -07:00
2026-10-07 07:06:40 -05:00
2026-10-07 07:06:40 -05:00
2026-10-07 07:06:40 -05:00
2026-10-01 17:34:51 -07:00
2026-10-15 12:20:57 -05:00
2026-10-06 07:19:15 -07:00
2026-10-27 14:53:32 -05:00
2026-10-27 16:31:21 -05:00
2026-10-16 10:39:02 -05:00
2026-10-16 00:42:37 -05:00
2026-10-25 13:37:11 -07:00
2026-10-27 14:36:28 -05:00
2026-10-17 23:22:57 -05:00
2026-10-06 20:33:13 -05:00
2026-10-07 14:43:07 -05:00
2026-08-29 12:08:33 -05:00
2026-10-07 19:11:50 -05:00
2026-10-20 07:02:22 -05:00
2026-10-27 16:10:44 -05:00
2026-10-22 15:14:26 -07:00
2026-10-17 18:55:39 -07:00
2026-10-25 15:53:18 -07:00
2026-10-20 18:13:09 -07:00
2026-10-11 22:48:29 -07:00
2026-10-11 22:48:29 -07:00
2026-10-09 13:38:01 -07:00
2026-08-16 13:46:50 -05:00
2026-10-15 14:34:23 -07:00
2026-10-06 18:16:18 -07:00
2026-10-06 20:48:15 -05:00
2026-10-06 16:14:06 -05:00
2026-10-27 14:17:01 -05:00
2026-10-06 21:38:15 -05:00
2026-10-06 21:38:15 -05:00
2026-10-05 10:58:56 -07:00
2026-10-26 20:52:47 -07:00
2026-10-15 14:05:26 -07:00
2026-10-15 14:05:26 -07:00
2026-10-27 18:53:50 -05:00
2026-10-27 18:53:50 -05:00
2026-10-19 10:28:53 -05:00
2026-10-27 08:20:24 -05:00
2026-10-27 20:33:01 -05:00
2026-10-27 17:26:54 -05:00
2026-10-27 18:53:50 -05:00
2026-10-27 18:53:50 -05:00
2026-10-27 14:36:28 -05:00
2026-10-23 11:37:29 -07:00
2026-10-14 17:46:50 -05:00
2026-08-26 09:08:31 -05:00
2026-10-07 19:44:17 -05:00
2026-09-04 15:03:53 -05:00
2026-08-28 21:48:34 -07:00
2026-08-28 21:48:34 -07:00
2026-10-21 15:39:23 -05:00
2026-08-22 11:41:24 -05:00
2026-09-19 09:18:10 -07:00
2026-10-01 11:07:50 -05:00
2026-10-15 12:45:33 -07:00
2026-10-06 18:13:46 -07:00
2026-08-31 14:38:38 -05:00
2026-10-20 12:46:14 -05:00
2026-09-17 08:40:40 -05:00
2026-10-09 15:19:33 -05:00
2026-10-09 12:58:35 -05:00
2026-10-21 17:10:00 -05:00
2026-08-31 14:38:38 -05:00
2026-10-26 22:21:58 -05:00
2026-10-06 18:20:37 -07:00
2026-10-07 10:16:49 -05:00
2026-10-27 08:20:24 -05:00
2026-10-12 20:45:18 -05:00
2026-10-09 17:19:41 -05:00
2026-10-27 08:20:24 -05:00
2026-08-18 17:40:54 -05:00
2026-09-05 09:33:38 -05:00
2026-10-09 14:25:14 -07:00
2026-09-01 01:29:06 -05:00
2026-10-27 20:33:01 -05:00
2026-08-17 13:25:30 -07:00
2026-10-25 03:20:45 -07:00
2026-10-27 14:17:01 -05:00
2026-08-23 21:24:59 -07:00
2026-10-14 21:43:12 -05:00
2026-08-23 21:24:59 -07:00
2026-09-01 01:29:06 -05:00
2026-10-06 18:16:18 -07:00
2026-10-25 03:20:45 -07:00
2026-10-25 03:20:45 -07:00
2026-10-25 03:20:45 -07:00
2026-10-26 20:25:10 -07:00
2026-10-17 16:53:29 -07:00
2026-08-19 17:14:47 -07:00
2026-10-26 20:25:10 -07:00
2026-10-10 13:09:17 -05:00
2026-10-17 16:53:29 -07:00
2026-10-26 14:11:35 -07:00
2026-10-08 19:27:39 -07:00
2026-10-26 20:25:10 -07:00
2026-10-24 08:26:48 -07:00
2026-10-19 15:36:04 -05:00
2026-10-23 07:18:37 -07:00
2026-10-26 10:28:12 -05:00
2026-10-06 18:13:46 -07:00
2026-10-15 14:36:00 -05:00
2026-10-22 17:12:29 -07:00
2026-10-20 09:19:59 -05:00
2026-10-07 07:06:40 -05:00
2026-08-17 06:23:33 -04:00
2026-10-12 20:45:18 -05:00
2026-10-27 19:42:58 -05:00
2026-10-07 07:06:40 -05:00
2026-10-26 16:13:04 -07:00
2026-10-10 13:09:17 -05:00
2026-10-19 10:28:53 -05:00
2026-10-21 07:23:00 -05:00
2026-10-13 09:10:37 -05:00
2026-10-09 10:01:26 -05:00
2026-10-09 10:01:26 -05:00
2026-10-06 15:21:22 -05:00
2026-10-09 08:56:41 -05:00
2026-10-20 09:19:59 -05:00
2026-10-27 14:58:11 -05:00
2026-09-19 16:49:18 -05:00
2026-10-06 18:16:18 -07:00
2026-08-26 09:45:24 -05:00
2026-08-26 09:45:24 -05:00
2026-09-01 01:29:06 -05:00
2026-10-21 11:07:18 -05:00
2026-10-26 16:13:04 -07:00
2026-10-16 20:54:30 -07:00
2026-10-17 22:54:28 -05:00
2026-10-22 20:02:21 -07:00
2026-10-24 12:43:57 -07:00
2026-10-22 15:52:04 -07:00
2026-10-22 15:52:04 -07:00
2026-10-23 08:24:53 -07:00
2026-10-27 11:23:09 -05:00
2026-10-18 04:40:05 +00:00
2026-10-17 22:54:28 -05:00
2026-10-23 14:06:17 -07:00
2026-10-27 11:21:44 -05:00
2026-10-17 22:54:28 -05:00
2026-10-20 19:50:51 -05:00
2026-09-02 15:27:54 -05:00
2026-10-24 21:58:43 -07:00
2026-10-26 21:16:40 -07:00
2026-10-26 21:16:40 -07:00
2026-10-26 17:22:49 -07:00
2026-10-27 12:05:01 -05:00
2026-10-16 15:52:54 -07:00
2026-10-27 19:07:53 -05:00
2026-10-27 19:07:53 -05:00
2026-08-26 09:45:24 -05:00
2026-09-12 23:06:55 +00:00
2026-09-17 15:52:19 -05:00
2026-10-19 13:04:07 -05:00
2026-10-12 20:45:18 -05:00
2026-10-13 18:35:27 -07:00
2026-09-08 19:37:13 -05:00
2026-10-18 22:20:41 -07:00
2026-10-06 18:13:46 -07:00
2026-10-08 06:38:09 -05:00
2026-10-20 12:46:14 -05:00
2026-10-20 12:46:14 -05:00
2026-09-19 20:40:05 -05:00
2026-10-20 09:19:59 -05:00
2026-10-09 20:16:24 -05:00
2026-09-29 08:56:21 -05:00
2026-10-21 11:21:55 -05:00
2026-10-02 13:47:59 -05:00
2026-10-26 14:11:35 -07:00
2026-10-24 12:43:57 -07:00
2026-10-12 10:52:32 -05:00
2026-10-20 09:19:59 -05:00
2026-10-06 18:13:46 -07:00
2026-10-06 22:26:48 -07:00
2026-08-25 19:48:44 -07:00
2026-10-06 18:13:46 -07:00
2026-10-12 20:45:18 -05:00
2026-10-08 04:57:26 -05:00
2026-10-12 20:45:18 -05:00
2026-10-09 08:56:41 -05:00
2026-09-10 10:06:45 -05:00
2026-10-16 12:56:09 -05:00
2026-10-24 09:04:49 -07:00
2026-10-26 20:25:10 -07:00
2026-10-24 12:14:41 -07:00
2026-10-07 10:16:49 -05:00
2026-10-23 16:05:13 -07:00
2026-10-17 22:44:36 -05:00
2026-10-14 16:11:29 -05:00
2026-10-15 00:06:50 -05:00
2026-09-22 10:46:13 -07:00
2026-10-23 15:09:29 -07:00
2026-10-25 15:35:36 -07:00
2026-10-06 18:13:46 -07:00
2026-10-20 09:19:59 -05:00
2026-10-19 09:17:35 -07:00
2026-10-26 14:29:20 -05:00
2026-09-09 12:18:56 -05:00
2026-10-25 10:47:02 -07:00
2026-10-06 18:13:46 -07:00
2026-08-31 14:38:38 -05:00
2026-10-02 08:22:33 -05:00
2026-10-12 10:40:42 -05:00
2026-10-13 16:11:43 -05:00
2026-10-06 18:13:46 -07:00
2026-10-14 22:38:16 -05:00
2026-10-27 15:21:12 -07:00
2026-10-12 20:45:18 -05:00
2026-10-20 09:19:59 -05:00
2026-10-14 10:56:40 -05:00
2026-10-20 09:19:59 -05:00
2026-10-24 14:16:58 -07:00
2026-10-20 09:19:59 -05:00
2026-08-29 11:43:16 -07:00
2026-09-10 10:06:45 -05:00
2026-10-14 22:38:16 -05:00
2026-10-19 15:26:39 -05:00
2026-10-20 09:19:59 -05:00
2026-10-14 20:45:29 -07:00
2026-10-12 20:45:18 -05:00
2026-10-24 12:11:26 -07:00
2026-10-20 09:19:59 -05:00
2026-10-20 09:19:59 -05:00
2026-10-02 14:21:11 -05:00
2026-10-17 07:01:32 -07:00
2026-10-17 07:01:32 -07:00
2026-09-03 14:15:32 -05:00
2026-10-19 15:36:04 -05:00
2026-10-19 15:36:04 -05:00
2026-10-01 09:45:18 -05:00
2026-10-08 08:35:45 -07:00
2026-10-20 07:02:22 -05:00
2026-10-17 07:01:32 -07:00
2026-10-08 15:58:55 -07:00
2026-10-17 16:53:29 -07:00
2026-10-14 08:28:45 -05:00
2026-10-17 07:01:32 -07:00
2026-10-13 14:09:16 -07:00
2026-10-21 07:23:00 -05:00
2026-10-08 13:13:16 -07:00
2026-10-26 14:29:20 -05:00
2026-10-19 08:09:46 -05:00
2026-10-21 11:07:18 -05:00
2026-08-27 11:29:05 -07:00
2026-10-21 11:07:18 -05:00
2026-10-22 15:14:58 -07:00
2026-08-26 17:34:53 -07:00
2026-10-15 00:06:50 -05:00
2026-10-19 16:58:17 -05:00
2026-09-01 05:57:40 -05:00
2026-10-09 09:05:12 -07:00
2026-10-19 16:58:17 -05:00
2026-10-09 16:20:38 -05:00
2026-10-19 15:36:04 -05:00
2026-09-08 16:18:47 -05:00
2026-10-09 08:56:41 -05:00
2026-08-27 12:11:05 -07:00
2026-10-27 19:42:58 -05:00
2026-10-24 14:16:58 -07:00
2026-10-24 14:16:58 -07:00
2026-10-12 20:45:18 -05:00
2026-10-07 07:06:40 -05:00
2026-10-12 20:45:18 -05:00
2026-10-20 19:58:53 -05:00
2026-10-10 13:09:17 -05:00
2026-08-27 12:11:05 -07:00
2026-10-14 23:21:16 -07:00
2026-08-20 17:09:42 -05:00
2026-10-23 17:05:06 -07:00
2026-10-13 00:56:15 -05:00
2026-10-07 07:06:40 -05:00
2026-10-06 07:19:15 -07:00
2026-10-27 20:33:01 -05:00
2026-09-29 10:18:30 -05:00
2026-09-11 12:39:08 -05:00
2026-10-25 06:30:25 -07:00
2026-10-10 00:40:08 -07:00
2026-10-15 00:18:23 -07:00
2026-10-07 07:06:40 -05:00
2026-10-20 12:46:14 -05:00
2026-10-08 10:20:32 -07:00
2026-10-19 16:27:11 -05:00
2026-10-19 16:27:11 -05:00
2026-08-21 17:23:18 -05:00
2026-10-09 10:01:26 -05:00
2026-10-26 14:32:46 -05:00
2026-10-19 16:11:31 -05:00
2026-10-06 18:13:46 -07:00
2026-10-25 07:51:28 -07:00
2026-10-21 09:54:28 -05:00
2026-10-15 16:02:45 -07:00
2026-08-16 13:46:50 -05:00
2026-08-15 01:25:17 +00:00
2026-09-12 19:41:15 -05:00
2026-10-19 11:34:27 -05:00
2026-10-07 07:06:40 -05:00
2026-10-19 16:27:11 -05:00
2026-10-19 12:13:28 -05:00
2026-09-12 08:56:04 -05:00
2026-10-22 18:37:36 -05:00
2026-10-24 10:29:15 -07:00
2026-09-28 23:02:39 +00:00
2026-10-25 21:49:52 -05:00
2026-10-25 21:49:52 -05:00
2026-10-19 21:51:46 -05:00
2026-09-29 10:25:52 -05:00
2026-10-06 18:13:46 -07:00
2026-10-23 17:05:06 -07:00
2026-10-20 13:46:10 -05:00
2026-10-23 17:05:06 -07:00
2026-10-19 16:27:11 -05:00
2026-10-20 13:46:10 -05:00
2026-10-27 20:03:16 -05:00
2026-09-18 22:12:51 -07:00
2026-08-26 09:45:24 -05:00
2026-09-25 15:28:11 -07:00
2026-10-12 20:45:18 -05:00
2026-10-02 15:11:44 -05:00
2026-10-25 12:58:50 -07:00
2026-10-25 02:43:17 -07:00
2026-10-25 02:43:17 -07:00
2026-10-08 08:35:45 -07:00
2026-10-13 07:43:46 -07:00
2026-09-12 23:06:55 +00:00
2026-10-06 13:29:03 -05:00
2026-09-12 23:06:55 +00:00
2026-09-26 00:48:14 -07:00
2026-10-27 14:17:01 -05:00
2026-10-21 15:39:23 -05:00
2026-10-20 09:19:59 -05:00
2026-09-06 15:45:07 -05:00
2026-10-19 08:09:46 -05:00
2026-08-29 12:08:32 -05:00
2026-10-21 11:21:55 -05:00
2026-08-29 12:08:32 -05:00
2026-10-07 19:05:04 -07:00
2026-08-29 12:08:34 -05:00
2026-09-24 15:54:38 -05:00
2026-10-06 07:19:15 -07:00
2026-08-27 12:11:05 -07:00
2026-10-06 07:19:15 -07:00
2026-10-17 22:44:36 -05:00
2026-10-23 06:36:34 -07:00
2026-10-17 22:44:36 -05:00
2026-10-06 20:48:15 -05:00
2026-10-07 06:18:51 -05:00
2026-09-02 16:11:26 -05:00
2026-10-23 15:09:43 -07:00
2026-09-10 10:06:45 -05:00
2026-10-17 18:55:39 -07:00
2026-10-25 09:20:30 -07:00
2026-10-25 09:20:30 -07:00
2026-10-23 14:06:17 -07:00
2026-10-18 21:58:32 -05:00
2026-10-06 21:28:16 -05:00
2026-08-31 14:38:38 -05:00
2026-09-06 08:16:12 -05:00
2026-10-19 09:29:50 -07:00
2026-10-25 10:06:27 -07:00
2026-10-21 17:10:00 -05:00
2026-10-19 21:52:57 -05:00
2026-10-23 14:05:55 -07:00
2026-10-23 14:05:55 -07:00
2026-10-12 20:45:18 -05:00
2026-10-27 19:42:58 -05:00
2026-08-29 12:08:32 -05:00
2026-10-27 12:30:50 -05:00
2026-10-19 14:17:24 -05:00
2026-10-23 13:27:33 -07:00
2026-10-27 08:20:24 -05:00
2026-09-17 09:32:54 -05:00
2026-10-06 07:19:15 -07:00
2026-09-12 16:30:10 -05:00
2026-08-26 09:45:24 -05:00
2026-10-19 10:28:53 -05:00
2026-10-01 15:42:40 -05:00
2026-10-08 07:21:30 -05:00
2026-08-31 22:51:17 -05:00
2026-10-08 07:21:30 -05:00
2026-09-12 16:30:10 -05:00
2026-10-07 19:52:30 -07:00
2026-10-26 20:49:07 -07:00
2026-08-26 09:45:24 -05:00
2026-10-06 09:36:01 -05:00
2026-09-15 17:09:43 -07:00
2026-10-17 18:39:11 -07:00
2026-08-17 10:55:40 -07:00
2026-08-17 10:55:40 -07:00
2026-10-20 09:14:23 -07:00
2026-10-23 18:31:36 -07:00
2026-10-22 17:46:27 -07:00
2026-08-19 12:34:11 -07:00
2026-10-08 12:57:32 -07:00
2026-10-09 11:15:24 -07:00
2026-10-17 07:01:32 -07:00
2026-10-06 07:19:15 -07:00
2026-10-06 07:19:15 -07:00
2026-10-20 20:09:16 -07:00
2026-09-19 09:18:10 -07:00
2026-10-16 07:53:04 -07:00
2026-10-06 05:28:48 -05:00
2026-10-26 14:11:35 -07:00
2026-10-24 09:28:17 -07:00
2026-10-07 07:06:40 -05:00
2026-09-22 16:39:11 -07:00
2026-10-06 07:19:15 -07:00
2026-10-26 15:21:47 -07:00
2026-10-21 10:10:00 -07:00
2026-10-06 07:19:15 -07:00
2026-10-20 09:14:23 -07:00
2026-10-24 09:04:49 -07:00
2026-09-03 17:55:12 -07:00
2026-10-26 17:22:49 -07:00
2026-10-23 09:07:35 -07:00
2026-10-09 09:05:12 -07:00
2026-10-14 20:01:34 -07:00
2026-10-07 07:06:40 -05:00
2026-08-14 22:11:16 -07:00
2026-10-26 17:22:49 -07:00
2026-09-12 08:56:04 -05:00
2026-09-03 12:17:27 -07:00
2026-10-20 20:09:16 -07:00
2026-10-26 17:22:49 -07:00
2026-10-09 17:01:20 -05:00
2026-10-13 16:11:43 -05:00
2026-10-27 16:31:21 -05:00
2026-10-20 16:21:42 -05:00
2026-10-05 10:31:11 -05:00
2026-09-12 08:56:04 -05:00
2026-10-22 17:12:29 -07:00
2026-10-20 09:19:59 -05:00
2026-10-20 20:09:16 -07:00
2026-10-20 11:32:25 -05:00
2026-10-21 07:23:00 -05:00
2026-10-20 11:32:25 -05:00
2026-08-31 14:38:38 -05:00
2026-10-07 19:44:17 -05:00
2026-10-13 18:26:03 -07:00
2026-10-21 07:55:09 -05:00
2026-10-02 14:21:11 -05:00
2026-10-06 18:20:37 -07:00
2026-10-06 18:20:37 -07:00
2026-10-19 12:49:11 -07:00
2026-09-16 13:54:44 -07:00
2026-09-16 13:54:44 -07:00
2026-08-22 11:41:24 -05:00
2026-10-16 08:51:01 -05:00
2026-10-13 20:57:42 -05:00
2026-10-19 13:58:52 -05:00
2026-10-08 10:19:40 -07:00
2026-10-08 10:19:40 -07:00
2026-10-09 08:10:46 -05:00
2026-09-21 12:53:11 -05:00
2026-10-07 12:48:01 -07:00
2026-10-02 14:19:41 -05:00
2026-10-09 08:56:41 -05:00
2026-10-13 06:24:07 -05:00
2026-10-20 12:46:14 -05:00
2026-10-20 19:50:51 -05:00
2026-10-18 21:28:20 -05:00
2026-10-20 09:19:59 -05:00
2026-09-29 08:25:56 -05:00
2026-10-16 07:53:04 -07:00
2026-08-15 18:52:08 -07:00
2026-10-17 07:01:32 -07:00
2026-10-19 15:36:04 -05:00
2026-10-09 08:56:41 -05:00
2026-10-27 18:53:50 -05:00
2026-10-24 12:25:33 -07:00
2026-10-19 06:47:47 -05:00
2026-10-14 10:56:40 -05:00
2026-10-27 16:31:21 -05:00
2026-10-27 16:31:21 -05:00
2026-09-25 15:28:11 -07:00
2026-10-09 17:06:54 -05:00
2026-10-12 20:45:18 -05:00
2026-10-13 07:34:15 -05:00
2026-09-08 15:55:26 -05:00
2026-10-09 08:56:41 -05:00
2026-10-15 15:46:11 -07:00
2026-09-08 16:18:47 -05:00
2026-10-24 09:04:49 -07:00
2026-10-25 03:20:45 -07:00
2026-10-19 14:17:24 -05:00
2026-10-24 10:29:15 -07:00
2026-10-15 22:44:17 -07:00
2026-10-15 22:44:17 -07:00
2026-10-27 14:36:28 -05:00
2026-10-27 14:36:28 -05:00
2026-08-17 13:42:51 -07:00
2026-09-03 14:15:32 -05:00
2026-08-17 13:42:51 -07:00
2026-10-26 20:54:18 -07:00
2026-09-01 11:02:04 -07:00
2026-10-19 06:47:47 -05:00
2026-10-24 05:08:56 -07:00
2026-10-12 11:25:24 -07:00
2026-10-19 15:36:04 -05:00
2026-08-27 07:20:03 -07:00
2026-10-27 20:33:01 -05:00
2026-10-14 10:14:41 -05:00
2026-08-19 21:20:40 -07:00
2026-10-15 09:23:47 -05:00
2026-09-04 08:21:32 -07:00
2026-10-27 16:32:09 -05:00
2026-10-19 15:36:04 -05:00
2026-10-14 22:31:38 -05:00
2026-10-12 11:30:20 -05:00
2026-10-14 09:55:43 -05:00
2026-10-14 22:31:38 -05:00
2026-10-13 22:27:11 -05:00
2026-10-13 16:11:43 -05:00
2026-09-30 13:32:58 -05:00
2026-10-20 16:21:42 -05:00
2026-10-19 16:33:02 -05:00
2026-10-15 12:20:57 -05:00
2026-10-15 12:20:57 -05:00
2026-10-15 22:31:46 -05:00
2026-10-09 21:54:11 -05:00
2026-10-12 15:34:02 -05:00
2026-10-16 22:21:03 -05:00
2026-08-29 12:08:33 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 21:54:11 -05:00
2026-09-12 11:15:43 -07:00
2026-09-22 11:18:46 -07:00
2026-08-25 16:12:02 -07:00
2026-10-07 19:44:17 -05:00
2026-10-17 20:28:57 -07:00
2026-10-09 09:05:12 -07:00
2026-09-28 10:36:32 -05:00
2026-10-24 05:08:56 -07:00
2026-09-28 10:36:32 -05:00
2026-10-23 10:21:19 -07:00
2026-10-09 13:38:01 -07:00
2026-10-23 10:21:19 -07:00
2026-10-09 09:05:12 -07:00
2026-10-26 08:11:39 -05:00
2026-10-27 08:20:24 -05:00
2026-09-12 16:22:58 -05:00
2026-09-12 16:22:58 -05:00
2026-10-03 21:19:55 -05:00
2026-10-20 13:46:10 -05:00
2026-10-26 20:53:47 -07:00
2026-08-16 13:46:50 -05:00
2026-10-27 20:33:01 -05:00
2026-10-21 11:21:55 -05:00
2026-10-21 11:21:55 -05:00
2026-10-20 09:19:59 -05:00
2026-10-20 09:19:59 -05:00
2026-10-20 09:19:59 -05:00
2026-10-21 11:21:55 -05:00
2026-10-12 20:45:18 -05:00
2026-10-20 09:19:59 -05:00
2026-10-21 11:21:55 -05:00
2026-10-21 15:09:15 -05:00
2026-10-02 17:56:42 -05:00
2026-10-14 15:27:28 -07:00
2026-09-24 17:31:32 -05:00
2026-10-27 08:21:02 -05:00
2026-10-27 16:10:44 -05:00
2026-10-27 16:10:44 -05:00
2026-10-16 16:40:12 -07:00
2026-10-27 12:25:01 -05:00
2026-09-30 14:32:34 -05:00
2026-08-29 12:08:33 -05:00
2026-10-23 11:37:29 -07:00
2026-10-25 04:12:14 -07:00
2026-10-07 06:53:20 -05:00
2026-10-02 07:45:27 -05:00
2026-10-16 05:59:23 -05:00
2026-10-27 17:09:31 -05:00
2026-10-27 14:58:11 -05:00
2026-10-02 08:21:40 -05:00
2026-10-18 13:56:04 -07:00
2026-10-12 20:45:18 -05:00
2026-09-10 00:57:02 -07:00
2026-10-22 15:14:26 -07:00
2026-10-22 15:14:26 -07:00
2026-09-22 11:18:46 -07:00
2026-10-15 07:51:02 -05:00
2026-10-19 11:20:39 -05:00
2026-09-02 15:27:54 -05:00
2026-09-25 17:06:30 -07:00
2026-10-06 16:03:13 -07:00
2026-10-09 10:01:26 -05:00
2026-10-20 09:19:59 -05:00
2026-09-03 14:15:32 -05:00
2026-10-14 09:49:04 -07:00
2026-10-14 08:28:45 -05:00
2026-10-20 09:19:59 -05:00
2026-10-12 20:45:18 -05:00
2026-08-18 17:40:54 -05:00
2026-08-19 02:37:02 -05:00
2026-08-19 02:37:02 -05:00
2026-08-31 14:38:38 -05:00
2026-10-24 00:30:06 -07:00
2026-10-20 09:19:59 -05:00
2026-08-19 02:37:02 -05:00
2026-10-14 09:49:04 -07:00
2026-10-13 18:35:27 -07:00
2026-08-17 06:23:33 -04:00
2026-10-06 18:13:46 -07:00
2026-08-17 06:23:33 -04:00
2026-08-17 06:23:33 -04:00
2026-10-07 07:06:40 -05:00
2026-08-17 06:23:33 -04:00
2026-10-13 14:25:09 -07:00
2026-10-20 07:02:22 -05:00
2026-10-15 00:06:50 -05:00
2026-10-07 19:44:17 -05:00
2026-09-20 08:08:33 -07:00
2026-10-06 07:19:15 -07:00