feat(register): a decided title, and an org-profile that stops lying
Three changes at the register/engine boundary, all agreed with org-ops after census 05 and all about a check missing a place to record a legitimate exception. `titles`: an optional per-repo README title. Set, the H1 matches it and is OK; unset, the WARN stands as before. A human title was already this engine's stated position and rds-v1's prescription, but a decided YES had nowhere to live, so the same 6 WARNs were reported three censuses running and would have been reported forever. Five registered, each H1 read from the repo rather than copied from the census; `ai-psychosis` deliberately left out so the one repo where a reader cannot connect title to name stands alone. Measured across 21 local clones: 6 WARN before, 1 after, nothing else moved. `readme_desc_match: false` on the org-profile class: for an ordinary repo the README opening and the forge description describe the same subject and equality is right; for this class they do not — the README is the org's landing page, the forge text describes the repo. The equality is what does not apply, not either text. Class data, not a hardcoded name, and the exemption is RECORDED as an OK naming its reason, not dropped. `.profile` went ERROR to 0 ERROR / 0 WARN; the same README under a plugin class is still an ERROR. `engineCommit`: the version names a file, only the sha names the code. A sweep stamped 18 files 0.4.0 while four carried a 0.5.0-only finding — feature and version bump are two commits, so the stamp lied without being broken. Present-and-null when underivable, never absent: an absent key means an older engine, null means this one ran without a HEAD to read. 135 to 147 tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NELsvPY5gnJjN3esdhWYWC
This commit is contained in:
parent
a7276e6f78
commit
5884a64e54
8 changed files with 358 additions and 27 deletions
|
|
@ -71,7 +71,18 @@
|
|||
"",
|
||||
"Consumer-facing documentation is unaffected by working alone, and that is",
|
||||
"the whole distinction: SECURITY.md, LICENSE, CHANGELOG, non-goals and honest",
|
||||
"limitations exist for the reader, not for a contributor."
|
||||
"limitations exist for the reader, not for a contributor.",
|
||||
"",
|
||||
"`readme_desc_match: false` turns OFF the README-opening == forge-description",
|
||||
"equality for a class. Default is on, and it is right for an ordinary repo:",
|
||||
"both texts describe the SAME subject there. `org-profile` is the one class",
|
||||
"where they do not — its README is the ORGANISATION's landing page and the",
|
||||
"forge text describes the REPO. Both are correct about their own subject, so",
|
||||
"it is the equality that does not apply, not either text. A landing page's",
|
||||
"opening line also carries a markdown link, and the description field renders",
|
||||
"as PLAIN TEXT: passing the check would mean putting raw markdown on a real",
|
||||
"surface — trading a census ERROR for a visible defect. One member, so the",
|
||||
"exemption removes coverage nowhere else."
|
||||
],
|
||||
"classes": {
|
||||
"plugin": {
|
||||
|
|
@ -92,7 +103,8 @@
|
|||
"org-profile": {
|
||||
"required_files": ["README.md"],
|
||||
"required_headings": [],
|
||||
"install": "none"
|
||||
"install": "none",
|
||||
"readme_desc_match": false
|
||||
},
|
||||
"standalone": {
|
||||
"required_files": ["README.md", "LICENSE"],
|
||||
|
|
@ -101,6 +113,36 @@
|
|||
}
|
||||
},
|
||||
|
||||
"$comment_titles": [
|
||||
"Where a decided YES about a README H1 gets written down. A human title is a",
|
||||
"valid choice — `docs/rds-v1.md` prescribes `1. # Title` for every class, not",
|
||||
"`# repo-name` — but until this map existed the decision had nowhere to live,",
|
||||
"so census 05, 06 and 07 would have reported the same 6 WARNs forever.",
|
||||
"",
|
||||
"Set: the H1 is compared against it and a match is OK. Unset: WARN, exactly as",
|
||||
"before. That makes 'we decided this is correct' and 'nobody has looked at it'",
|
||||
"two different outcomes instead of one.",
|
||||
"",
|
||||
"PROPOSED BY THE OPERATOR, NOT MEASURED — like `traits` and `locales`, this is",
|
||||
"a judgement. The five below are not one phenomenon: `.profile` CANNOT be",
|
||||
"`# .profile` (the name is Forgejo's mechanism name for the org-profile repo),",
|
||||
"`llm-ingestion-guard` is not a title at all but the published package name",
|
||||
"(it is in `non_repos` above for the same reason), and the three plugins are",
|
||||
"one consistent product convention. Each H1 was read from the repo, not",
|
||||
"copied from a census.",
|
||||
"",
|
||||
"`ai-psychosis` (`# Interaction Awareness`) is DELIBERATELY ABSENT: it is the",
|
||||
"one where a reader cannot connect the title to the repo. Leaving it standing",
|
||||
"alone is the wanted effect of registering the others."
|
||||
],
|
||||
"titles": {
|
||||
".profile": "fromaitochitta / open",
|
||||
"llm-ingestion-pipeline-security": "llm-ingestion-guard",
|
||||
"linkedin-studio": "LinkedIn Studio Plugin for Claude Code",
|
||||
"llm-security": "LLM Security Plugin for Claude Code",
|
||||
"ms-ai-architect": "AI Architect Plugin for Claude Code"
|
||||
},
|
||||
|
||||
"$comment_traits": [
|
||||
"A SECOND axis, orthogonal to class. Class is structural (read off the",
|
||||
"catalog and the remotes); a trait is about what the code DOES, which no",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue