From 3c60bcd571dd170fa94a1ed6fa83648c8e64bcb0 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 5 Oct 2026 11:01:11 +0200 Subject: [PATCH] Plan IR-WP-0010: receive automation briefs through inbound-library. Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 1170398@bnt-lap001 Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583 --- workplans/IR-WP-0009-website-brief-feed.md | 5 + .../IR-WP-0010-inbound-library-briefs.md | 110 ++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 workplans/IR-WP-0010-inbound-library-briefs.md diff --git a/workplans/IR-WP-0009-website-brief-feed.md b/workplans/IR-WP-0009-website-brief-feed.md index e4c1d8b..34611bc 100644 --- a/workplans/IR-WP-0009-website-brief-feed.md +++ b/workplans/IR-WP-0009-website-brief-feed.md @@ -36,6 +36,11 @@ Rechecked 2026-10-05: no new export or authorized feed. `import-briefs` still reports `needs_session` for both providers. No session was sent to either site. Stays wait. +2026-10-05: the operator rejected scraping signed-in sessions, because it would +break the providers' terms of service. The unattended route is now email +through inbound-library (IR-WP-0010). This task closes after the end-to-end week +in IR-WP-0010-T05. + ## Resolve the two inbox leftovers ```task diff --git a/workplans/IR-WP-0010-inbound-library-briefs.md b/workplans/IR-WP-0010-inbound-library-briefs.md new file mode 100644 index 0000000..b690ab8 --- /dev/null +++ b/workplans/IR-WP-0010-inbound-library-briefs.md @@ -0,0 +1,110 @@ +--- +id: IR-WP-0010 +type: workplan +title: "Receive automation briefs through inbound-library" +domain: infotech +repo: intelligence-radar +status: active +flavor: implementation +owner: claude +topic_slug: custodian +created: "2026-10-05" +updated: "2026-10-05" +--- + +The Grok and ChatGPT daily and weekly briefs are the first use of +inbound-library (ILIB-WP-0002). Both providers deliver by email. That delivery +is within their terms of service, unlike pulling from the signed-in websites. +The library keeps the mail and notifies this repo. This repo then retains each +brief through the existing T02 path of IR-WP-0008. The drop folder stays as a +manual fallback. + +This replaces the website pull of IR-WP-0009-T01. + +## Point the automations at the library mailbox + +```task +id: IR-WP-0010-T01 +status: wait +blocking_reason: "Needs the dedicated mailbox from ILIB-WP-0002-T07." +priority: high +``` + +Set each Grok automation's email delivery, and each ChatGPT scheduled task's +email notification, to the library mailbox. Then check whether each provider's +mail contains the full brief or only a link or teaser. A provider whose mail +does not carry the brief stays on the drop-folder fallback. That gap is recorded +here; it is not worked around. + +Acceptance: one daily and one weekly mail retained per provider, each with the +content assessment recorded. + +## Register topics, sources and the subscription + +```task +id: IR-WP-0010-T02 +status: todo +priority: high +``` + +In inbound-library, register: +- the topics `intelligence.daily-brief` and `intelligence.weekly-brief`; +- the Grok and ChatGPT sender sources, with their daily and weekly cadence; +- `registry/subscriptions/intelligence-radar.json`, using the `intelligence-radar` + agent name and all three channels. + +Acceptance: `inbound-library check` accepts the registry. + +## Retain notified briefs + +```task +id: IR-WP-0010-T03 +status: todo +priority: high +``` + +Add a `pull-briefs` step to `run-due`. It reads new items for this repo's +subscription through the library's pull CLI and retains them with +`import-briefs`-style provenance: the library item id and the original message. +After that, the existing digest-draft path lists them. + +The step must keep these properties: +- original bytes are kept; +- reviewed digests are never overwritten; +- the brief stays unverified until it is reviewed; +- if the library is unreachable, that part of the run fails and retries, and + source capture still runs. + +Acceptance: `make check` covers the case with no notices, a new item, an item +seen twice, and an unreachable library. + +## Contribute this repo's research sources + +```task +id: IR-WP-0010-T04 +status: todo +priority: medium +``` + +Offer the primary sources from `catalog/sources.json` to inbound-library as +shared sources under matching topics, so other repos can find them. Primary +capture stays here. The library only points to these sources and does not +re-ingest them. + +Acceptance: a second repo's subscription matches at least one contributed +source. + +## Run a week end to end, then retire the website-pull record + +```task +id: IR-WP-0010-T05 +status: todo +priority: medium +``` + +Run a week of unattended timer wakes. Every expected daily and weekly brief +should arrive, and any missing one should show in library health as source +silence. Then close IR-WP-0009-T01 as replaced by this route. + +Acceptance: a week with no operator step for any provider whose mail carries +the brief.