Skip to content

SYS-ADR-07: Zero AI in Ring 1

← All revisions

36cb607b · PointSav Digital Systems ·

feat(wiki): project-data editorial intake — 9 EN/ES TOPIC pairs from project-data (6 new, 3 updated)

View the full record as of this revision →

@@ -0,0 +1,218 @@
---
schema: foundry-doc-v1
type: topic
content_type: topic
slug: adr-07-zero-ai-in-ring-1
title: "SYS-ADR-07: Zero AI in Ring 1"
short_description: "SYS-ADR-07 prohibits AI inference from all Ring 1 boundary-ingest services, enforcing deterministic-only operations at the WORM write path to guarantee auditability and composability."
audience: vendor-public
bcsc_class: current-fact
language: en
paired_with: adr-07-zero-ai-in-ring-1.es.md
category: governance
status: active
quality: complete
last_edited: 2026-06-23
cites: []
---

# SYS-ADR-07: Zero AI in Ring 1

SYS-ADR-07 is an architectural decision that prohibits AI inference from Ring 1
boundary-ingest services. It is not a preference or a guideline — it is a
hard constraint that all four Ring 1 services implement as code, with no
escape hatch. This article explains the constraint, the reasoning behind it,
and what "zero AI" means in practice for each service.

---

## 1. What Ring 1 Is

Ring 1 is the outer boundary of the data plane. It is the set of services that
accept raw input from outside the system and write it to durable, immutable
storage. In the current implementation, Ring 1 consists of four services:

| Service | Role |
|---|---|
| `service-fs` | WORM immutable ledger — all Ring 1 writes land here |
| `service-people` | Identity ingest — Person, Anchor, and Claim records |
| `service-email` | Email ingest via EWS (Exchange Web Services SOAP) |
| `service-input` | Document ingest — PDF, Markdown, DOCX, XLSX |

These services are the first point of contact for data entering the system.
Everything they write to `service-fs` becomes part of the permanent, auditable
record. Anything written to the WORM ledger cannot be deleted or modified.

The consequence is that the correctness standard at Ring 1 differs from the
correctness standard elsewhere in the system. Mistakes at Ring 1 are permanent.

---

## 2. Why Deterministic-Only

Three reasons drive SYS-ADR-07.

**Verifiable audit trail.** The `service-fs` hash chain and Ed25519 checkpoint
signature create a verifiable record of everything written to Ring 1. A third
party can verify the chain from the origin hash to the current tip without
replaying any model state. If Ring 1 operations were AI-derived, this
verification would be incomplete: auditors would need access to model weights,
sampling configuration, and inference state at the time each record was written
to understand what the system decided and why. Deterministic operations have no
such dependency — the algorithm is the full specification.

**Composability guarantee.** Ring 1 outputs are consumed by Ring 2 services
(`service-extraction`, `service-content`) and Ring 3 intelligence
(`service-slm`). For Ring 2 and Ring 3 to compose Ring 1 data reliably, both
must be able to reason about what Ring 1 produced. An AI-derived Ring 1 output
carries implicit uncertainty that propagates through every downstream
computation. A UUID derived deterministically from a lowercase email address
carries no such uncertainty — it is the same value everywhere, always.

**Regulatory posture.** Immutable audit records in regulated industries
(financial services, legal, healthcare) require the ability to explain exactly
what was recorded and exactly how it was derived. Deterministic algorithms
(SHA-256, UUIDv5, regex, Ed25519 signing) have exact, auditable specifications.
AI inference does not.

---

## 3. What "Zero AI" Means in Practice

SYS-ADR-07 prohibits the following at Ring 1:

- LLM inference calls (via API or local inference)
- Embedding-based similarity computations
- Model weights in the process image
- Probabilistic classification or entity extraction

What is permitted:

- Regular expressions (deterministic pattern matching)
- SHA-256 and other cryptographic hash functions
- UUIDv5 (deterministic from a fixed namespace and input)
- Ed25519 signing and verification
- JSON/XML/OOXML parsing (structural, not semantic)
- Explicit confidence scores assigned by rule, not by a model

The distinction is: computation whose output is fully determined by its input
and a fixed algorithm (permitted) versus computation whose output depends on
learned weights or stochastic sampling (prohibited).

---

## 4. Implementation Instances

### service-fs

All operations in `service-fs` are pure cryptography and file I/O:

- **Append** — D4 atomic-write (`.tmp` → fsync → rename → chmod 0o444);
  SHA-256 entry hash chained from previous
