intelligence-radar/workplans/IR-WP-0008-external-brief-intake.md
tegwick 6808aa3594 Define reviewed publications and record the field-sampling frame.
IR-WP-0007-T03 can now record a capture-linked publication separately from generated drafts. The field-outcome design is written, and credential, billing, and website-pull gates were rechecked and left waiting.

Assistant: grok
Assistant-Session: 01a106a5-fc07-78c2-b64f-8e04cea25daf
2026-10-04 14:51:01 +02:00

78 lines
3.1 KiB
Markdown

---
id: IR-WP-0008
type: workplan
title: "Ingest external automation briefs"
domain: infotech
repo: intelligence-radar
status: active
flavor: implementation
owner: grok
topic_slug: custodian
created: "2026-10-04"
updated: "2026-10-04"
state_hub_workstream_id: "48ae162a-f232-5cbd-8b7a-c6fac6b03d72"
---
The local timer already captures registered primary sources and drafts a digest
from observations. ChatGPT and Grok website automations produce a separate
editorial brief. Until now those briefs were saved by hand into
`$DOWNLOADS/intelligenceRadarDaily`, and files under `archive/` had already
been captured. Activity Core does not publish a feed of these briefs.
## Retain unarchived drop-folder briefs
```task
id: IR-WP-0008-T01
status: done
priority: high
state_hub_task_id: "4666ef36-177e-5909-aed7-f58ed9a4d37c"
```
Import every `YYMMDD-intelligenceRadarDaily|Weekly_chatgpt|grok.txt` file that
sits directly in the brief inbox. Ignore `archive/`. Retain the original bytes,
write an unverified copy under `digests/external/`, and move a newly retained
file into `archive/` when that name is free or already identical. Leave empty,
unreadable, and colliding names in the inbox. Do not overwrite an existing
reviewed digest.
Done 2026-10-04: `import-briefs` retained 15 unarchived inbox files.
The empty 3 October Grok file stayed in the inbox. The 27 September ChatGPT
file differed from the bytes already under `archive/` of the same name, so
the new bytes were retained and the inbox file was left beside the older
archive copy. `make check` covers the retention rules.
## Import briefs from the local due job
```task
id: IR-WP-0008-T02
status: done
priority: high
state_hub_task_id: "720383d9-a9dd-595f-9b9c-f40ab3e3adc2"
```
`run-due` reads `ops/schedule.json` `external_briefs` on each timer wake, before
the source jobs. A missing inbox fails that part of the run and retries on the
next wake. Source capture still proceeds. A new observation draft lists retained
briefs for the same period. An existing digest file is left as it is.
`INTELLIGENCE_RADAR_BRIEF_INBOX` overrides the inbox for one run.
## Pull website automation runs without an operator
```task
id: IR-WP-0008-T03
status: wait
blocking_reason: "chatgpt.com and grok.com keep automation runs in the signed-in account. The shared ChatGPT weekly conversation is one snapshot, not a result feed. grok.com publishes no public link or export API. This repository does not send an account session to either site."
priority: medium
state_hub_task_id: "4829c33d-acc1-5357-b75f-93542d322a00"
```
Record `needs_session` for both providers on every due run. The unattended
path remains the brief inbox: an export saved there, including one saved from
Grok's email delivery, is retained by T02. Pulling the websites themselves
waits on a real export or an authorized account feed that does not guess
private endpoints.
Rechecked 2026-10-04: the inbox has no new export. It still holds the empty
3 October Grok file and the 27 September ChatGPT file whose archive name is
already taken by different bytes. email-connect has no Intelligence Radar
feed. No session was sent to chatgpt.com or grok.com. Stays wait.