Dotta and Paperclip
d497d1ccec
refactor(chat): extract failed-run retry coordination ( #15845 )
...
## Thinking Path
> - Paperclip manages agent work and sends results back to chat.
> - A failed chat run can be retried only while its original source
remains authorized.
> - That decision includes persisted source evidence and native runtime
state.
> - Retry claims also share in-flight promises and depend on service
shutdown.
> - This PR groups retry authorization, execution and notices in one
module.
> - The service retains the live admission, runtime and shutdown
boundaries.
## Linked Issues or Issue Description
Refs #15844 , #15836 , #15834 and #15823 . Stack slice 5 of 5, based on
`codex/chat-publication-replacement`.
Merge each predecessor first, then retarget this PR. Do not merge the
stack out of order.
Stack order: #15823 (provider messages) → #15834 (resource
reconciliation) → #15836 (identity links) → #15844 (publication
replacement) → #15845 (failed-run retries). GitHub native stack merging
preserves this order and automatically restacks the remaining branches.
## What Changed
- Extract failed-run retry admission and coordination while keeping the
in-flight map, cursor, error class and authority registrations scoped to
one chat service.
- Move the exact Teams uncertain-file continuation proof into
`microsoft-teams/file-transfer-source.ts`.
- Pass the existing transaction, explicit source identifiers and denial
factory. Return only the proven publication ID.
- Keep committed-result, complete source-batch, ancestor and
other-uncertain-effect checks in shared `failed-run-retry.ts`.
- Keep native execution recovery together; its provider references
describe runner backends, not chat channels.
- The retry coordinator is 1,825 lines and the Teams proof is 149 lines.
Restack on revised #15844 and record the reassessment.
## Verification
- Baseline: 59 retry cases and six negative Teams authority cases
passed. The combined 65 cases passed after the move.
- Cases cover retry ownership, service restart/lifetime, ambiguous Teams
receipts, sibling unknown effects, changed source authority and active
attempts.
- Teams guard, joins, locks, attempt checks and selected ID match after
explicit input substitutions. The shared coordinator retains its state
and cleanup ownership.
- Server typecheck, module-boundary and whitespace checks passed.
- Integration uses disposable databases and fixture provider transports;
no live third-party execution is claimed.
- Fresh Greptile review is 5/5 on
`4f7151409717458717633aa270441a8faf33664e`, with a successful check and
no open review threads.
- Final-stack `pnpm -r typecheck` and `pnpm build` passed at
`57ec5ba94aecd860471f9b14db46f99120c7c790`.
- All CI checks passed on `57ec5ba94aecd860471f9b14db46f99120c7c790`.
- Full local `pnpm test:run` stopped in the general-server group: 18,763
passed, 105 skipped, and one test timed out after 20 seconds in
unchanged `workspace-runtime.test.ts` ("does not accept an occupied
allocated port when listener ownership is unavailable"). The same case
passed in an isolated rerun without code, assertion or timeout changes
(1 passed, 175 excluded). The original timeout is retained as a failed
full run; later workspace and serialized groups were not reached. The
full local gate remains unverified.
- Merge verification on the restacked tree: 118 focused identity,
publication, Photon and retry integration tests passed; server typecheck
and module-boundary checks passed. GitHub’s rebased trees exactly match
the previously reviewed file contents.
- All current-head required checks passed on
`4f7151409717458717633aa270441a8faf33664e`: full CI; Greptile 5/5 with
no unresolved threads.
## Risks
- Authorization must remain fail-closed across committed output and
retry admission. The helper proves only the Teams transfer; the caller
still checks the complete source and result in the same transaction.
- In-flight promises, error-class identity, registration cleanup, cursor
state and the live shutdown getter must remain per-service. Their code
is unchanged by this channel-folder move.
- This PR depends on #15844 . Merge and retarget in stack order.
## Model Used
OpenAI Codex, GPT-6 family, with reasoning and repository tools. The
exact runtime model ID and context-window size are not exposed in this
session. No separate agent was used.
## 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
- [ ] 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
- [x] All Paperclip CI gates are green
- [x] 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-12 09:49:34 -05:00
..
2026-10-11 21:22:39 -07:00
2026-10-12 09:49:34 -05:00
2026-10-10 09:13:44 -05:00
2026-09-26 00:47:47 -07:00
2026-10-12 09:40:09 -05:00
2026-10-12 07:29:15 -05:00
2026-09-12 15:23:50 -05:00
2026-10-10 13:09:17 -05:00
2026-10-10 13:09:17 -05:00
2026-09-02 16:11:26 -05:00
2026-09-30 13:33:37 -05:00
2026-10-10 09:13:44 -05:00
2026-10-05 10:31:11 -05:00
2026-10-07 15:53:13 -05:00
2026-10-06 22:26:48 -07:00
2026-09-19 16:49:18 -05:00
2026-09-19 16:49:18 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 17:06:54 -05:00
2026-10-02 16:55:38 -07:00
2026-10-02 16:55:38 -07:00
2026-10-02 16:55:38 -07:00
2026-10-02 16:55:38 -07:00
2026-08-19 11:51:31 -07:00
2026-08-19 11:51:31 -07:00
2026-06-10 21:09:02 -07:00
2026-06-10 21:09:02 -07:00
2026-04-24 15:50:32 -05:00
2026-07-09 13:08:56 -05:00
2026-06-10 21:09:02 -07:00
2026-06-10 21:09:02 -07:00
2026-10-02 16:55:38 -07:00
2026-08-21 00:04:14 -07:00
2026-10-06 13:29:03 -05:00
2026-06-06 12:45:57 -05:00
2026-09-19 07:57:53 -05:00
2026-10-08 06:33:31 -05:00
2026-10-08 06:33:31 -05:00
2026-10-06 16:14:06 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-10-10 13:09:17 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-10-09 08:56:41 -05:00
2026-10-09 08:56:41 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-09-30 13:33:37 -05:00
2026-09-30 13:33:37 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-10-06 13:57:03 -05:00
2026-10-06 13:57:03 -05:00
2026-09-29 08:25:56 -05:00
2026-09-29 08:25:56 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 08:56:41 -05:00
2026-09-29 08:25:56 -05:00
2026-06-19 08:35:53 -07:00
2026-10-10 07:15:41 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-08-18 09:44:24 -05:00
2026-04-24 15:50:32 -05:00
2026-09-08 11:00:55 -07:00
2026-10-02 10:01:15 -05:00
2026-10-09 09:05:12 -07:00
2026-10-05 14:57:04 -05:00
2026-10-09 09:05:12 -07:00
2026-10-06 13:29:03 -05:00
2026-10-06 20:48:15 -05:00
2026-10-09 17:06:54 -05:00
2026-10-09 17:06:54 -05:00
2026-10-05 20:44:37 -05:00
2026-10-09 13:38:01 -07:00
2026-10-05 20:44:37 -05:00
2026-10-06 13:29:03 -05:00
2026-10-09 13:38:01 -07:00
2026-10-10 13:09:17 -05:00
2026-10-06 13:29:03 -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-10-07 14:43:07 -05:00
2026-10-07 14:43:07 -05:00
2026-09-23 17:11:16 -05:00
2026-09-23 17:11:16 -05:00
2026-10-09 09:05:12 -07:00
2026-08-29 12:08:35 -05:00
2026-08-29 12:08:35 -05:00
2026-08-20 17:28:01 -07:00
2026-03-03 08:45:26 -06:00
2026-09-14 21:58:34 -07:00
2026-08-29 12:08:33 -05:00
2026-10-07 07:06:40 -05:00
2026-10-09 09:05:12 -07:00
2026-07-30 16:52:58 -07:00
2026-10-10 13:09:17 -05:00
2026-08-11 14:39:23 -04:00
2026-08-11 14:39:23 -04:00
2026-09-30 07:13:16 -05:00
2026-09-30 07:13:16 -05:00
2026-10-10 07:06:31 -05:00
2026-10-10 07:06:31 -05:00
2026-10-06 22:26:48 -07:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-09-19 09:18:10 -07:00
2026-10-03 01:00:42 -05:00
2026-05-28 07:33:51 -10:00
2026-09-29 08:25:56 -05:00
2026-10-11 06:08:05 -05:00
2026-09-10 10:06:45 -05:00
2026-10-12 09:49:34 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 10:01:26 -05:00
2026-09-11 18:11:44 -05:00
2026-09-11 18:11:44 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-10-08 06:33:31 -05:00
2026-10-10 13:14:23 -05:00
2026-09-09 13:49:12 -05:00
2026-10-06 07:19:15 -07:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-21 14:41:19 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-09-21 14:41:19 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-09-09 13:49:12 -05:00
2026-09-21 14:41:19 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-10-09 17:01:20 -05:00
2026-10-10 13:09:17 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-10-10 09:13:44 -05:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-24 10:51:45 -05:00
2026-09-09 13:49:12 -05:00
2026-10-09 21:54:11 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-12 15:23:50 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-10-09 16:29:54 -05:00
2026-10-10 13:09:17 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-10-10 13:14:23 -05:00
2026-09-10 10:06:45 -05:00
2026-10-10 09:13:44 -05:00
2026-10-09 21:54:11 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-12 15:23:50 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-10-08 06:33:31 -05:00
2026-10-10 13:14:23 -05:00
2026-10-11 06:08:05 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-19 20:40:05 -05:00
2026-09-19 20:40:05 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-10-06 07:19:15 -07:00
2026-10-10 09:13:44 -05:00
2026-10-06 07:19:15 -07:00
2026-09-10 10:06:45 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-09 13:49:12 -05:00
2026-09-10 10:06:45 -05:00
2026-10-11 06:08:05 -05:00
2026-09-22 17:49:15 -07:00
2026-09-22 17:49:15 -07:00
2026-10-06 06:58:36 -07:00
2026-09-03 12:01:47 -05:00
2026-09-22 17:49:15 -07:00
2026-10-06 09:11:25 -07:00
2026-10-06 09:11:25 -07:00
2026-09-12 16:30:10 -05:00
2026-10-06 22:26:48 -07:00
2026-09-24 15:54:38 -05:00
2026-10-09 09:05:12 -07:00
2026-10-04 02:13:46 -07:00
2026-10-09 09:05:12 -07:00
2026-08-14 22:11:16 -07:00
2026-08-11 15:25:07 -07:00
2026-10-06 15:55:38 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 09:05:12 -07:00
2026-10-07 07:06:40 -05:00
2026-05-06 06:32:37 -05:00
2026-10-07 07:06:40 -05:00
2026-07-15 11:42:40 -05:00
2026-10-09 09:05:12 -07:00
2026-08-11 15:25:07 -07:00
2026-10-05 14:57:04 -05:00
2026-09-30 11:46:46 -05:00
2026-10-05 14:57:04 -05:00
2026-09-30 14:32:34 -05:00
2026-09-30 14:32:34 -05:00
2026-10-05 18:16:00 -05:00
2026-10-11 09:30:45 -07:00
2026-10-09 17:01:20 -05:00
2026-09-30 14:32:34 -05:00
2026-10-05 14:57:04 -05:00
2026-10-09 21:54:11 -05:00
2026-09-23 22:32:40 +00:00
2026-09-23 22:32:40 +00:00
2026-09-30 11:46:46 -05:00
2026-10-07 13:29:44 -07:00
2026-10-11 22:48:29 -07:00
2026-10-06 22:26:48 -07:00
2026-10-11 22:48:29 -07:00
2026-10-09 17:06:54 -05:00
2026-03-13 16:22:34 -05:00
2026-08-16 13:46:50 -05:00
2026-10-06 21:38:15 -05:00
2026-10-06 21:38:15 -05:00
2026-10-01 12:18:35 -05:00
2026-10-06 22:26:48 -07:00
2026-07-07 05:54:20 -05:00
2026-10-07 15:53:13 -05:00
2026-10-07 15:53:13 -05:00
2026-09-11 15:46:35 -05:00
2026-08-02 10:47:03 -05:00
2026-07-31 22:48:32 -07:00
2026-10-07 07:06:40 -05:00
2026-08-02 10:47:03 -05:00
2026-08-29 19:26:20 -05:00
2026-10-02 17:56:42 -05:00
2026-10-09 17:19:41 -05:00
2026-10-11 06:08:05 -05:00
2026-08-28 21:48:34 -07:00
2026-08-28 21:48:34 -07:00
2026-09-12 16:30:10 -05:00
2026-09-19 09:18:10 -07:00
2026-07-09 22:11:03 -05:00
2026-09-17 08:40:40 -05:00
2026-10-09 12:58:35 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 16:20:38 -05:00
2026-08-31 14:38:38 -05:00
2026-10-09 14:03:02 -05:00
2026-10-07 10:16:49 -05:00
2026-10-10 13:09:17 -05:00
2026-10-02 10:01:15 -05:00
2026-10-09 14:25:14 -07:00
2026-10-06 11:48:53 -05:00
2026-08-18 11:43:39 -07:00
2026-07-03 16:44:21 -07:00
2026-07-03 16:44:21 -07:00
2026-07-03 16:44:21 -07:00
2026-08-23 21:24:59 -07:00
2026-09-01 01:29:06 -05:00
2026-10-11 12:08:45 -07:00
2026-07-10 14:32:47 -07:00
2026-10-09 08:56:41 -05:00
2026-10-11 12:08:45 -07:00
2026-10-09 09:05:12 -07:00
2026-10-08 19:27:39 -07:00
2026-10-09 08:56:41 -05:00
2026-08-11 11:40:57 -07:00
2026-08-11 11:40:57 -07:00
2026-10-07 13:29:44 -07:00
2026-09-21 20:06:05 -07:00
2026-09-29 10:25:52 -05:00
2026-10-07 07:06:40 -05:00
2026-09-09 09:14:25 -05:00
2026-09-17 15:52:19 -05:00
2026-10-09 09:05:12 -07:00
2026-06-10 21:09:02 -07:00
2026-06-10 21:09:02 -07:00
2026-10-05 20:09:18 -07:00
2026-09-21 18:13:01 -05:00
2026-10-05 20:09:18 -07:00
2026-10-05 20:44:37 -05:00
2026-10-05 20:44:37 -05:00
2026-10-07 13:29:44 -07:00
2026-09-10 10:06:45 -05:00
2026-09-11 11:43:40 -05:00
2026-08-21 17:23:18 -05:00
2026-10-09 21:54:11 -05:00
2026-10-07 07:06:40 -05:00
2026-10-05 10:57:57 -07:00
2026-10-09 16:47:21 -05:00
2026-10-09 16:47:21 -05:00
2026-07-30 11:37:00 -07:00
2026-10-11 11:53:21 -07:00
2026-10-10 13:09:17 -05:00
2026-10-10 13:09:17 -05:00
2026-10-10 13:09:17 -05:00
2026-04-02 09:11:49 -05:00
2026-10-09 10:01:26 -05:00
2026-10-09 10:01:26 -05:00
2026-10-06 22:26:48 -07:00
2026-09-23 17:11:16 -05:00
2026-09-23 17:11:16 -05:00
2026-07-16 15:50:45 -05:00
2026-10-08 10:19:40 -07:00
2026-09-09 10:15:10 -05:00
2026-09-02 15:27:54 -05:00
2026-10-09 17:01:20 -05:00
2026-10-11 11:53:21 -07:00
2026-08-02 20:27:09 -07:00
2026-09-10 10:06:45 -05:00
2026-09-02 15:27:54 -05:00
2026-09-30 13:32:58 -05:00
2026-09-22 15:12:30 -05:00
2026-03-12 08:50:31 -05:00
2026-09-22 15:12:30 -05:00
2026-09-22 15:12:30 -05:00
2026-09-22 13:07:13 -05:00
2026-09-22 13:07:13 -05:00
2026-08-20 17:09:42 -05:00
2026-09-14 21:58:34 -07:00
2026-10-07 07:06:40 -05:00
2026-08-21 12:51:22 -07:00
2026-07-02 22:21:56 -07:00
2026-09-09 12:18:56 -05:00
2026-09-29 10:18:30 -05:00
2026-10-09 08:56:41 -05:00
2026-10-02 16:09:36 -07:00
2026-10-02 16:09:36 -07:00
2026-10-12 09:40:09 -05:00
2026-04-04 14:04:33 -05:00
2026-10-05 18:16:00 -05:00
2026-10-09 08:56:41 -05:00
2026-10-09 08:56:41 -05:00
2026-10-01 09:45:18 -05:00
2026-10-08 15:58:55 -07:00
2026-10-11 10:01:57 -07:00
2026-10-11 12:27:51 -07:00
2026-08-10 17:01:33 -07:00
2026-07-16 16:49:18 -05:00
2026-07-10 17:09:57 -05:00
2026-10-07 15:53:13 -05:00
2026-10-10 13:09:17 -05:00
2026-10-09 09:05:12 -07:00
2026-07-14 15:47:58 -07:00
2026-09-30 18:06:07 -05:00
2026-09-30 18:06:07 -05:00
2026-03-03 08:45:26 -06:00
2026-09-10 10:06:45 -05:00
2026-07-31 18:52:59 -07:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-09-29 10:18:30 -05:00
2026-09-11 12:39:08 -05:00
2026-10-10 00:40:08 -07:00
2026-08-23 08:50:38 -07:00
2026-08-23 08:50:38 -07:00
2026-10-08 10:20:32 -07:00
2026-03-24 11:48:59 -05:00
2026-04-24 15:50:32 -05:00
2026-10-07 08:41:24 -05:00
2026-08-27 11:34:42 -07:00
2026-08-27 11:34:42 -07:00
2026-10-09 16:47:21 -05:00
2026-10-09 16:47:21 -05:00
2026-10-02 22:07:14 -05:00
2026-10-02 22:07:14 -05:00
2026-09-30 10:26:28 -05:00
2026-10-10 00:40:08 -07:00
2026-09-28 09:33:39 -05:00
2026-06-05 03:20:46 +00:00
2026-08-16 13:46:50 -05:00
2026-08-04 13:17:49 -05:00
2026-08-29 12:08:33 -05:00
2026-08-31 14:38:38 -05:00
2026-10-06 20:33:13 -05:00
2026-10-11 09:30:45 -07:00
2026-09-30 16:48:24 -05:00
2026-09-12 08:56:04 -05:00
2026-09-22 10:35:33 -05:00
2026-10-10 09:13:44 -05:00
2026-07-28 10:50:13 -07:00
2026-09-11 16:55:44 -07:00
2026-09-11 16:55:44 -07:00
2026-10-03 01:00:42 -05:00
2026-10-10 01:27:03 -07:00
2026-10-11 09:30:59 -07:00
2026-10-10 01:27:03 -07:00
2026-09-10 10:06:45 -05:00
2026-10-09 08:19:51 -05:00
2026-10-09 08:19:51 -05: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-10-09 08:19:51 -05:00
2026-08-21 16:03:43 -07:00
2026-08-28 21:48:34 -07:00
2026-08-28 21:48:34 -07:00
2026-10-01 09:45:18 -05:00
2026-09-02 00:48:30 -05:00
2026-07-27 18:58:31 -07:00
2026-09-10 19:23:13 -07:00
2026-09-10 19:23:13 -07:00
2026-08-07 00:41:42 -05:00
2026-08-07 00:41:42 -05:00
2026-08-19 02:37:02 -05:00
2026-10-08 10:19:40 -07:00
2026-10-08 10:19:40 -07:00
2026-10-02 13:47:59 -05:00
2026-10-02 13:47:59 -05:00
2026-09-14 09:45:34 -05:00
2026-10-02 17:56:42 -05:00
2026-10-03 12:32:42 -05:00
2026-09-08 20:19:14 -07:00
2026-09-08 20:19:14 -07:00
2026-10-09 09:05:12 -07:00
2026-10-06 13:29:03 -05:00
2026-10-06 13:29:03 -05:00
2026-10-01 15:42:40 -05:00
2026-08-31 16:43:46 -05:00
2026-09-03 12:01:47 -05:00
2026-08-31 14:34:46 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 17:01:20 -05:00
2026-08-31 14:34:46 -05:00
2026-10-07 19:52:30 -07:00
2026-07-09 13:08:56 -05:00
2026-06-26 12:02:44 -05:00
2026-07-09 13:08:56 -05:00
2026-08-29 19:26:20 -05:00
2026-08-31 14:38:38 -05:00
2026-09-22 16:39:11 -07:00
2026-03-14 15:43:56 -07:00
2026-05-15 10:20:02 -05:00
2026-05-12 17:38:24 -05:00
2026-08-23 21:24:59 -07:00
2026-03-13 16:58:29 -05:00
2026-03-13 16:22:34 -05:00
2026-10-09 09:05:12 -07:00
2026-09-19 09:18:10 -07:00
2026-03-13 16:22:34 -05:00
2026-10-06 09:11:25 -07:00
2026-03-13 16:22:34 -05:00
2026-10-06 12:27:09 -07:00
2026-05-20 10:37:11 -05:00
2026-09-19 09:18:10 -07:00
2026-05-17 17:15:06 -05:00
2026-03-13 16:22:34 -05:00
2026-10-09 09:05:12 -07:00
2026-07-24 16:47:24 -05:00
2026-05-10 07:34:12 -05:00
2026-08-21 00:04:14 -07:00
2026-09-19 09:18:10 -07:00
2026-03-13 16:22:34 -05:00
2026-07-14 12:57:20 -05:00
2026-03-13 16:22:34 -05:00
2026-03-13 16:22:34 -05:00
2026-06-03 19:13:21 -07:00
2026-06-03 19:13:21 -07:00
2026-10-08 12:57:32 -07:00
2026-05-28 07:33:51 -10:00
2026-10-11 09:30:45 -07:00
2026-10-07 13:53:46 -05:00
2026-05-22 08:12:52 -05:00
2026-10-07 12:05:21 -07:00
2026-10-09 17:01:20 -05:00
2026-09-16 13:01:58 -05:00
2026-10-05 10:31:11 -05:00
2026-04-20 10:39:37 -05:00
2026-10-07 07:06:40 -05:00
2026-10-06 22:26:48 -07:00
2026-09-06 15:45:07 -05:00
2026-08-31 14:38:38 -05:00
2026-08-31 14:38:38 -05:00
2026-08-31 14:38:38 -05:00
2026-10-02 14:21:11 -05:00
2026-10-02 14:21:11 -05:00
2026-10-02 14:21:11 -05:00
2026-10-02 14:21:11 -05:00
2026-10-09 10:01:26 -05:00
2026-09-16 14:44:36 -05:00
2026-10-11 10:01:57 -07:00
2026-10-11 10:01:57 -07:00
2026-09-16 13:54:44 -07:00
2026-09-16 13:54:44 -07:00
2026-10-06 22:26:48 -07:00
2026-08-22 11:41:24 -05:00
2026-09-06 15:45:07 -05:00
2026-09-02 00:48:30 -05:00
2026-10-08 10:19:40 -07:00
2026-09-11 15:18:37 -05:00
2026-10-08 10:19:40 -07:00
2026-10-08 10:19:40 -07:00
2026-09-21 12:53:11 -05:00
2026-08-29 12:08:34 -05:00
2026-08-29 12:08:34 -05:00
2026-10-06 11:43:16 -07:00
2026-10-07 13:53:46 -05:00
2026-07-05 05:58:20 -05:00
2026-07-05 05:58:20 -05:00
2026-07-23 15:49:28 -05:00
2026-06-12 10:15:53 -07:00
2026-10-05 22:54:25 -07:00
2026-10-02 13:47:59 -05:00
2026-10-02 13:47:59 -05:00
2026-04-24 15:50:32 -05:00
2026-10-06 22:26:48 -07:00
2026-10-11 21:22:39 -07:00
2026-10-08 13:48:48 -07:00
2026-09-28 16:16:05 -07:00
2026-10-06 15:36:01 -05:00
2026-09-28 19:15:33 -07:00
2026-09-30 11:54:56 -05:00
2026-09-30 11:54:56 -05:00
2026-07-08 13:38:36 -05:00
2026-07-08 13:38:36 -05:00
2026-10-09 17:06:54 -05:00
2026-10-01 09:45:18 -05:00
2026-09-26 21:23:33 -05:00
2026-09-08 16:18:47 -05:00
2026-09-08 16:18:47 -05:00
2026-10-07 06:53:20 -05:00
2026-09-12 08:56:04 -05:00
2026-10-06 22:26:48 -07:00
2026-07-27 19:45:59 -05:00
2026-09-10 10:06:45 -05:00
2026-09-10 10:06:45 -05:00
2026-10-08 08:35:45 -07:00
2026-09-28 10:57:32 -05:00
2026-10-10 01:27:03 -07:00
2026-10-11 09:30:45 -07:00
2026-08-18 09:44:24 -05:00
2026-08-18 09:44:24 -05:00
2026-10-09 09:05:12 -07:00
2026-10-06 11:48:53 -05:00
2026-05-13 16:23:04 -05:00
2026-05-13 16:23:04 -05:00
2026-08-27 11:29:05 -07:00
2026-08-20 17:54:44 -07:00
2026-08-19 11:51:31 -07:00
2026-08-19 11:51:31 -07:00
2026-09-05 10:03:13 -07:00
2026-09-12 16:30:10 -05:00
2026-09-05 10:03:13 -07:00
2026-08-23 09:44:59 -07:00
2026-09-29 09:40:21 -05:00
2026-04-14 12:57:11 -05:00
2026-09-30 13:32:58 -05:00
2026-09-30 13:32:58 -05:00
2026-09-30 13:32:58 -05:00
2026-09-30 13:32:58 -05:00
2026-09-30 13:32:58 -05:00
2026-09-30 13:32:58 -05:00
2026-10-03 12:37:55 -05:00
2026-10-03 12:37:55 -05:00
2026-06-19 09:14:41 -07:00
2026-09-24 10:51:45 -05:00
2026-09-24 10:51:45 -05:00
2026-10-10 13:14:23 -05:00
2026-09-24 10:51:45 -05:00
2026-10-09 21:54:11 -05:00
2026-10-09 21:54:11 -05:00
2026-09-21 20:25:06 -07:00
2026-09-21 20:25:06 -07:00
2026-08-29 12:08:33 -05:00
2026-06-05 16:48:02 -05:00
2026-09-12 08:56:04 -05:00
2026-07-24 12:26:43 -05:00
2026-07-24 16:44:56 -05:00
2026-10-09 09:05:12 -07:00
2026-10-09 13:38:01 -07:00
2026-10-11 10:01:57 -07:00
2026-10-09 13:38:01 -07:00
2026-10-09 13:38:01 -07:00
2026-08-05 15:59:01 -05:00
2026-07-17 11:03:07 -05:00
2026-10-09 09:05:12 -07:00
2026-07-31 18:52:23 -07:00
2026-10-08 08:35:45 -07:00
2026-09-12 08:56:04 -05:00
2026-10-07 07:06:40 -05:00
2026-06-19 15:38:52 -05:00
2026-08-16 13:46:50 -05:00
2026-06-05 12:55:49 -05:00
2026-10-05 14:57:04 -05:00
2026-10-09 17:01:20 -05:00
2026-10-09 10:01:26 -05:00
2026-10-09 10:01:26 -05:00
2026-08-29 12:08:32 -05:00
2026-09-07 14:32:20 -05:00
2026-10-02 07:45:27 -05:00
2026-10-02 07:45:27 -05:00
2026-10-11 09:30:45 -07:00
2026-07-14 14:22:39 -05:00
2026-10-05 14:57:04 -05:00
2026-10-05 14:57:04 -05:00
2026-07-14 14:22:39 -05:00
2026-07-14 14:22:39 -05:00
2026-10-01 09:45:18 -05:00
2026-10-08 08:35:45 -07:00
2026-08-29 12:08:34 -05:00
2026-08-29 12:08:34 -05:00
2026-10-06 16:03:13 -07:00
2026-10-09 10:01:26 -05:00
2026-09-19 07:57:53 -05:00
2026-10-09 12:50:03 -07:00
2026-10-07 09:01:05 -05:00
2026-09-11 08:34:24 -05:00
2026-09-28 08:40:36 -05:00
2026-09-28 08:40:36 -05:00
2026-09-29 08:56:21 -05:00
2026-08-19 02:37:02 -05:00
2026-08-19 02:37:02 -05:00
2026-09-18 07:21:11 -07:00
2026-09-28 09:33:39 -05:00
2026-08-19 02:37:02 -05:00
2026-08-23 21:24:59 -07:00
2026-10-07 13:29:44 -07:00
2026-10-07 13:29:44 -07:00
2026-08-17 06:23:33 -04:00
2026-09-30 14:16:15 -05:00
2026-08-19 02:37:02 -05:00
2026-08-29 12:08:32 -05:00
2026-08-29 12:08:32 -05:00
2026-08-21 17:23:18 -05:00
2026-10-11 19:51:23 -07:00
2026-10-07 19:52:30 -07:00