Add CONTENT-WP-0008 to project this repository into the explorer.
Publication stays closed until the repository's own license is recorded. The allowlist keeps the OnCo checkout out of the snapshot. Assistant: grok Assistant-Session: 01a15378-f601-7fe2-a143-8e1500a1d59c
This commit is contained in:
parent
f8c94d3272
commit
b828789d96
2 changed files with 117 additions and 1 deletions
115
workplans/CONTENT-WP-0008-repository-projection.md
Normal file
115
workplans/CONTENT-WP-0008-repository-projection.md
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
id: CONTENT-WP-0008
|
||||
type: workplan
|
||||
title: "Project this repository into the explorer"
|
||||
domain: infotech
|
||||
repo: content-explorer
|
||||
status: proposed
|
||||
flavor: implementation
|
||||
depends_on:
|
||||
- CONTENT-WP-0003
|
||||
- CONTENT-WP-0005
|
||||
- CONTENT-WP-0006
|
||||
created: "2026-10-19"
|
||||
updated: "2026-10-19"
|
||||
---
|
||||
|
||||
# Project this repository into the explorer
|
||||
|
||||
Publish a static dataspace whose records are this repository: its workplans, decisions, contracts, connectors, and the documents that define them. The existing UI renders that dataspace. No new kind names are added to UI component source.
|
||||
|
||||
The dataspace id is `repository`. Its title is "Content Explorer". Routes stay `/{dataspace}/{kind}/` and `/{dataspace}/{kind}/{slug}/`.
|
||||
|
||||
`THIRD_PARTY.md` says this research package still needs its own license. Adapted `ui/` files stay under the OnCo MIT notice. The sample dataspaces stay CC0-1.0. Those facts do not license the workplans, decisions, or architecture notes. Publication uses `publish_directory` and its current allowlist (`CC0-1.0`, `CC-BY-4.0`, `MIT`). CC BY-NC stays refused.
|
||||
|
||||
## Work packages
|
||||
|
||||
### Record the license that covers the projected repository documents.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T01
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Name one license already accepted by `publish_directory`, and add that choice where the repository records its own rights. Do not guess. Do not widen `ALLOWED_LICENSES`. Until this task is done, the connector publishes nothing.
|
||||
|
||||
### Allowlist the paths and kinds that represent the repository.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T02
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Include the durable authored records: workplans, decisions, architecture notes, contracts, connector modules, and the short root documents that define the project. Kinds come from that allowlist and are written only into the manifest. Exclude `upstream-onco/`, `tests/onco-reference/local/`, `tests/onco-reference/authorization.json`, `node_modules/`, `ui/node_modules/`, `.next/`, and the snapshot directory that this connector writes. Do not read the OnCo corpus. Do not follow links by fuzzy match.
|
||||
|
||||
### Map the allowlist into a canonical snapshot with provenance.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T03
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Add a connector beside the existing ones. Each included file becomes an entity `urn:ce:repository:<kind>:<key>` with the repo-relative path as an alias. The source carries the license from T01, a uri for the path, and `originSha` set to the commit that was projected. Claims cite that source. Relations are only the ones the files already state, including `depends_on` between workplans. A path outside the allowlist is reported and is not stored. Missing license, missing attribution when the license requires it, a duplicate id, or a dangling relation refuses publication.
|
||||
|
||||
### Publish the snapshot under the public examples and refresh it from a commit.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T04
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Write `examples/dataspaces/repository/` through the existing atomic publish path: snapshot, manifest, and both import reports. Replaying the same commit yields the same entity set and the same input digest. A changed included file changes the digest and refreshes the snapshot. The connector version is on the report.
|
||||
|
||||
## Acceptance gates
|
||||
|
||||
### The repository dataspace browses through the current UI.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T05
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Home, kind index, entity, neighbour, and source or license all open for `repository`. Search and the existing facets work. Kind labels are read from the manifest. `scripts/check_ui_boundary.py` still passes.
|
||||
|
||||
### Public CI accepts the new dataspace and still contains no OnCo corpus.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T06
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
`scripts/validate_fixtures.py`, the unittest suite, and `scripts/audit_public_tree.py` pass. The published snapshot uses only the license from T01. The OnCo slice, `authorization.json`, and `upstream-onco/` stay untracked.
|
||||
|
||||
### Replay is stable and a refresh is visible.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T07
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Two runs at one commit produce the same snapshot digest. A fixture that changes one allowlisted record produces a different digest and a report that names the connector version and the input digest.
|
||||
|
||||
### Every published claim cites the repository source.
|
||||
|
||||
```task
|
||||
id: CONTENT-WP-0008-T08
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Each claim has a source ref, the license from T01, and the commit in `originSha`. An included file with the license removed is quarantined and does not publish.
|
||||
|
||||
## Key risk
|
||||
|
||||
R9: publishing repository prose before its license is chosen, or letting the allowlist reach the OnCo checkout. Refuse publication instead of guessing. Keep the corpus paths out of the connector.
|
||||
|
||||
## Evidence
|
||||
|
||||
Pull requests, test logs, the pinned commit, and the published import report. Add `ImplementationNotes.md` and `Review.md` on completion. Do not mark a gate passed without a verifiable link.
|
||||
|
|
@ -12,9 +12,10 @@ Hub ids use the `CONTENT-WP` prefix. The seed notes called these WP-00 through W
|
|||
| CONTENT-WP-0005 | Quality and parity | begins with 0000, closes after 0004 | Release candidate |
|
||||
| CONTENT-WP-0006 | External pilot | 0005 | Decision to expand |
|
||||
| CONTENT-WP-0007 | OnCo reference-slice conformance | 0000, 0001, 0002, 0003, 0005 | Local CC BY-NC reference slice |
|
||||
| CONTENT-WP-0008 | Project this repository into the explorer | 0003, 0005, 0006 | This repo as a browsable dataspace |
|
||||
|
||||
**Minimum viable proof:** 0000 → 0001 → 0002, with JSON snapshot ingestion. The 0003 provenance gate is required before any externally ingested public content is published. 0004 and later need not delay the basic demo.
|
||||
|
||||
No effort estimates are asserted before cloning and profiling the upstream code. Priority: 0000 and 0001 now; then 0002 and 0003; then 0004 and 0005; then the 0006 pilot. 0007 is local conformance against the pinned OnCo slice. The slice is not redistributed and is not part of public CI.
|
||||
No effort estimates are asserted before cloning and profiling the upstream code. Priority: 0000 and 0001 now; then 0002 and 0003; then 0004 and 0005; then the 0006 pilot. 0007 is local conformance against the pinned OnCo slice. The slice is not redistributed and is not part of public CI. 0008 projects this repository into the explorer after its own license is recorded.
|
||||
|
||||
`INDEX.md` was renamed to this file so the State Hub workplan scan does not treat the map as a workplan.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue