Problem
From verification of PsychQuant/che-word-mcp#104 (verify report: comment-4346442620):
「SEQ Table identifier completely uncovered by tests. Issue body explicitly lists 7 SEQ Table paragraphs in reproducer; tests only use sequenceName: "Figure". Parser is identifier-transparent (dispatchParse doesn't read identifier string), so logic should work, but no defensive assertion exists.」
— Source: team:requirements + team:devils-advocate + codex (gpt-5.5)
#104's reproducer (docs/...碩士論文-rescue-swift-v317.docx) contains both SEQ Figure (12 occurrences) and SEQ Table (7 occurrences). The fix in commits 537de62 + 58fe4f9 is identifier-transparent — FieldParser.dispatchParse reads the SEQ identifier from instrText after detection, so Figure passing should imply Table passes too. But no test exercises a non-Figure identifier, so the assumption is unverified.
Type
test gap (P3)
Acceptance criteria
Why low priority
Parser logic is genuinely identifier-transparent (verified by reading FieldParser.dispatchParse and SequenceField.parse(instrText:)). Real-world risk of regression is near-zero unless a future refactor introduces identifier-specific code paths. But the asymmetry violates "test what the issue body claims to fix" — surfaced as part of #104's verify discipline.
Related: PsychQuant/che-word-mcp#104
Current Status
Phase: implemented
Last updated: 2026-05-02 by idd-implement
Key Decisions
Scope Changes
Blocking
- Awaiting IDD verify / PR review.
Commits
11860b5 test: cover canonical sequence field edge cases
Problem
#104's reproducer (
docs/...碩士論文-rescue-swift-v317.docx) contains bothSEQ Figure(12 occurrences) andSEQ Table(7 occurrences). The fix in commits537de62+58fe4f9is identifier-transparent —FieldParser.dispatchParsereads the SEQ identifier frominstrTextafter detection, soFigurepassing should implyTablepasses too. But no test exercises a non-Figureidentifier, so the assumption is unverified.Type
test gap (P3)
Acceptance criteria
instrText = " SEQ Table \\* ARABIC "(or hand-built equivalent) and assertsFieldParser.parse(...)returns 1 ParsedField with.sequence(seq)whereseq.identifier == "Table".["Figure", "Table", "Equation"]identifiers.Why low priority
Parser logic is genuinely identifier-transparent (verified by reading
FieldParser.dispatchParseandSequenceField.parse(instrText:)). Real-world risk of regression is near-zero unless a future refactor introduces identifier-specific code paths. But the asymmetry violates "test what the issue body claims to fix" — surfaced as part of #104's verify discipline.Related: PsychQuant/che-word-mcp#104
Current Status
Phase: implemented
Last updated: 2026-05-02 by idd-implement
Key Decisions
SEQ Tableparser coverage in PR Cover canonical sequence field edge cases #37.Scope Changes
Blocking
Commits
11860b5test: cover canonical sequence field edge cases