Repository navigation
docs: add status banners, citation metadata and a named rights holder - #3
Conversation
…rking title Readers often land on a single protocol file from a search result or a link, without passing through the README. Nothing on those pages said the protocol is experimental or which version it is. The README also never explained why the main protocol file is headed "Human–AI Discovery Protocol" while the project is called earnedshape. Each of the 11 Markdown files under protocol/, including protocol/observation-model/, now carries the same status line directly under its H1: > **Status:** experimental, protocol v0.2. Rules may still change between versions. The line has no links, so it is byte-identical at both directory depths. A version that linked to CHANGELOG was rejected because the relative path differs between protocol/ and protocol/observation-model/, so the line could not be the same everywhere. Renaming the protocol heading was out of scope for this change. Instead, one sentence at the end of the README's licence and version paragraph says that "Human–AI Discovery Protocol" is the earlier working title. tools/known-findings.txt is keyed by line number. The status line adds two lines above the two accepted boundary-lint findings, so those entries move from 112 to 114 and from 89 to 91. They are the same two findings. No new finding is accepted. Tested: tools/boundary_lint.py exits 0 (2 known, 0 new); line 3 of every protocol file matches the status line exactly; the README names the working title exactly once. Risk: because known-findings.txt is keyed by line number, any later edit above those lines in either file must shift the entries again. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME
People citing the protocol or its research synthesis had nothing to cite from, so every citation was improvised. CITATION.cff (Citation File Format 1.2.0) at the repository root gives them one form: title, abstract (the repository description), type software, repository-code, both licences (MIT for code, CC-BY-4.0 for prose), the four repository topics as keywords, and version "0.2", which is the protocol version. Both licence files previously read "Copyright (c) 2026 earnedshape contributors". That names no one who can grant or enforce the licence. They now name kschlt, the same alias the CITATION.cff author entry uses. The username is the published rights holder by choice, so no full name, email or affiliation appears. The licence terms themselves are unchanged. Alternatives considered: an entity author named "earnedshape contributors" was rejected for the same reason as the old copyright line. A date-released field and a DOI were left out because there is no release or DOI yet; they belong with the first tagged release. Tested: CITATION.cff validates against the official CFF 1.2.0 JSON schema (jsonschema, Draft 7, with format checking); both licence files name kschlt, matching the CFF alias; the boundary lint passes with no new findings. Risk: the CFF version field has to be bumped with each protocol release, starting with v0.2.1. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME
PR Review VerdictResult: PASS Deterministic: CI check-run Acceptance Criteria
Findings
Not Checked
Routed
Judgment dimensions
|
|
Round 1 advisory (rights-holder confirmation): the owner confirmed The routed finding about keying the lint baseline by line number is filed in the project backlog input for a later change. It is out of scope for this PR. Generated by Claude Code |
Requested by Kornelius · project thread
Merge order: merge this after the open change that adds the commit-time guard against private emails and names. Before merging, this branch takes that version of main in and passes the guard.
Before: A reader who landed on a single protocol file from a search result or link could not tell that the protocol is experimental or which version it is. The main protocol file is headed "Human–AI Discovery Protocol" and nothing explained that name. There was no citation metadata, so every citation was improvised. Both licence files named "earnedshape contributors" as rights holder, which names no one who can grant or enforce the licence.
After: Every protocol file states its status and version under its heading. The README explains the old title.
CITATION.cffgives one form to cite. Both licences namekschltas rights holder.This PR adds a status line to every protocol file, a README sentence on the working title, a
CITATION.cff, and a named rights holder in both licence files.How
protocol/, includingprotocol/observation-model/:> **Status:** experimental, protocol v0.2. Rules may still change between versions.It has no links, so it is byte-identical at both directory depths. A version linking to the changelog was rejected because the relative path differs between the two directories.CITATION.cff(CFF 1.2.0) lists one author, the aliaskschlt, with no email and no affiliation (the owner's choice). It also has both licences (MIT, CC-BY-4.0), version0.2(the protocol version) and the four repository topics as keywords.date-releasedand a DOI are left out until the first tagged release. An entity author "earnedshape contributors" was rejected for the same reason as the old copyright line.LICENSEandLICENSE-DOCSnow readCopyright (c) 2026 kschlt. The licence terms are unchanged.tools/known-findings.txtis keyed by line number. The status line adds two lines above the two accepted findings, so they move from 06:112 to 114 and from 07:89 to 91. They are the same findings, and nothing new is accepted.Acceptance List
Derived from the acceptance criteria of BAN, CIT.
protocol/, includingprotocol/observation-model/, carries the same one-line status banner stating experimental and v0.2 directly under its heading — proof: eval:protocol-banner-grep (every file under protocol/ matches the banner line) — Verify:for f in $(find protocol -name '*.md'); do sed -n 3p "$f"; done | sort | uniq -cprints one line with count 11grep -c 'Human–AI Discovery Protocol' README.mdprints 1; read the last sentence of the licence and version paragraphpython3 tools/boundary_lint.py .) — Verify:python3 tools/boundary_lint.py .reports 2 finding(s), 0 new, exit 0CITATION.cffexists and is valid Citation File Format 1.2.0 — proof: eval:cff-validate (cffconvert --validateor an equivalent CFF schema check) — Verify:cffconvert --validatein the repository root, or validate against the CFF 1.2.0 JSON schemaLICENSEandLICENSE-DOCSname the rights holder instead of "earnedshape contributors" — proof: eval:license-holder-grep — Verify:grep -n Copyright LICENSE LICENSE-DOCSshowsCopyright (c) 2026 kschltin both; licence terms are otherwise unchanged in the diffCITATION.cffmatches the name in both licence files — proof: eval:license-holder-grep — Verify: the only author inCITATION.cffisalias: kschlt, the same string as the two copyright linestools/known-findings.txtmove by two lines (06:112 to 114, 07:89 to 91) and no new finding is accepted — Verify: the diff oftools/known-findings.txtchanges only those two line numbers; the lint output names the same two findings asknownCITATION.cffcarries no email, affiliation, date-released or DOI — Verify: read the 17-line file: one author with only an alias, both licences, version "0.2", four keywordsWhat Was Tested
python3 tools/boundary_lint.py .exits 0 with 2 known findings and 0 new.protocol/equals the status line (11 of 11).CITATION.cffvalidates against the official CFF 1.2.0 JSON schema (jsonschema, Draft 7, with format checking).kschlt, the same string as the CFF author alias.Risks
06_…or line 91 of07_…has to shift the matchingtools/known-findings.txtentries again, or the lint reports them as new.versionfield has to be bumped with each protocol release, starting with v0.2.1.🤖 Generated with Claude Code
https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME
Generated by Claude Code