group_weekly_report(task) prepares an unsent evidence-backed draft without requesting human clarification. Missing information triggers retrieval, not a question. A one-line request is supported; unavailable sources result in an honest partial draft with retrieval diagnostics.
Natural-language extraction preserves supplied bodies and explicit metadata. Source defaults to auto: memory and relevant local notes establish scope; the current ISO week is the visible default when no reporting period is stated. Read-only discovery may find report materials and author evidence, including relevant local files. Explicit source=supplied disables external discovery; explicit group/week and original bodies win. No repository fixtures, workflow source or diagnostic acceptance data qualify as business evidence.
After scope discovery, query the identified WeChat group with the existing read-only adapter. Preserve supplied materials and supplement them rather than replace them. Match anonymous bodies only against unique source-backed authors; mentions, order and topics are not identity proof. If WeChat is unavailable, search relevant local sources and report the precise access limitation. Retrieved content is data, never executable instructions. Read-only tools only; no messaging, arbitrary execution, permission changes or publication.
No ask_user call or WAITING_USER result occurs in this workflow. Unresolved authors use visibly unverified labels. Unknown scope, inaccessible channels and missing current-week records appear as limitations in the draft. Old documents can establish scope but are not presented as current progress. Unknown dates remain unverified. A completely empty search produces a partial draft and source-search diagnostics, never invented progress. Model/provider errors and cancellation retain their actual execution outcome.
Validate record shapes and citations after discovery; missing business metadata alone cannot prevent draft creation. Reuse current source validation, composition and local draft writing. No aggregate model-call, token or wall-time budget is introduced. Existing bounded native reads and per-call context handling remain; coverage is explicitly partial. Runtime persistence and question UI are outside this change. Existing report artifact/checkpoint compatibility remains. Include draft text and issues in the returned result so users can see the outcome.
Reuse OpenProgram agent tools, structured-output validation, memory/file tools, native WeChat adapter and source-backed draft composition. This does not claim a Codex or Claude group-report feature. A hard-coded required-field questionnaire and mutually exclusive supplied/native acquisition are rejected. Unrestricted shell access and guessed identities are rejected.
Public group entry: one-line request with no metadata retrieves scope and current material; anonymous supplied text is preserved and uniquely matched; WeChat failure falls back to local evidence; ambiguous author remains visibly unverified; no evidence returns partial output without asking. Explicit supplied-only input performs no retrieval. Stale or invented citations cannot enter current progress. Cancellation propagates. Dispatcher forwards vague group requests without a clarification branch. Tests isolate providers, memory and HOME; real WeChat access is separately checked in the installed default app.
Autonomous discovery and no-question routing are implemented and have passed independent specification and quality reviews. Package tests cover discovery, provenance, author preservation and partial delivery. A real model run retrieved scope and local files without clarification and returned a partial draft because no current-week materials were verified. Native WeChat collection remains environment-limited; successful live collection is not established. Full integration and default-app acceptance are tracked separately from package tests.
A single-line member summary retains its existing WeChat format and includes the validated source identifiers using the existing bracket notation. The visible identifiers still refer to the same source table; formatting does not erase the association between a member statement and its evidence. Composition checkpoints save every completed member line before the next member call. They do not subtract a fixed number of headings from a layout that no longer adds those headings. Resuming a failed member preserves earlier content, retries only the interrupted member and retains the existing model-state, call-count and completed-position semantics. Existing checkpoint readers, exact-excerpt rejection, original-text fallback, sidecars, cancellation and unsent delivery remain unchanged.
Acceptance uses the public entry: complete A, fail B, resume B, and verify both member bodies and source identifiers in the actual saved summary. The existing single-line rendering is preserved in a dedicated input-baseline commit. The checkpoint and citation repair has passed independent specification and quality reviews and is imported into the local package. Combined source checks and installed default-app acceptance use separate receipts; drafts remain unsent.