mino-design-by-contract

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Design by Contract

Design by Contract

自然言語要件を、実装が守る観測可能な契約へ変換する。人物の口調やtemplateの充足ではなく、条件、owner、traceability、test oracleを成果とする。
将自然语言需求转换为实现需遵守的可观测契约。成果聚焦于条件、负责人(owner)、可追溯性(traceability)、测试预言机(test oracle),而非人物口吻或模板填充。

Outcome Contract

Outcome Contract

主成果物として
Contract Package
を作る。通常は次の最小構成を返し、condition単位の詳細schemaはworkflow referenceへ置く。
  • requirement ID、Evidence、対象operation boundary
  • ID付きprecondition、postcondition、invariant、environment condition、failure guarantee
  • failure後state、禁止遷移、retry / duplicate / idempotencyの適用判定
  • contract itemごとのlevel、authority種別、authoritative owner、入口のdefensive validation
  • contract item IDを検証するGiven-When-Then test specificationと観測可能なoracle
  • 分母・分子を明示したrequirement / contract / test coverage
  • 公開契約を変更する場合だけ、approval、compatibility、migration、rollback / recoveryを含むChange Safety
  • platform差が契約またはtest実行を分岐させる場合だけ、environment conditionとWindows / Linux / macOS test matrix
  • subject_verdict: sufficient | insufficient | indeterminate
    とcanonical
    decision
  • implementationが明示的に依頼され、変更権限がある場合だけtest codeと実行結果
核心交付物为
Contract Package
。通常返回以下最小结构,条件级别的详细schema存放于workflow reference中。
  • 需求ID、证据(Evidence)、目标操作边界
  • 带ID的前置条件(precondition)、后置条件(postcondition)、不变条件(invariant)、环境条件(environment condition)、失败保证(failure guarantee)
  • 失败后的状态、禁止迁移、重试/重复/幂等性的适用判定
  • 每个契约项的级别、权限类型、权威负责人、入口防御性验证
  • 用于验证契约项ID的Given-When-Then测试规格及可观测预言机
  • 明确分子与分母的需求/契约/测试覆盖率
  • 仅在修改公开契约时,包含审批、兼容性、迁移、回滚/恢复的变更安全性(Change Safety)
  • 仅当平台差异导致契约或测试执行分支时,包含环境条件及Windows/Linux/macOS测试矩阵
  • subject_verdict: sufficient | insufficient | indeterminate
    及标准
    decision
  • 仅在明确要求实现且拥有修改权限时,提供测试代码及执行结果

Reference Routing

Reference Routing

  • 内部pathは、配置先にかかわらず、インストールされた
    skills/
    directoryを参照rootとして解決する。
  • 最初に
    skills/mino-core/references/core.md
    skills/mino-core/references/shared-policies.md
    skills/mino-core/references/requirements-and-traceability.md
    を読み、共通gateを再定義しない。
  • 契約抽出、condition authority、test設計、coverageでは
    skills/mino-design-by-contract/references/workflow.md
    を読む。
  • concept、state、failureの意味が未確定で、このSkillだけでは契約を安全に定義できないstandalone依頼では
    $mino-domain-model-completeness
    を先に使う。
  • 既存挙動または公開契約を変更する場合は
    skills/mino-core/references/change-safety.md
    を読む。
  • filesystem、process、shell、path、line ending等が契約またはtest実行を変える場合だけ
    skills/mino-core/references/platform-compatibility.md
    を読む。
  • standalone依頼が複数成果物、実装、独立検証まで求める場合は
    $mino-reproducible-development
    へ一度hand offする。
  • routerまたはpeer Skillからscoped artifactを依頼された場合は再routingせず、Contract Packageと未解決model obligationだけをcallerへ返す。
  • condition ID、coverage、test oracle schemaはsuite operationalizationとして扱う。
  • 内部路径无论部署位置如何,均以已安装的
    skills/
    目录作为根目录进行解析。
  • 首先读取
    skills/mino-core/references/core.md
    skills/mino-core/references/shared-policies.md
    skills/mino-core/references/requirements-and-traceability.md
    ,不得重新定义通用规则。
  • 在契约提取、条件权限、测试设计、覆盖率方面,读取
    skills/mino-design-by-contract/references/workflow.md
  • 若概念、状态、失败的含义未确定,且仅使用本Skill无法安全定义契约的独立请求,需先使用
    $mino-domain-model-completeness
  • 修改现有行为或公开契约时,读取
    skills/mino-core/references/change-safety.md
  • 仅当文件系统、进程、Shell、路径、行尾等因素影响契约或测试执行时,读取
    skills/mino-core/references/platform-compatibility.md
  • 若独立请求要求多个交付物、实现及独立验证,需先移交至
    $mino-reproducible-development
  • 若路由或同级Skill请求限定范围的工件,无需重新路由,仅向调用者返回Contract Package及未解决的模型义务。
  • 条件ID、覆盖率、测试预言机schema作为套件运营(suite operationalization)处理。

