Behruz Nassre Esfahani
23254ca5a7
fix( #1936 ): reconstruct OpenCode review from JSON events ( #1992 )
...
* fix(#1936 ): reconstruct OpenCode review from JSON events; diagnosable empty-output stub
On a large review prompt, OpenCode's default `build` agent runs a few read
tool calls then ends its turn with zero output tokens (reason:"stop",
output:0), so `opencode run --format default` emits empty stdout. The reviewer
block redirected stderr to /dev/null and wrote a generic "failed or returned
empty output" stub — so the phase silently lost its second independent reviewer
with no diagnostic and no timeout.
Rewrite the OpenCode reviewer block to invoke `--format json` as the primary
call and reconstruct the review from the assistant `text` parts (jq). Capture
stderr to a `.err` sidecar (mirrors the Codex block). When the agent emits no
text, surface the stop reason, output-token count, and stderr so the failure is
diagnosable. Gate the stub on the extracted CONTENT, not the output file size —
an empty jq extraction still prints a lone newline that a `[ -s file ]` check
would treat as populated. Document the wall-clock timeout as a Bash-tool param
(macOS lacks GNU timeout; opencode has no native timeout flag).
review.md was already at the DEFAULT size-tier ceiling (40956/40960), so the
fix cannot fit without reclassifying it into the LARGE tier (it is a
multi-reviewer orchestration file that outgrew "focused single-purpose"; 43.4 KB
sits well under the LARGE high-water mark). Recapture the 16 golden-install
fixtures — the diff is exactly one review.md hash per runtime. Regression block
folded into review-default-reviewers-workflow.test.cjs (new bug-NNNN test files
are not accepted).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* chore(#1936 ): add changeset
* test(#1936 ): property-test the OpenCode review jq reconstruction
Address the re-review's one actionable finding: the jq JSON-event → text
reconstruction had no fast-check property test.
Add tests/opencode-review-reconstruction.property.test.cjs. It extracts the two
shipped jq programs (OPENCODE_REVIEW, OPENCODE_DIAG) verbatim from
gsd-core/workflows/review.md and runs the real jq — not a reimplementation — so
the shipped logic is what gets tested. Properties: the reconstructed review
equals the newline-join of every assistant text part (order preserved); a stream
with no text part reconstructs to empty (drives the #1936 stub); null/absent text
parts are dropped, never rendered as "null". Plus example-based coverage of the
diagnostic edges the reviewer cited: missing .tokens.output and no step_finish
degrade to "?"; non-JSON stdout makes jq fail rather than masquerade as a review.
Verified the invariant has teeth (a comma-join jq fails the property).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* test(#1936 ): skip jq reconstruction property test when jq is absent
The property test shells out to `jq`, which GitHub's windows-latest runners do
not ship (macOS/Linux runners do). `execFileSync('jq')` therefore ENOENT-failed
the whole file on `test (windows-latest, *)`. Probe `jq --version` at load and
skip the suite when jq is not on PATH — the reconstruction logic is
platform-independent, so the assertions still run in full on every jq-present
runner (mirrors how golden-install-parity skips on win32).
Verified: jq present → 7 pass; jq removed from PATH → 7 skipped, 0 fail.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* test(#1936 ): skip jq reconstruction property test on Windows, not just when jq is absent
The prior guard skipped only when `jq` was absent from PATH — but the
windows-latest runners DO ship jq, so the suite still ran there and failed with
`jq: parse error: Invalid numeric literal` (confirmed from the CI job log). Root
cause is Node's child_process argument quoting mangling the jq program (it embeds
double quotes) on Windows, not the shipped review.md logic — the macOS/Linux legs
pass. Gate the suite on `process.platform === 'win32'` (still also skipping when
jq is absent), mirroring golden-install-parity's win32 skip. Logic is
platform-independent and fully asserted on every macOS/Linux CI leg.
Verified: macOS → 7 pass; simulated win32 → skips.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-05 14:07:07 -04:00
..
2026-06-25 18:24:39 -04:00
2026-07-05 14:07:07 -04:00
2026-07-04 13:32:51 -04:00
2026-06-25 18:24:39 -04:00
2026-06-15 23:21:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 08:52:23 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-14 15:52:22 -04:00
2026-06-14 20:52:36 -04:00
2026-06-14 10:45:42 -04:00
2026-06-14 17:16:19 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-21 22:55:22 -04:00
2026-06-13 23:35:08 -04:00
2026-06-23 19:34:08 -04:00
2026-07-03 09:51:29 -04:00
2026-06-15 15:46:41 -04:00
2026-06-11 20:50:08 -04:00
2026-07-03 10:06:11 -04:00
2026-07-02 13:01:10 -04:00
2026-06-12 09:58:44 -04:00
2026-04-25 10:50:54 -04:00
2026-07-01 20:09:01 -04:00
2026-06-20 16:49:18 -07:00
2026-06-12 19:51:54 -04:00
2026-06-11 23:59:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 09:17:32 -04:00
2026-06-27 08:43:47 -04:00
2026-06-27 08:43:47 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 08:59:23 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-06-25 18:24:39 -04:00
2026-06-30 21:29:38 -04:00
2026-06-10 16:10:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 08:31:35 -04:00
2026-06-15 18:11:20 -04:00
2026-05-30 17:44:36 -04:00
2026-06-20 10:50:12 -04:00
2026-06-18 23:37:43 -04:00
2026-06-20 01:59:03 -04:00
2026-06-09 22:35:42 -04:00
2026-06-19 19:55:10 -04:00
2026-06-23 21:49:43 -04:00
2026-06-20 03:24:47 -04:00
2026-06-26 12:44:09 -04:00
2026-07-03 19:37:14 -04:00
2026-06-16 02:38:47 -04:00
2026-07-04 13:32:51 -04:00
2026-06-20 10:50:12 -04:00
2026-06-20 01:59:03 -04:00
2026-06-20 01:59:03 -04:00
2026-06-14 12:51:17 -04:00
2026-07-03 09:17:32 -04:00
2026-06-10 15:55:31 -04:00
2026-06-08 14:04:26 -04:00
2026-06-10 15:55:31 -04:00
2026-06-14 15:02:54 -04:00
2026-05-16 13:09:54 -04:00
2026-05-01 18:12:20 -04:00
2026-05-30 17:25:02 -04:00
2026-05-28 09:23:59 -04:00
2026-07-03 19:37:38 -04:00
2026-07-05 14:04:29 -04:00
2026-06-13 21:07:55 -04:00
2026-06-11 00:58:21 -04:00
2026-07-03 08:59:23 -04:00
2026-06-25 18:24:39 -04:00
2026-06-01 22:43:49 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 01:55:48 -04:00
2026-06-12 16:03:51 -04:00
2026-07-03 01:55:48 -04:00
2026-06-25 21:16:47 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 10:40:12 -04:00
2026-06-23 12:51:46 -04:00
2026-05-29 11:39:52 -04:00
2026-07-03 08:59:23 -04:00
2026-06-13 23:35:08 -04:00
2026-06-10 14:07:23 -04:00
2026-06-06 11:24:48 -04:00
2026-07-03 08:59:23 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 10:06:11 -04:00
2026-06-25 21:16:47 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 10:22:11 -04:00
2026-04-10 10:56:09 -04:00
2026-06-24 13:19:10 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 14:02:53 -04:00
2026-07-03 08:59:23 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 08:25:41 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:39:24 -04:00
2026-06-22 22:44:44 -04:00
2026-06-22 22:44:44 -04:00
2026-07-04 13:32:51 -04:00
2026-07-05 14:03:29 -04:00
2026-06-22 23:43:22 -04:00
2026-06-22 23:43:22 -04:00
2026-06-13 23:35:08 -04:00
2026-06-17 08:51:48 -04:00
2026-06-07 19:22:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 13:26:25 -04:00
2026-07-04 13:32:51 -04:00
2026-06-15 18:11:20 -04:00
2026-06-07 10:27:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-20 13:36:57 -04:00
2026-07-03 09:17:32 -04:00
2026-06-20 13:36:57 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 10:06:11 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 10:22:11 -04:00
2026-06-25 18:24:39 -04:00
2026-06-12 19:51:54 -04:00
2026-06-12 11:05:31 -04:00
2026-06-14 21:44:21 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 20:14:12 -04:00
2026-06-24 17:16:13 -04:00
2026-06-24 17:16:13 -04:00
2026-06-13 21:07:55 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 09:17:32 -04:00
2026-06-15 20:53:38 -04:00
2026-07-03 19:37:38 -04:00
2026-07-03 09:51:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-28 12:00:43 -04:00
2026-06-28 12:25:02 -04:00
2026-06-14 12:23:07 -04:00
2026-07-03 19:37:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 21:07:55 -04:00
2026-06-20 01:59:03 -04:00
2026-06-12 23:43:07 -04:00
2026-06-02 18:35:29 -04:00
2026-05-26 11:23:42 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 19:42:05 -04:00
2026-06-28 22:42:44 -04:00
2026-07-02 11:43:47 -04:00
2026-07-03 08:59:23 -04:00
2026-07-02 11:43:47 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 14:04:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 10:22:11 -04:00
2026-07-04 13:32:51 -04:00
2026-06-30 00:55:09 -04:00
2026-07-02 13:01:10 -04:00
2026-07-03 08:59:23 -04:00
2026-06-15 23:19:21 -04:00
2026-07-03 10:22:11 -04:00
2026-06-15 23:19:21 -04:00
2026-06-06 11:24:48 -04:00
2026-07-03 09:34:39 -04:00
2026-06-28 14:27:43 -04:00
2026-06-28 12:45:25 -04:00
2026-06-25 18:24:39 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 10:06:11 -04:00
2026-07-03 09:34:39 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 12:18:25 -04:00
2026-07-02 18:08:42 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 08:59:23 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 11:23:35 -04:00
2026-06-30 21:29:38 -04:00
2026-06-25 21:16:47 -04:00
2026-06-28 11:44:36 -04:00
2026-04-04 14:29:03 -04:00
2026-06-01 22:43:49 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-02 21:45:35 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 01:55:48 -04:00
2026-07-03 10:22:11 -04:00
2026-06-24 17:07:23 -04:00
2026-06-02 18:35:29 -04:00
2026-07-04 13:32:51 -04:00
2026-06-25 21:16:47 -04:00
2026-07-03 10:22:11 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 10:22:11 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 18:35:29 -04:00
2026-06-23 12:51:46 -04:00
2026-06-09 12:51:15 -04:00
2026-06-06 11:24:48 -04:00
2026-07-03 09:34:39 -04:00
2026-07-03 09:34:39 -04:00
2026-06-16 00:12:54 -04:00
2026-07-03 09:51:29 -04:00
2026-06-25 18:24:39 -04:00
2026-06-23 19:34:08 -04:00
2026-07-03 09:34:39 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 22:36:47 -04:00
2026-06-25 21:16:47 -04:00
2026-06-11 15:46:49 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 19:37:14 -04:00
2026-06-02 18:35:29 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-20 13:37:38 -04:00
2026-06-24 17:07:23 -04:00
2026-06-07 15:20:55 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 19:37:14 -04:00
2026-07-01 11:51:11 -04:00
2026-07-04 13:32:51 -04:00
2026-06-01 22:43:49 -04:00
2026-06-07 20:35:43 -04:00
2026-06-13 16:13:00 -04:00
2026-07-03 08:59:23 -04:00
2026-06-06 22:16:20 +02:00
2026-06-07 01:27:12 +02:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-10 01:05:24 -04:00
2026-06-18 08:50:22 -04:00
2026-06-01 22:43:49 -04:00
2026-06-06 11:24:48 -04:00
2026-06-22 00:59:41 -04:00
2026-06-22 00:59:41 -04:00
2026-06-11 14:11:50 -04:00
2026-06-12 21:24:09 -04:00
2026-06-16 00:12:54 -04:00
2026-06-13 21:07:55 -04:00
2026-06-16 00:12:54 -04:00
2026-07-03 19:37:14 -04:00
2026-06-18 14:41:20 -04:00
2026-06-21 14:37:18 -04:00
2026-06-21 14:37:18 -04:00
2026-07-03 10:22:11 -04:00
2026-06-17 15:44:11 -04:00
2026-06-15 17:20:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-15 18:11:20 -04:00
2026-05-31 23:15:55 -04:00
2026-06-25 18:24:39 -04:00
2026-07-05 14:03:43 -04:00
2026-06-28 11:27:44 -04:00
2026-06-30 22:21:18 -04:00
2026-06-11 13:36:23 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 10:06:11 -04:00
2026-07-04 13:32:51 -04:00
2026-06-14 08:25:41 -04:00
2026-06-25 21:49:22 -04:00
2026-05-06 21:51:38 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-06-24 14:46:44 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-06-25 18:24:39 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 09:17:32 -04:00
2026-06-25 18:24:39 -04:00
2026-06-25 14:37:10 -04:00
2026-06-21 15:09:20 -04:00
2026-06-25 15:26:23 -04:00
2026-06-25 16:25:48 -04:00
2026-07-04 13:32:51 -04:00
2026-06-25 21:49:22 -04:00
2026-07-03 10:22:11 -04:00
2026-07-02 14:57:44 -04:00
2026-07-02 21:45:35 -04:00
2026-07-05 14:07:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-25 18:24:39 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-04-06 15:13:23 -04:00
2026-06-25 18:24:39 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 00:39:32 -04:00
2026-04-16 17:15:29 -04:00
2026-07-03 10:22:11 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 14:11:50 -04:00
2026-07-03 10:22:11 -04:00
2026-06-22 12:33:13 -04:00
2026-06-12 19:51:54 -04:00
2026-06-25 18:24:39 -04:00
2026-06-13 21:07:55 -04:00
2026-06-12 21:24:09 -04:00
2026-07-03 01:55:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-20 18:45:41 -04:00
2026-06-15 18:11:20 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 01:55:48 -04:00
2026-07-02 22:15:25 -04:00
2026-07-02 16:49:50 -04:00
2026-04-04 14:29:03 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-06-27 08:43:47 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 09:51:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 08:59:23 -04:00
2026-06-25 14:37:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-25 18:24:39 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-25 18:24:39 -04:00
2026-06-11 13:36:47 -04:00
2026-06-25 23:55:58 -04:00
2026-06-26 08:12:40 -04:00
2026-06-16 21:55:51 -04:00
2026-05-18 12:06:46 -04:00
2026-05-28 18:06:19 -04:00
2026-05-28 18:06:19 -04:00
2026-06-21 10:44:48 -04:00
2026-07-02 11:55:53 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 01:55:48 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 08:59:23 -04:00
2026-06-15 22:48:48 -04:00
2026-07-03 23:21:55 -04:00
2026-06-25 18:24:39 -04:00
2026-06-14 21:29:11 -04:00
2026-06-16 14:00:49 -04:00
2026-06-14 21:29:11 -04:00
2026-06-14 21:29:11 -04:00
2026-06-15 23:21:20 -04:00
2026-06-22 09:32:29 -04:00
2026-06-20 13:37:16 -04:00
2026-05-18 23:13:09 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-25 18:24:39 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 09:17:32 -04:00
2026-06-02 18:35:29 -04:00
2026-05-01 19:50:10 -04:00
2026-06-25 21:16:47 -04:00
2026-04-04 14:29:03 -04:00
2026-07-03 10:22:11 -04:00
2026-06-24 17:07:23 -04:00
2026-06-24 17:07:23 -04:00
2026-07-03 09:34:39 -04:00
2026-07-03 09:34:39 -04:00
2026-06-17 14:32:43 -04:00
2026-06-25 18:24:39 -04:00
2026-05-26 22:46:09 -04:00
2026-05-29 10:54:49 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 10:06:11 -04:00
2026-07-03 09:34:39 -04:00
2026-06-25 23:55:58 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 10:06:11 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-05 14:07:07 -04:00
2026-04-26 13:33:45 -04:00
2026-06-26 23:35:04 -04:00
2026-06-26 23:35:04 -04:00
2026-06-13 23:35:08 -04:00
2026-06-21 23:04:34 -04:00
2026-05-06 21:51:38 -04:00
2026-07-03 10:06:11 -04:00
2026-06-30 20:43:25 -04:00
2026-06-21 23:21:39 -04:00
2026-07-05 14:03:29 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 10:22:11 -04:00
2026-06-21 20:40:13 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 08:59:23 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 08:59:23 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 10:22:11 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 17:03:01 -04:00
2026-05-26 18:56:00 -04:00
2026-07-02 21:45:35 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 09:17:32 -04:00
2026-06-09 23:50:41 -04:00
2026-06-25 18:24:39 -04:00
2026-07-03 10:06:11 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 08:59:23 -04:00
2026-06-06 11:24:48 -04:00
2026-06-14 20:52:56 -04:00
2026-06-13 23:35:08 -04:00
2026-07-04 13:32:51 -04:00
2026-07-03 12:18:25 -04:00
2026-07-03 08:59:23 -04:00
2026-07-04 13:32:51 -04:00
2026-07-05 14:04:00 -04:00
2026-07-03 12:18:25 -04:00
2026-06-25 18:24:39 -04:00
2026-06-25 09:12:40 -04:00
2026-06-02 18:35:29 -04:00
2026-06-28 11:44:36 -04:00
2026-07-03 01:55:48 -04:00
2026-06-29 16:15:55 -04:00
2026-06-29 20:08:17 -04:00
2026-07-03 10:06:11 -04:00
2026-07-03 08:59:23 -04:00
2026-07-03 01:55:48 -04:00
2026-06-25 18:24:39 -04:00
2026-06-12 13:29:45 -04:00
2026-06-13 21:07:55 -04:00
2026-06-17 08:52:23 -04:00
2026-06-15 18:11:20 -04:00
2026-05-29 11:39:52 -04:00
2026-05-26 11:23:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-20 13:36:57 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 13:19:10 -04:00
2026-06-12 18:39:57 -04:00
2026-06-24 13:19:10 -04:00
2026-06-16 14:47:17 -04:00
2026-06-30 10:52:30 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 17:07:23 -04:00
2026-07-03 09:17:32 -04:00
2026-06-12 09:58:44 -04:00
2026-05-15 19:32:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-24 13:19:10 -04:00
2026-07-03 09:51:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 00:46:27 -04:00
2026-06-20 13:37:09 -04:00
2026-07-03 09:17:32 -04:00
2026-06-02 19:25:25 -04:00
2026-06-13 23:35:08 -04:00
2026-07-03 09:17:32 -04:00
2026-07-03 08:59:23 -04:00
2026-07-02 23:12:03 -04:00
2026-07-02 17:25:05 -04:00
2026-07-03 10:22:11 -04:00
2026-06-23 14:38:38 -04:00
2026-06-07 12:24:04 -04:00
2026-07-03 10:06:11 -04:00
2026-06-11 19:17:06 -04:00
2026-07-04 13:32:51 -04:00
2026-06-06 11:24:48 -04:00
2026-07-05 14:07:07 -04:00
2026-07-05 14:07:07 -04:00
2026-06-11 23:59:56 -04:00
2026-06-25 18:24:39 -04:00
2026-07-02 10:24:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 11:36:30 -04:00
2026-06-13 23:35:08 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 10:22:11 -04:00
2026-06-16 14:00:06 -04:00