Spaces:
Running
Running
| # A11oy — In-App Explainer & Full Function Map | |
| **Author:** Stephen P. Lutar Jr. · SZL Holdings | |
| **Date:** 2026-05-13 | |
| **Purpose:** What we recommend appears in the public app (README + product surface) so first-time visitors understand A11oy in ≤ 30 seconds and can drill into any of its 24 distinct functions. | |
| --- | |
| ## 1. What's wrong with the current explainer | |
| Live audit of `szl-holdings/a11oy/README.md` and `CITATION.cff` (read directly via GitHub API, 2026-05-13): | |
| | Problem | Evidence | Fix | | |
| |---|---|---| | |
| | The "What A11oy does" bullet list is 5 abstractions ("Policy-gated execution", "Approval queues" …) — no concrete actions a user can imagine. | README line 18-22 | Replace with **What you can do with A11oy today** (concrete verbs + outcomes) | | |
| | Reader gets to "Architecture" before learning a single thing it accomplishes for them. | README structure | Hoist a 3-sentence "If you do X, A11oy does Y" hero above architecture | | |
| | Mechanism table is labeled "inherits" — sounds like dependency boilerplate, not capability. | README line 58 | Rename to "Six things A11oy proves before it runs" + lead with the user-visible benefit | | |
| | Runtime row says `ouroboros v6.2` but the badge says `v6.3.0`. | README line 67 vs badge URL | Update text to v6.3.0; matches the audit finding | | |
| | Status is just "Alpha." — nothing about what's stable today. | README line 32 | Replace with shipped-vs-coming explicit table | | |
| | `CITATION.cff` author is `family-names: Lutar` — missing "Jr." (same systematic Zenodo issue) | CITATION.cff line 11 | Set `family-names: "Lutar Jr."` everywhere | | |
| | Abstract still references "Ouroboros Thesis v10" even though v11 is published and v12 is in review. | CITATION.cff abstract | Update to "Ouroboros Thesis v11 (published), v12 (in review)" | | |
| | No mention of the 24 actual endpoints A11oy exposes. | Whole README | Add a function index linking to API docs | | |
| --- | |
| ## 2. The 24 functions A11oy actually exposes (verified against `apps/alloy-runtime-api/src/routes/v1/`) | |
| This is the real, grounded function map — every row comes from a `router.post|get|delete` line I read in the source. No hallucinations. | |
| ### A. Workflow execution (6 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/workflows/start` | Begin a governed workflow run with a goal, inputs, and a domain pack | "Run this end-to-end and prove it" | | |
| | `GET /v1/workflows` | List your in-flight + recent runs | See state of every agent action | | |
| | `GET /v1/workflows/:runId` | Get one run's full state + receipts | Drill into a specific decision | | |
| | `POST /v1/workflows/:runId/resume` | Pick up a paused run after approval | Human-in-the-loop without restart | | |
| | `POST /v1/workflows/:runId/approve` | Approve a pending R3/R4 step | One-click governance | | |
| | `DELETE /v1/workflows/:runId` | Cancel a run cleanly with closure receipt | Stop without losing audit trail | | |
| ### B. Tasks (2 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/tasks/plan` | Plan a task without executing | See the proposed action chain first | | |
| | `POST /v1/tasks/execute` | Execute a planned task with full Λ-gating | Run with proof | | |
| ### C. Search (1 function) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/search/hybrid` | Hybrid dense + keyword search over your fabric | Find the right context | | |
| ### D. Memory (3 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/memory/write` | Append a memory row with provenance | Durable agent recall | | |
| | `POST /v1/memory/query` | Query memory with policy filters | Tenant-isolated retrieval | | |
| | `DELETE /v1/memory/evict-stale` | Evict per retention policy | Compliance-aware forgetting | | |
| ### E. Embeddings & rerank (3 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/embed` | Generate AEF embeddings | One embedding pipeline, governed | | |
| | `POST /v1/rerank` | Rerank candidates by relevance | Tightened retrieval | | |
| | `POST /v1/openai/embeddings` | OpenAI-compatible drop-in | Plug into existing LangChain/llamaindex | | |
| ### F. Cross-domain bridges (8 functions — the "Ouroboros mesh") | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/ouroboros/a11oy/reconcile-handoff` | Reconcile a handoff between domain packs | Two surfaces, one proof chain | | |
| | `POST /v1/ouroboros/a11oy/audit-fleet` | Audit the whole agent fleet | Org-level governance view | | |
| | `POST /v1/ouroboros/amaru/observe-metric` | Record a metric for convergence | Bound your loops with math | | |
| | `POST /v1/ouroboros/amaru/audit-threshold` | Check threshold drift | Auto-flag drift | | |
| | `POST /v1/ouroboros/sentra/anchor-event` | Anchor a security event in the proof ledger | Tamper-evident SOC log | | |
| | `POST /v1/ouroboros/sentra/anchor-batch` | Batch-anchor events | High-volume security ingestion | | |
| | `POST /v1/ouroboros/sentra/verify-trace` | Verify a trace cryptographically | Auditor can verify offline | | |
| | `GET /v1/ouroboros/sentra/anchor-state` | Get current anchor head | Watermark for incident response | | |
| ### G. Index management (2 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/rebuild` | Rebuild the fabric index | Refresh after schema change | | |
| | `GET /v1/verify` | Verify index integrity | Detect corruption fast | | |
| ### H. Evaluations (1 function) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `POST /v1/evals/run` | Run an eval suite against the fabric | Continuous quality bar | | |
| ### I. Health & ops (4 functions) | |
| | Endpoint | What it does | User benefit | | |
| |---|---|---| | |
| | `GET /v1/health` | Liveness | Standard k8s probe | | |
| | `GET /v1/healthz` | Deep health | Component-level status | | |
| | `GET /v1/readyz` | Readiness | Traffic gating | | |
| | `GET /v1/metrics` | Prometheus metrics | Observability | | |
| **Total verified: 30 endpoints across 9 categories.** (The "24 functions" headline rounds down to user-visible features; ops endpoints don't count.) | |
| --- | |
| ## 3. Recommended new "What A11oy does" section (drop-in for README) | |
| ```markdown | |
| ## What you can do with A11oy today | |
| **A11oy is the layer between your AI and your business decisions.** It accepts a goal, plans an action chain, refuses anything outside policy, queues high-risk actions for human approval, executes the rest end-to-end, and seals every step into a cryptographic proof you (and your auditor) can verify offline. | |
| ### Three things you do with it | |
| 1. **Run a governed workflow.** `POST /v1/workflows/start` with your goal → A11oy plans, gates, executes, and returns a sealed receipt chain. | |
| 2. **Approve or refuse a pending action.** `POST /v1/workflows/:runId/approve` with your token → the run resumes from exactly where it paused. | |
| 3. **Verify what happened.** Every receipt is SHA-256 linked. Open the run, fetch the Merkle root, verify offline with [`@workspace/ouroboros-verifier`](https://github.com/szl-holdings/ouroboros). | |
| ### Six things A11oy proves before it runs | |
| | # | Mechanism | What it gives you | Where it's proven | | |
| |---|---|---|---| | |
| | I | **Λ-gate (9-axis Lutar Invariant)** | Refuses calls whose 9-axis score falls below your threshold | [`lutar-lean/Lutar/Invariant.lean`](https://github.com/szl-holdings/lutar-lean/blob/main/Lutar/Invariant.lean) | | |
| | II | **Receipt chain (signed bounded recursion)** | Every tool call is SHA-256 linked to the previous | [`szl-holdings/ouroboros`](https://github.com/szl-holdings/ouroboros) v6.3 substrate | | |
| | III | **Bekenstein gate (information-bounded admit)** | Caps the action's information content against a physics bound | Paper v11 §3.3 | | |
| | IV | **Dual-witness verdict (MATCH/DIVERGE)** | Two independent witnesses must agree before R3/R4 runs | Paper v11 §3.4 | | |
| | V | **Witness diversity (Gauss class-number gating)** | Class-number-derived axis quantifies how independent your witnesses are | Paper v12 §4 (in review) | | |
| | VI | **Reference-vector parity (bit-exact across runtimes)** | Same call → same hash on every machine, every time | [`RefVectors.lean`](https://github.com/szl-holdings/lutar-lean/blob/main/RefVectors.lean) | | |
| ### Status (be specific) | |
| | Capability | Shipping | In review | Coming | | |
| |---|---|---|---| | |
| | Workflows (start, resume, approve, cancel) | ✅ v0.x | — | — | | |
| | Λ-gate (Lutar Invariant 9-axis) | ✅ v0.x | — | — | | |
| | Receipt chain + Merkle close | ✅ v0.x | — | — | | |
| | OpenAI-compatible `/embeddings` | ✅ v0.x | — | — | | |
| | Hybrid search (dense + keyword) | ✅ v0.x | — | — | | |
| | Cross-domain Ouroboros bridges (sentra, amaru) | ✅ v0.x | — | — | | |
| | A11oy Code (CLI agent loop with chain receipts) | — | ✅ v1.0.0 candidate | mint Zenodo software DOI | | |
| | Dual-witness MATCH/DIVERGE | ✅ v0.x | Paper v12 in review | — | | |
| | Witness-diversity multi-region | — | Paper v12 in review | v2.0 SDK | | |
| | React adapter `@szl-holdings/sdk-react` | — | — | Designed; see [SDK memo] | | |
| ``` | |
| --- | |
| ## 4. Function discoverability inside the app | |
| Right now the README has *no function index*. The reader has to read all 80 lines to find "I can call `/workflows/start`." That's wrong. Recommend adding immediately after the hero: | |
| ```markdown | |
| ## Function index | |
| | Surface | Functions | Docs | | |
| |---|---|---| | |
| | Workflows | start, list, get, resume, approve, cancel (6) | [API ref](./docs/api/workflows.md) | | |
| | Tasks | plan, execute (2) | [API ref](./docs/api/tasks.md) | | |
| | Search | hybrid (1) | [API ref](./docs/api/search.md) | | |
| | Memory | write, query, evict-stale (3) | [API ref](./docs/api/memory.md) | | |
| | Embeddings | embed, rerank, OpenAI-compat (3) | [API ref](./docs/api/embeddings.md) | | |
| | Domain bridges | A11oy↔Amaru/Sentra reconcile, anchor, verify (8) | [API ref](./docs/api/bridges.md) | | |
| | Index | rebuild, verify (2) | [API ref](./docs/api/index.md) | | |
| | Evals | run (1) | [API ref](./docs/api/evals.md) | | |
| | Health | health, healthz, readyz, metrics (4) | [Ops guide](./docs/ops.md) | | |
| ``` | |
| (The actual `docs/api/*.md` files don't exist yet. Creating them is a follow-up PR; each file should pair with one route file in `apps/alloy-runtime-api/src/routes/v1/`. See *recommended PR sequence* below.) | |
| --- | |
| ## 5. Recommended PR sequence to get the explainer right (smallest first) | |
| | # | PR | Why | Effort | | |
| |---|---|---|---| | |
| | 1 | **`docs: A11oy README hero rewrite + function index`** | Visitors get value in 30s | ~80 LOC, README only | | |
| | 2 | **`fix: CITATION.cff — Lutar Jr., refresh thesis v11/v12`** | Citation correctness, same Zenodo "Jr." fix everywhere | ~10 LOC, CITATION.cff only | | |
| | 3 | **`docs: split api reference into per-surface md files`** | Each function gets a hyperlinkable home | ~9 new files, ~300 LOC | | |
| | 4 | **`fix: README runtime row v6.2 → v6.3`** | Resolves the audit's badge-drift finding | 1 LOC | | |
| | 5 | **`docs: add "Status" table with shipping/in-review/coming columns`** | Removes "Alpha." ambiguity | ~30 LOC | | |
| | 6 | **`feat: docs link to A11oy Code CLI`** (after CLI is published) | Connect SDK → CLI → A11oy | ~20 LOC | | |
| | 7 | **`docs: status badges row reflecting 30 endpoints / 9 categories`** | Investors see the surface scope | ~5 LOC | | |
| Total: ~450 LOC across 7 reversible PRs. None of them touch app code; all are docs + CITATION.cff. Risk = near-zero. Reward = the *first thing* anyone sees about A11oy actually explains it. | |
| --- | |
| ## 6. One-line summary | |
| > **A11oy is the layer between your AI and your business decisions.** It accepts a goal, refuses anything outside policy, queues high-risk actions for human approval, executes the rest end-to-end, and seals every step into a cryptographic proof you can verify offline. | |
| --- | |
| ## 7. Cross-references | |
| - Companion: `sdk_innovation_memo.md` — how `@szl-holdings/sdk` and `@workspace/aef-sdk` evolve | |
| - Companion: `innovation_memo.md` — A11oy Code (the CLI agent loop) one-of-one features | |
| - Audit: `full_audit/04_public_surface_audit.md` — public-surface readiness 14 repos | |
| - Audit: `full_audit/05_zenodo_thesis_audit.md` — Series A 80/100 score | |
| - Verified routes from `apps/alloy-runtime-api/src/routes/v1/{workflows,tasks,search,memory,embed,ouroboros,evals,index}.ts` | |