Authority Boundary

Authority Boundary

  • このSkillが所有するのは、operationとcondition単位の契約、保証責務、authoritative enforcement、test oracleである。
  • system-wideなdata authority、target / transition architecture、consumer boundaryを新たに決定しない。既存成果物のIDを参照するか、未解決obligationとして返す。
  • operation boundary ownerを、すべてのconditionのauthoritative ownerへ流用しない。
  • 本Skill负责的内容包括:操作及条件级别的契约、保证义务、权威执行、测试预言机。
  • 不得新制定系统级的数据权限、目标/迁移架构、消费者边界。需引用现有交付物的ID,或作为未解决义务返回。
  • 不得将操作边界负责人直接作为所有条件的权威负责人。

Workflow

Workflow

  1. Core、Requirement Catalog、変更mode、operation boundaryを確認する。
  2. 各公開operationをcaller、state、input、result、side effect、failureからinventory化する。
  3. 条件をID付きcontract itemへ分け、pre / post / invariant / environment / failure guarantee等へ分類し、Evidenceと適用状態を付ける。
  4. 各itemを最も確実に守るauthority種別とauthoritative ownerへ一つずつ割り当て、入口のdefensive validationと区別する。
  5. 正常、境界、禁止遷移、partial failure、retry、duplicate、concurrency、必要なplatform conditionを定義する。idempotencyは独立にapplicabilityを判定する。
  6. contract item IDを
    verifies
    で参照し、観測可能なoracleを持つtestを先に設計する。
  7. requirement → contract item → test coverageを、明示した分母・分子で監査する。
  8. implementation modeだけtestを実装・実行し、それ以外は仕様と未実行状態を返す。
  1. 确认核心规则(Core)、需求目录(Requirement Catalog)、变更模式、操作边界。
  2. 梳理每个公开操作的调用者、状态、输入、结果、副作用、失败情况。
  3. 将条件拆分为带ID的契约项,分类为前置/后置/不变/环境/失败保证等类型,并添加证据及适用状态。
  4. 为每个契约项分配最可靠的权限类型及权威负责人,与入口防御性验证区分开。
  5. 定义正常、边界、禁止迁移、部分失败、重试、重复、并发场景及必要的平台条件。幂等性需独立判定适用性。
  6. 通过
    verifies
    引用契约项ID,优先设计带有可观测预言机的测试用例。
  7. 以明确的分子与分母,审计需求→契约项→测试的覆盖率。
  8. 仅在实现模式下执行测试开发与运行,其他模式返回规格及未执行状态。

Platform Compatibility

