content-explorer/workplans/evidence/CONTENT-WP-0007-ImplementationNotes.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

3.2 KiB
Raw Blame History

CONTENT-WP-0007 implementation notes

Date: 2026-10-19

Grant

The repository owner approved local OnCo use when origin attribution matches the CC BY-NC 4.0 duties: creator attribution, license link, link to the material, retrieval date, pinned origin, modification notice, and a non-commercial mark. tests/onco-reference/authorization.example.json is the committed record. tests/onco-reference/authorization.json is the same grant and is gitignored. distribution_allowed and ci_allowed are false. extract_allowlist refuses to read the pin unless that file grants local use and refuses redistribution.

Slice

Pin b594d7433bf4e408b44215e25e5304696d6f840e. Allowlist tests/onco-reference/slice-allowlist.json has 17 ids and no prose. The adapter writes tests/onco-reference/local/dataspace/, which is gitignored.

Counts from the licensed projection: 17 entities, 9 kinds, 18 sources, 41 stored relations, 884 outside-allowlist edges, 925 source edges. Stored plus outside equals source edges. Eight predicates are stored. Sixteen records omit the optional aka field, and that absence is listed in missingOptional. Every entity has a dated TL;DR and a summary, and at least two source refs. A simple path of three edges exists from urn:ce:onco-reference:cancer:tnbc. At least one entity has two stored edges of the same predicate.

content_explorer/attribution.py blocks projection when a CC BY or CC BY-NC duty is missing. Public publish_directory still refuses CC-BY-NC-4.0.

Same UI

CONTENT_EXPLORER_LICENSED=1 adds tests/onco-reference/local as a catalog root. The public default does not. Home, kind, and graph pages render OriginNotice when a source carries attribution. Detail pages keep a credit line on each source. CC0 dataspaces do not show that notice.

Filesystem reads in ui/lib/catalog.ts are marked turbopackIgnore so a production build does not trace the local slice into the server bundle. After the licensed build, the server chunk contains the path string and does not contain src:onco:reference-slice.

Journeys

Licensed next start on 127.0.0.1:3492, 2026-10-19:

Request Attribution notice
/onco-reference/ present
/onco-reference/cancer/ present
/onco-reference/graph/ present
/onco-reference/cancer/tnbc/ present, with neighbour links
/onco-reference/term/bystander-effect/ present
/onco-reference/?q=TNBC 200, query kept, filter remains in the browser
/onco-reference/cancer/?tags=cancer&kind=Cancer 200, both facet keys kept
/computing-basics/ on the same server notice absent
/ notice absent

An unknown slug renders the Next.js not-found document, with HTTP 200, the same way an unknown computing-basics slug does.

Exceptions

The pinned OnCo UI was not started. Full next build of that checkout has previously exhausted memory, and screenshots of the slice would redistribute CC BY-NC text. Visual pixel parity and the 1280×800 / 390×844 captures are not claimed. Semantic comparison is the adapter test: allowlist order, edge accounting, attribution gaps, and the HTTP notice checks above.

Public CI is sh scripts/ci-synthetic.sh. It does not fetch OnCo. The licensed unittest skips when upstream-onco/ is absent.