Author: Claude Code for jmpicnic
Date: 2026-03-30
Status: Draft
Bidirectional traceability between requirements, acceptance criteria, and verification methods.
| AC # | Req | Acceptance Criterion | Verification Method | Status |
|---|
| 1 | REQ-EPO-012 | New sheet with X_SMALL and SPECIAL_01–10 rows for each category | Inspect spreadsheet: 45 data rows (15 per category) in new sheet | Pending |
| 2 | REQ-EPO-013 | LARGE+QR values copied into SPECIAL_01 for card; original row removed | Inspect spreadsheet: no LARGE+QR row; SPECIAL_01 for Kanban Card has template 690a35cc4d1069adadcc052c | Pending |
| 3 | REQ-EPO-005 | Remaining SPECIAL_NN rows populated with default template values | Inspect spreadsheet: SPECIAL_02–10 for each category match the Default row’s template ID, columns, description | Pending |
| 4 | REQ-EPO-012 | Active boolean column added with correct values | Inspect spreadsheet: Active = TRUE for X_SMALL–X_LARGE (all) and SPECIAL_01 (card only); FALSE for remaining SPECIAL_NN | Pending |
| AC # | Req | Acceptance Criterion | Verification Method | Status |
|---|
| 5 | REQ-EPO-001 | Enums extended with X_SMALL and SPECIAL_01–10 | Code review: Printing.kt contains 15 values per enum | Pending |
| 6 | REQ-EPO-002 | Protobuf enum values added with sequential field numbers | Code review: item_row.proto has values 5–15 for each enum | Pending |
| 7 | REQ-EPO-009 | Protobuf → domain mapping updated | Code review: ItemCsvUploadService.kt maps all new protobuf values; unit test coverage | Pending |
| 8 | REQ-EPO-010 | CSV upload accepts display-name aliases | Unit test: upload CSV with “Quarter-Index” for cardSize → resolves to X_SMALL | Pending |
| 9 | REQ-EPO-006, 007 | pdf-templates.json updated with all entries and active flag | Code review: 45 entries total; values match spreadsheet; active field present on all entries | Pending |
| 10 | REQ-EPO-008 | PrintTemplates fallback unchanged; active flag stored but not used for resolution | Unit test: request for unknown size falls back to MEDIUM; active=false entry still resolves | Pending |
| 11 | REQ-EPO-011 | Existing items deserialize and print correctly | Unit test: items with SMALL/MEDIUM/LARGE/X_LARGE load from DB and render without error | Pending |
| 12 | — | make clean build passes | Build output: zero errors, zero test failures | Pending |
| 13 | — | Code coverage meets or exceeds Gradle-configured targets | Build output: coverage report shows all thresholds met | Pending |
| 14 | — | CHANGELOG updated | Code review: new version entry with Added section listing changes | Pending |
| AC # | Req | Acceptance Criterion | Verification Method | Status |
|---|
| 15 | REQ-EPO-014 | Size options extended; X-SMALL reconciled to X_SMALL | Ticket review: spec explicitly lists all values and reconciliation | Pending |
| 16 | REQ-EPO-015 | enabled property sourced from Active column | Ticket review: spec defines enabled semantics and source | Pending |
| 17 | REQ-EPO-016 | Size selection UI in reusable React component | Ticket review: spec references UX Component Guidelines | Pending |
| 18 | REQ-EPO-015 | Only enabled options selectable; disabled visible but not selectable | Ticket review: spec defines dropdown behavior | Pending |
| 19 | — | Code coverage meets or exceeds npm-configured targets | Ticket review: spec includes coverage requirement | Pending |
| 20 | — | GitHub ticket created, assigned to danmerb | Verify: ticket exists in Arda-cards/management with correct assignee | Pending |
| AC # | Req | Acceptance Criterion | Verification Method | Status |
|---|
| 21 | REQ-EPO-003 | cardSize = X_SMALL prints Quarter-Index template | Manual test: create item with cardSize = X_SMALL, trigger print, verify PDF uses template 68e84551bde271e6a116e94f | Pending |
| 22 | REQ-EPO-003 | labelSize = X_SMALL prints 3x1 Label Printer template | Manual test: create item with labelSize = X_SMALL, trigger print, verify PDF uses template 68791aae43e038a3d3ddf8af | Pending |
| 23 | REQ-EPO-004 | cardSize = SPECIAL_01 prints Large QR Code template | Manual test: create item with cardSize = SPECIAL_01, trigger print, verify PDF uses template 690a35cc4d1069adadcc052c | Pending |
| 24 | REQ-EPO-010 | CSV upload with new values and aliases ingests correctly | Manual test: upload CSV with X_SMALL, SPECIAL_01, and alias values; verify items created with correct enum values | Pending |
Every requirement has at least one acceptance criterion and verification method.
| Requirement | Acceptance Criteria | Covered |
|---|
| REQ-EPO-001 | AC 5 | Yes |
| REQ-EPO-002 | AC 6 | Yes |
| REQ-EPO-003 | AC 21, 22 | Yes |
| REQ-EPO-004 | AC 23 | Yes |
| REQ-EPO-005 | AC 3 | Yes |
| REQ-EPO-006 | AC 9 | Yes |
| REQ-EPO-007 | AC 9 | Yes |
| REQ-EPO-008 | AC 10 | Yes |
| REQ-EPO-009 | AC 7 | Yes |
| REQ-EPO-010 | AC 8, 24 | Yes |
| REQ-EPO-011 | AC 11 | Yes |
| REQ-EPO-012 | AC 1, 4 | Yes |
| REQ-EPO-013 | AC 2 | Yes |
| REQ-EPO-014 | AC 15 | Yes |
| REQ-EPO-015 | AC 16, 18 | Yes |
| REQ-EPO-016 | AC 17 | Yes |
| Category | Criteria Count | Automated | Manual | Pending |
|---|
| Spreadsheet | 4 | 0 | 4 | 4 |
| Backend | 10 | 7 | 3 | 10 |
| Frontend Ticket | 6 | 0 | 6 | 6 |
| System Integration | 4 | 0 | 4 | 4 |
| Total | 24 | 7 | 17 | 24 |
Copyright: (c) Arda Systems 2025-2026, All rights reserved