Determine whether the reproduced behavior violates Valibot's intended contract. Do not fix it.
Always append to the Verification section of tmp/triage/gh-<number>/report.md.
Restate independently:
- What the reproduction proves happens
- What the reporter expects instead
- Which documented contract, invariant, standard, compatibility promise, or maintainer decision could support that expectation
Implementation behavior establishes what the code currently does; it does not by itself prove that behavior is intended. Likewise, the absence of a comment does not prove a bug.
Check the most relevant sources:
- Explicit maintainer decisions in prior issues, pull requests, RFCs, release notes, or comments
- JSDoc, public API documentation, guides, and compatibility promises
- Runtime and type tests, including nearby edge cases
- Git history and blame for the causal lines
- The implementation's architecture and invariants
- Authoritative external specifications when the API implements a standard
Treat tests as strong evidence of the current contract, but not automatic proof that every asserted edge case was deliberately chosen. Resolve documentation/code mismatches rather than assuming either side must be correct. Prefer primary sources for external standards and record the exact version or date consulted.
Ask whether the behavior was knowingly chosen, is required by a contract, or is an accidental consequence. When evidence conflicts, present the conflict to the maintainer.
Choose one:
bug— evidence shows an implementation defect or regression against the intended contractintended-behavior— direct evidence supports the current behavior; explain the rationale and supported alternativedocumentation-bug— implementation intent is clear but public documentation is wrong or incompleteexternal— the root cause lies in another library, tool, runtime, or specification implementationunclear— evidence is insufficient or conflicting and requires a maintainer decision
Do not label a report bug merely because the behavior is surprising or lacks rationale. Do not label it intended-behavior merely because the code or an existing test currently behaves that way.
Assign confidence:
high— direct contract or maintainer evidence agrees with the reproduction and diagnosismedium— several sources support the verdict but a meaningful ambiguity remainslow— the verdict relies mainly on inference
Record citations to files at the tested commit and links or numbers for relevant issues, pull requests, documentation, and specifications. State the recommended next step and any maintainer decision still needed.