Zeren Wang
22b0456e45
feat(harness): subagent report contract and delegation acceptance criteria ( #5090 )
...
* feat(harness): subagent report contract and delegation acceptance criteria (RFC #4651 PR3)
Layer 1 receipt verification is inert unless subagents actually cite their
execution record. This lands the prompt layer that closes the adoption gap:
- New subagents/report_contract.py owns the model-facing contract text,
derived from the single-owner citation format (format_citation /
receipt_id) so prompts can never drift from the verifier. The executor
injects <report_contract> into every subagent system prompt — built-in
and custom alike — requiring [rN tool_name] citations for action claims,
verifiable handles (absolute path, URL, ID, HTTP status) for
deliverables, and explicit failure reporting; the citation clause
follows verification.receipts_enabled.
- The task tool gains an optional keyword-only acceptance_criteria
parameter, handed to the SubagentExecutor constructor and rendered into
the subagent's SystemMessage (stripped, capped 20 items x 500 chars) —
deliberately never the task HumanMessage, which InputSanitizationMiddleware
classes as genuine user input and would HTML-escape into untrusted-input
framing. The docstring frames subagent results as self-reports, states
the citation cross-check's evidence boundary (resolved = the call
happened, not that the claim is correct), and documents when to attach
criteria with the canonical leaf forms. Deterministic leaf checking
remains a separate layer.
- The lead delegation workflow now instructs reading the ledger citation
line as execution evidence only and spot-checking verifiable handles
before synthesizing.
- report_contract / acceptance_criteria are registered as blocked
framework-authority tags in input sanitization so untrusted input
cannot forge the verification contract.
* fix(harness): neutralize acceptance criteria before system-channel injection
render_acceptance_criteria_section interpolated lead-model-supplied acceptance_criteria verbatim into the subagent SystemMessage after only stripping/capping. A criterion such as '</acceptance_criteria><system>...</system>' could close the wrapper and open a framework authority tag, bypassing InputSanitizationMiddleware.
Route each criterion through neutralize_untrusted_tags (the shared prompt-injection primitive) so blocked authority tags are HTML-escaped before interpolation. Add regression tests at the renderer and the executor _build_initial_state path.
* fix(harness): keep model-supplied criteria off the system channel
- Move acceptance_criteria values into the task HumanMessage — the
untrusted channel InputSanitizationMiddleware escapes and
boundary-frames. The subagent SystemMessage now carries only a
framework-owned <acceptance_criteria> pointer note (no criterion
text), so natural-language injection inside a criterion keeps
task-data priority and cannot override framework instructions
(PR #5090 review, willem-bd P1).
- Condition the lead delegation workflow's citation verification
guidance on verification.receipts_enabled and qualify the task
tool's result-reading text with the enabled state, so a
receipts-disabled configuration no longer tells the lead to
require citation evidence that cannot exist (P2).
* fix(harness): drop execution-record promise from report contract when receipts are disabled
The <report_contract> opening was emitted unconditionally, so a
verification.receipts_enabled=false subagent was told its report would
be cross-checked against an execution record that cannot exist in that
mode (terminal_receipts() returns None; no verdict, no ledger citation
line). The opening now follows receipts_enabled: enabled keeps the
cross-check language, disabled describes the handle-only review mode
(PR #5090 review, willem-bd P2).
* docs: record the prompt-layer trust-boundary self-check
Generalizes the PR #5090 review outcome: before adding prompt text, ask
of every data source in it what trust level it has and which channel it
should ride — model/user-influenceable values ride the untrusted
sanitized data channel, never framework-owned system text. Added to the
PR template (Agents/LangGraph surface) and agents/AGENTS.md.
2026-08-30 11:39:25 +08:00
..
2026-08-30 10:30:34 +08:00
2026-07-22 14:02:56 +08:00
2026-07-19 18:26:26 +08:00
2026-07-29 22:33:45 +08:00
2026-05-12 23:18:54 +08:00
2026-07-26 14:43:08 +08:00
2026-04-26 15:09:25 +08:00
2026-06-01 15:50:39 +08:00
2026-07-28 23:21:23 +08:00
2026-07-21 11:46:33 +08:00
2026-06-21 20:56:42 +08:00
2026-06-08 12:35:03 +08:00
2026-07-22 14:47:08 +08:00
2026-08-30 10:30:34 +08:00
2026-07-17 15:11:15 +08:00
2026-08-24 11:04:23 +08:00
2026-08-24 08:52:01 +08:00
2026-08-24 11:04:23 +08:00
2026-08-24 11:04:23 +08:00
2026-08-08 20:36:13 +08:00
2026-08-24 11:04:23 +08:00
2026-08-27 22:53:47 +08:00
2026-08-30 10:30:34 +08:00
2026-07-27 07:47:39 +08:00
2026-07-30 07:53:10 +08:00
2026-06-23 10:39:40 +08:00
2026-07-30 13:51:17 +08:00
2026-08-24 07:45:30 +08:00
2026-05-29 23:05:59 +08:00
2026-05-16 09:24:40 +08:00
2026-04-26 11:08:11 +08:00
2026-08-13 23:55:30 +08:00
2026-08-13 23:55:30 +08:00
2026-07-30 23:53:52 +08:00
2026-07-23 22:51:35 +08:00
2026-08-23 09:57:12 +08:00
2026-07-17 14:49:51 +08:00
2026-07-17 14:49:51 +08:00
2026-08-27 14:59:31 +08:00
2026-07-23 22:51:35 +08:00
2026-07-23 22:51:35 +08:00
2026-08-22 16:53:32 +08:00
2026-06-24 13:57:12 +08:00
2026-08-25 07:49:38 +08:00
2026-07-28 23:21:23 +08:00
2026-08-23 09:57:12 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-07-27 11:47:49 +08:00
2026-08-30 10:30:34 +08:00
2026-07-26 08:00:48 +08:00
2026-07-02 11:00:49 +08:00
2026-08-15 21:41:21 +08:00
2026-08-01 22:19:59 +08:00
2026-07-28 07:56:04 +08:00
2026-08-14 12:35:24 +08:00
2026-08-05 08:29:22 +08:00
2026-08-22 16:34:45 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-07-14 07:37:59 +08:00
2026-06-16 23:04:39 +08:00
2026-06-18 10:15:31 +08:00
2026-07-12 08:54:03 +08:00
2026-07-25 21:55:31 +08:00
2026-08-14 23:29:04 +08:00
2026-07-17 14:49:51 +08:00
2026-06-18 10:45:33 +08:00
2026-08-29 08:01:38 +08:00
2026-08-11 21:56:20 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-07-28 22:12:27 +08:00
2026-08-23 09:57:12 +08:00
2026-07-26 10:44:50 +08:00
2026-07-28 23:21:23 +08:00
2026-07-12 08:15:32 +08:00
2026-08-11 21:04:55 +08:00
2026-08-13 23:55:30 +08:00
2026-08-24 07:37:35 +08:00
2026-08-24 07:37:35 +08:00
2026-03-30 07:41:18 +08:00
2026-04-25 19:40:06 +08:00
2026-04-07 18:21:22 +08:00
2026-07-22 14:02:56 +08:00
2026-07-23 22:51:35 +08:00
2026-07-29 22:16:48 +08:00
2026-07-29 22:16:48 +08:00
2026-05-04 09:56:16 +08:00
2026-08-25 07:49:38 +08:00
2026-05-02 15:04:11 +08:00
2026-08-24 21:48:37 +08:00
2026-06-10 21:36:25 +08:00
2026-08-23 15:08:39 +08:00
2026-08-23 15:43:37 +08:00
2026-07-29 22:24:04 +08:00
2026-08-23 09:57:12 +08:00
2026-07-26 07:39:39 +08:00
2026-04-26 11:05:47 +08:00
2026-07-05 09:54:55 +08:00
2026-03-29 15:31:18 +08:00
2026-08-25 07:49:38 +08:00
2026-05-07 16:15:15 +08:00
2026-08-13 23:55:30 +08:00
2026-08-03 08:28:15 +08:00
2026-08-12 09:25:05 +08:00
2026-08-08 21:07:55 +08:00
2026-06-08 07:59:50 +08:00
2026-08-17 08:20:42 +08:00
2026-07-13 17:57:34 +08:00
2026-06-02 22:43:22 +08:00
2026-06-05 15:21:41 +08:00
2026-07-12 00:17:11 +08:00
2026-07-04 23:09:29 +08:00
2026-06-02 22:43:22 +08:00
2026-07-01 22:49:17 +08:00
2026-08-29 16:56:56 +08:00
2026-07-22 08:33:29 +08:00
2026-07-28 23:21:23 +08:00
2026-08-13 23:55:30 +08:00
2026-07-22 13:55:40 +08:00
2026-07-29 22:33:45 +08:00
2026-08-05 08:29:22 +08:00
2026-07-29 22:33:45 +08:00
2026-08-13 23:55:30 +08:00
2026-08-23 10:45:30 +08:00
2026-06-12 15:24:58 +08:00
2026-08-27 17:56:56 +08:00
2026-08-24 21:48:37 +08:00
2026-08-18 23:14:17 +08:00
2026-08-28 10:30:30 +08:00
2026-07-26 07:39:39 +08:00
2026-08-16 11:53:21 +08:00
2026-08-11 21:52:12 +08:00
2026-08-30 11:31:53 +08:00
2026-04-26 11:09:56 +08:00
2026-07-29 07:04:26 +08:00
2026-04-08 17:13:39 +08:00
2026-08-23 09:57:12 +08:00
2026-08-04 22:33:26 +08:00
2026-08-23 09:57:12 +08:00
2026-08-13 23:55:30 +08:00
2026-08-11 16:33:22 +08:00
2026-08-23 09:57:12 +08:00
2026-08-13 23:55:30 +08:00
2026-08-04 22:33:26 +08:00
2026-08-04 22:33:26 +08:00
2026-08-23 09:57:12 +08:00
2026-08-14 23:30:03 +08:00
2026-08-04 22:33:26 +08:00
2026-08-04 22:33:26 +08:00
2026-08-13 23:55:30 +08:00
2026-08-29 23:50:45 +08:00
2026-08-11 16:33:22 +08:00
2026-08-11 16:33:22 +08:00
2026-08-11 16:33:22 +08:00
2026-08-11 16:33:22 +08:00
2026-08-12 09:25:05 +08:00
2026-08-23 15:08:39 +08:00
2026-07-05 09:54:55 +08:00
2026-08-25 07:49:38 +08:00
2026-07-14 10:43:13 +08:00
2026-08-23 10:45:30 +08:00
2026-07-02 08:24:15 +08:00
2026-07-04 21:31:01 +08:00
2026-07-19 22:12:30 +08:00
2026-07-14 11:57:48 +08:00
2026-07-31 21:57:22 +08:00
2026-07-22 08:33:29 +08:00
2026-07-29 00:09:02 +08:00
2026-08-13 23:55:30 +08:00
2026-07-26 08:09:17 +08:00
2026-08-15 14:26:38 +08:00
2026-08-13 23:55:30 +08:00
2026-08-13 23:55:30 +08:00
2026-08-14 23:50:40 +08:00
2026-08-13 23:55:30 +08:00
2026-08-29 16:56:56 +08:00
2026-08-19 22:06:16 +08:00
2026-07-04 22:56:24 +08:00
2026-07-04 22:56:24 +08:00
2026-07-04 22:56:24 +08:00
2026-08-14 12:35:24 +08:00
2026-07-04 22:56:24 +08:00
2026-07-14 22:56:50 +08:00
2026-07-04 22:56:24 +08:00
2026-07-04 22:56:24 +08:00
2026-07-16 09:12:29 +08:00
2026-07-23 14:32:49 +08:00
2026-07-15 22:30:34 +08:00
2026-08-11 16:33:22 +08:00
2026-06-21 15:55:10 +08:00
2026-08-23 09:57:12 +08:00
2026-03-14 22:55:52 +08:00
2026-08-23 15:46:10 +08:00
2026-08-23 15:08:39 +08:00
2026-07-27 22:46:51 +08:00
2026-08-17 08:22:11 +08:00
2026-07-27 14:05:31 +08:00
2026-07-10 11:08:30 +08:00
2026-07-27 23:07:40 +08:00
2026-03-26 14:20:18 +08:00
2026-06-28 16:10:44 +08:00
2026-07-08 17:10:27 +08:00
2026-08-30 11:39:25 +08:00
2026-07-04 13:54:04 +08:00
2026-06-17 15:29:22 +08:00
2026-08-17 08:16:14 +08:00
2026-06-08 23:25:29 +08:00
2026-08-23 15:00:37 +08:00
2026-08-15 21:20:34 +08:00
2026-08-15 21:20:34 +08:00
2026-08-16 23:54:06 +08:00
2026-08-15 21:20:34 +08:00
2026-07-28 22:54:44 +08:00
2026-08-10 11:01:14 +08:00
2026-08-25 07:49:38 +08:00
2026-08-25 07:49:38 +08:00
2026-07-28 23:21:23 +08:00
2026-07-23 08:22:15 +08:00
2026-08-12 08:47:42 +08:00
2026-04-11 16:52:10 +08:00
2026-07-20 23:33:09 +08:00
2026-07-09 17:21:25 +08:00
2026-08-25 15:20:31 +08:00
2026-07-13 00:01:22 +08:00
2026-08-17 08:17:13 +08:00
2026-07-13 00:01:22 +08:00
2026-07-04 13:54:04 +08:00
2026-07-03 08:01:46 +08:00
2026-04-30 22:27:14 +08:00
2026-05-07 16:15:15 +08:00
2026-07-19 17:13:44 +08:00
2026-07-26 14:43:08 +08:00
2026-08-29 14:54:02 +08:00
2026-08-24 11:04:23 +08:00
2026-08-24 11:04:23 +08:00
2026-07-19 22:12:30 +08:00
2026-07-03 15:39:12 +08:00
2026-08-01 22:01:45 +08:00
2026-08-27 10:42:42 +08:00
2026-04-25 09:18:13 +08:00
2026-08-20 08:57:10 +08:00
2026-08-27 10:42:42 +08:00
2026-08-22 17:01:38 +08:00
2026-07-10 07:54:36 +08:00
2026-07-09 16:26:31 +08:00
2026-07-09 16:26:31 +08:00
2026-07-28 22:59:14 +08:00
2026-08-30 11:36:26 +08:00
2026-08-05 08:56:18 +08:00
2026-08-01 22:33:11 +08:00
2026-08-15 14:26:38 +08:00
2026-08-15 14:26:38 +08:00
2026-08-27 10:42:42 +08:00
2026-08-15 14:26:38 +08:00
2026-08-22 16:53:32 +08:00
2026-08-15 14:26:38 +08:00
2026-08-23 15:30:21 +08:00
2026-08-28 10:37:01 +08:00
2026-08-15 14:26:38 +08:00
2026-08-15 14:26:38 +08:00
2026-08-24 06:57:55 +08:00
2026-08-15 14:26:38 +08:00
2026-07-14 09:49:43 +08:00
2026-08-23 15:16:04 +08:00
2026-08-15 15:40:43 +08:00
2026-08-01 08:39:28 +08:00
2026-08-17 08:20:42 +08:00
2026-08-11 16:33:22 +08:00
2026-07-26 21:16:36 +08:00
2026-07-22 07:46:03 +08:00
2026-07-28 22:59:14 +08:00
2026-07-15 11:21:04 +08:00
2026-07-26 21:16:36 +08:00
2026-07-26 21:16:36 +08:00
2026-07-27 23:17:18 +08:00
2026-07-31 18:06:45 +08:00
2026-08-01 08:39:28 +08:00
2026-07-15 11:21:04 +08:00
2026-08-17 08:20:42 +08:00
2026-07-22 07:46:03 +08:00
2026-07-22 07:46:03 +08:00
2026-07-22 07:46:03 +08:00
2026-08-25 08:29:18 +08:00
2026-08-17 08:20:42 +08:00
2026-07-15 11:21:04 +08:00
2026-08-17 08:20:42 +08:00
2026-07-22 14:02:56 +08:00
2026-07-26 21:16:36 +08:00
2026-08-17 08:20:42 +08:00
2026-08-29 16:56:56 +08:00
2026-08-23 09:57:12 +08:00
2026-08-29 23:50:45 +08:00
2026-08-29 23:50:45 +08:00
2026-07-27 23:07:40 +08:00
2026-08-29 23:50:45 +08:00
2026-08-29 23:50:45 +08:00
2026-07-04 13:54:04 +08:00
2026-07-17 14:23:44 +08:00
2026-07-31 21:57:22 +08:00
2026-08-28 22:24:10 +08:00
2026-07-26 14:43:08 +08:00
2026-07-26 14:43:08 +08:00
2026-08-01 22:34:11 +08:00
2026-07-31 17:55:24 +08:00
2026-07-27 23:07:40 +08:00
2026-08-14 23:50:40 +08:00
2026-07-28 21:45:20 +08:00
2026-06-22 18:55:20 +08:00
2026-08-01 22:19:59 +08:00
2026-07-18 17:48:42 +08:00
2026-06-21 15:47:53 +08:00
2026-05-28 08:20:52 +08:00
2026-08-30 10:30:34 +08:00
2026-08-11 13:56:02 +08:00
2026-08-07 11:22:00 +08:00
2026-07-11 16:05:30 +08:00
2026-08-29 23:50:45 +08:00
2026-07-04 21:44:22 +08:00
2026-05-28 18:24:32 +08:00
2026-06-08 22:04:38 +08:00
2026-03-26 15:07:05 +08:00
2026-06-09 18:01:43 +08:00
2026-07-26 08:09:17 +08:00
2026-06-24 13:57:12 +08:00
2026-08-29 23:50:45 +08:00
2026-06-24 13:57:12 +08:00
2026-08-29 23:50:45 +08:00
2026-06-24 13:57:12 +08:00
2026-07-30 13:51:17 +08:00
2026-08-29 23:50:45 +08:00
2026-07-30 13:51:17 +08:00
2026-08-23 09:57:12 +08:00
2026-07-30 13:51:17 +08:00
2026-05-21 16:22:09 +08:00
2026-08-29 23:50:45 +08:00
2026-07-30 13:51:17 +08:00
2026-08-14 11:07:23 +08:00
2026-07-30 13:51:17 +08:00
2026-08-05 07:43:54 +08:00
2026-08-05 07:43:54 +08:00
2026-07-20 07:24:34 +08:00
2026-04-10 20:40:30 +08:00
2026-08-10 11:01:14 +08:00
2026-08-10 11:01:14 +08:00
2026-08-01 19:42:44 +08:00
2026-08-25 16:57:55 +08:00
2026-08-25 16:57:55 +08:00
2026-07-21 09:23:14 +08:00
2026-07-06 20:57:41 +08:00
2026-07-30 07:53:10 +08:00
2026-08-13 21:20:49 +08:00
2026-03-14 22:55:52 +08:00
2026-08-29 16:56:56 +08:00
2026-03-14 22:55:52 +08:00
2026-07-03 08:01:46 +08:00
2026-07-28 22:54:44 +08:00
2026-06-08 17:32:41 +08:00
2026-06-09 21:58:31 +08:00
2026-07-14 23:08:33 +08:00
2026-07-11 15:58:07 +08:00
2026-08-27 14:59:31 +08:00
2026-08-25 08:22:57 +08:00
2026-06-24 17:47:04 +08:00
2026-07-02 07:43:09 +08:00
2026-04-26 15:09:25 +08:00
2026-08-25 08:22:57 +08:00
2026-07-23 21:33:57 +08:00
2026-07-28 21:31:23 +08:00
2026-07-28 23:29:14 +08:00
2026-08-22 16:53:32 +08:00
2026-07-28 21:31:23 +08:00
2026-05-21 14:48:28 +08:00
2026-08-22 16:53:32 +08:00
2026-07-27 22:27:16 +08:00
2026-08-05 08:56:18 +08:00
2026-07-27 11:32:10 +08:00
2026-08-22 16:53:32 +08:00
2026-07-28 21:45:20 +08:00
2026-08-01 19:42:44 +08:00
2026-06-24 10:24:36 +08:00
2026-07-22 08:33:29 +08:00
2026-07-19 22:12:30 +08:00
2026-07-23 22:56:12 +08:00
2026-07-23 22:56:12 +08:00
2026-05-22 21:20:28 +08:00
2026-08-01 21:44:34 +08:00
2026-08-24 16:32:06 +08:00
2026-08-30 10:30:34 +08:00
2026-06-03 22:02:27 +08:00
2026-07-30 07:53:10 +08:00
2026-04-09 17:21:23 +08:00
2026-08-30 10:30:34 +08:00
2026-08-24 15:27:33 +08:00
2026-07-13 18:34:41 +08:00
2026-06-25 08:06:17 +08:00
2026-07-28 07:49:13 +08:00
2026-07-30 07:53:10 +08:00
2026-07-04 13:54:04 +08:00
2026-06-12 10:20:38 +08:00
2026-07-04 21:51:57 +08:00
2026-08-24 15:38:32 +08:00
2026-07-04 21:51:57 +08:00
2026-08-24 15:38:32 +08:00
2026-08-24 15:38:32 +08:00
2026-08-24 15:38:32 +08:00
2026-08-24 15:38:32 +08:00
2026-08-27 14:59:31 +08:00
2026-07-04 21:51:57 +08:00
2026-07-31 17:27:51 +08:00
2026-08-24 15:38:32 +08:00
2026-08-24 07:09:08 +08:00
2026-06-12 09:45:26 +08:00
2026-08-24 21:27:43 +08:00
2026-06-19 11:23:07 +08:00
2026-03-26 14:20:18 +08:00
2026-07-21 08:15:33 +08:00
2026-08-28 10:30:30 +08:00
2026-08-28 10:44:30 +08:00
2026-06-27 23:30:54 +08:00
2026-07-07 23:09:06 +08:00
2026-07-23 08:03:21 +08:00
2026-05-12 23:18:54 +08:00
2026-07-23 08:03:21 +08:00
2026-08-28 22:24:10 +08:00
2026-06-19 21:57:03 +08:00
2026-07-04 23:09:29 +08:00
2026-07-04 11:27:19 +08:00
2026-07-04 11:27:19 +08:00
2026-07-04 23:09:29 +08:00
2026-07-31 17:55:24 +08:00
2026-07-13 10:40:22 +08:00
2026-05-28 15:48:32 +08:00
2026-07-17 14:39:35 +08:00
2026-08-24 21:27:43 +08:00
2026-07-28 21:31:23 +08:00
2026-07-24 21:25:53 +08:00
2026-07-11 15:58:07 +08:00
2026-08-25 19:46:04 +08:00
2026-08-28 08:58:59 +08:00
2026-03-25 16:28:33 +08:00
2026-07-16 14:12:02 +08:00
2026-07-31 17:55:24 +08:00
2026-07-19 22:36:15 +08:00
2026-08-28 08:58:59 +08:00
2026-08-28 08:58:59 +08:00
2026-07-17 23:22:16 +08:00
2026-07-31 17:55:24 +08:00
2026-08-28 08:58:59 +08:00
2026-08-03 17:17:01 +08:00
2026-06-18 10:09:46 +08:00
2026-07-08 21:58:33 +08:00
2026-08-24 21:27:43 +08:00
2026-07-28 22:59:14 +08:00
2026-03-30 16:02:23 +08:00
2026-08-29 23:50:45 +08:00
2026-07-31 17:25:07 +08:00
2026-07-22 09:20:54 +08:00
2026-08-30 10:46:01 +08:00
2026-08-25 07:49:38 +08:00
2026-08-25 07:49:38 +08:00
2026-08-25 07:49:38 +08:00
2026-08-25 07:49:38 +08:00
2026-08-30 10:43:58 +08:00
2026-06-14 10:30:45 +08:00
2026-06-08 23:17:22 +08:00
2026-07-14 08:14:21 +08:00
2026-08-25 07:49:38 +08:00
2026-08-30 11:39:25 +08:00
2026-08-25 07:49:38 +08:00
2026-08-24 11:04:23 +08:00
2026-08-30 11:39:25 +08:00
2026-07-30 07:21:55 +08:00
2026-08-25 07:49:38 +08:00
2026-05-02 06:37:49 +08:00
2026-08-29 16:56:56 +08:00
2026-07-11 15:41:57 +08:00
2026-07-13 19:26:07 +08:00
2026-06-19 21:42:42 +08:00
2026-08-24 11:04:23 +08:00
2026-07-28 19:35:21 +08:00
2026-08-22 16:47:11 +08:00
2026-07-07 19:55:33 +08:00
2026-07-27 11:47:49 +08:00
2026-07-27 11:47:49 +08:00
2026-08-01 19:42:44 +08:00
2026-08-23 09:57:12 +08:00
2026-08-30 11:39:25 +08:00
2026-05-21 21:18:10 +08:00
2026-08-23 10:27:19 +08:00
2026-08-27 18:12:05 +08:00
2026-08-30 10:37:58 +08:00
2026-07-11 15:53:14 +08:00
2026-07-28 22:59:14 +08:00
2026-08-01 19:42:44 +08:00
2026-08-01 19:42:44 +08:00
2026-07-27 22:46:51 +08:00
2026-08-11 22:00:57 +08:00
2026-08-25 08:29:18 +08:00
2026-08-27 14:59:31 +08:00
2026-07-29 12:47:30 +08:00
2026-07-27 22:46:51 +08:00
2026-06-02 22:43:22 +08:00
2026-07-22 08:33:29 +08:00
2026-07-31 21:57:22 +08:00
2026-07-28 23:21:23 +08:00
2026-08-29 23:50:45 +08:00
2026-08-13 21:20:49 +08:00
2026-07-15 11:21:04 +08:00
2026-03-14 22:55:52 +08:00
2026-07-11 23:15:03 +08:00
2026-08-11 11:41:31 +08:00
2026-07-08 22:26:06 +08:00
2026-07-04 23:14:46 +08:00
2026-05-10 22:00:57 +08:00
2026-08-12 09:25:05 +08:00
2026-07-28 23:21:23 +08:00
2026-07-27 22:46:51 +08:00
2026-08-22 16:53:32 +08:00
2026-08-23 15:43:37 +08:00
2026-07-04 11:27:19 +08:00
2026-08-23 09:57:12 +08:00
2026-04-06 15:09:57 +08:00
2026-07-06 20:57:41 +08:00
2026-08-29 16:56:56 +08:00
2026-08-29 16:56:56 +08:00
2026-07-06 20:57:41 +08:00
2026-07-12 11:24:24 +08:00
2026-07-14 09:49:43 +08:00
2026-08-23 09:57:12 +08:00
2026-07-19 09:13:51 +08:00
2026-07-19 09:13:51 +08:00
2026-07-14 08:58:06 +08:00
2026-07-14 08:58:06 +08:00
2026-07-03 08:01:46 +08:00
2026-08-25 20:15:08 +08:00
2026-08-04 08:33:10 +08:00
2026-08-13 23:55:30 +08:00
2026-07-22 07:53:50 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-06-25 20:10:49 +08:00
2026-07-15 22:27:00 +08:00
2026-06-25 20:10:49 +08:00
2026-08-05 08:15:28 +08:00
2026-07-20 23:56:37 +08:00
2026-05-12 23:18:54 +08:00
2026-08-24 11:04:23 +08:00
2026-07-26 21:16:36 +08:00
2026-07-26 21:16:36 +08:00
2026-08-28 09:16:51 +08:00
2026-07-28 22:59:14 +08:00
2026-08-28 09:16:51 +08:00
2026-07-28 22:59:14 +08:00
2026-08-24 21:27:43 +08:00
2026-07-11 09:18:12 +08:00
2026-07-14 10:43:13 +08:00
2026-05-02 15:16:16 +08:00
2026-08-13 23:55:30 +08:00
2026-08-23 15:43:37 +08:00
2026-08-27 09:12:37 +08:00
2026-07-24 13:12:43 +08:00
2026-07-28 19:56:40 +08:00
2026-07-27 07:13:06 +08:00
2026-07-06 07:21:12 +08:00
2026-07-20 23:05:47 +08:00
2026-07-18 17:53:30 +08:00
2026-07-12 07:52:45 +08:00
2026-07-28 21:45:20 +08:00
2026-07-28 21:45:20 +08:00
2026-07-12 11:51:31 +08:00
2026-08-20 08:57:10 +08:00
2026-06-07 17:47:11 +08:00