Tom Boucher
19c1f54a2a
fix( #2316 ): stop phase complete silently dropping ghost requirement IDs ( #2339 )
...
* test(#2316 ): fail-first tests for ghost REQ-IDs, v-heading over-match, all-orphan gap check
Red phase: 4 of 10 fail against current source (#2316-1 ghost-ID warning,
-3 requirements_updated honesty, -4a v1-heading suppression, -6b all-orphan gap
rows). The other 6 are controls/boundaries that must keep passing — including the
#1159 deferred-heading guard and the literal "TBD" placeholder boundary.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SLufH5sDuqA1AiEGu45cuA
* fix(#2316 ): stop phase complete silently dropping ghost requirement IDs
phase complete parses a phase's `**Requirements**:` line from ROADMAP.md and
reconciles it into REQUIREMENTS.md. When a cited ID was registered nowhere, every
branch degraded to a no-op and the report was indistinguishable from a run that
applied every update: `requirements_updated: true, warnings: [], has_warnings:
false`, file byte-for-byte unchanged.
Four defects on that path, all long-standing (traced to 2bc295b32d , v1.2.0):
1. The only cross-check compared REQUIREMENTS.md's own body against its own
Traceability table, so an ID cited by ROADMAP but defined in neither was
invisible to it. `citedReqIds` is now hoisted out of the `if (reqMatch)` block
and cross-checked; ghost IDs raise a warning through the existing
warnings/has_warnings surface that execute-phase.md already prints.
2. `if (reqUpdate.ok)` had no `else`, so a Traceability-row write matching
nothing was discarded silently. Misses are now recorded.
3. `requirements_updated` was set unconditionally inside `if (existsSync)`,
reporting "the file was in the transaction" rather than "a write landed". It
now reflects whether the content actually changed.
4. DEFERRED_HEADING_RE's bare `v\d+` alternative treated an active `## v1
Requirements` heading as deferred, zeroing the body scan for that section.
Dropped; `deferred|backlog|future` still match, so #1159 's suite still holds.
Also fixes the same class in gap-checker: the `items.length === 0` early return
fired before ghost rows were folded in, so an all-unregistered phase reported
LESS than a partially-unregistered one. It is now gated on ghostReqIds too.
Follows the #2140 precedent in milestone.cts, which hardened this exact class for
`requirements mark-complete`; adapted to this function's single `warnings` array
rather than adding fields execute-phase.md never reads.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SLufH5sDuqA1AiEGu45cuA
* fix(#2316 ): address review — milestone-aware deferred headings, probe-based ghost check
Independent review found the first pass green but wrong — the tests were built to
miss the shape that breaks.
BLOCKER: dropping the `v\d+` alternative from DEFERRED_HEADING_RE regressed #1159
against GSD's OWN shipped template. gsd-core/templates/requirements.md:35 ships
`## v2 Requirements` with the deferred-ness in the BODY PROSE ("Deferred to future
release"), not the heading — so `v\d+` was the only alternative matching it.
Deleting it made every scaffolded project emit a false traceability warning on
every phase complete, forever. The real problem is that `v\d+` matched BOTH the
active v1 and the deferred v2: deleting it swings from suppress-everything to
suppress-nothing. The heading check is now milestone-aware — a `## v<N>` heading
is deferred only when <N> is not the current milestone's major, resolved through
the existing state.cjs seam. Unresolvable milestone fails safe to the old
always-deferred behavior, since suppressing a warning beats spamming every project.
HIGH: the ghost check re-derived membership from two lossy index sets that
disagreed with the case-insensitive write paths, so it warned "not registered
anywhere" about an ID whose checkbox it had just ticked, and about a
case-mismatched ID whose write landed. It now probes the same two write surfaces
the writes use, mirroring milestone.cts's #2140 precedent (probe the write, don't
re-derive it) — which is what the original brief asked for and the first pass
didn't do.
HIGH: the cited-ID tokenizer split the rest of the line on whitespace, so every
trailing word became a "cited REQ-ID". The shipped roadmap.md template puts an
inline HTML comment on that exact line, so a fully correct run told users to
register `<!--` and `-->` as requirements. Cited IDs are now filtered to the
REQ-ID shape, matching what bodyReqIds/tableReqIds already require.
HIGH: gap-checker had the identical early-return defect 34 lines above the one
fixed — the could-not-parse branch gated ghost rows behind the same unguarded
items.length. One malformed <decisions> line made all ghost rows vanish.
Tests: the #2316-5 guard only covered `## Deferred`/`## Backlog`/`## Future` —
headings that trivially still match — omitting `## v2 Requirements`, the only
shape the change altered. Added the shipped-template fixture plus guards for each
finding above.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SLufH5sDuqA1AiEGu45cuA
* docs(#2316 ): backfill PR number 2339 into changeset
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SLufH5sDuqA1AiEGu45cuA
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-17 06:49:58 -04:00
..
2026-06-25 18:24:39 -04:00
2026-07-17 06:48:13 -04:00
2026-07-14 19:22:13 -04:00
2026-06-25 18:24:39 -04:00
2026-07-09 23:43:18 -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-06 08:31:51 -04:00
2026-07-06 08:31: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-07-13 09:02:44 -06: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-15 12:55:38 -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-13 15:54:19 -04:00
2026-07-08 18:56:27 -04:00
2026-07-11 03:07:01 -04:00
2026-07-07 15:11:12 -04:00
2026-07-07 15:11:12 -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-07-11 04:47:56 -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-14 21:09:24 -04:00
2026-06-20 10:50:12 -04:00
2026-07-07 00:19:08 -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-07-17 06:48:04 -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-17 06:49:58 -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-14 19:22:13 -04:00
2026-07-03 01:55:48 -04:00
2026-07-08 15:26:19 -04:00
2026-06-12 16:03:51 -04:00
2026-07-03 01:55:48 -04:00
2026-07-06 15:18:23 -04:00
2026-07-16 00:56:07 -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-07-09 19:38:27 -04:00
2026-07-09 19:38:27 -04:00
2026-07-09 19:38:27 -04:00
2026-06-23 12:51:46 -04:00
2026-07-09 19:38:27 -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-11 09:39:34 -04:00
2026-07-15 21:39:38 -04:00
2026-07-08 21:42:11 -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-10 12:11:55 -04:00
2026-07-03 10:22:11 -04:00
2026-04-10 10:56:09 -04:00
2026-07-13 00:21:46 -04:00
2026-06-24 13:19:10 -04:00
2026-07-07 15:11:12 -04:00
2026-07-15 11:47:15 -04:00
2026-07-03 10:22:11 -04:00
2026-07-03 08:59:23 -04:00
2026-07-07 09:41:14 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 17:15:48 -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-07-15 15:33:58 -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-11 13:10:31 -04:00
2026-07-15 15:33:58 -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-07-09 00:21:28 -04:00
2026-07-09 13:17:04 -04:00
2026-06-07 19:22:48 -04:00
2026-07-09 13:17:04 -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-11 03:07:01 -04:00
2026-07-11 04:47:56 -04:00
2026-07-11 09:39:34 -04:00
2026-07-11 13:10:31 -04:00
2026-07-11 16:04:24 -04:00
2026-07-11 17:14:48 -04:00
2026-06-15 18:11:20 -04:00
2026-07-13 07:03:47 -07: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-07-07 22:21:45 -04:00
2026-07-05 20:56:12 -04:00
2026-07-14 14:25:44 -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-07 12:14:43 -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-15 19:18:28 -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-07-08 12:57:49 +03: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-07-06 13:01:47 -05:00
2026-07-16 15:25:19 -04:00
2026-07-12 15:34:59 -04:00
2026-07-12 15:55:39 -04:00
2026-07-12 18:53:49 -04:00
2026-07-12 19:47:42 -04:00
2026-07-15 12:55:38 -04:00
2026-07-15 17:10:06 -04:00
2026-07-15 19:18:28 -04:00
2026-07-15 21:40:59 -04:00
2026-07-16 00:56:07 -04:00
2026-07-16 13:33:36 -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-14 14:25:44 -04:00
2026-07-02 11:43:47 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 18:01:28 -04:00
2026-06-02 18:35:29 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 14:55:31 -04:00
2026-07-11 23:24:42 -04:00
2026-07-03 10:22:11 -04:00
2026-07-11 23:24:42 -04:00
2026-07-14 20:18:34 -04:00
2026-07-14 20:18:34 -04:00
2026-07-14 17:10:04 -04:00
2026-07-02 13:01:10 -04:00
2026-07-03 08:59:23 -04:00
2026-07-05 14:50:01 -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-07-11 21:07:38 -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-13 11:33:32 -06:00
2026-07-14 21:09:24 -04:00
2026-07-14 21:09:24 -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-15 15:33:58 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 11:23:35 -04:00
2026-07-06 20:06:30 -04:00
2026-07-09 20:47:35 -04:00
2026-07-09 22:26:13 -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-11 23:24:42 -04:00
2026-07-04 13:32:51 -04:00
2026-07-10 19:55:15 -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-10 14:24:14 -04:00
2026-06-24 17:07:23 -04:00
2026-06-02 18:35:29 -04:00
2026-07-11 21:07:38 -04:00
2026-07-08 21:42:11 -04:00
2026-07-03 10:22:11 -04:00
2026-07-15 13:46:26 -04:00
2026-07-10 12:11:55 -04:00
2026-06-02 18:35:29 -04:00
2026-07-03 10:22:11 -04:00
2026-07-15 17:10:06 -04:00
2026-06-02 18:35:29 -04:00
2026-07-11 21:07:38 -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-08 21:42:11 -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-07-11 23:24:42 -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-05 15:01:22 -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-09 23:43:17 -04:00
2026-07-01 11:51:11 -04:00
2026-07-07 19:38:01 -04:00
2026-07-10 19:55:15 -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-10 19:55:15 -04:00
2026-07-10 19:55:15 -04:00
2026-07-03 08:59:23 -04:00
2026-07-11 00:53:34 -04:00
2026-06-06 22:16:20 +02:00
2026-06-07 01:27:12 +02:00
2026-07-11 00:53:34 -04: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-07-07 15:11:12 -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-07-07 19:38:01 -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-07-14 14:25:44 -04:00
2026-07-14 14:25:44 -04:00
2026-06-15 17:20:08 -04:00
2026-07-14 14:52:24 -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-14 14:25:44 -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-17 06:48:04 -04:00
2026-07-03 08:59:23 -04:00
2026-07-07 21:22:48 -04:00
2026-07-07 21:22:48 -04:00
2026-07-11 21:07:38 -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-17 06:48:13 -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-05 16:43:26 -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-11 23:24:42 -04:00
2026-06-25 21:49:22 -04:00
2026-07-07 12:14:43 -04:00
2026-07-03 10:22:11 -04:00
2026-07-05 19:16:10 +00:00
2026-07-08 17:17:05 -04:00
2026-07-02 14:57:44 -04:00
2026-07-08 17:17:05 -04:00
2026-07-11 13:10:31 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-07-13 13:43:29 -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-07-08 10:25:28 -04:00
2026-07-16 00:56:07 -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-07-10 09:24:49 -04:00
2026-07-15 15:33:58 -04:00
2026-07-13 20:36:14 -04:00
2026-07-14 15:17:14 -04:00
2026-07-17 06:49:58 -04:00
2026-07-03 01:55:48 -04:00
2026-07-11 21:07:38 -04:00
2026-07-11 21:07:38 -04:00
2026-07-11 21:07:38 -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-07-07 15:11:12 -04:00
2026-07-16 01:55:45 -04:00
2026-07-03 09:17:32 -04:00
2026-07-13 20:36:14 -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-07-11 22:47:51 -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-07-08 21:42:11 -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-08 21:42:11 -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-09 23:43:18 -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-07-10 15:44:19 -04:00
2026-06-25 21:16:47 -04:00
2026-07-10 15:44:19 -04:00
2026-04-04 14:29:03 -04:00
2026-07-03 10:22:11 -04:00
2026-07-09 09:36:33 -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-07-11 14:55:31 -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-06 11:34:32 -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-08 17:53:28 -04:00
2026-07-07 09:41:14 -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-15 15:33:58 -04:00
2026-06-30 20:43:25 -04:00
2026-06-21 23:21:39 -04:00
2026-07-10 01:07:00 -04:00
2026-07-03 08:59:23 -04:00
2026-07-08 22:49:25 -04:00
2026-06-21 20:40:13 -04:00
2026-07-10 15:44:19 -04:00
2026-07-05 19:16:10 +00:00
2026-07-04 13:32:51 -04:00
2026-07-10 15:44:19 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 00:53:34 -04:00
2026-07-11 23:24:42 -04:00
2026-07-06 08:31:51 -04:00
2026-07-03 08:59:23 -04:00
2026-07-06 08:31:51 -04:00
2026-07-05 19:16:09 +00: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-13 00:47:15 -04:00
2026-07-13 00:47:15 -04:00
2026-07-12 00:27:31 -04:00
2026-06-09 23:50:41 -04:00
2026-06-25 18:24:39 -04:00
2026-07-12 00:27:31 -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-14 15:16:55 -04:00
2026-07-13 15:36:17 -04:00
2026-07-05 19:16:07 +00:00
2026-07-03 08:59:23 -04:00
2026-07-04 13:32:51 -04:00
2026-07-15 19:18:28 -04:00
2026-07-03 12:18:25 -04:00
2026-06-25 18:24:39 -04:00
2026-07-06 14:40:38 -04:00
2026-07-12 16:36:36 -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-07-12 15:34:59 -04:00
2026-07-14 14:47:03 -04:00
2026-07-14 14:47:03 -04:00
2026-07-03 01:55:48 -04:00
2026-06-25 18:24:39 -04:00
2026-07-05 18:01:28 -04:00
2026-07-12 01:32:12 -04:00
2026-06-12 13:29:45 -04:00
2026-07-14 14:25:44 -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-07-07 12:14:43 -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-07-15 09:41:36 -04:00
2026-07-10 21:31:10 -04:00
2026-07-10 21:31:10 -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-07-15 20:42:03 -04:00
2026-07-08 12:57:49 +03:00
2026-07-10 14:40:03 -04:00
2026-07-10 14:40:03 -04:00
2026-06-30 10:52:30 -04:00
2026-07-12 16:22:47 -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-07-11 14:13: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-07-17 06:48:04 -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-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-03 10:22:11 -04:00
2026-06-23 14:38:38 -04:00
2026-07-14 14:25:44 -04:00
2026-06-07 12:24:04 -04:00
2026-07-03 10:06:11 -04:00
2026-07-11 16:04:24 -04:00
2026-07-16 13:55:15 -04:00
2026-06-06 11:24:48 -04:00
2026-07-17 06:48:13 -04:00
2026-07-05 14:07:07 -04:00
2026-06-11 23:59:56 -04:00
2026-07-05 14:38:24 -04:00
2026-06-25 18:24:39 -04:00
2026-07-14 14:47:03 -04:00
2026-06-02 18:35:29 -04:00
2026-07-14 14:47:03 -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
2026-07-13 20:39:58 -04:00