Migration identity#
- Canonical identifier:
S03.3(GitHub issue type: subtask). - Legacy identifier:
C03.3(retained asold_identifier). - Parent epic:
E03. - Milestone:
M1 — IntentGuard Weekend MVP.
Objective#
Evaluate the persisted baseline at the declared test checkpoint and write accuracy, macro-F1, configuration, and provenance.
Rationale#
A measured baseline is the comparison floor for AC-004 and must exist before transformer claims.
Parent identifier#
E03.
Source task#
T-003.
Traceability#
Primary: AC-002. Secondary: FR-002, FR-005.
Prerequisites#
C03.2 artifact complete; test-metric timing and numerical tolerance resolved.
Likely files#
src/intentguard/metrics.py, scripts/train_baseline.py, tests/unit/test_metrics.py, tests/unit/test_eval_regression.py, reports/.
Implementation boundary#
Required classification metrics and report generation only; no transformer comparison yet.
MUST scope#
Accuracy, macro-F1, deterministic test-row identity, report schema, artifact/data IDs, and regression tolerance.
Explicit non-goals#
Invented target values, confusion commentary, charts, thresholding, or repeated test-driven tuning.
Acceptance criteria#
One declared checkpoint writes reproducible required metrics tied to exact artifact/data inputs and metric versions.
Validation commands#
make baseline && uv run pytest tests/unit/test_metrics.py tests/unit/test_eval_regression.py -q.
Expected evidence#
Machine-readable baseline report and metric-regression test output.
Fallback and status consequence#
An unmeasured artifact is Implemented but not Measured and fails strict MVP.
Stop condition#
Stop for unclear checkpoint timing, missing test identity, undefined tolerance, or metric mismatch.
Definition of ready#
Artifact is immutable and metric timing/tolerances are decided before reading final results.
Definition of done#
AC-002 has reproducible measured evidence and the working-baseline checkpoint is complete.
Labels#
type:subtask, priority:MUST, area:baseline
Estimate#
1.0 hour.