- **Checkpoint** — SHA-256 root hash over the chain; Ed25519 signature
  using operator-supplied key; C2SP signed-note wire format
- **Anchor-emitter** — ephemeral Ed25519 keypair per run; Sigstore
  `hashedRekordRequestV002` POST; deterministic hash of the checkpoint payload

No model, no inference, no probability. Every operation has a single
deterministic output for a given input and key.

### service-people

Identity extraction uses a single compiled regular expression:

```
(?i)[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}
```

UUID derivation uses UUIDv5:

```
target_uuid = UUIDv5(NAMESPACE_DNS, lowercase(email))
```

Confidence scores are assigned by rule: `1.0` for a regex match. No model
produces a score between 0 and 1 based on learned representations.

Conflict detection compares UUIDs by equality. When two ingest operations would
bind the same email address to different UUIDs, the system surfaces the conflict
to the caller — it does not invoke inference to resolve it.

### service-email

`service-email` reads email from Microsoft Exchange via EWS (Exchange Web
Services) SOAP protocol. The operations are:

- XML string parsing of SOAP envelopes (structural, not semantic)
- Base64 decoding of MIME content
- HTTP bearer authentication using a pre-acquired token (`AZURE_ACCESS_TOKEN`)

No content classification, no entity extraction, no spam scoring. The service
reads what Exchange provides and writes it to `service-fs`. Any intelligence
applied to email content happens downstream, in Ring 2 or Ring 3, reading
from the WORM ledger — never inline during ingest.

### service-input

`service-input` parses documents into text content:

- **PDF** — structural parsing via `oxidize-pdf`; extracts text spans
- **Markdown** — event-stream parsing via `pulldown-cmark`; strips HTML tags
- **DOCX** — ZIP + XML paragraph extraction via `docx-rust`
- **XLSX** — all-sheets tab-delimited extraction via `calamine`

In every case, the parser reads format-defined structure and emits text.
No semantic interpretation, no summarisation, no classification. The raw
extracted text is what lands in `service-fs`.

---

## 5. The Ring 2 Boundary

Intelligence enters the system at Ring 2. `service-extraction` reads from Ring 1
via MCP and applies deterministic parser combinators plus, optionally, Ring 3
inference calls. Its outputs are Ring 2 artifacts — they do not write back to
Ring 1's WORM ledger entries; they create new entries tagged as Ring 2 provenance.

This boundary is structural, not convention-based. Ring 2 services access Ring 1
via HTTP MCP calls. There is no in-process path from Ring 2 inference back into
Ring 1 storage. A Ring 2 service that wants to annotate a Ring 1 record creates a
new Ring 2 record referencing the Ring 1 entry — it does not modify the Ring 1
entry.

---

## 6. SYS-ADR-10 (F12): Surfacing Ambiguity to the Operator

When deterministic processing encounters a situation that cannot be resolved
algorithmically — for example, a conflict in `service-people` where the same
email address would map to two different UUIDs — the system returns an error to
the caller. It does not:

- Silently pick one of the conflicting records
- Apply a model to guess which is "more likely"
- Merge the records based on heuristic similarity

The F12 requirement (SYS-ADR-10) mandates that ambiguity surfaces to the
operator. Resolving the ambiguity is an explicit operator action, not an
automatic system behaviour. This is a composability guarantee: operators can
reason about what the system decided, because every non-trivial decision goes
through the operator.

---

## 7. Ring 3: Compositional AI

Ring 3 (`service-slm`, the Doorman) is where AI inference is intended to run.
Ring 3 is architecturally optional — Rings 1 and 2 function fully without it.
The intended design is that Ring 3 queries Ring 2, which reads Ring 1, forming a
layered composition.

Ring 3 operating at the session layer is not a Ring 1 exception. A query from
Ring 3 to Ring 1 data (via Ring 2) uses the same deterministic MCP interface
that any other Ring 2 client uses. Ring 3 cannot bypass Ring 1's write discipline;
it reads finished Ring 1 records via the same API as everything else.

The compositional model is: deterministic ingest (Ring 1) → deterministic
processing (Ring 2) → optional intelligence at query time (Ring 3). Intelligence
is value-add, not load-bearing, and never touches the immutable write path.
Important Information

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is a trade name of Woodfine Capital Projects Inc. ("Woodfine"). PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. See TRADEMARK.md in this repository for the full trademark notice.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →