Context
Follow-up from review of #154 (rubric-review branch). This is the most important pre-merge gap.
Problem
#154 rewrites the rubric20 Applies to: fields into a conditional form:
"Always report results of this question, but only score if [human subjects / governance / shared datasets / software / publication] is identified elsewhere."
This introduces a third question state — reported but not scored — that has no representation in the output. The output JSON still emits a numeric score per question and computes overall_score.total_points / percentage against a fixed max_points.
Impact
With no encoding or denominator rule, an N/A question will either:
- be scored
0 → penalizes core / non-applicable datasets, or
- be silently dropped → percentages become non-comparable across datasheets.
This is especially damaging for D4D-core datasheets (claudecode_agent_core), which by design trip many of these "not applicable" questions.
Proposed fix
- Define an explicit convention in the output schema, e.g.
applicable: false and score: null for reported-but-unscored questions.
- State the denominator rule: excluded questions are removed from
max_points so percentage is computed only over applicable questions (and document this so core vs. full-schema scores stay comparable).
- Mirror the same convention in the batch
EvaluationSummary aggregation.
Scope
.claude/agents/d4d-rubric20-semantic.md (output format + scoring rules)
- Apply analogously to
d4d-rubric10-semantic.md if/when conditional applicability is added there (see companion issue).
Context
Follow-up from review of #154 (
rubric-reviewbranch). This is the most important pre-merge gap.Problem
#154 rewrites the rubric20
Applies to:fields into a conditional form:This introduces a third question state — reported but not scored — that has no representation in the output. The output JSON still emits a numeric
scoreper question and computesoverall_score.total_points/percentageagainst a fixedmax_points.Impact
With no encoding or denominator rule, an N/A question will either:
0→ penalizes core / non-applicable datasets, orThis is especially damaging for D4D-core datasheets (
claudecode_agent_core), which by design trip many of these "not applicable" questions.Proposed fix
applicable: falseandscore: nullfor reported-but-unscored questions.max_pointssopercentageis computed only over applicable questions (and document this so core vs. full-schema scores stay comparable).EvaluationSummaryaggregation.Scope
.claude/agents/d4d-rubric20-semantic.md(output format + scoring rules)d4d-rubric10-semantic.mdif/when conditional applicability is added there (see companion issue).