content-explorer/connectors/AUTHORING.md
tegwick f8c94d3272
All checks were successful
synthetic / suite (push) Successful in 56s
Finish the computing-basics pilot and the local OnCo reference slice.
The single-operator pilot keeps static projection. Local OnCo use requires a CC BY-NC origin notice, and the slice stays out of public CI.

Assistant: grok
Assistant-Session: 01a15378-f601-7fe2-a143-8e1500a1d59c
2026-10-19 13:04:55 +02:00

20 lines
2.1 KiB
Markdown

# Connector authoring
A connector maps one source format to candidate records, then calls `project_records` and `publish_directory` in `content_explorer/ingest.py`. It does not render and it does not import UI code. Native source identifiers are aliases on `urn:ce:` ids. Publication stays fail-closed: a forbidden license, an unresolved reference, or an identity conflict returns no snapshot.
Certify a connector with a pinned local file, not a live API:
1. An accepted run publishes a snapshot, a manifest, and both import reports. Every claim cites a source whose license is `CC0-1.0`, `CC-BY-4.0`, or `MIT`.
2. A refused run (forbidden rights, unresolved reference, or identity conflict) publishes no snapshot.
3. Replaying the same file yields the same entity set.
4. A changed file refreshes the snapshot. The report records the connector version, the input digest, and the counts.
`connectors/wikidata_export.py` and `tests/test_wikidata_connector.py` are the worked example. The input is `examples/sources/wikidata/computing-basics.json`.
## Update and governance
The repository owner refreshes a pinned source. A new source needs a license review before activation, and the review names the license, the attribution duties, and whether `publish_directory` may write it under `examples/`. `CC-BY-NC-4.0` stays out of that allowlist.
Wikidata computing-basics is CC0. Refresh it by replacing `examples/sources/wikidata/computing-basics.json` with a new pinned export, then rerun the connector tests. The import report keeps the connector version and the input digest.
The OnCo reference slice is a separate adapter, `connectors/onco_reference.py`. It writes only under `tests/onco-reference/local/` after `tests/onco-reference/authorization.json` grants local use and refuses redistribution and public CI. The owner of that file is the repository owner. The slice is not a published dataspace. Pages that render it show the CC BY-NC origin notice from the source record: attribution, license link, material link, retrieval date, origin SHA, non-commercial mark, and modification notice.