feat: implement date segment type for part number generation #79

Closed
opened 2026-02-13 19:03:25 +00:00 by forbes · 0 comments
Owner

Ref: docs/ROADMAP.md § Appendix B / 1.5 Missing Segment Types

The schema parser accepts type: "date" segments but the generator returns an error:

// internal/partnum/generator.go, resolveSegment()
case "date":
    // TODO: implement date formatting
    return "", fmt.Errorf("date segments not yet implemented")

Tasks:

  • Implement date formatting in resolveSegment() with strftime-style format support
  • Support common patterns: YYYYMMDD, YYYY-MM-DD, YY, YYMM, etc.
  • Use the segment's format field from the schema YAML to control output format
  • Handle timezone (default to UTC)
  • Add tests in internal/partnum/generator_test.go for date segments

Files:

  • internal/partnum/generator.go — implement the "date" case
  • internal/schema/schema.go — verify date type validation accepts format field
  • internal/partnum/generator_test.go — add test cases
**Ref:** `docs/ROADMAP.md` § Appendix B / 1.5 Missing Segment Types The schema parser accepts `type: "date"` segments but the generator returns an error: ```go // internal/partnum/generator.go, resolveSegment() case "date": // TODO: implement date formatting return "", fmt.Errorf("date segments not yet implemented") ``` **Tasks:** - [ ] Implement date formatting in `resolveSegment()` with strftime-style format support - [ ] Support common patterns: `YYYYMMDD`, `YYYY-MM-DD`, `YY`, `YYMM`, etc. - [ ] Use the segment's `format` field from the schema YAML to control output format - [ ] Handle timezone (default to UTC) - [ ] Add tests in `internal/partnum/generator_test.go` for date segments **Files:** - `internal/partnum/generator.go` — implement the `"date"` case - `internal/schema/schema.go` — verify date type validation accepts format field - `internal/partnum/generator_test.go` — add test cases
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo#79