Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AFI_Full_Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Analysts may configure and run conforming UWR profiles, decay surfaces, and stra
- 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.
Factory is **not** the API Atlas, **not** the Gateway, **not** the Reactor runtime, 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.

### 4. Gateway ingress plane **(Implemented)**

Expand Down
1 change: 0 additions & 1 deletion ARCHITECTURE_STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,3 @@ Implementation lives under:
| Composition reference | The thin `afi.composition-ref.v1` object carried on `afi.scored-signal-evidence.v3`, binding evidence to the executed composition by canonical hashes |
| District 1 — Signal Evaluation | The **active** Signal Evaluation capability and authority domain (`district-one-signal-evaluation-capability-v0.1`, D1CAP-GOV): canonical input → five-category enrichment → deterministic join → analyst/scorer/UWR seam → District-2 handoff. Its current implementation is the live GraphExecutor pipeline (`afi-reactor/src/pipeline/`); implementations may be replaced through accepted authority without retiring the district |
| District 2 — Evidence & Provenance | The active canonical data & provenance boundary: receives the scored evaluation result from District 1 and owns evidence construction, validation, and the canonical persistence handoff. Live law in `afi-reactor/src/evidence/provenance/` |
| Pipehead | The bounded stage discipline of the Pipehead Addendum (one node → one validated category result → merge → one scorer seam), implemented today by the live pipeline nodes. District 1's former non-production Pipehead POC implementation was retired and deleted by Mission A (DSC-GOV) — an implementation retirement only, not a District retirement (D1CAP-GOV); git history preserves the former implementation |
12 changes: 12 additions & 0 deletions scripts/check_architecture_doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@
"src/pipeheads",
]

# Retired terminology that must not appear as current architecture in this
# present-tense map (Mission R0 forward-only closure). Matched case-insensitively
# as a substring. The Pipehead POC is retired; git history is the archive.
BANNED_TERMS = [
"pipehead",
]


def main() -> int:
here = os.path.dirname(os.path.abspath(__file__))
Expand Down Expand Up @@ -112,6 +119,11 @@ def main() -> int:
line = low.count("\n", 0, m.start()) + 1
failures.append(f"banned path named: {banned_path!r} (line {line})")

for term in BANNED_TERMS:
for m in re.finditer(re.escape(term), low):
line = low.count("\n", 0, m.start()) + 1
failures.append(f"retired terminology named as current: {term!r} (line {line})")

print()
if failures:
print(f"RESULT: FAIL ({len(failures)} problem(s) in {DOC})")
Expand Down
2 changes: 1 addition & 1 deletion scripts/check_atlas_summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
(active Districts, capabilities, structures, interfaces, typed routes,
participant roles);
* every participant-role display name appears;
* the five governed enrichment categories are named exactly and 'social' is not;
* the five governed enrichment categories are named exactly;
* the current operation identifier factory.official.list is named (residue
policing of the retired operation name is left to check_stale_refs.py);
* the registry contract id afi.protocol-atlas.v1 is referenced.
Expand Down
Loading