Skip to content

Add ISIN validation constraint#89

Merged
strider2038 merged 2 commits intomainfrom
cursor/-bc-f3bb1229-b862-4389-b59b-67a226f7ded1-f668
Apr 4, 2026
Merged

Add ISIN validation constraint#89
strider2038 merged 2 commits intomainfrom
cursor/-bc-f3bb1229-b862-4389-b59b-67a226f7ded1-f668

Conversation

@strider2038
Copy link
Copy Markdown
Contributor

@strider2038 strider2038 commented Apr 4, 2026

Summary

Adds International Securities Identification Number (ISIN) validation aligned with Symfony's Isin constraint: length 12, pattern [A-Z]{2}[A-Z0-9]{9}[0-9] (after uppercasing), and Luhn check on the expanded base-36 digit string.

Changes

  • validate.ISIN with ErrTooShort, ErrTooLong, ErrInvalidCharacters, ErrInvalidChecksum
  • it.IsISIN, is.ISIN, message InvalidISIN and ErrInvalidISIN with English/Russian translations
  • Table tests and examples in it, validate, and is
  • Changelog: RELEASE_NOTES.md replaced by CHANGELOG.md (Keep a Changelog); ISIN noted under [Unreleased]; agent instructions updated in AGENTS.md and the constraint skill checklist

Testing

  • go test -race ./...
  • golangci-lint run

Closes IGO-6 (Linear).

Open in Web Open in Cursor 

cursoragent and others added 2 commits April 4, 2026 10:01
Align format and Luhn checksum with Symfony Isin validator.
Add English/Russian messages, constraint tests, and examples.

Co-authored-by: Igor Lazarev <strider2038@yandex.ru>
- Add CHANGELOG.md with Unreleased (ISIN) and v0.19.0 history
- Remove RELEASE_NOTES.md
- Document changelog rules for agents in AGENTS.md
- Extend constraint skill checklist for CHANGELOG updates

Co-authored-by: Igor Lazarev <strider2038@yandex.ru>
@strider2038 strider2038 merged commit f9a0063 into main Apr 4, 2026
1 of 2 checks passed
@strider2038 strider2038 deleted the cursor/-bc-f3bb1229-b862-4389-b59b-67a226f7ded1-f668 branch April 4, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants