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 streetNumber は null のまま (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
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 件 / 国土地理院 / 総務省 / 日本郵便
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 提案を実装:
streetRefdata modeladdressee分離 (delivery-critical)Schema (mamoru 提案完全 align)
判定優先順位:
street > rural > block > other. KyotostreetNumberはnullのまま (intersection は number ではない).Breakage data template
Friday batch で検出した failure を以下の形式で post:
Status
npm run deploy:cc)Resources
GET /v1/address/normalize?address=<URL-encoded>関連