Skip to content

[ISIN] Hyphen-separated input tolerance via community extension #180

Open

Description

@azaharizaman

Follow-up to #177 (ISIN capability, paxman/capabilities/ISIN/).

Status quo: hyphenated input such as US-037833100-5 yields MISSING by design — the recognition pattern (paxman/capabilities/ISIN/grammar/isin_recognition.py) accepts only compact and single-space-grouped bodies, with zero code-level tolerance for hyphens. Documented as DEFER in docs/user/capabilities/isin.md.

Ask: add an opt-in community grammar (registered via register_grammar, enabled through the existing extra_grammars contract field) that recognizes hyphen-grouped ISIN mentions and normalizes them to the same compact canonical form. Core grammar stays hyphen-free.

Acceptance sketch: canonicalize('US-037833100-5', contract_with_extra_grammar) → SUCCESS US0378331005; default contract still MISSING; unit + integration coverage mirroring the space-grouped rows in tests/integration/test_isin_pipeline.py.

Activity

  1. added
    v1.0.0v1.0.0 release
    enhancementNew feature or request
    followupFollow-up from merged PR — deferred or skipped review concern
    on Sep 30, 2026
  2. azaharizaman commented on Sep 30, 2026

    @azaharizaman
    CollaboratorAuthor

    Triage 2026-09-30: keeping open, labeled v1.0.0 + enhancement + followup (follow-up to PR #177). Plain English: ISINs written with hyphens (US-037833100-5) are currently declined; this adds an opt-in add-on that reads hyphenated forms, with default behavior unchanged. Groups with #183 (same hyphen pattern for LEI) but kept separate per capability. No consolidation needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfollowupFollow-up from merged PR — deferred or skipped review concernv1.0.0v1.0.0 release

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions