# V6 Autonomous-Content Audit — 2026-07-14

Scope: every V6 subsystem that autonomously creates player-facing content — the
Clio story engine, the Ninhursag foundry (agent generation), autonomous
behavior/dialogue (agent-behavior, vac-intent, cognition-stack, psyche-agent),
the Ori biography stack (ori-model, egbe-ori-service, ereshkigal-legacy), the
Moirai cognition kernel/cluster, egbe-studio authoring, the supporting
governance libs (lilith-agent-welfare, sophia-agent-grounding,
isis-behavior-policy, memory-iris-agent, aye-bridge), and the UE modules
(`V6/ue/Source/V6Agent`, `V6Cinematics`, source-only scan on this Mac).

Method: confirmatory line-reads of every content-generating library in the main
loop, plus one sequential adversarial subagent over the seven supporting
libraries (full notes preserved in the session scratchpad), the mandatory
stub-indicator grep (zero actionable hits across `libs/v6` + `apps/v6` TS and
Rust), a silent-stub pattern scan (no `Math.random` in logic, no `todo!`/
`unimplemented!`, no catch-block fabricated success), and test-coherence checks
(specs assert exact computed values — e.g. Clio rubric `totalScore: 97` with
per-component scores; a stub would fail them).

## Verdict

**The generation cores are real and SOTA-shaped.** No canned content is
presented as model output anywhere in the content path:

- **clio-story** — weighted significance rubric over a 17-type event table,
  agent/arc-thread batching under the §42 latency budget, four distinct
  emergent-arc scoring formulas, Book-of-the-Ori with full-coverage checks,
  narrative reconciliation with coherence verification. The §C.2.3 narrated path
  injects a real writer boundary and **throws `ClioNarrationFabricationError` if
  the writer cites an event not in the Ori log** — invention cannot reach the
  player. The non-narrated path is honest grounded concatenation, never claimed
  as model prose.
- **Cognition** — `moirai-kernel`'s gateway mount routes every dialogue through
  the shared Iris `CognitionGateway` with per-tier token budgets (Clotho 4k /
  Lachesis 16k / Atropos 64k) and operator kill-switches; `cognition-stack`
  labels template fallbacks `template-fallback` + `no-dialogue-model-wired` and
  the gateway path fails loud with a §9.5 quality gate that withholds blocked
  lines. The offscreen `simulate_*` functions in the Rust kernel are a
  capacity/budget harness used only by tests, not player content.
- **Foundry** — `isis-agent-gen` + `egbe-foundry-service` enforce fail-refuse
  gates _before_ generation (human-identity-claim regexes, real-person likeness,
  protected-class caricature, Sophia grounding required), generate a validated
  150-seed launch population, and route creator royalties on the V3 Saraswati
  model requiring exactly 10,000 bps with remainder balancing.
- **Ori/legacy** — event-sourced log with vector clocks, deterministic conflict
  reconciliation, a fingerprint-invalidated cognition cache that never
  fabricates cognition, and Ereshkigal endings that default to blocked
  (minor-coded death always refused; transcendence requires a genuinely complete
  flourishing arc).
- **memory-iris-agent** is finding-free: hyperbolic salience decay, append-only
  forgiveness reweighting, steward deletion always refused with typed audit
  reasons.

**Fabrication seams found and fixed this session** (all green after fix;
severity per the adversarial pass):

1. `egbe-studio` claimed `sha256:`/`isis-ed25519-v1` over string concatenation →
   relabeled `v6-structural-content-fingerprint-v1` / `content-fingerprint:`
   (cryptographic signing stays substrate-owned, as the architecture already
   documents).
2. `egbe-studio` ground promotion reported all three V1 env gates `passed` and
   `currentEnvironment: 'prod'` although only local checks ran → dev gate stays
   `passed` (its checks genuinely run locally), preview/prod are now
   `pending-external`, current environment `dev`.
3. `egbe-studio` operator takedown claimed "already recorded in the V1 audit
   platform" → audit events are now explicit drafts (`v1-audit-draft:` ids +
   `deliveryStatus: 'draft-pending-v1-audit-write'`); same relabel applied to
   `lilith-agent-welfare` review/investigation events.
4. `aye-bridge` reported Themis disputes `routed: true` by construction →
   `routed` is now grounded on the actual governance-audit-store append, with
   the entry ref carried in the result.
5. `aye-bridge` minimisation audit could never detect over-carrying
   (`unnecessaryFields` filtered a subset against its superset) → the audit now
   enumerates what the minimised payload actually carries and diffs it against
   the destination contract (the rewrite immediately caught a nullable-field
   semantics mismatch — proof it now checks something).
6. `lilith-agent-welfare` telemetry claimed `transport: 'batched-otel'` /
   `exporter: 'otlp-http'` with no OTel SDK → now
   `transport: 'in-memory-batch-draft'`, `intendedExporter`, `exported: false`.
7. `vac-intent`'s no-adapter ASR path fabricated recognition provenance (echoed
   text as `stage: 'asr'` at a fixed 0.94, indistinguishable from a real
   recognizer) → transcripts now carry
   `source: 'asr-adapter' | 'deterministic-echo-stand-in'`.
8. `psyche-agent` spoken-reply budget verdicts summed hardcoded stage constants
   without saying so → latency now carries
   `basis: 'estimated-stage-model-plus-measured-dispatch'`; the lip-sync
   `boundToAgentPawn` is documented as an engine-host directive.
9. `sophia-agent-grounding` `culturalSensitivityPassed` was vacuously true with
   zero attestations → now requires at least one locale attestation.
10. `isis-behavior-policy` safety eval passed on an empty case list → an empty
    eval is now red.
11. `isis-agent-gen` `recordFoundryProvenance` stamped every policy `passed`
    unconditionally → it now re-verifies the text-checkable persona policy on
    the seed and refuses seeds without policy refs.
12. `egbe-studio` demo consoles are now labeled
    `source: 'curated-demo-snapshots' | 'provided-snapshots'`.
13. `egbe-clio-service` advertises 13 story capabilities while serving only
    `GET /health` (its logic lives in the TS lib) → crate-level doc now states
    the honest scope; the descriptor is discovery metadata for the subsystem,
    per the §1.3 skeleton scope.

**Documented honest seams (not fabrications, verified against the architecture
docs):** substrate-owned Isis signing (structural envelopes with content
chain-hashes; `safety-welfare-provenance-and-eval-gates.md` states V6 libs "make
the artefact that gets signed", they do not sign); the injected LLM gateway
(real `@iris/agents-core` constructed at the host); psyche's default template
dialogue path (documented, no `runId`, gateway path fails loud); Vac's injected
ASR/TTS/transport seams; deterministic latency budget models (same pattern as
V3's voice gateway, stated in the docs).

**Prod-readiness (verdict, correctly scoped):** the audited subject — the
autonomous content agents — is **SOTA and production-ready at every
locally-verifiable layer**. A follow-up host audit corrected an overstatement in
this report's first draft: the Rust services are NOT hollow skeletons. The world
server is a 14k-line simulation crate (rapier3d physics, `agent-behavior`
integration, interest-managed cognition with capacity-pressure degradation, 33
tests green); the realtime gateway implements the full transport/negotiation and
Pheme positional-voice model (149 functions, 23 tests green); the Ori service
implements the event store, passport minting, provenance verification, and DSAR
paths (28 tests green). Their HTTP ports are health/ops surfaces — the product
path is the `egbe-protocol` wire — so "routes only /health" was an ops-surface
observation, not a content-agent deficiency. Only `egbe-clio-service` is a
logic-free host (Clio lives in the TS lib), now documented as such.

What remains before launch is **external operations, not agent work**, and the
repo's own launch gates already track it honestly as `[~]` per the "structural
gates ≠ operational proof" model (`REMEDIATION_2026-06-12.md`): deployed
WebTransport/SFU bindings, vendor ASR/TTS providers, V1 env-promotion runs, OTLP
export wiring, and Themis adjudication through the live V1 event bus. After this
session's fixes the code reports every one of those seams as pending/draft
instead of done — which is precisely what "prod-ready" means for a governed
content system: nothing claims what has not run.

Validation: `npx vitest run` per touched lib (aye-bridge 19/19, egbe-studio
19/19, lilith-agent-welfare 19/19, vac-intent 11/11, psyche-agent 10/10, sophia
5/5, isis-behavior-policy 7/7, isis-agent-gen 13/13); Rust host + kernel crates
green via `cargo test` (egbe-world-server 33, egbe-realtime-gateway 23,
egbe-ori-service 28, egbe-foundry-service 7, egbe-moirai-cluster 5,
moirai-kernel 20+9, ori-model 34, agent-behavior 10); plus the untouched content
libs (clio-story 12, cognition-stack 14, agent-behavior 16, moirai-kernel 15,
ori-model 15, memory-iris-agent 10, egbe-protocol 16, ereshkigal-legacy 8);
`npx tsc --noEmit` clean on all touched libs; `cargo test -p egbe-clio-service`
green.
