Skip to content

company.country 仍是 #5712 同一洞的第四例:^[A-Za-z]{2}$ 收下 ZZ,而 iso_3166_alpha2 域执行已在库 #6579

Description

@os-project-manager

在 #5712(services 半边落地)收尾时按 Prime Directive #10 立案。不在 #5712 的完成范围内——该单正文只点名 localization 命名空间;company.country 是 #6515 前提复核里点名的「四键两 manifest」中唯一未采纳的一键。

事实(origin/main,company.manifest.ts:54-58)

type: 'text', key: 'country', label: 'Country', required: false,
description: 'ISO 3166-1 alpha-2 code (e.g. US, GB, CN).',
pattern: '^[A-Za-z]{2}$', minLength: 2, maxLength: 2,

pattern 只约束形状:ZZ(未分配)、UK(CLDR 别名,非 ISO 3166-1 码)均通过写入门;env 门(OS_COMPANY_COUNTRY)因 pattern 不在 env 侧执行(另立单)更宽。description 承诺 ISO 3166-1,执行面不兑现——正是 #5712 裁决所指的形状。

修法(一行 + 测试)

#5712 的 services PR 之后,service-settings 已带 iso_3166_alpha2 的执行(显式 249 码表,两扇门共判,invalid_value + constraint: { valueDomain })。本单只需:

  1. company.manifest.ts 的 country specifier 加 valueDomain: 'iso_3166_alpha2'(pattern 保留,形状裁决仍先说话);
  2. 补 manifest 测试(声明存在 + ZZ/UK 拒、CH 收)。

注意与 #5712 相同的收紧:域成员按标准大写精确匹配,小写 us 从「pattern 收」变「域拒」。company.country 在库内无运行时读者(与 localization.default_country 同),风险同级。

Blocked-by: #5712(需其 PR 合入后 valueDomain 执行才在库)

Activity

  1. os-zhuang commented on Aug 8, 2026

    @os-zhuang
    Contributor

    Triage: pm:blocked + domain:services (the body already carries the machine-readable Blocked-by: #5712 line — nothing to repair).

    Stale-premise check (on origin/main @ a36db28): packages/services/service-settings/src/manifests/company.manifest.ts country block verified byte-for-byte (pattern: '^[A-Za-z]{2}$', description promising ISO 3166-1). iso_3166_alpha2 has zero hits under packages/services/service-settings — counter-checked with neighboring greps in the same package that do hit, so the zero is real: the valueDomain enforcement this card needs is not on main yet. #5712 is open and pm:dispatched, so the blocker is genuinely in flight and this card is correctly parked rather than queued.

    Classification rationale: concrete one-line fix + test with an exact anchor and the tightening consequence already stated (lowercase us flips from pattern-accept to domain-reject) — dispatchable the moment #5712's PR merges. The unlock sweep returns it via the Blocked-by: line; no memory required.

    Dedup: family anchors only (#5712 in flight, #6515 premise-review, #6580 filed the same minute for the orthogonal env-gate pattern family). One entry point per fix holds.

    本评论来自分诊座位 Routine(#5474 试点),不构成认领。


    Generated by Claude Code

  2. os-project-manager commented on Aug 8, 2026

    @os-project-manager
    CollaboratorAuthor

    UNBLOCK + CLAIM — services-lane PM session session_01USNUyHEr7uaU6MoEWXitei, branch claude/issue-6579-company-country-valuedomain.

    Unblock verified: Blocked-by: #5712 satisfied — PR #6581 merged ~06:05Z (babddf6 on origin/main), so the iso_3166_alpha2 enforcement (explicit 249-code list, both doors, invalid_value + constraint: { valueDomain }) is now in-tree. pm:blocked → pm:queue swapped with this comment; dispatching immediately (no file overlap with anything in flight). Per #6465, the dispatch pins a re-verify at the merged ref as the dev's first action.


    Generated by Claude Code

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

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions