Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 7780@bnt-lap001 Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583
7.7 KiB
| id | type | title | domain | repo | status | flavor | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|---|
| IR-WP-0010 | workplan | Receive automation briefs through inbound-library | infotech | intelligence-radar | active | implementation | claude | custodian | 2026-10-05 | 2026-10-05 | ed794654-7c29-5455-9929-a41fe713c37a |
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
id: IR-WP-0010-T01
status: done
priority: high
state_hub_task_id: "785c4345-4dbc-5617-a0d0-2a5b394d1ca7"
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.
Done 2026-10-05 (automation delivery configured), content assessment:
- Grok: delivers by email to the founder's Gmail, which forwards it to
library@coulomb.social. Corrected 2026-10-05 after reading the retained mails:
the mail is a notification, not the brief. It holds the automation name
(
intelligence-radar-dailyor-weekly), the title and a teaser of about 1.5 KB that is cut off mid-sentence, followed by "Continue reading" and agrok.com/chat/<id>link that needs a signed-in session. The full brief (about 11 KB for a weekly) is not in the mail. The two 4 October mails were retained and routed as notifications. - ChatGPT: its automations offer no email delivery or forwarding (the founder
checked). ChatGPT briefs stay on the drop-folder fallback (
import-briefs, IR-WP-0008). The gap is recorded here and not worked around: no scraping of signed-in sessions. Revisit if OpenAI adds email delivery.
Register topics, sources and the subscription
id: IR-WP-0010-T02
status: done
priority: high
state_hub_task_id: "82b2217c-df13-5e60-9fb8-4e2bb818655b"
In inbound-library, register:
- the topics
intelligence.daily-briefandintelligence.weekly-brief; - the Grok and ChatGPT sender sources, with their daily and weekly cadence;
registry/subscriptions/intelligence-radar.json, using theintelligence-radaragent name and all three channels.
Acceptance: inbound-library check accepts the registry.
2026-10-05: the topics and registry/subscriptions/intelligence-radar.json
(hub, pull and daily digest) are registered and pass check. The sender sources
are still open. Once the first briefs arrive in quarantine, register their
actual From addresses. run-due then re-routes the quarantined mails.
Done 2026-10-05: source grok-briefs-via-founder is registered. It matches mail
from bernd.worsch@gmail.com whose original sender is noreply@x.ai (the new
inbound-library forwarded_from rule), under both intelligence topics, cadence
daily. Other founder forwards stay quarantined. Re-queue routed the two
quarantined briefs, and the hub notified the intelligence-radar agent (2 items).
Retain notified briefs
id: IR-WP-0010-T03
status: done
priority: high
state_hub_task_id: "248ebb6a-4fe1-5d90-b430-706b92f5029a"
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.
Done 2026-10-06, with the founder's decision to retain teasers as partial briefs and keep the drop folder for full text:
intelligence_radar/library_briefs.pyandpull-briefsare in place, andrun-duecalls them through thelibrarysection ofops/schedule.json.- Items are read only through the library CLI (
new,show,get). The original message bytes are kept as the artifact, andcontent_sha256equals the library item id. - Cadence comes from the automation name. The period comes from the forwarded original date (German or English), falling back to the received date.
- The record is schema 2 and carries
completeness: partialplus the "Continue reading" URL (never fetched). - Teasers are written to
<period>-grok-mail-<id>.md. The stable<period>-grok.mdname stays reserved for the full drop-folder brief. The digest draft labels teasers "(mailed teaser, partial)". - A library failure fails only this part of the run.
Tests: 8 cover the date parsing, no notices, a partial weekly brief, an item seen twice, an unreachable library, unconfigured and non-brief items, tampered bytes, and the received-date fallback. Live: the two 4 October Grok mails were retained (weekly 2026-W40, daily 2026-10-04, both partial). A second pull reports both as duplicates.
Contribute this repo's research sources
id: IR-WP-0010-T04
status: done
priority: medium
state_hub_task_id: "54945f3f-d651-5de2-8e03-c554ab34dc2c"
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.
Done 2026-10-06:
contribute-sourceswrites the five catalog sources into inbound-library as shared URL pointers. They areir-swe-bench,ir-anthropic-pricing,ir-anthropic-sonnet,ir-anthropic-sonnet-launchandir-openrouter-models. Their topics areai.benchmarks,ai.pricingandai.models, mapped inops/schedule.jsonunderlibrary.contribute.- URL and publisher come from
catalog/sources.json. Reruns are idempotent, and a file owned by another repo is refused. Primary capture stays here; the library lists the sources and does not fetch them. - The library gained the
sources --repodiscovery command. - Acceptance was verified against a temporary copy of the registry: a
hypothetical
llm-connectsubscription toai.pricingmatchedir-anthropic-pricingandir-openrouter-models. No real second consumer is subscribed yet, and none was registered on another repo's behalf.
Run a week end to end, then retire the website-pull record
id: IR-WP-0010-T05
status: todo
priority: medium
state_hub_task_id: "76ea8e93-62c9-58aa-a85d-f0bc795910e2"
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.
2026-10-06: no provider's mail carries the full brief. Grok mails a teaser, and ChatGPT does not mail at all. This week therefore verifies the unattended part: every expected Grok daily and weekly notification arrives and is retained as partial, and a missed one shows as source silence. Full text still needs the drop folder.