From 5d3a0d7b76756bf48f5d8d04c0473c61fd58ae8c Mon Sep 17 00:00:00 2001 From: Giovanni Giovanni Date: Sun, 19 Jul 2026 15:36:10 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20current=20Factory=20facts=20=E2=80=94?= =?UTF-8?q?=20factory.official.list,=20207-test=20suite=20(Mission=20P0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AFI_Full_Architecture.md's Factory section now names the current operation factory.official.list (the bundled-template listing was renamed when the official composition became manifest-authored canonical records, afi-factory PR #10), describes official-composition discovery, and records the current merged suite count (207). check_stale_refs.py bans the old operation name tree-wide per the existing removed-machinery convention. Co-Authored-By: Claude Fable 5 --- AFI_Full_Architecture.md | 6 +++--- scripts/check_stale_refs.py | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/AFI_Full_Architecture.md b/AFI_Full_Architecture.md index 8f0e81a..39e97bf 100644 --- a/AFI_Full_Architecture.md +++ b/AFI_Full_Architecture.md @@ -141,10 +141,10 @@ Analysts may configure and run conforming UWR profiles, decay surfaces, and stra `afi-factory` is the pipeline **authoring** system. It **produces artifacts; it does not execute the live graph**, load plugin code, or run pipelines. -- An **operation registry** exposes exactly **14** agent-operable authoring operations: `factory.capabilities.list`, `factory.plugins.list`, `factory.templates.list`, `factory.template.create`, `factory.template.validate`, `factory.template.inspect`, `factory.template.instantiate`, `factory.pipeline.validate`, `factory.pipeline.inspect`, `factory.analystConfig.create`, `factory.analystConfig.validate`, `factory.plugin.scaffold`, `factory.artifact.hash`, `factory.artifact.package` (twelve read-only, two mutating). +- An **operation registry** exposes exactly **14** agent-operable authoring operations: `factory.capabilities.list`, `factory.plugins.list`, `factory.official.list`, `factory.template.create`, `factory.template.validate`, `factory.template.inspect`, `factory.template.instantiate`, `factory.pipeline.validate`, `factory.pipeline.inspect`, `factory.analystConfig.create`, `factory.analystConfig.validate`, `factory.plugin.scaffold`, `factory.artifact.hash`, `factory.artifact.package` (twelve read-only, two mutating). - **Five surfaces project over the same handlers** through one dispatch path: the TypeScript **SDK**, the **`afi-factory` CLI**, a deterministic **capability catalog**, framework-neutral **tool definitions**, and an **MCP-compatible stdio adapter** (JSON-RPC 2.0, transport-only). -- It implements templates (which parameterize values, never topology), plugin/component and template discovery, analyst-strategy configuration, the governed composition model (plugin-subset selection, repeated same-category nodes, sequential/concurrent ordering via explicit dependencies, bounded declarative conditional branches, deterministic multi-parent joins), **canonical hashing** (`canonical-json-hashing.v1` with domain-tagged manifest/analyst-config/plugin-set hashes, KAT-pinned), and fail-closed artifact packaging. -- It consumes byte-pinned copies of the afi-config schema closure; nothing it emits is canonical until validated against those contracts. Its suite is 189 tests. +- It implements templates (which parameterize values, never topology), plugin/component and official-composition discovery, analyst-strategy configuration, the governed composition model (plugin-subset selection, repeated same-category nodes, sequential/concurrent ordering via explicit dependencies, bounded declarative conditional branches, deterministic multi-parent joins), **canonical hashing** (`canonical-json-hashing.v1` with domain-tagged manifest/analyst-config/plugin-set hashes, KAT-pinned), and fail-closed artifact packaging. +- It consumes byte-pinned copies of the afi-config schema closure; nothing it emits is canonical until validated against those contracts. Its suite is 207 tests. Factory is **not** the API Atlas, **not** the Gateway, **not** the Reactor runtime, **not** a District pipehead, and **not** the source of scoring law or finality. It is a library and CLI that produces artifacts; it is **not deployed** as a service. diff --git a/scripts/check_stale_refs.py b/scripts/check_stale_refs.py index 40824ad..24b05c8 100755 --- a/scripts/check_stale_refs.py +++ b/scripts/check_stale_refs.py @@ -34,6 +34,11 @@ "canonicalNovelty": ( "Novelty reader; removed in afi-reactor ce4c178 with no replacement." ), + "factory.templates.list": ( + "Factory bundled-template listing operation; renamed to factory.official.list " + "when the official composition became manifest-authored canonical records " + "(afi-factory PR #10). Only factory.official.list may be named as live." + ), "reactor_scored_signals_v1": ( "Reactor-owned Mongo collection behind the removed writer; superseded by the " "canonical afi.scored-signal-evidence.v3 evidence store (MongoDB "