CFG-20260724-0022026-07-24DevelopmentBlocked本文書は、内部Configuration Auditの公開版である。Git識別子、内部App / Workflow ID、Runtime Run ID、ハッシュ値、ローカルパスなど、公開上不要な運用識別情報は省略している。判定、技術的論点、Blocking Drift、採用判断の内容は内部版から変更していない。
本Auditでは同期を実施していない。手順は次のとおりである。
Audit
↓
Evidence
↓
Human Approval Pending
Prompt、Code、LLM Parameters、Provider、Runtime、Draft、DSL、Published Workflowは変更していない。
| Item | State |
|---|---|
| Draft graph | 73 nodes / 79 edges |
| DSL graph | 73 nodes / 79 edges |
| Provider / Model | Ollama / gemma4:latest |
| Provider known values | context size 16384 / max tokens 8192 |
| Prompt | 6 LLM nodesでConflict |
| Code | 5 Code nodesでConflict |
| LLM Parameters | Node明示値とRuntime実効値の関係が未確定 |
| Published Workflow | 本Auditでは未確認 |
Graph構造とProvider / Model identityは一致していた。一方、Prompt、Code、LLM Parametersには、単純な片側コピーでは解消できない差分が残っていた。
DraftとDSLでPrompt本文が異なるLLMノードは6件あった。
| Node | Main Difference | Adoption Candidate |
|---|---|---|
planning_agent |
Draftは、企画と調査の責務分離、曖昧な対象の断定禁止、JSON契約を詳細化 | Draft候補。人間承認待ち |
research_agent |
Draftは非捏造とJSON契約を詳細化。DSLには短文化制約の重複がある | Draftをbase候補。短文化制約は重複除去後に別判断 |
research_retry_agent |
Draftは壊れた断片を模倣せず、完全DTOを再生成する規則を明示 | Draftをbase候補。Retry制約は別判断 |
writing_plan_agent |
Draftは5区画固定、空値禁止、文字数決定をNormalizeへ委譲 | Draft候補。人間承認待ち |
write_conclusion_retry_agent |
Draftは契約本文が強いが、解決先のない4変数を参照。DSLには有効selectorが存在 | 単純同期禁止。DSLの有効selectorを維持し、Draftの契約本文を採る案 |
distribution_agent |
Draftは投稿数、タグ数、SEO keyword配列の契約を詳細化 | Draft候補。人間承認待ち |
Draft側のConclusion Retry Promptには、次の4変数への参照があった。
article_summary
article_title
conclusion_requirements
requested_checkpoint
しかし、これらを解決するWorkflow graph上の出力は存在しなかった。Prompt本文は文章として完結していても、Runtimeでは値が空または未定義になるRiskがある。
一方、DSL側には実在するNode outputへ解決できるselectorがあった。
writing_plan_contract.writing_plan_json
writing_plan_contract.conclusion_plan_json
research_result_unpacker.research_json
write_conclusion_agent.text
write_conclusion_gate.violations_json
したがって、DraftかDSLのどちらかをそのまま正本へコピーする方法は採用できない。必要なのは、Draftの契約本文とDSLの有効selectorを統合した新しいPromptである。
Code本文が異なるノードは5件あった。
| Node | Main Difference | Adoption Candidate |
|---|---|---|
normalize_research_retry_contract |
Draftは<think>やcode fence除去、parse防御を詳細化。入力名は意味のない名称 |
Draft Codeをbaseとし、入力名をsemantic nameへ統一 |
artifact_validator |
Draftは型防御、Section数、宣言値、warning構造を詳細化 | Draft候補 |
write_conclusion_retry_gate |
Draftは文字数違反だけをWarningへ分離。DSLはBlocking | Temporary Driftとしての期限・復帰条件・承認が必要 |
write_introduction_retry_gate |
Draftは文字数違反をWarning、DSLはBlocking | 明示的な承認EvidenceがないためDSL維持候補 |
writing_artifact_merge |
Draftはdistribution parse、型検査、確定Artifact構築を詳細化 | 意味生成を行わないことを確認後、Draft候補 |
Code差分は「新しい方を採る」という判断だけでは処理できない。Gateの厳格度やTemporary Driftの扱いを含むため、Node単位の承認と再検証が必要である。
DraftとDSLには18個のLLMノードがある。
| Item | Observed State | Decision |
|---|---|---|
| Provider / Model | 全18ノードでOllama / gemma4:latest |
Synchronized |
| Context | Draftのreview_retry_agentだけnum_ctx=16384を明示。他17ノードとDSLには明示値なし |
用途別Policyを先に決定する |
| Max Tokens | Draftのreview_retry_agentだけnum_predict=2048を明示 |
用途別Policyを先に決定する |
| Temperature | 全18ノードで明示値なし | 現状維持候補 |
| Structured Output | 全18ノードで無効 | Synchronized |
| Reasoning / Think | Draftのreview_retry_agentだけthink=falseを明示 |
JSON DTO生成ノードで明示するか人間判断 |
Runtime DBには総token数の記録はあるが、Ollamaへ送信した完全なrequest payloadは保存されていなかった。そのため、次の値を事後に確定できない。
num_ctxnum_predictProvider設定にcontext sizeとmax tokensが登録されていても、それだけで全LLMノードの実効値を保証することはできない。Configuration上の意図とRuntimeで実際に送信された値は、別のEvidenceとして扱う必要がある。
| Configuration Item | Status | Severity | Decision |
|---|---|---|---|
| Graph | Synchronized | None | 維持 |
| Prompt | Conflict | Blocking | Node単位で人間承認 |
| Code | Conflict | Blocking | Node単位で人間承認 |
| Normalize inputs | Conflict | Blocking | Code採用と同時に承認 |
| LLM Parameters | Runtime Drift | Blocking | 用途別Policy決定後に同期・再検証 |
| Provider / Model identity | Synchronized | None | 維持 |
| Published Workflow | Not Checked | Warning | 公開前Auditで確認 |
| Documentation | Current Auditと同期 | None | 維持 |
| ID | Item | Condition | Unblock Condition |
|---|---|---|---|
CFG-B004 |
Prompt | 6ノードが競合し、Conclusion RetryにはDraftとDSL双方に保持すべき要素がある | Prompt採用方針を承認し、1 Problemずつ同期・再監査 |
CFG-B005 |
Code / Normalize | 5 Codeノードと入力名が競合し、Gateの厳格度に承認差分がある | Code採用方針を承認し、1ノードずつ同期・再監査 |
CFG-B006 |
LLM Parameters / Runtime | Node明示値が一部にしかなく、完全なRuntime request payloadを取得できない | 用途別Parameter Policyを承認し、Node設定と実効値を再検証 |
Blocking Drift件数: 3
| Verification | Result |
|---|---|
| Graph | PASS - Draft / DSLとも73 nodes / 79 edges |
| Prompt | Compared - 6差分ノードを確認 |
| Prompt variables | Compared - Conclusion Retryの未解決4変数を確認 |
| Code | Compared - 5差分ノードを確認 |
| LLM Parameters | Compared - 全18ノードを確認 |
| Runtime | Partial - token evidenceは確認、完全なrequest payloadは取得不可 |
| Published Workflow | Not Checked |
| Synchronization | Not Performed - 人間承認前のため |
Blocked
理由:
Provisional / Classified / Blocked
GraphとConfiguration identityはBaseline候補として維持する。Prompt、Code、LLM Parametersは正式Baselineへ未採用である。
Conclusion Retry Promptだけを最初の承認対象とする。
理由:
承認後もPrompt 1ノードだけを同期し、静的selector検証と新しいConfiguration Auditを行う。
YesPending