Sprint 3071 — Task A (Theory of Constraints sequencing — owns the gating measurement + the foundation)
Goal
Land the foundation for verify_after_edit: gate the sprint thesis on the RFC 0001 baseline metric, ship the additive @domscribe/core schema, and scaffold the new @domscribe/verify package so Task B (runtime + relay) can integrate against a real contract.
Refs: RFC 0002, RFC 0001, PRs #49 / #50.
Scope
A1. Publish RFC 0001 baseline (gating measurement)
Run the existing visual-snapshot harness in @domscribe/test-fixtures against the merged Tailwind + styled-components fixture apps. Record the one-shot styling completion rate over ≥10 annotations. Publish under docs/sprints/3071-rfc-0001-baseline.md with raw numbers, methodology, and one of two positioning verdicts:
- ≥85% — verify is positioned as a trust layer; the long-tail lift is small and the build is hard to justify against deferred work. Post
*[st-staff-swe]* to $SLACK_ALERT_CHANNEL with the number — Task B continues either way (the package has CI value), but flag that relay registration may want to be deferred.
- <85% — verify is a self-correction layer; full build proceeds as planned.
A2. @domscribe/core schema additions (additive, schema bump 2 → 3)
- Add
VerifyResultSchema per RFC 0002 §Decision: verdict ∈ "match" | "partial" | "no_change" | "regression", componentStylesDelta, computedStyleDelta, boundingRectDelta, screenshotRef.
- Add
AnnotationContextSchema.verifyHistory: VerifyResult[] as optional (older clients silently ignore — additive only).
- Bump
ANNOTATION_SCHEMA_VERSION 2 → 3.
- Export from
packages/domscribe-core/index.ts.
A3. Scaffold @domscribe/verify
- New package under
packages/domscribe-verify/, depends only on @domscribe/core.
- Lift the visual-snapshot comparator verbatim from
packages/domscribe-test-fixtures/ harness.
- Update
@domscribe/test-fixtures to import the comparator from @domscribe/verify (no behavior change — first re-consumer).
- Pure-TS, no DOM dependencies; consumable from both Node (CI) and the relay runtime.
Acceptance
Out of scope
- Runtime
ScreenshotCapturer (Task B)
- MCP tool registration on relay (Task B)
- Overlay sidebar rendering of
VerifyResult (P1 follow-up, deferred to next sprint)
Effort estimate
~30 hours (≤90% of one staff-swe sprint capacity).
Sprint 3071 — Task A (Theory of Constraints sequencing — owns the gating measurement + the foundation)
Goal
Land the foundation for
verify_after_edit: gate the sprint thesis on the RFC 0001 baseline metric, ship the additive@domscribe/coreschema, and scaffold the new@domscribe/verifypackage so Task B (runtime + relay) can integrate against a real contract.Refs: RFC 0002, RFC 0001, PRs #49 / #50.
Scope
A1. Publish RFC 0001 baseline (gating measurement)
Run the existing visual-snapshot harness in
@domscribe/test-fixturesagainst the merged Tailwind + styled-components fixture apps. Record the one-shot styling completion rate over ≥10 annotations. Publish underdocs/sprints/3071-rfc-0001-baseline.mdwith raw numbers, methodology, and one of two positioning verdicts:*[st-staff-swe]*to$SLACK_ALERT_CHANNELwith the number — Task B continues either way (the package has CI value), but flag that relay registration may want to be deferred.A2.
@domscribe/coreschema additions (additive, schema bump 2 → 3)VerifyResultSchemaper RFC 0002 §Decision:verdict ∈ "match" | "partial" | "no_change" | "regression",componentStylesDelta,computedStyleDelta,boundingRectDelta,screenshotRef.AnnotationContextSchema.verifyHistory: VerifyResult[]as optional (older clients silently ignore — additive only).ANNOTATION_SCHEMA_VERSION2 → 3.packages/domscribe-core/index.ts.A3. Scaffold
@domscribe/verifypackages/domscribe-verify/, depends only on@domscribe/core.packages/domscribe-test-fixtures/harness.@domscribe/test-fixturesto import the comparator from@domscribe/verify(no behavior change — first re-consumer).Acceptance
docs/sprints/3071-rfc-0001-baseline.mdcommitted with the measured number, methodology, and positioning verdicttscandnpm testgreen across the monorepo@domscribe/test-fixturesstyling tests still pass via the lifted comparatorANNOTATION_SCHEMA_VERSION === 3; the new schemas exported, typed, and tree-shakeableOut of scope
ScreenshotCapturer(Task B)VerifyResult(P1 follow-up, deferred to next sprint)Effort estimate
~30 hours (≤90% of one staff-swe sprint capacity).