WF-8 · Publishing

Bluesky multi-source

Turns independent technology/AI and energy sources into bilingual Bluesky posts with original cards, source references and anti-reuse controls.

Active · experimentalMonday, Wednesday and FridayAI · energy · communication
Example card published by the workflow.
1 · In one sentence

It collects admissible news, compares them by topic or event, and turns them into a readable bilingual signal on Bluesky.

2 · Why it exists

To publish an original informational output without copying source text, source imagery or editorial layouts.

3 · What it produces

Two independent root posts, one in Italian and one in English.

Each run can publish up to two original images per language: one for technology/AI and one for energy/oil & gas. Website examples are shown without dates so the cards can be reused as project illustrations.

Second topic area in the same workflow family.

4 · Content-generation method for Bluesky

From feed to original post.

1Feeds and APIs
2Source policy
4Topic/event comparison
6Cards + IT/EN posts

Selection and policy

  • registered domains with source class, risk tier and reuse mode;
  • at least two independent groups per topic area;
  • priority to admitted official, institutional, research or corporate sources.

AI, ML and NLP used

  • sentiment classification as an internal reading aid;
  • topic, entity and event classification to group related content;
  • lexical similarity plus domain signatures to distinguish an event cluster from a theme bundle.

Controlled generation

  • facts-only templates for title, takeaway, why-it-matters and technical lens;
  • no reuse of editorial headlines or summaries in the public text;
  • independent Italian and English posts, no replies, with source references.

RPA and delivery

  • GitHub Actions orchestration through scheduled or manual jobs;
  • local card rendering with Pillow and publication through AT Protocol/XRPC;
  • audit artifacts, receipts, feed diagnostics and publication verification.

5 · Data used

Data and source families relevant to the Bluesky content
FamilyExamplesUseLimitation
Technology and AIOpenAI, Google Blog, Microsoft Research, NIST, arXivSignals on models, agents, infrastructure, chips and data centresRun availability depends on feed freshness
Energy and refiningEIA, DOE, European Commission – Energy, IEA and admitted feedsSignals on Hormuz, inventories, refining, volatility and suppliesThe output is informational and not an operational substitute
Source registryconfig/source_registry.jsonClassifies reuse permissions and independence groupsRequires periodic policy maintenance
6 · Models and rules

Models and rules

Multi-source pipeline with NLP classification, lexical similarity, event clustering or thematic comparison, and original templating of the public content.

7 · Controls

Controls

Copyright gate, maximum 5-gram overlap, at least two independent groups, EXIF removal, deduplication by language + sources + workflow, and verification of the published post.

8 · Results and metrics

Results and metrics

Publication receipts, grapheme counts, feed diagnostics, audit of selected sources, with consensus and coverage kept in internal artifacts.

9 · Limits

Limits

It does not replace the original sources, does not give advice, and may degrade when feeds are unavailable or when two valid independent sources are missing.

Workflow technical dossier

Implementation detail and relevant stack.

Architecture and data

  • news.py handles feed collection, ranking and NLP enrichment;
  • source_policy.py applies the source registry, reuse mode and independence groups;
  • multisource.py builds clusters, comparisons and communicable findings.

Methods

  • sentiment and topic classification support source selection;
  • lexical similarity and domain signatures align sources;
  • original templates plus communicability rules shape the public text.

Validation and failure modes

  • a gate blocks non-admissible sources or topic areas with fewer than two independent groups;
  • PDS/AppView publication diagnostics, anti-duplication and run summaries are produced;
  • fallback to dry-run or local preview is available when live publication is not appropriate.

Runtime and packages

  • requests, transformers, torch, sentencepiece, sacremoses;
  • pandas, numpy, matplotlib, Pillow, regex;
  • publication and orchestration through GitHub Actions, AT Protocol/XRPC and GitHub artifacts.
Method and assumptions

The workflow produces original content from communicable facts extracted from admitted sources; sentiment and consensus remain internal support metrics, not public truth claims.

Main failure modes

Insufficient sources, non-admitted domains, weakly aligned clusters, unavailable feeds or excessive reuse risk block or degrade publication.

Publication governance

Each post contains disclosure, workflow tags, facets to the sources and no reply_to relationship; the site keeps the method, images and context.

See recent outputs

The Publications page reads the public Bluesky feed and shows recent runs; for WF-8 it can display more than one image in the same post.

Open publications