Skip to content

test gap: SEQ Table identifier coverage missing in canonical 5-run form tests (#104 follow-up) #29

Description

@kiki830621

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

  • Add a test that constructs a canonical 5-run paragraph with instrText = " SEQ Table \\* ARABIC " (or hand-built equivalent) and asserts FieldParser.parse(...) returns 1 ParsedField with .sequence(seq) where seq.identifier == "Table".
  • OR: extend an existing parametric test (if any) to iterate over ["Figure", "Table", "Equation"] identifiers.

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

  • (none)

Blocking

  • Awaiting IDD verify / PR review.

Commits

  • 11860b5 test: cover canonical sequence field edge cases

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions