4.1 KiB
4.1 KiB
Deterministic Content Selection Checklist: End-to-End Requirements Quality
Purpose: Validate the completeness, clarity, consistency, and measurability of requirements for the deterministic extractor selection pipeline
Created: 2026-08-20
Feature: spec.md
Note: This custom checklist is generated by the /speckit-checklist command based on feature context and requirements.
Review Ownership: This checklist is a reviewer-owned requirements-quality review artifact. Mark an item [x] only when the reviewer determines the requirements-quality criterion is satisfied.
Marker Semantics: [x] means the criterion has been reviewed and satisfied for requirements quality. It does not mean implementation work is complete.
Text Normalization & Tokenization Quality
- CHK001 Are Unicode NFKC normalization rules explicitly specified for multilingual text content? [Completeness, Spec §FR-007]
- CHK002 Is HTML and Markdown tag stripping behavior defined to prevent accidental concatenation of neighboring words? [Clarity, Spec §FR-007]
- CHK003 Are anchor text extraction rules for Markdown and HTML links documented unambiguously? [Clarity, Spec §FR-007]
- CHK004 Is the tokenization behavior (Unicode alphanumeric tokens, punctuation exclusion, lowercase) completely specified? [Completeness, Spec §FR-007]
Shingles & Consensus Metric Formulation
- CHK005 Is the sliding window shingle size (5-tokens) and the fallback rule for short texts (< 5 tokens) explicitly defined? [Clarity, Spec §FR-008]
- CHK006 Are the mathematical formulas for Coverage, Support, and F1 Score defined with explicit zero-division handling? [Measurability, Spec §FR-010]
- CHK007 Is the threshold for a shingle to enter the Consensus set (presence in
\ge 2active candidates) unambiguously stated? [Clarity, Spec §FR-009]
Decision & Tie-Breaking Hierarchy
- CHK008 Is the technical tie threshold (
\le 0.03) quantified with exact comparison semantics? [Clarity, Spec §FR-011] - CHK009 Is the tie-breaker preference for the smaller candidate (fewest shingles) explicitly constrained to candidates within the technical tie pool? [Consistency, Spec §FR-011]
- CHK010 Is the zero-consensus fallback hierarchy (median of 3, maximum of 2, single candidate) completely specified without ambiguous gaps? [Coverage, Spec §FR-012]
- CHK011 Is the final mandatory priority order (
newspaper4k>readability>trafilatura) consistent across all tie scenarios? [Consistency, Spec §FR-011, §FR-012]
Candidate State Transitions & Resilience
- CHK012 Are the criteria distinguishing Usable, Degraded, and Unavailable candidates defined unambiguously? [Completeness, Spec §FR-005]
- CHK013 Does the spec define the exact behavior and fallback when all 3 extractors are Unavailable? [Edge Case, Spec §FR-013]
- CHK014 Does the spec define what occurs when degraded candidates exist but no usable candidates are present? [Coverage, Spec §FR-006]
JSON Schema Integrity & Atomic I/O
- CHK015 Are requirements explicit that 100% of pre-existing fields, structures, and article order must be preserved unchanged? [Completeness, Spec §FR-003, §FR-010]
- CHK016 Is the output filename pattern
<original_name_without_extension>_selected.jsonspecified for default CLI execution? [Clarity, Spec §FR-016] - CHK017 Are atomic write requirements (temporary file + atomic replacement) defined to prevent partial or corrupted files on disk? [Non-Functional, Spec §FR-002, §FR-016]
- CHK018 Is the behavior for recalculating an already present
selected_extractorkey explicitly specified? [Clarity, Spec §FR-014]
Notes
- Mark items
[x]only after review confirms the requirement-quality criterion is satisfied. - Leave items unchecked when they still require clarification, correction, or reviewer evaluation.
/speckit-implementreads checklist checkbox state as a gate and must not modify markers.checklists/requirements.mdhas a separate built-in lifecycle maintained by/speckit-specifyand/speckit-clarify.- Items are numbered sequentially (CHK001 - CHK018) for easy reference.