Wire content is aggregated journalism. Every published item must remain traceable to the source item and Data Machine execution that produced it.
Data Machine owns generic execution provenance:
_datamachine_source_urlstores the canonical fetched source URL._datamachine_post_handleridentifies the post-producing handler._datamachine_post_flow_ididentifies the originating flow. Pipeline, agent, and user ownership are resolved through that flow.- Job artifacts and transcripts retain the source packet, extraction context, and AI execution evidence.
- Processed-item tracking prevents the same source item from being selected repeatedly.
News Wire owns news-domain decisions:
- Whether a fetched document is publishable news.
- Whether multiple source items describe the same underlying story.
- Whether a new item updates an existing story, becomes a related development, or is rejected.
- Which source claims may appear in the published story.
- Festival, artist, location, and future Wire-type classification.
News Wire must not duplicate Data Machine origin fields under Wire-specific keys. Data Machine must not encode publisher, article, festival, or story-merging policy.
A machine-published Wire item is complete only when all of the following are available:
- A canonical source URL in
_datamachine_source_url. - A handler and flow ID in Data Machine's post tracking metadata.
- A retained job artifact or transcript containing the source packet used to generate the story.
- Visible source attribution in the rendered article.
Rendered attribution is for readers. Metadata and job evidence are for auditability and automation. One does not replace the other.
Publishing should fail closed or remain in draft when the canonical source URL is unavailable. A source URL generated or inferred by AI is not acceptable.
The following values come from the fetch handler or source document and are authoritative:
- Canonical source URL.
- Source item identifier, such as a feed GUID, API ID, or Reddit fullname.
- Publisher or community identity.
- Original source title and byline when provided.
- Original publication timestamp when provided.
- Extraction timestamp.
AI may summarize, classify, and rewrite source material for the Wire article. AI must not overwrite or invent authoritative source fields. Source-derived values stay in the Data Machine packet and job evidence even when they are not copied into WordPress post meta.
Source identity and story identity are different.
Data Machine owns exact source-item identity. The handler's stable item identifier and canonical URL determine whether that exact item was processed before.
Examples include a Reddit post fullname, RSS GUID, publisher API ID, or normalized canonical URL.
News Wire owns cross-source story identity. Two different source items may describe the same announcement, controversy, lineup change, or subsequent development.
Do not add persistent story IDs until a second source or Wire vertical requires actual cross-source merging. When that consumer exists, the identity must be deterministic, explainable, and reviewable. Title similarity alone is insufficient.
- Create: The source item covers a new story.
- Update: The same source item was revised without changing the underlying story.
- Related development: A distinct source advances an existing story and deserves its own post with an explicit relationship.
- Merge: Multiple source items are syndicated copies or materially identical reports. Preserve every source in job evidence.
- Reject: The item is off-topic, duplicative without additional value, unverifiable, or lacks a canonical source.
Published article content is editorial output. Automated source refreshes must not silently replace published prose. Material updates should create a revision and retain the prior version.
Wire posts support WordPress revisions. Machine updates should be exceptional rather than routine:
- Source metadata corrections may update post meta without rewriting the article.
- Material article changes create a WordPress revision.
- A newly discovered source usually becomes a related development instead of silently replacing the original story.
- Revision limits should be introduced only if measured machine-update volume creates database pressure.
Production inspection in July 2026 found current Festival Wire posts missing Data Machine origin metadata even though the source URL remained visible in article content. This generic tracking regression is recorded upstream in Extra-Chill/data-machine#2879. News Wire must not add a local tracking workaround; the fix belongs in Data Machine's central post-producing tool execution.
Before adding a new Wire CPT, document:
- Its required source relationships and taxonomies.
- Its publishability and rejection rules.
- Its source handlers and stable item identifiers.
- Its subscription targets and return-value proposition.
- How its schema differs materially from
festival_wire.
Only extract shared Wire code after the second CPT proves the common behavior.