All checks were successful
synthetic / suite (push) Successful in 56s
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
45 lines
3.2 KiB
Markdown
45 lines
3.2 KiB
Markdown
# 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.
|