R1 — cross-platform output within a bounded tolerance. It currently has no acceptance criterion at all, so there is nothing a test could assert.
The circularity
§2 states the threshold "must be fixed before spike S9", because S9 both validates R1 and calibrates what tolerance is achievable. The threshold was never fixed and S9 has never run. So R1 is not merely unbuilt — it is unfalsifiable.
The tag that was removed, and why it is worth recording
The matrix used to report R1 as covered, and what covered it was two string literals: fixtures inside the traceability tool's own unit tests, which the tool scanned along with everything else — a fixture demonstrating tag extraction was indistinguishable from a tag.
The extractor now asks where the tag sits: a tag is the first word of a comment, not a string appearing anywhere on a line. R1 is untagged again, which is the honest reading while it has no criterion to tag anything against.
Acceptance
Run S9: render the same file on desktop and on Android and measure the difference.
Fix the tolerance threshold from what S9 shows is achievable, and record it in requirements.md.
A test that asserts it.
Blocked on
Nothing. The threshold is defined by running the spike.
Related
#46 — R2 fails in the same way, and the two belong in one sitting.
See docs/outstanding.md §9 and §10.
**R1 — cross-platform output within a bounded tolerance.** It currently has **no acceptance criterion at all**, so there is nothing a test could assert.
## The circularity
§2 states the threshold "must be fixed before spike S9", because **S9 both validates R1 and calibrates what tolerance is achievable**. The threshold was never fixed and S9 has never run. So R1 is not merely unbuilt — it is unfalsifiable.
## The tag that was removed, and why it is worth recording
The matrix used to report R1 as **covered**, and what covered it was two string literals: fixtures inside the traceability tool's own unit tests, which the tool scanned along with everything else — a fixture demonstrating tag extraction was indistinguishable from a tag.
The extractor now asks *where* the tag sits: a tag is the first word of a comment, not a string appearing anywhere on a line. R1 is untagged again, which is the honest reading while it has no criterion to tag anything against.
## Acceptance
- [ ] Run S9: render the same file on desktop and on Android and measure the difference.
- [ ] Fix the tolerance threshold from what S9 shows is achievable, and record it in `requirements.md`.
- [ ] A test that asserts it.
## Blocked on
Nothing. The threshold is defined *by* running the spike.
## Related
#46 — R2 fails in the same way, and the two belong in one sitting.
See `docs/outstanding.md` §9 and §10.
Fails the same way as#46 — a threshold never chosen, and a target nothing measures. Settle both in one sitting.
Named by #49 as a candidate for moving across the line.
**Fails the same way as** #46 — a threshold never chosen, and a target nothing measures. Settle both in one sitting.
Named by #49 as a candidate for moving across the line.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
R1 — cross-platform output within a bounded tolerance. It currently has no acceptance criterion at all, so there is nothing a test could assert.
The circularity
§2 states the threshold "must be fixed before spike S9", because S9 both validates R1 and calibrates what tolerance is achievable. The threshold was never fixed and S9 has never run. So R1 is not merely unbuilt — it is unfalsifiable.
The tag that was removed, and why it is worth recording
The matrix used to report R1 as covered, and what covered it was two string literals: fixtures inside the traceability tool's own unit tests, which the tool scanned along with everything else — a fixture demonstrating tag extraction was indistinguishable from a tag.
The extractor now asks where the tag sits: a tag is the first word of a comment, not a string appearing anywhere on a line. R1 is untagged again, which is the honest reading while it has no criterion to tag anything against.
Acceptance
requirements.md.Blocked on
Nothing. The threshold is defined by running the spike.
Related
#46 — R2 fails in the same way, and the two belong in one sitting.
See
docs/outstanding.md§9 and §10.Fails the same way as #46 — a threshold never chosen, and a target nothing measures. Settle both in one sitting.
Named by #49 as a candidate for moving across the line.