AIKernel.NET
version: 0.1.1.1 / status: Active / edition: Draft / published: 2026-06-14 / updated: 2026-06-14

英語版: 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 は定義しない。 固定された理論参照は公開済み論文である。

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 に固定する。

  • Logos
  • Ethos
  • Pathos

これらは 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) として説明する。lep は 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 を公開する。

Source: architecture/21.CTG_DEVELOPER_THEORY-v0.1.1.1-jp.md