Skip to content

[mamoru-batch] Friday build (v0.3.0) — address parsing batch results #9

@endennn

Description

@endennn

Background

mamoru engagement (Dev.to reply 2026-05-27) で commit した structured breakage data 受信 issue.

mamoru 要請: 「input string / expected parse / actual parse, one row each — so it's trackable and you can close them as the Friday build lands」.

Scope (v0.3.0 — 2026-05-29 Friday deploy)

mamoru engagement の data-model 提案を実装:

  • 漢数字 1-99 → Arabic 変換 (5/29 ship promise)
  • 京都通り名 (上る/下る/東入/西入) → streetRef data model
  • 方書 (様方/気付/c/o) → addressee 分離 (delivery-critical)
  • 名古屋検証: 公式 7 source で「標準 block/lot system」確認 (regression guard 5 test)
  • 公式データ全量 verify: 日本郵便 ken_all 116,421 件 + 名古屋/京都 5,785 件 = 122,206 件 / 0 fail
  • 厳格 assertion: OR 緩和 / sample / トートロジー 全廃

Schema (mamoru 提案完全 align)

{
  addressType: 'block' | 'street' | 'rural' | 'other',  // first-class enum
  streetRef: {
    intersection: string;
    direction: '上る' | '下る' | '東入' | '西入' | null;
  } | null,  // 京都通り名 (Kyoto intersection-based)
  addressee: string | null,  // 様方/気付/c/o 分離
  // 既存 streetNumber* fields 維持 (additive・no breaking on v0.2 clients)
}

判定優先順位: street > rural > block > other. Kyoto streetNumbernull のまま (intersection は number ではない).

Breakage data template

Friday batch で検出した failure を以下の形式で post:

| input | expected | actual | notes |
|---|---|---|---|
| 京都府京都市中京区烏丸通三条上る場之町 | `addressType=street`, `streetRef.direction=上る` | (mamoru fill) | (optional) |
| 東京都千代田区霞が関3丁目1番1号 山田様方 | `addressType=block`, `addressee=山田` | (mamoru fill) | |
| 愛知県名古屋市中川区運河通1丁目 | `addressType=block`, `streetRef=null` | (mamoru fill) | regression guard |

Status

  • 2026-05-29 Friday deploy 完了 (npm run deploy:cc)
  • mamoru ping (Dev.to reply で deploy live 通知 + 本 issue link)
  • mamoru same evening batch run
  • failure list received → triage (1 failure = 1 comment 推奨)
  • fix PR (if needed)
  • issue close (Friday build batch 完了時)

Resources

  • Live API: https://torify.dev (5/29 deploy 後)
  • Endpoint: GET /v1/address/normalize?address=<URL-encoded>
  • Pricing: $0.02/call (x402 USDC on Base L2) / Trial tier free (100 calls/month)

関連

  • 厳格 verify scope: 日本郵便 ken_all 全 116,421 件 (CC BY 4.0) + 名古屋市 公式 15 区 (中川区は既存 ISJ fixture で別途カバー・重複除外) + 京都市 公式 全 11 区
  • 公式 source 引用 (名古屋検証): 住居表示に関する法律 (Act 119/1962, e-Gov) / 名古屋市公式 4 件 / 国土地理院 / 総務省 / 日本郵便

Metadata

Metadata

Assignees

No one assigned

    Labels

    address-edge-caseaddress parser edge casemamoru-batchmamoru engagement breakage data batch

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions