Sub-issue of #1222 (Precision, Recall and F1Score metrics).
Lane: 6 · Review (DARC sign-off)
Skill needed: a second pair of eyes with ML-metrics and Kotlin literacy. Must not be the implementer of #1226–#1229 or the author of #1234.
Size: s (~2 h)
Blocked by: #1229 and #1234 merged.
What to do
Walk all four DARC phases against the shipped code, per Contributing → DARC: advanced
contribution workflow → Criteria for setting @DarcValidated:
- D — Document. The three partials have non-empty
math / intuition / examples /
references tags; none are placeholders.
- A — Assess. Run every documented example against
develop; shapes, dtypes and
numbers must match the prose. Spot-check the zero-division and macro-vs-micro claims
against the tests. Cross-check the reference fixture (pred [2,0,1,2], target [2,1,1,0]) against a one-off sklearn.metrics.precision_recall_fscore_support run.
- R — Research. Click every citation in the partials; each must still resolve and
support the specific claim it backs.
- C — Code. The implementation matches the documented contract (averaging modes,
zero-division, dim / threshold semantics, single accumulator per metric).
- If all four pass, open a PR adding
@DarcValidated(by = "First Last <you@example.com>", on = "YYYY-MM-DD") to the
compute() override of Precision, Recall and F1Score. If any fails, send the
specific item back to its sub-issue — don't annotate.
Acceptance
Notes
Precedent to flag, not to solve: @DarcValidated targets FUNCTION and today the KSP
OperatorDocProcessor only reads it off TensorOps functions — so the badge will be
recorded in source but will not render on any generated page for a Metric. Mention
that in the PR so whoever owns the doc pipeline can decide whether Metric
implementations become a second processed category. That is a follow-up, not a blocker.
Sub-issue of #1222 (Precision, Recall and F1Score metrics).
Lane: 6 · Review (DARC sign-off)
Skill needed: a second pair of eyes with ML-metrics and Kotlin literacy. Must not be the implementer of #1226–#1229 or the author of #1234.
Size: s (~2 h)
Blocked by: #1229 and #1234 merged.
What to do
Walk all four DARC phases against the shipped code, per Contributing → DARC: advanced
contribution workflow → Criteria for setting
@DarcValidated:math/intuition/examples/referencestags; none are placeholders.develop; shapes, dtypes andnumbers must match the prose. Spot-check the zero-division and macro-vs-micro claims
against the tests. Cross-check the reference fixture (
pred [2,0,1,2],target [2,1,1,0]) against a one-offsklearn.metrics.precision_recall_fscore_supportrun.support the specific claim it backs.
zero-division,
dim/thresholdsemantics, single accumulator per metric).@DarcValidated(by = "First Last <you@example.com>", on = "YYYY-MM-DD")to thecompute()override ofPrecision,RecallandF1Score. If any fails, send thespecific item back to its sub-issue — don't annotate.
Acceptance
@DarcValidatedPR merged, or a clear statement of what's blocking itNotes
Precedent to flag, not to solve:
@DarcValidatedtargetsFUNCTIONand today the KSPOperatorDocProcessoronly reads it offTensorOpsfunctions — so the badge will berecorded in source but will not render on any generated page for a
Metric. Mentionthat in the PR so whoever owns the doc pipeline can decide whether
Metricimplementations become a second processed category. That is a follow-up, not a blocker.