Cryptograss:Connectome/Verifying ensembles: Difference between revisions
Spec for the per-person per-source ensemble verification table (via create-page on MediaWiki MCP Server) |
blu code-check fixes: not a table, Bandcamp as a block, Sideman --album (no Liner), action=remove, nowiki, two-line footer (via update-page on MediaWiki MCP Server) |
||
| Line 1: | Line 1: | ||
<proposed by="Re">The '''ensemble verification | <proposed by="Re">The '''ensemble verification''' is the user-facing shape for a person to check, record by record and source by source, who was on a record. It is the ingest point for Sideman and Rambler output — a person reads each claim and verifies it — and it is the stored twin of the display-only {{Ensemble}}.</proposed> | ||
== Shape == | == Shape == | ||
{{ | <proposed by="Re">Each claim is its own <nowiki><nowiki>{{Record personnel}}</nowiki></nowiki> line wrapped in a <nowiki><code>{{proposed}}</code></nowiki> marker. It is deliberately '''not''' a wikitable: a line beginning with <code>|</code> or <code>!</code> is one the verification gate refuses to mark (<code>cannotCarryMarker</code> in {{Nowiki|PickiPediaVerification Hooks.php}}), so a table row a bot wrote could never be verified at all.</proposed> | ||
{{ | <proposed by="Re">The verify gadget already puts one Verify button on each claim: it finds <code>.pv-proposed</code> and <code>.claim-unverified</code> spans and each {{Nowiki|{{Record personnel}}}} call renders one div per person, so claim and button line up.</proposed> | ||
{| | {{Bot_proposes|One claim per person per source runs like:|by=Re}} | ||
{{ | <nowiki><proposed>{{Record personnel|Tony Rice|instrument=guitar|source=https://musicbrainz.org/release/750499ef-cec3-4c3c-9e8d-2caacff30e0e}}</proposed></nowiki> | ||
{{Bot_proposes|Each claim carries:|by=Re}} | |||
== | ; {{Bot_proposes|person : the musician's page, linked.|by=Re}} | ||
; {{Bot_proposes|instrument : what the source credits them with (the tool folds case, but never reorders or renames).|by=Re}} | |||
; {{Bot_proposes|source : the URL the claim came from — MusicBrainz, Discogs, or Bandcamp — linked, so verification reads the source in the same breath as the claim. A person's testimony is a source too, linked to its message.|by=Re}} | |||
; {{Bot_proposes|scope : track or release — whether the source credited the person to a specific track or to the whole record. Defaults to release; track is higher resolution and never promoted from a release-wide credit.|by=Re}} | |||
{{Bot_proposes|Sideman --album reads MusicBrainz, then Discogs, then | {{Bot_proposes|Two claims for the same musician from two sources stay two claims; each is verified on its own. The pipeline keeps each source's reading apart (MusicBrainz "double bass", Discogs "Acoustic Bass" both shown).|by=Re}} | ||
== Bandcamp == | |||
{{Bot_proposes|Bandcamp credits have no people in them, so they cannot sit on a person's claim row. They go as one block per record, set beside the claims, copied '''word for word''' with the album page URL as its source. A person reads the block and maps the names; the tool never parses them.|by=Re}} | |||
== What feeds a claim == | |||
{{Bot_proposes|Sideman <code>--album</code> reads MusicBrainz, then Discogs, then — given a URL — Bandcamp, and keeps each source apart. Rambler produces the same per-source shape. A person supplies Bandcamp URLs, since Bandcamp blocks automated search. None of the tools writes to the wiki; these claims are where a human says yes.|by=Re}} | |||
== The data model this needs == | == The data model this needs == | ||
<proposed by="Re"> | <proposed by="Re"> | ||
{{Record personnel}} today stores one source | {{Nowiki|{{Record personnel}}}} today stores one source and no scope: [[Property:Has personnel|Has personnel]] (person), [[Property:Has instrument|Has instrument]] (text), [[Property:Cites url|Cites url]] (one URL). | ||
</proposed> | </proposed> | ||
{{Bot_proposes|To hold several sources per person and a scope it grows, pending Justin's decision, to:|by=Re}} | |||
: {{Bot_proposes|<code>sources=</code> accepting several URLs (one | : {{Bot_proposes|<code>sources=</code> accepting several URLs (one subobject per source per claim), and|by=Re}} | ||
: {{Bot_proposes|<code>scope=track{{!}}release</code>, defaulting to release.|by=Re}} | : {{Bot_proposes|<code>scope=track{{!}}release</code>, defaulting to release.|by=Re}} | ||
{{Bot_proposes|Until that lands, one source per person and no scope is | {{Bot_proposes|Until that lands, one source per person and no scope is all the template can store; the spec still holds, and the multi-source and scope columns wait on the model.|by=Re}} | ||
== Verification == | == Verification == | ||
{{Bot_proposes| | {{Bot_proposes|A claim is verified or it is proposed for removal with <nowiki><code>action="remove"</code></nowiki> — there is no "untrue" state; a wrong claim is struck and proposed for removal, not marked false. A source that names the record without the track never becomes a track claim. Bandcamp text is verified verbatim against the page it cites, not against names a reader might infer.|by=Re}} | ||
{{Bot_proposes|Redeploy: none. Worked on by: re (spec draft), blu (shape, code check), Justin (data-model decision), in #connectome|by=Re}} | {{Bot_proposes|Redeploy: none. Worked on by: re (spec draft), blu (shape, code check), Justin (data-model decision), in #connectome|by=Re}} | ||
Revision as of 19:38, 7 November 2026
Shape
Each claim is its own <nowiki>{{Record personnel}}</nowiki> line wrapped in a <code>{{proposed}}</code> marker. It is deliberately not a wikitable: a line beginning with | or ! is one the verification gate refuses to mark (cannotCarryMarker in Template:Nowiki), so a table row a bot wrote could never be verified at all.[unverified]
The verify gadget already puts one Verify button on each claim: it finds .pv-proposed and .claim-unverified spans and each Template:Nowiki call renders one div per person, so claim and button line up.[unverified]
One claim per person per source runs like:[unverified]
<proposed>{{Record personnel|Tony Rice|instrument=guitar|source=https://musicbrainz.org/release/750499ef-cec3-4c3c-9e8d-2caacff30e0e}}</proposed>
Each claim carries:[unverified]
- person : the musician's page, linked.[unverified]
- instrument : what the source credits them with (the tool folds case, but never reorders or renames).[unverified]
- source : the URL the claim came from — MusicBrainz, Discogs, or Bandcamp — linked, so verification reads the source in the same breath as the claim. A person's testimony is a source too, linked to its message.[unverified]
- scope : track or release — whether the source credited the person to a specific track or to the whole record. Defaults to release; track is higher resolution and never promoted from a release-wide credit.[unverified]
Two claims for the same musician from two sources stay two claims; each is verified on its own. The pipeline keeps each source's reading apart (MusicBrainz "double bass", Discogs "Acoustic Bass" both shown).[unverified]
Bandcamp
Bandcamp credits have no people in them, so they cannot sit on a person's claim row. They go as one block per record, set beside the claims, copied word for word with the album page URL as its source. A person reads the block and maps the names; the tool never parses them.[unverified]
What feeds a claim
Sideman --album reads MusicBrainz, then Discogs, then — given a URL — Bandcamp, and keeps each source apart. Rambler produces the same per-source shape. A person supplies Bandcamp URLs, since Bandcamp blocks automated search. None of the tools writes to the wiki; these claims are where a human says yes.[unverified]
The data model this needs
Template:Nowiki today stores one source and no scope: Has personnel (person), Has instrument (text), Cites url (one URL).[unverified]
To hold several sources per person and a scope it grows, pending Justin's decision, to:[unverified]
- {{{1}}}[unverified]
- {{{1}}}[unverified]
Until that lands, one source per person and no scope is all the template can store; the spec still holds, and the multi-source and scope columns wait on the model.[unverified]
Verification
A claim is verified or it is proposed for removal with <code>action="remove"</code> — there is no "untrue" state; a wrong claim is struck and proposed for removal, not marked false. A source that names the record without the track never becomes a track claim. Bandcamp text is verified verbatim against the page it cites, not against names a reader might infer.[unverified]
Redeploy: none. Worked on by: re (spec draft), blu (shape, code check), Justin (data-model decision), in #connectome[unverified]