Platform Compatibility

  • 業務上同じoperationは、Windows、Linux、macOSで同じprecondition、postcondition、invariant、failure guaranteeを使う。
  • OS固有差が結果を分岐させる場合だけenvironment conditionへ置き、domain invariantを複製しない。
  • required platformごとにtest commandと結果を記録し、未実行platformをcontract verifiedとしない。
  • 业务上相同的操作,在Windows、Linux、macOS中需使用相同的前置条件、后置条件、不变条件、失败保证。
  • 仅当操作系统固有差异导致结果分支时,才将其纳入环境条件,不得复制领域不变条件。
  • 为每个所需平台记录测试命令及结果,未执行测试的平台不得标记为契约已验证。

Hard Gates

Hard Gates

以下のいずれかに該当する場合は契約を
ready
にせず、不足condition、owner、Evidence、確認方法を返す。
  • 仕様にない業務条件を追加している。
  • DTO / UI validationをdomain invariantの唯一の保証にしている。
  • requiredなcontract itemにstatement、authority種別、authoritative owner、根拠、test oracleがない。
  • operation boundary ownerを全conditionのauthoritative ownerとして流用している。
  • not_applicable
    に理由とEvidenceがない、または
    unknown
    をN/Aへ置き換えている。
  • retry、duplicate、idempotencyを互いから推定している。
  • 公開契約変更のapproval、compatibility、migrationが必要なのに未解決である。
  • test planと実行済みtestを混同している。
  • public contract、money、authorization、data meaningをAIが確定している。
  • 一部platformだけのtest成功から、required platform全体の契約適合を推定している。
若符合以下任一情况,不得将契约标记为
ready
,需返回缺失的条件、负责人、证据及确认方法。
  • 添加了规格中未提及的业务条件。
  • 将DTO/UI验证作为领域不变条件的唯一保证。
  • 必填契约项缺少陈述、权限类型、权威负责人、依据、测试预言机。
  • 将操作边界负责人作为所有条件的权威负责人。
  • not_applicable
    缺少理由及证据,或用
    unknown
    替代N/A。
  • 从重试、重复中推定幂等性。
  • 修改公开契约需审批、兼容性、迁移,但相关事项未解决。
  • 混淆测试计划与已执行测试。
  • AI确定了公开契约、资金、授权、数据含义。
  • 仅通过部分平台的测试成功,推定所有所需平台均符合契约。

Completion

Completion

  • 全requirementがEvidence付きcontract itemと、そのIDを検証するtestへ追跡できる。
  • operation boundary ownerと各itemのauthoritative ownerが区別され、defensive validationとの差を説明できる。
  • 正常、失敗、境界、禁止遷移、再実行の必要経路がある。
  • idempotencyの適用状態をEvidence付きで判定し、N/Aまたはunknownを架空のkeyやmechanismで埋めていない。
  • retryとduplicateがidempotencyから独立した観測可能なconditionとして追跡される。
  • requirement / contract / test coverageの分母・分子と未coverage itemが明示される。
  • 既存挙動を変える場合はChange Safetyを同じpackageに保持し、migration contractは公開契約差分またはEvidence上の移行対象がある場合だけ要求する。
  • 複数platform対応がrequiredなら、同一oracleによるplatform別test結果または未実行理由がある。
  • subject_verdict
    、unknown、矛盾、未実行test、残存riskをcanonical decisionと分離して残す。
  • 所有需求均可追溯至带证据的契约项及验证其ID的测试用例。
  • 操作边界负责人与各契约项的权威负责人已区分开,且可说明与防御性验证的差异。
  • 包含正常、失败、边界、禁止迁移、重新执行的必要路径。
  • 幂等性的适用状态已通过证据判定,未用虚构的键或机制填充N/A或unknown。
  • 重试与重复作为独立于幂等性的可观测条件被追踪。
  • 明确需求/契约/测试覆盖率的分子、分母及未覆盖项。
  • 修改现有行为时,需在同一包中保留变更安全性(Change Safety),仅当存在公开契约差异或证据中的迁移对象时,才要求迁移契约。
  • 若需支持多平台,需有基于同一预言机的各平台测试结果或未执行理由。
  • subject_verdict
    、未知项、矛盾点、未执行测试、剩余风险与标准决策分离保留。