英語版: CTG Developer Theory
CTG Developer Theory v0.1.1.1
Canonical Trajectory Governance(CTG)は、提案された step と trajectory 全体が canon-backed personality governance の下で admissible であり続けるかを判定する ための deterministic governance membrane である。
この文書は、理論を開発者向けに読み替えるためのものである。canon rule text、 council criteria、gate policy、runtime implementation logic は定義しない。 固定された理論参照は公開済み論文である。
- Paper 12: Canonical Trajectory Governance
- DOI: https://doi.org/10.5281/zenodo.20681895
AIKernel.NET が公開するのは contract vocabulary のみである。interface、DTO、 enum に限定し、runtime execution、ROM loading、VFS merge、policy evaluation、 rule interpretation はこの repository の外に置く。
1. Mental model
CTG は小さな deterministic pipeline として review すると理解しやすい。
proposal\n -> council votes\n -> step gate\n -> step trace\n -> trajectory gate\n -> governance trace
contract surface は、この pipeline の各段階を hidden runtime state に依存せず replay、audit、比較できるようにするために存在する。
CTG は scoring model ではない。probabilistic router でもない。ある次元の高い score によって別次元の hard denial を相殺するものではない。contract は confidence や risk の observation を保持できるが、それらは trace evidence であり、 decision weight ではない。
2. Three councils
council vocabulary は CouncilKind が表す triad に固定する。
LogosEthosPathos
これらは policy、safety、execution、audit のような operational category と 置き換え可能なものではない。operational category は別の場所で model 化できるが、 CTG contract surface の triad を置換してはならない。
各 council は CouncilVote DTO を出力する。有限な投票値は CouncilVoteValue enum が保持する。
Unknown = parse または transport failure の sentinel\nApprove = positive vote\nAbstain = neutral vote\nReject = negative vote
Veto は 4 つ目の vote value として持たせない。hard denial condition は rejection evidence、gate denial、および必要に応じて RejectReasonKind.EthosVeto で表現する。
3. Step gate
論文は step gate を gate(l,e,p) として説明する。l、e、p は Logos、 Ethos、Pathos の council outcome に由来する。
contract surface は step result を DecisionGateResult と discrete enum GateDecisionKind で表現する。
Unknown = fail-closed sentinel\nAllow = step が gate によって admit された\nDeny = step が gate によって closed された
開発者が守るべき invariant は fail-closed determinism である。
- missing canon は fail closed
- unknown enum value は fail closed
- missing / unresolved canon reference は fail closed
- Ethos rejection は hard boundary
- confidence と risk は gate decision を変更しない
council result を allow / deny decision へ写像する正確な algorithm は runtime が 所有する。AIKernel.NET は deterministic replay に必要な input、output、reason、 trace の carrier だけを提供する。
4. Trajectory gate
trajectory は governance された step の有限順序集合である。CTG は ordered step trace chain を保持し、それを trajectory decision へ reduce する。
contract surface は trajectory decision を TrajectoryGateDecisionKind で表現する。
Unknown = fail-closed sentinel\nContinue = trajectory が admissible なまま継続できる\nHalt = trajectory が closed された
理論上の invariant は product-like である。trajectory は、必要なすべての step-level gate が admissible な間だけ valid であり続ける。単一の denied step は trajectory を halt するのに十分である。result は rejected step index、reason、 canon reference、diagnostics を保持し、なぜ閉じたかを説明できるべきである。
5. Rejection taxonomy
RejectReasonKind は rejection category の C# canonical serialization enum である。 ROM/YAML layer は uppercase snake case を使う場合があるが、C# は PascalCase enum name を維持する。
SafetyViolation\nLogicalInconsistency\nContextMisalignment\nIrreversibleAction\nInsufficientInformation\nOpaqueReasoning\nEthosVeto\nFailClosed\nStepDenied\nImplicitDeny
enum は rule text を保持しない。人間向け説明と安定した reason code は、 canon reference とともに RejectReasonInfo が保持する。
6. Canon references
CanonReference は pointer であり、canon 本文ではない。rule text を保持したり 生成したりしてはならない。
public sealed record CanonReference\n{\n public string CanonId { get; init; } = string.Empty;\n public string Path { get; init; } = string.Empty;\n public string Section { get; init; } = string.Empty;\n public string? Anchor { get; init; }\n public string? ContentHash { get; init; }\n}
DTO は IReadOnlyList<CanonReference> を使う。1 つの decision が複数の canon anchor によって正当化されうるためである。runtime host は mounted ROM、VFS resource、package asset、または別の trusted source に対してこれらの reference を 解決する責務を持つ。
7. Replay contract
開発者にとって、最小の replay contract は次の通りである。
- すべての council vote は
CouncilVoteで運ぶ - すべての step gate result は
DecisionGateResultで運ぶ - すべての step trace は
StepGovernanceTraceで運ぶ - すべての trajectory trace は
GovernanceTraceで運ぶ - すべての rejection は
RejectReasonInfoを保持する - すべての canon dependency は
CanonReferenceで表現する
unknown value は暗黙に丸めない。decision を閉じ、enum handling policy に従って 記録する。
8. AIKernel.NET が行わないこと
AIKernel.NET は次を行わない。
- council evaluation の実装
- gate algorithm の実装
- runtime での ROM file 読み込みまたは merge
- canon rule text の作成
- personalized diff layer semantics の決定
- PDP、HATL、PPM、replay package の置換
AIKernel.NET は、これらの system が implementation behavior を contract package に 混入させず相互運用するための安定した vocabulary を公開する。
architecture/21.CTG_DEVELOPER_THEORY-v0.1.1.1-jp.md