Freeze the v0.1 contract and the local ingest connector.

The snapshot and manifest schemas, both example dataspaces, and the shared text renderer now pass the fixture validator and the negative contract tests. JSON, NDJSON, and Markdown frontmatter publish a snapshot only when rights, identity, and references allow it. CONTENT-WP-0001 and CONTENT-WP-0003 are marked finished against those artifacts. CONTENT-WP-0000-T04 stays open. SCOPE.md and the 19:05 scope-against-intent note record the stop.

Assistant: grok
Assistant-Session: 01a130f1-abfb-7d71-9cd6-a8b75ec7f95a
This commit is contained in:
tegwick 2026-10-12 19:07:32 +02:00
parent 2b1706559b
commit 072a7fa550
30 changed files with 1896 additions and 264 deletions

42
SCOPE.md Normal file
View file

@ -0,0 +1,42 @@
# SCOPE — content-explorer
**As of:** 2026-10-12 19:05 CEST
**Stop:** Implementation stopped at 19:05 CEST, before 24:00. No later workplan had its prerequisites met. CONTENT-WP-0007 stays blocked.
This file describes the tree at that stop. It is the scope a reader can compare with `INTENT.md`. The comparison itself is `history/2026-10-12-1905-scope-against-intent.md`.
## In scope now
- A research seed for a domain-independent knowledge explorer. OnCo (onco.cc) is the experience reference. MIT-licensed upstream code may be adapted from the pinned checkout. The checkout stays gitignored at `upstream-onco/`.
- Pinned upstream baseline and reuse decision for commit `b594d7433bf4e408b44215e25e5304696d6f840e`, recorded under `research/baseline/`.
- Frozen snapshot and manifest contracts at `schemaVersion` 0.1, fact policy, and migration note under `contracts/`.
- Two independently authored example dataspaces, `examples/dataspaces/systems-thinking` and `examples/dataspaces/software-architecture`, each with at least three kinds and eight entities.
- Executable checks: `python3 scripts/validate_fixtures.py`, `python3 -m unittest tests.test_contract`, and `python3 -m unittest tests.test_ingest`.
- A shared text renderer, `content_explorer/render.py`. It takes headings and labels from the snapshot and manifest. It is not a browser UI.
- A build-time connector, `content_explorer/ingest.py` version `0.1.0`, for local JSON, NDJSON, and Markdown frontmatter. It publishes a snapshot, a manifest, and machine-readable and human import reports only when rights, identity, and references allow it.
## Out of scope
- The OnCo corpus, `src/data`, logos, portraits, trademarks, and CC BY-NC data. None of those are vendored in this repo.
- A production `next build` of upstream OnCo, pixel-perfect parity, MCP, and a third connector (GitHub issues or Wikidata).
- A browser explorer: landing, faceted index, detail page, search, graph view, and a mouse or keyboard journey. The workstation had no Chrome, Chromium, Firefox, or Playwright launcher, so those screens were not captured.
- Remote fetch, pagination, and authenticated APIs.
- New State Hub topics, or workplans posted by hand to the hub API. Local workplan files remain the source of truth.
- Unblocking CONTENT-WP-0007. Its first task still waits on a human data-use authorization.
## Workplan status
| ID | Status in the workplan file | What the tree shows |
|---|---|---|
| CONTENT-WP-0000 | active, partial | T01–T03 and T05–T09 are done and cite the baseline report, pin, and license notes. T04 is still `todo`: no headless browser, so there is no screenshot or keyboard log. |
| CONTENT-WP-0001 | finished | Schema, both fixtures, negative graph checks, fact policy, and the text renderer. Tests import `content_explorer/contract.py` and `content_explorer/render.py`. |
| CONTENT-WP-0002 | proposed, not started | Depends on 0000 and 0001. 0000 is not finished while T04 is open, so this plan was not started. |
| CONTENT-WP-0003 | finished | JSON, NDJSON, and Markdown connectors, source digest, second-pass links, tombstones, identity conflicts, rights quarantine, and atomic publish of snapshot, manifest, and both reports. Evidence is `content_explorer/ingest.py`, `tests/test_ingest.py`, and `workplans/evidence/CONTENT-WP-0003-*.md`. |
| CONTENT-WP-0004 | proposed, not started | Depends on 0002 and 0003. 0002 has not started. |
| CONTENT-WP-0005 | proposed, not started | Depends on 0004. |
| CONTENT-WP-0006 | proposed, not started | Depends on 0005. A third connector was a non-goal for this evening. |
| CONTENT-WP-0007 | blocked | Depends on 0000, 0001, 0002, 0003, and 0005. T01 remains `wait` with `needs_human: true`. No OnCo reference slice was imported. |
## Checks at the stop
`python3 -m unittest tests.test_ingest tests.test_contract` and `python3 scripts/validate_fixtures.py` exited 0 at 19:01 CEST and again after the ingest manifest and conflict work. The saved log for the closing run is outside the repo, in the session scratch file `fixture-check.txt`.