Nishi Family › Compare › AI Companion
Nishi Compare · capabilities, evidence and delivery
AI Companion
Compare capabilities and delivery evidence. Source discovery, qualification, deployment and accepted outcomes are separate; an open contract names work still to verify.
The sovereign companion (one daemon for chat and render on a 16 GB card, typed present-tense state, salience-scored long-term memory, relationship state, card-compiled persona, isolated NSFW realm) measured against SillyTavern, JanitorAI, Character.AI, Replika and Kindroid. Found by measurement 2026-08-30: the memory, relationship and state organs are promoted and registered and the live chat turn never consults them -- wiring them in (CC0) is the cheapest intelligence gain on any board. Voice, video and mixed-LLM routing are watched contracts.
Overview
The purpose, declared position and evidence coverage of this domain. Source presence and completed acceptance are different measures.
Where we are. Measured on 2026-08-30: one sovereign daemon carries chat and render on a 16 GB card (dispatch honesty and async submit deployed that day, gen G17/G18); typed present-tense state (nx_elara_state), salience-scored long-term memory (nx_elara_memory), relationship axes (nx_charmem), card-compiled persona (nx_card_compile) and durable chat history (nx_chat_store) all exist, promoted and registered. THE KEYSTONE GAP was found by import-list measurement and CLOSED the same day: CC0 is LIVE (every chat turn composes memory, relationship and present-tense state; nx_gen_mind_gate 14/14 on the NAS), CC6 mixed-LLM routing is LIVE (nx_llm_route_gate 15/15; no active route rows until a backend is declared), the /gen page is EMITTED (nx_gen_ui_gate 13/13 incl. served-equals-emitted), and chat rides the async job lane with a data-driven budget after a 17.6 s completion was measured against the 15 s edge window. LATER THE SAME DAY: the swipe loop (CC4: regenerate as a sibling, select, edit, history -- 17/17), the lorebook plane (CC3: keyed world facts injected on trigger under a loud budget -- 16/16) and Tavern V2 card import (CC2: every field mapped or refused by name, age fail-closed, export byte-stable -- 19/19, RED 5/19 against the old compiler) are LIVE and gate-proven on the NAS; the async submit's lingering-socket defect the G18 tooth found is fixed (daemon a36b5d27, dispatch gate 25/25). Still open: streaming (CC1, BLOCKED AT THE WORKER -- stream:true returns one buffered body), group scenes, voice, video, and the LLM-diffusion VRAM residency governor is proven only on a simulator.
Where we need to go. The operator charter verbatim: parity with the best of the tavern/companion field for NSFW and SFW, full synthetic interaction beyond the Replika class -- the companion intelligent (memory, relationship and state in EVERY turn), mixed LLM with image gen, then video gen and audio gen, all sovereign and all proven by rulers rather than by eye.
Research bar. SillyTavern documentation is measured on the local power-user bar: V2 character cards, World Info lorebooks, swipes, group chats, extension TTS and image gen. Theirs: vendor docs as read 2026-08-30 -- MIRROR OWED, no bench number exists on either side. Ours: our c1 column reads from these docs; the refs rung will pin the mirror.
Research bar. Replika (the mass-market companion bar) is measured on long-term memory as the flagship, voice calls, avatar presence. Theirs: vendor claim as read 2026-08-30 -- MIRROR OWED. Ours: nx_companion_sota probes OUR memory and state organs against this bar's axes and refuses HAVE on a failed probe.
Research bar. Generative Agents memory stream is measured on the research architecture for a companion that remembers: a memory stream retrieved by recency x importance x relevance, periodic reflection, planning [@genagents]. Theirs: qualitative architecture; the paper's own believability study is read from the mirror when the rung runs. Ours: CC0 wires salience recall (the importance leg) into the turn; recency and relevance weighting and reflection are the frontier rungs after it -- nothing here is claimed until a judged set measures it.
Research bar. MemGPT tiered context is measured on OS-style virtual context management: a bounded window pages long-term memory in and out so the relationship is unbounded [@memgpt]. Theirs: qualitative; the paper's document-analysis and multi-session chat results are read from the mirror when the rung runs. Ours: our elaramem- plane is the archival tier; the paging policy into a 400-token reply budget is the frontier rung.
Research bar. CharacterEval role-play referee is measured on a published multi-dimensional benchmark for role-playing conversational agents [@charactereval]. Theirs: Chinese-language benchmark; its metric axes transfer, its dialogues do not. Ours: the grade-1 referee for this board is OWED: an English judged set on the same axes, run by nx_companion_sota, published with n and an interval -- until then every companion claim here is grade 2 at best.
Research bar. F5-TTS flow-matching speech is measured on the open non-autoregressive flow-matching TTS bar [@f5tts]. Theirs: numbers read from the mirror when CC7 runs. Ours: CC7 sv_speak is priced as a research-class rung; acceptance is the CC8 round trip, never a listening impression.
Research bar. Whisper weakly-supervised recognition is measured on large-scale weakly-supervised speech recognition, the recognizer bar for CC8 [@whisper]. Theirs: numbers read from the mirror when CC8 runs. Ours: CC8 sv_listen on our own GPU; the fixed sentence set is recorded once and the word-match floor is pre-declared.
Research bar. LTX-Video real-time latent diffusion is measured on real-time video latent diffusion, the 16 GB-class img2vid candidate for CC9 [@ltxvideo]. Theirs: numbers read from the mirror when CC9 is unblocked. Ours: BLOCKED-EXTERNAL: the model must be acquired and pass the G16 contamination screen (one fixed-seed clip) before any clip is rendered.
Latest recorded release
No valid dated release entry is recorded for this domain.
Release entries describe recorded changes; they do not establish that every capability passed evaluation.
13 of 20 capability source symbols found|0 of them authored stronger-claims|7 open|coverage 650/1000|adoption 6 full / 7 partial
Evidence profile — what the gaps on this board actually are
Measured by nx_swcompare_evidence, read back by nx_evprofile_lib. Every figure is a count with its denominator — there is deliberately no score, no grade and no percentage anywhere in this band, because a stored scalar is a field a seat can edit and a counted partition is not.
evidence|grounded 13/14|unsupported 1|gates green 5/5|proven able to fail 5/5|never bitten 0|green at 0/0 0|open gaps 6|of them unnamed 0|of them proof withheld 0|flips ready 0
proven able to fail counts the gates that have a RECORDED RED — nx_gate_bite mutated the gate subject, rebuilt it, watched the gate go red, and that record is inside the shared TTL. never bitten is its complement over the same denominator: those gates ran and were green, and nothing has ever shown them able to detect anything, so their green is a statement about this run and not about the gate. green at 0/0 is a separate and much weaker observation — the gate printed GREEN on a zero denominator, so its own tooth counter says it examined nothing. A gate can be green, non-zero, and still never bitten; that is the common case and it is now visible instead of implied.
partition: grounded + unsupported = 14 vs present 14 · named + unnamed + withheld = 6 vs open 6 · both reconcile
liar-kill conj=gPQN · first failing conjunct: grounded
graded document: BUILDROOT tree, 16971 bytes · gates map: PRIMARY · stamped 0d 13h ago · source ../knowledge/status/evstamp_companionchat.verdict
| Gap class | What it is, and the work it names |
|---|---|
| UNSUPPORTED-CLAIM | A row published as measured names a symbol that is NOT in the organ file it cites. This is the one class worse than an open gap, because it is a published claim carrying a source line beside it as apparent proof. |
nx_swcompare_evidence companionchat itself and are not carried on the stamp, so this page names the classes and the producer names the rows. That split is stated rather than hidden: a count without a worklist is not actionable, and this band is honest about which half of that it is.Production map
Follow the dependencies, declared acceptance criteria and recorded priorities. Inspect source binding before treating a rank as executable work.
Ranking source binding: PLAN_MATRIX_BOUND_ONLY. Recorded priorities require current acceptance evidence and resource checks before execution.
Ranking matches the captured plan and matrix only. Latest execution outcome, research freshness, accepted delivery and investment return are unverified.
Recorded priority estimates
Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: listed before new work by this heuristic. Priority is not measured delivery cost or execution readiness. Stamp: # asof=1790082109 domain=companionchat target_version=1.0 rungs=11 done=5 open=6 finish=1 ranker=nx_dr_ocm
| # | Stage | Rung | Priority | Derivation |
|---|---|---|---|---|
| F | FINISH | Community card import (CC2) ccm_card_import dossier | REGISTERED-DARK | callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) |
| #1 | 1.0 | Streaming reply (CC1) go_chat_stream dossier | 600 | v=9 m=1 c=15 |
| #2 | later | Group scenes (CC5) go_group_chat dossier | 400 | v=4 m=2 c=20 |
| #3 | later | She hears (CC8) sv_listen dossier | 200 | v=6 m=1 c=30 |
| #4 | later | The companion speaks (CC7) sv_speak dossier | 150 | v=6 m=1 c=40 |
| #5 | later | Residency TTL on one card (CC10) mx_swap_ttl dossier | 100 | v=1 m=1 c=10 |
| #6 | later | Short video clips (CC9) vg_clip dossier | 33 | v=1 m=1 c=30 |
Declared roadmap — contract, acceptance, executor, effort
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Wire the mind into the turn (CC0) | go_mind_context | STATUS 2026-08-30: DONE-RULE MET -- nx_gen_mind_gate GREEN 14/14 on the NAS via /api/gate_run; the daemon calling go_mind_context in every chat turn and go_mind_remember after every reply is LIVE (sha 1af1cf92, audited pre-deploy override over four unrelated RED domains). DONE-RULE: The composed chat prompt provably contains em_recall hits, cm_ctx relationship lines and es_context typed state whenever those stores hold data for the session, proven by a GPU-free probe against the real data files; a neg-control with empty stores must compose NO fabricated memory lines. The three organs stop being REGISTERED-DARK by construction because the serving path forks them. | Organ | 2 u |
| Streaming reply (CC1) | go_chat_stream | STATUS 2026-08-30: BLOCKED-AT-WORKER, measured -- the GPU worker answers stream:true with one buffered JSON body (generation_time_ms=10709 for three words on a shared card), so the daemon has nothing to relay; the unblock is a streaming backend (CC6 route table) or our own worker lane, never a re-chunked completed reply. DONE-RULE: First visible token in the browser under 2 s on a warm LLM; the completed streamed reply is byte-identical to the non-streamed control for the same seed and prompt; the gateway relays chunked transfer without buffering the whole body. | Organ | 1.5 u |
| Community card import (CC2) | ccm_card_import | STATUS 2026-08-30: DONE-RULE MET -- nx_card_import_gate GREEN 19/19 on the NAS against the promoted compiler (RED 5/19 against the pre-CC2 binary), every V2 field mapped or refused by name in the ledger, age fail-closed with a card-declared age beating a permissive argument, export byte-stable by hash; the PNG chunk walk shipped as nx_png_chunks for G15 to compose. DONE-RULE: A Tavern V2 card PNG (base64 JSON in a tEXt chunk) imports to the card SSOT with every field mapped or explicitly refused by name; the age gate stays fail-closed (an under-18 card refuses exactly as the native compiler does); export round-trips byte-stable. Composes the PNG chunk walk gen G15 also needs -- extract, never a second parser. | Organ | 2 u |
| Lorebook plane (CC3) after CC0 | em_lorebook | STATUS 2026-08-30: DONE-RULE MET -- nx_lorebook_gate GREEN 16/16 on the NAS via /api/gate_run (trigger-only injection, once per turn, zero bytes when untouched, malformed rows counted, over-budget refuses loudly with no partial injection); em_lorebook composes the [WORLD] block inside nx_companion_mind and the daemon carrying it is LIVE (sha 5ef619e9); knowledge/lorebook.conf ships with no active rows, the operator authors the world. DONE-RULE: Keyed world entries as data on the memory plane with trigger terms and an insertion budget; a turn touching a trigger injects the entry, a turn that does not touches nothing (neg-control); budget overflow refuses loudly rather than silently truncating the persona. | Organ | 1.5 u |
| The swipe loop (CC4) after CC0 | go_handle_regen | STATUS 2026-08-30: DONE-RULE MET -- nx_chat_swipe_gate GREEN 17/17 on the NAS via /api/gate_run; the regenerate, select, edit and history routes are LIVE (daemon sha 5ef619e9) and the emitted page carries the swipe toolbar; symbol corrected from go_chat_swipe to the shipped entry go_handle_regen. DONE-RULE: Regenerate produces a SIBLING reply row (never overwrites), branch selection persists in history, and the history partition (mainline plus branches) sums and is printed; edit is additive with the original retained. | Organ | 1.5 u |
| Group scenes (CC5) after CC0 | go_group_chat | Two or more companions with separate cards speak in one room with a deterministic speaker-selection rule as data; each turn's prompt carries only that speaker's identity and state (leak between companions is the neg-control). | Organ | 2 u |
| Mixed-LLM routing (CC6) | go_llm_route | STATUS 2026-08-30: nx_llm_route lib written; nx_llm_route_gate GREEN 15/15 on the sovereign toolchain (trigger row, first-row-wins, case-insensitive, star default, neg-controls for no-trigger / absent conf / malformed target / empty turn, prepend order, four provenance labels); knowledge/llm_routes.conf shipped with NO active rows so production is unchanged until a backend is declared; the orchestrator prepends the routed candidate and stamps model_route on every reply (daemon compile-proven; NAS build queued behind admission). DONE-RULE: A route table as data maps turn classes to backends (local encoder-LLM, any configured stronger endpoint); an absent backend refuses by name and falls back to local, never silently; per-turn provenance records which model answered. Ties to /compare/extllm. | Organ | 2 u |
| The companion speaks (CC7) | sv_speak | Sovereign TTS: on a fixed 20-sentence set the synthesized audio round-trips through CC8's recognizer at or above a pre-declared word-match floor, and a silence/duration sanity tooth refuses empty audio; until CC8 lands the interim bar is non-silence plus duration proportional to text, declared as interim. | Organ | 4 u |
| She hears (CC8) | sv_listen | Speech to text on our own GPU: the fixed sentence set recorded once, recognized at or above the same pre-declared floor; the CC7 accept test becomes the round trip. | Local model | 3 u |
| Short video clips (CC9) after gen:G16 | vg_clip | BLOCKED-EXTERNAL until a 16 GB-class img2vid model is acquired AND passes the G16 contamination screen; then an N-frame clip from one identity render at a declared fps, identity judged per frame by nx_charjudge at or above a floor calibrated on stills, partition (frames judged = frames emitted) printed. | Local model | 3 u |
| Residency TTL on one card (CC10) | mx_swap_ttl | Shared verbatim with /compare/gen G12: LLM and diffusion time-share the 16 GB card under a residency TTL, VRAM per model measured and published; the simulator-proven policy (mx_run) drives the real worker. | Organ | 1 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| M0 · Intelligence wired | CC0 | 2 u |
| M1 · Chat parity core | CC1,CC2,CC3,CC4 | 8.5 u |
| M2 · Voices | CC7,CC8 | 15.5 u |
| M3 · Ensemble and routing | CC5,CC6,CC10 | 20.5 u |
| M4 · Motion | CC9 | 23.5 u |
| Class | Count | Note |
|---|---|---|
| bars | 0 | sotabar rows on the plan |
| fresh | 0 | the bar month is the current month |
| attested | 0 | an older bar with a this-month barscan reporting no newer entry |
| stale | 0 | a this-month scan saw a newer month the bar ignores |
| unattested | 0 | nobody looked this month |
| malformed | 0 | a sotabar row missing a field |
| duplicate | 0 | bar ids an earlier row already carries |
| bars, summed | 0 | RECONCILED: the parts sum to the total 0 |
| current month | 2026-10 | the month every bar is judged against |
Inspect a rung and its prerequisites
Declared nodes 11. Rank input binding: PLAN_MATRIX_BOUND_ONLY. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.
Plan SHA-256 9b9d0febe32554a323648bf9c8f768cb5185cda9adf3362457efcd4fe00663a1. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.
Runtime observation coverage: 0 of 11 rungs have current, identity-bound execution observations. Observation may report RED. Accepted completion remains unknown; source presence, qualification and deployment do not establish it.
Use Enter or Space on a rung to inspect its contract. Prerequisite links locate another rung in this list; open its summary to inspect it. Estimates are authored effort, not forecasts.
CC0 — Wire the mind into the turn
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
go_mind_contextAcceptance: STATUS 2026-08-30: DONE-RULE MET -- nx_gen_mind_gate GREEN 14/14 on the NAS via /api/gate_run; the daemon calling go_mind_context in every chat turn and go_mind_remember after every reply is LIVE (sha 1af1cf92, audited pre-deploy override over four unrelated RED domains). DONE-RULE: The composed chat prompt provably contains em_recall hits, cm_ctx relationship lines and es_context typed state whenever those stores hold data for the session, proven by a GPU-free probe against the real data files; a neg-control with empty stores must compose NO fabricated memory lines. The three organs stop being REGISTERED-DARK by construction because the serving path forks them.
Authored effort: 2. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC1 — Streaming reply
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
go_chat_streamAcceptance: STATUS 2026-08-30: BLOCKED-AT-WORKER, measured -- the GPU worker answers stream:true with one buffered JSON body (generation_time_ms=10709 for three words on a shared card), so the daemon has nothing to relay; the unblock is a streaming backend (CC6 route table) or our own worker lane, never a re-chunked completed reply. DONE-RULE: First visible token in the browser under 2 s on a warm LLM; the completed streamed reply is byte-identical to the non-streamed control for the same seed and prompt; the gateway relays chunked transfer without buffering the whole body.
Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC2 — Community card import
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
ccm_card_importAcceptance: STATUS 2026-08-30: DONE-RULE MET -- nx_card_import_gate GREEN 19/19 on the NAS against the promoted compiler (RED 5/19 against the pre-CC2 binary), every V2 field mapped or refused by name in the ledger, age fail-closed with a card-declared age beating a permissive argument, export byte-stable by hash; the PNG chunk walk shipped as nx_png_chunks for G15 to compose. DONE-RULE: A Tavern V2 card PNG (base64 JSON in a tEXt chunk) imports to the card SSOT with every field mapped or explicitly refused by name; the age gate stays fail-closed (an under-18 card refuses exactly as the native compiler does); export round-trips byte-stable. Composes the PNG chunk walk gen G15 also needs -- extract, never a second parser.
Authored effort: 2. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC3 — Lorebook plane
Prerequisites: CC0 (acceptance unverified)
Contract:
em_lorebookAcceptance: STATUS 2026-08-30: DONE-RULE MET -- nx_lorebook_gate GREEN 16/16 on the NAS via /api/gate_run (trigger-only injection, once per turn, zero bytes when untouched, malformed rows counted, over-budget refuses loudly with no partial injection); em_lorebook composes the [WORLD] block inside nx_companion_mind and the daemon carrying it is LIVE (sha 5ef619e9); knowledge/lorebook.conf ships with no active rows, the operator authors the world. DONE-RULE: Keyed world entries as data on the memory plane with trigger terms and an insertion budget; a turn touching a trigger injects the entry, a turn that does not touches nothing (neg-control); budget overflow refuses loudly rather than silently truncating the persona.
Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC4 — The swipe loop
Prerequisites: CC0 (acceptance unverified)
Contract:
go_handle_regenAcceptance: STATUS 2026-08-30: DONE-RULE MET -- nx_chat_swipe_gate GREEN 17/17 on the NAS via /api/gate_run; the regenerate, select, edit and history routes are LIVE (daemon sha 5ef619e9) and the emitted page carries the swipe toolbar; symbol corrected from go_chat_swipe to the shipped entry go_handle_regen. DONE-RULE: Regenerate produces a SIBLING reply row (never overwrites), branch selection persists in history, and the history partition (mainline plus branches) sums and is printed; edit is additive with the original retained.
Authored effort: 1.5. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC5 — Group scenes
Prerequisites: CC0 (acceptance unverified)
Contract:
go_group_chatAcceptance: Two or more companions with separate cards speak in one room with a deterministic speaker-selection rule as data; each turn's prompt carries only that speaker's identity and state (leak between companions is the neg-control).
Authored effort: 2. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC6 — Mixed-LLM routing
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
go_llm_routeAcceptance: STATUS 2026-08-30: nx_llm_route lib written; nx_llm_route_gate GREEN 15/15 on the sovereign toolchain (trigger row, first-row-wins, case-insensitive, star default, neg-controls for no-trigger / absent conf / malformed target / empty turn, prepend order, four provenance labels); knowledge/llm_routes.conf shipped with NO active rows so production is unchanged until a backend is declared; the orchestrator prepends the routed candidate and stamps model_route on every reply (daemon compile-proven; NAS build queued behind admission). DONE-RULE: A route table as data maps turn classes to backends (local encoder-LLM, any configured stronger endpoint); an absent backend refuses by name and falls back to local, never silently; per-turn provenance records which model answered. Ties to /compare/extllm.
Authored effort: 2. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC7 — The companion speaks
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
sv_speakAcceptance: Sovereign TTS: on a fixed 20-sentence set the synthesized audio round-trips through CC8's recognizer at or above a pre-declared word-match floor, and a silence/duration sanity tooth refuses empty audio; until CC8 lands the interim bar is non-silence plus duration proportional to text, declared as interim.
Authored effort: 4. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC8 — She hears
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
sv_listenAcceptance: Speech to text on our own GPU: the fixed sentence set recorded once, recognized at or above the same pre-declared floor; the CC7 accept test becomes the round trip.
Authored effort: 3. Executor kind: Local model. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC9 — Short video clips
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
vg_clipAcceptance: BLOCKED-EXTERNAL until a 16 GB-class img2vid model is acquired AND passes the G16 contamination screen; then an N-frame clip from one identity render at a declared fps, identity judged per frame by nx_charjudge at or above a floor calibrated on stills, partition (frames judged = frames emitted) printed.
Authored effort: 3. Executor kind: Local model. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CC10 — Residency TTL on one card
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
mx_swap_ttlAcceptance: Shared verbatim with /compare/gen G12: LLM and diffusion time-share the 16 GB card under a residency TTL, VRAM per model measured and published; the simulator-proven policy (mx_run) drives the real worker.
Authored effort: 1. Executor kind: Organ. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.
Learning and practice paths
No structured learning path is declared for this plan. Existing research, roadmap and worklog remain available above.
Rung dossiers — every record that bears on a rung, in one place
nx_swcompare_evidence companionchat writes it beside its stamp); every gate below reads UNRECORDED until it runs.knowledge/organ_gate.conf read from this working directory (1 rows) and from the estate root (196 rows); rows in both counted once: 0; declarations read: 197. Every declaration in either copy counts, so a stub beside the publisher can never hide the root.CC0 Wire the mind into the turn · cell PRESENT · gate NO-GATE-DECLARED
| Contract | go_mind_context · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | STATUS 2026-08-30: DONE-RULE MET -- nx_gen_mind_gate GREEN 14/14 on the NAS via /api/gate_run; the daemon calling go_mind_context in every chat turn and go_mind_remember after every reply is LIVE (sha 1af1cf92, audited pre-deploy override over four unrelated RED domains). DONE-RULE: The composed chat prompt provably contains em_recall hits, cm_ctx relationship lines and es_context typed state whenever those stores hold data for the session, proven by a GPU-free probe against the real data files; a neg-control with empty stores must compose NO fabricated memory lines. The three organs stop being REGISTERED-DARK by construction because the serving path forks them. |
| Matrix cell | MEMORY: THE UNWIRED INTELLIGENCE -- memory, relationship and state consulted by the live chat turn · runtime/nx_companion_mind.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_companion_mind; declare nx_companion_mind TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-12 requirement 2026-09-12 recovery and new-domain pilot: reconcile Elder AI and Companion historical user workflows against current native runtime, API/MCP bindings and served outcomes. Shared scope is retained in media.plan migration-recovery pilot; analyst/business case in finance.plan and projectmgmt.plan. Verified source roots C:/Users/elder/elder-ai-platform and C:/Users/elder/companion are reference evidence, not automatic code adoption. Old availability claims and stale answer prose must be reconciled with current observations before any gap/coverage score. Preserve working behavior and identify unwired or regressed functions with reproductions. Same native research/inventory/rank/dispatch/verify/emit workflow must later qualify a new-domain target. Beach/swarm retain execution priority. |
CC1 Streaming reply · cell WATCHING · gate NO-GATE-DECLARED
| Contract | go_chat_stream · executor Organ · 1.5 u · stands on nothing |
|---|---|
| Definition of done | STATUS 2026-08-30: BLOCKED-AT-WORKER, measured -- the GPU worker answers stream:true with one buffered JSON body (generation_time_ms=10709 for three words on a shared card), so the daemon has nothing to relay; the unblock is a streaming backend (CC6 route table) or our own worker lane, never a re-chunked completed reply. DONE-RULE: First visible token in the browser under 2 s on a warm LLM; the completed streamed reply is byte-identical to the non-streamed control for the same seed and prompt; the gateway relays chunked transfer without buffering the whole body. |
| Matrix cell | CHAT: streaming reply -- tokens render as she thinks, not after she finishes · runtime/_hdl_build/nx_gen_orchestrator.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_gen_orchestrator; declare nx_gen_orchestrator TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC2 Community card import · cell PRESENT · gate NO-GATE-DECLARED
| Contract | ccm_card_import · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | STATUS 2026-08-30: DONE-RULE MET -- nx_card_import_gate GREEN 19/19 on the NAS against the promoted compiler (RED 5/19 against the pre-CC2 binary), every V2 field mapped or refused by name in the ledger, age fail-closed with a card-declared age beating a permissive argument, export byte-stable by hash; the PNG chunk walk shipped as nx_png_chunks for G15 to compose. DONE-RULE: A Tavern V2 card PNG (base64 JSON in a tEXt chunk) imports to the card SSOT with every field mapped or explicitly refused by name; the age gate stays fail-closed (an under-18 card refuses exactly as the native compiler does); export round-trips byte-stable. Composes the PNG chunk walk gen G15 also needs -- extract, never a second parser. |
| Matrix cell | MEMORY: community character-card import -- Tavern V2 PNG cards · runtime/_hdl_build/nx_card_compile.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_card_compile; declare nx_card_compile TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC3 Lorebook plane · cell PRESENT · gate NO-GATE-DECLARED
| Contract | em_lorebook · executor Organ · 1.5 u · stands on CC0 |
|---|---|
| Definition of done | STATUS 2026-08-30: DONE-RULE MET -- nx_lorebook_gate GREEN 16/16 on the NAS via /api/gate_run (trigger-only injection, once per turn, zero bytes when untouched, malformed rows counted, over-budget refuses loudly with no partial injection); em_lorebook composes the [WORLD] block inside nx_companion_mind and the daemon carrying it is LIVE (sha 5ef619e9); knowledge/lorebook.conf ships with no active rows, the operator authors the world. DONE-RULE: Keyed world entries as data on the memory plane with trigger terms and an insertion budget; a turn touching a trigger injects the entry, a turn that does not touches nothing (neg-control); budget overflow refuses loudly rather than silently truncating the persona. |
| Matrix cell | MEMORY: lorebook -- world facts injected when the conversation touches them · runtime/nx_lorebook.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_lorebook; declare nx_lorebook TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC4 The swipe loop · cell PRESENT · gate NO-GATE-DECLARED
| Contract | go_handle_regen · executor Organ · 1.5 u · stands on CC0 |
|---|---|
| Definition of done | STATUS 2026-08-30: DONE-RULE MET -- nx_chat_swipe_gate GREEN 17/17 on the NAS via /api/gate_run; the regenerate, select, edit and history routes are LIVE (daemon sha 5ef619e9) and the emitted page carries the swipe toolbar; symbol corrected from go_chat_swipe to the shipped entry go_handle_regen. DONE-RULE: Regenerate produces a SIBLING reply row (never overwrites), branch selection persists in history, and the history partition (mainline plus branches) sums and is printed; edit is additive with the original retained. |
| Matrix cell | CHAT: edit, regenerate and branch -- the swipe loop · runtime/_hdl_build/nx_gen_orchestrator.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_gen_orchestrator; declare nx_gen_orchestrator TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC5 Group scenes · cell WATCHING · gate NO-GATE-DECLARED
| Contract | go_group_chat · executor Organ · 2 u · stands on CC0 |
|---|---|
| Definition of done | Two or more companions with separate cards speak in one room with a deterministic speaker-selection rule as data; each turn's prompt carries only that speaker's identity and state (leak between companions is the neg-control). |
| Matrix cell | CHAT: group scene -- more than one companion in a conversation · runtime/_hdl_build/nx_gen_orchestrator.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_gen_orchestrator; declare nx_gen_orchestrator TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC6 Mixed-LLM routing · cell PRESENT · gate NO-GATE-DECLARED
| Contract | go_llm_route · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | STATUS 2026-08-30: nx_llm_route lib written; nx_llm_route_gate GREEN 15/15 on the sovereign toolchain (trigger row, first-row-wins, case-insensitive, star default, neg-controls for no-trigger / absent conf / malformed target / empty turn, prepend order, four provenance labels); knowledge/llm_routes.conf shipped with NO active rows so production is unchanged until a backend is declared; the orchestrator prepends the routed candidate and stamps model_route on every reply (daemon compile-proven; NAS build queued behind admission). DONE-RULE: A route table as data maps turn classes to backends (local encoder-LLM, any configured stronger endpoint); an absent backend refuses by name and falls back to local, never silently; per-turn provenance records which model answered. Ties to /compare/extllm. |
| Matrix cell | CHAT: mixed-LLM routing -- the local encoder-LLM answers now, a stronger backend is consulted when configured · runtime/nx_llm_route.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_llm_route; declare nx_llm_route TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC7 The companion speaks · cell WATCHING · gate NO-GATE-DECLARED
| Contract | sv_speak · executor Organ · 4 u · stands on nothing |
|---|---|
| Definition of done | Sovereign TTS: on a fixed 20-sentence set the synthesized audio round-trips through CC8's recognizer at or above a pre-declared word-match floor, and a silence/duration sanity tooth refuses empty audio; until CC8 lands the interim bar is non-silence plus duration proportional to text, declared as interim. |
| Matrix cell | MEDIA: the companion speaks -- text to speech on our own stack · runtime/nx_speech_synth.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_speech_synth; declare nx_speech_synth TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC8 She hears · cell WATCHING · gate NO-GATE-DECLARED
| Contract | sv_listen · executor Local model · 3 u · stands on nothing |
|---|---|
| Definition of done | Speech to text on our own GPU: the fixed sentence set recorded once, recognized at or above the same pre-declared floor; the CC7 accept test becomes the round trip. |
| Matrix cell | MEDIA: she hears -- speech to text input · runtime/nx_speech_synth.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_speech_synth; declare nx_speech_synth TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC9 Short video clips · cell WATCHING · gate NO-GATE-DECLARED
| Contract | vg_clip · executor Local model · 3 u · stands on gen:G16 (UNRESOLVED: no such rung on this plan) |
|---|---|
| Definition of done | BLOCKED-EXTERNAL until a 16 GB-class img2vid model is acquired AND passes the G16 contamination screen; then an N-frame clip from one identity render at a declared fps, identity judged per frame by nx_charjudge at or above a floor calibrated on stills, partition (frames judged = frames emitted) printed. |
| Matrix cell | MEDIA: short video clips of the companion · runtime/nx_video_gen.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_video_gen; declare nx_video_gen TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CC10 Residency TTL on one card · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mx_swap_ttl · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | Shared verbatim with /compare/gen G12: LLM and diffusion time-share the 16 GB card under a residency TTL, VRAM per model measured and published; the simulator-proven policy (mx_run) drives the real worker. |
| Matrix cell | GOV: LLM and diffusion time-share one 16 GB card under a residency TTL · runtime/nx_mesh_mux.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_mesh_mux; declare nx_mesh_mux TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
dossiers=11 cells_joined=11 no_matrix_row=0 (sum 11) gates_recorded=0 gates_unrecorded=0 no_gate_declared=11 (sum 11 of cells_joined) evgates=UNSTAMPED
Capability comparisons
Compare the field, search individual capabilities and open their source and adoption evidence. Documented presence does not establish comparative quality.
Position map — centrality and distinctiveness
The four-quadrant map the field uses for brand strategy (Dawar and Bagga, HBR June 2015), re-derived from this matrix on every publish. Centrality is the share of the category's feature mass a player covers, each feature weighted by how many hold it; distinctiveness is the average lead over each rival on the rows the player holds; breadth is the depth-weighted share of the whole matrix (the bubble); depth is how deeply the rows held are held; momentum is the day-over-day move off the spine (green rising, red falling, grey until day two); the dashed path runs first day → previous day → today. Dividers are the category means. Axes are fitted to the field of play, so read the tick numerals, not the frame. Rival marks are documented presence, so a rival's position reads the record, never its quality. The picture grades its own readability below; the table beside it is the same data for a screen reader or a second method.
knowledge/compare/companionchat.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaultsbubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 400–1000, distinctiveness 240–360 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 580 permil of the plot · quadrant words unseated 0
text contrast, measured with wcag2-ratio (floors from contrast.conf), light theme: labels 16.24 (floor 4.50) · notes 16.24 (floor 4.50) · quadrant words 5.89 (floor 4.50) · tick numerals 5.89 (floor 4.50) · axis titles 5.59 (floor 4.50) · dark theme: labels 13.78 (floor 4.50) · quadrant words 5.55 (floor 4.50) · axis titles 5.97 (floor 4.50) · dark classes under their floor 0 (one figure serves both themes: a dark shortfall is a token to fix, never a class to hide) · classes refused under their floor 0 (a refused class is not drawn; the scale classes are measured, never hidden) · export: SVG PNG (receipt, rendered by the estate's own rasteriser from this page)
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 2 (a fact of the data: two players that close are that close) · data spread 188 permil of the plot
10 panels over 5 registered axes, every pair once (the lower axis on x, the higher on y) · each panel fitted to its own field of play, first and last tick numerals shown · no labels in a small cut, the legend names the colours; the grade below reports the mark terms only (MM summed over the panels, spread averaged)
readability of the small multiples, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 562 permil of the plot
| Player | Quadrant | centrality | distinctiveness | breadth | depth | momentum | Rows held | Days on spine | First seen |
|---|---|---|---|---|---|---|---|---|---|
| Nishi | Unconventional | 702 | 307 | 433 | 666 | -46 since 2026-09-23 | 13 | 10 | 2026-09-15 |
| SillyTavern | Aspirational | 918 | 316 | 550 | 687 | +6 since 2026-09-23 | 16 | 10 | 2026-09-15 |
| JanitorAI | Peripheral | 527 | 288 | 333 | 740 | +7 since 2026-09-23 | 9 | 10 | 2026-09-15 |
| CharacterAI | Peripheral | 675 | 272 | 400 | 727 | +7 since 2026-09-23 | 11 | 10 | 2026-09-15 |
| Replika | Aspirational | 716 | 333 | 450 | 750 | +7 since 2026-09-23 | 12 | 10 | 2026-09-15 |
| Kindroid | Aspirational | 756 | 323 | 483 | 743 | +7 since 2026-09-23 | 13 | 10 | 2026-09-15 |
| Day | Matrix rows reviewed | Players recorded |
|---|---|---|
| 2026-09-15 | 20 | 6 |
| 2026-09-16 | 20 | 6 |
| 2026-09-17 | 20 | 6 |
| 2026-09-18 | 20 | 6 |
| 2026-09-19 | 20 | 6 |
| 2026-09-20 | 20 | 6 |
| 2026-09-21 | 20 | 6 |
| 2026-09-22 | 20 | 6 |
| 2026-09-23 | 20 | 6 |
| 2026-10-08 | 20 | 6 |
players 6|matrix rows 20|feature mass 74|centrality mean 715|distinctiveness mean 306|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/companionchat.spine
Capability matrix — measured against source
◉ authored stronger claim; source present● present◐ partial○ absent? unassessed; excluded from relative comparison · click any capability for its evidence
Peer cell coverage: authored assessed 100, unassessed 0. Authored assessments are not verified outcomes.
No capabilities match this filter or search.
| Capability | Nishi | SillyTavern | JanitorAI | CharacterAI | Replika | Kindroid |
|---|---|---|---|---|---|---|
| CHAT | ||||||
companion chat with photo-on-request through one sovereign daemon (the DiT text encoder doubles as the LLM)Measured:go_handle_chat exists in runtime/_hdl_build/nx_gen_orchestrator.nx, verified at emit. Every rival chats; ours talks and renders in ONE process on one 16 GB card, with server-authoritative persona. Same symbol as /compare/gen's COMPANION row -- one ruler, two boards. Dispatch honesty and async submit deployed 2026-08-30 (gen G17/G18), so a slow render no longer reads as an absent companion. CHAT ITSELF IS ASYNC since the same day: a measured 17.6 s completion lost to the 15 s edge window on every turn -- that was the whole of 'chat does not work' -- so the turn is now a job the emitted UI polls (POST /api/chat_async), and the dispatch budget is a conf row (gen_chat_budget.conf, 60 s) rather than a 25 s literal. SERVED 2026-08-30: the async page IS the served page (emitted on the NAS, sha d9d43bb4, 18,785 B, byte-identical to the laptop emit; nx_gen_ui_gate re-run after the install: 13/13 incl. served-page-is-the-emitted-page). FIVE-PICS FIX 2026-08-31: send me five pics rendered ONE collaged image -- THREE stacked defects measured (a digit-only count parser so five read as 1, a chat clamp forcing every request to one photo, and the raw count words left in the diffusion scene so the model painted a five-panel collage into one frame). go_parse_count_any (digits AND number words, counted only beside a photo noun, clamped to the batch cap) plus go_scene_decount (the count token spliced out of the scene the model reads) shipped in daemon c41a6886; nx_photo_count_gate GREEN 15/15 with neg-controls proving a count of subjects is not a count of photos. Chat photos also append to elara_album.tsv and GET /api/album groups them by day under gen_day_offset.conf -- the /gen Gallery tab (renamed Photos) is now the conversation album by day, and /gallery stays the ONE full gallery. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=6 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ● | ● | ● | ● | ● |
durable chat history on the sovereign store -- since-cursor fetch, per-member ack, retention as policyOpen — no implementing organ is measured for this axis yet. Shared contract: this IS /compare/comms C1 (store-and-forward on the seg-store plane, history survives room close). The chat lane's history rides an organ that already carries a done-rule and a gate. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind SillyTavern, CharacterAI, Replika, Kindroid; no implementing organ measured | ○ | ● | ○ | ● | ● | ● |
streaming reply -- tokens render as she thinks, not after she finishesDARK —runtime/_hdl_build/nx_gen_orchestrator.nx EXISTS but does not declare go_chat_stream: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. MEASURED 2026-08-30: the GPU worker's /v1/chat/completions IGNORES stream:true and returns ONE buffered application/json body (generation_time_ms=10709 for a three-word reply with the card shared with a game), so streaming is BLOCKED AT THE WORKER, not at the daemon or the gateway. The sovereign routes to CC1 are a streaming-capable routed backend through CC6's route table relayed as SSE, or our own worker lane; a completed reply re-chunked to look streamed will not be shipped. Watch CC1. Every serious rival streams [sillytavern]; our chat blocks until the whole completion returns, which reads as slowness the LLM does not have. Done-rule in companionchat.plan.Pros none measured yetCons behind SillyTavern (leads), JanitorAI, CharacterAI (leads), Replika, Kindroid; open contract; expected source declaration not established | ○ | ◉ | ● | ◉ | ● | ● |
edit, regenerate and branch -- the swipe loopMeasured:go_handle_regen exists in runtime/_hdl_build/nx_gen_orchestrator.nx, verified at emit. CC4 LANDED 2026-08-30 (SYMBOL CORRECTED from the declared go_chat_swipe to the entry that shipped: go_handle_regen re-answers the latest user turn as a SIBLING through go_handle_chat_mode, beside go_handle_chat_select, go_handle_chat_edit and go_serve_chat_history). The chat log (nx_companion_persona) stays append-only and became branch-aware: a swipe row is a sibling never an overwrite, select persists the displayed sibling, edit is additive with the original retained, the regenerate load excludes the re-answered turn, and the mainline-plus-branches partition sums and is printed; a plain log loads to the byte-identical legacy shape. Routes POST /api/chat_regen[_async], /api/chat_select, /api/chat_edit and GET /api/chat_history are LIVE (daemon sha 5ef619e9, DEPLOYED-GREEN listen=VERIFIED; /api/chat_history probed 200 on the box), every reply carries swipe index and count, and the emitted /gen page draws the toolbar (previous, k of n, next, again, edit -- five conf keys). nx_chat_swipe_gate GREEN 17/17 on the NAS via /api/gate_run. Was: SillyTavern's swipes are its signature interaction and ours had no regenerate at all -- a bad reply was permanent. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=6 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Replika, Kindroid; fully adopted on the estate ladderCons behind SillyTavern (leads) | ● | ◉ | ● | ● | ○ | ○ |
group scene -- more than one companion in a conversationDARK —runtime/_hdl_build/nx_gen_orchestrator.nx EXISTS but does not declare go_group_chat: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Watch CC5. SillyTavern group chats rotate speakers with per-character cards; Character.AI ships rooms. Ours is single-companion by construction today. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind SillyTavern (leads), CharacterAI, Kindroid; open contract; expected source declaration not established | ○ | ◉ | ○ | ● | ○ | ● |
mixed-LLM routing -- the local encoder-LLM answers now, a stronger backend is consulted when configuredMeasured:go_llm_route exists in runtime/nx_llm_route.nx, verified at emit. CC6 LIVE 2026-08-30: nx_llm_route (a route table as data -- tag, trigger, host, port; first match wins; case-insensitive; a star row is a default; a malformed row routes nothing) is called by the orchestrator's chat turn, the routed backend is tried first with the local encoder-LLM as fallback, and every reply carries model_route (tag, tag-fallback-local, tag-unanswered or local). PROVEN ON THE BOX: nx_llm_route_gate GREEN 15/15 via /api/gate_run, and the daemon calling go_llm_route on every chat turn has been live since sha 1af1cf92 (a36b5d27 today). knowledge/llm_routes.conf ships with NO active rows, so no backend has answered a routed turn yet -- that is a declaration the operator makes (one row: tag, trigger, host, port), not a gap in the mechanism. Row repointed 2026-08-30 from the orchestrator (the caller) to the lib that DEFINES the symbol, because the generator verifies the implementing symbol in the named file. Watch CC6. SillyTavern and JanitorAI are frontends over ANY backend, which is exactly the operator's mixed-LLM ask; the closed companions are welded to their own model. Route table as data; a refusal names the absent backend. Ties to /compare/extllm. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of CharacterAI, Replika, Kindroid; fully adopted on the estate ladderCons behind SillyTavern (leads), JanitorAI (leads) | ● | ◉ | ◉ | ○ | ○ | ○ |
| MEMORY | ||||||
long-term salience-scored memory -- remember and recall survive sessionsMeasured:em_recall exists in runtime/nx_elara_memory.nx, verified at emit. Salience weights prefs over facts over events (EM_SAL_*), BM25-class scoring over the elaramem- plane; MemGPT's tiered context paging is the frontier bar for what survives a long relationship inside a bounded window [memgpt]. Replika's flagship capability [replika]; SillyTavern reaches it via vector-storage extensions (Part). REGISTERED-DARK today: see the CC0 keystone row. Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of SillyTavern, JanitorAI, CharacterAICons behind Replika (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◐ | ○ | ◐ | ◉ | ● |
relationship state -- affection, trust, intimacy, excitement folded per event into contextMeasured:cm_ctx exists in runtime/nx_charmem.nx, verified at emit. Built to the Nomi/Replika-class spec its own header names: per-character axes with defaults, learned user preferences, folded per event. REGISTERED-DARK today: see CC0. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of SillyTavern, JanitorAI, CharacterAICons behind Replika (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ○ | ○ | ○ | ◉ | ● |
present-tense coherence -- she dresses herself and stays dressed; outfit, location, mood and day carry a typed timelineMeasured:es_context exists in runtime/nx_elara_state.nx, verified at emit. The F975 keystone engine: typed fields with a timeline on the elarastate- plane, wardrobe grammar as data, day-cycle tick. Rivals hold persona PROSE the model may drift from; ours is typed state an organ can refuse against. Exceed deliberately not claimed until rival mirrors are pinned. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of SillyTavern, JanitorAI, CharacterAI, Replika, KindroidCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◐ | ○ | ○ | ◐ | ◐ |
THE UNWIRED INTELLIGENCE -- memory, relationship and state consulted by the live chat turnMeasured:go_mind_context exists in runtime/nx_companion_mind.nx, verified at emit. CC0 SOURCE LANDED 2026-08-30 (same day it was found): nx_companion_mind.nx composes em_recall + cm_ctx + es_context by forking the promoted organs; the orchestrator imports it, calls go_mind_context in the chat turn and go_mind_remember after the reply; lib, gate (nx_gen_mind_gate, 14 teeth incl. neg-control-empty-session) and the daemon all compile clean on the sovereign toolchain. PROVEN ON THE BOX 2026-08-30: nx_gen_mind_gate GREEN 14/14 via /api/gate_run against the real promoted organs (planes under /tmp, neg-control-empty-session teeth), and the daemon carrying the call is LIVE at /volume1/ai/gen (sha 1af1cf92, 322,853 B; deployed under an AUDITED pre-deploy override because the fleet block was four unrelated domains' RED gates). Every chat turn now composes present, relationship and remembered before the model answers. THE KEYSTONE, found by import-list measurement 2026-08-30: nx_gen_orchestrator imports companion identity, persona, wardrobe and state-vector -- but NOT nx_elara_memory, NOT nx_charmem, NOT nx_elara_state. The intelligence organs are promoted, registered and DARK because the chat turn never calls them; every rival injects its memory into every turn. The research bar is the Generative Agents memory stream -- retrieval scored by recency, importance and relevance with reflection on top [genagents]; our em_salience is the importance leg alone, so recency and relevance weighting plus reflection are the frontier rungs after CC0. Wiring, not research -- the cheapest intelligence gain on any board. Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons behind CharacterAI (leads), Replika (leads), Kindroid (leads) | ● | ● | ● | ◉ | ◉ | ◉ |
character-card compiled persona SSOT, age fail-closedMeasured:ccm_json_str exists in runtime/_hdl_build/nx_card_compile.nx, verified at emit. The card is the byte-one persona source and the compiler refuses an under-18 card. Same symbol as /compare/gen's COMPANION card row. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of Replika, KindroidCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ● | ● | ● | ○ | ○ |
community character-card import -- Tavern V2 PNG cardsMeasured:ccm_card_import exists in runtime/_hdl_build/nx_card_compile.nx, verified at emit. CC2 LANDED 2026-08-30: nx_card_compile import <card.png> [age=N] [dir] walks the PNG with nx_png_chunks (ONE chunk walker for the estate, the same walk gen G15 names), decodes the chara tEXt chunk with base64.nx, and MAPS every V2 field into the SSOT or REFUSES IT BY NAME in a printed ledger (character_book, alternate_greetings, post_history_instructions and extensions are refused with the reason; the lorebook entries belong in CC3's plane and are the next rung); the age gate stays fail-closed (a card-declared age wins, else age=N, else refuse; under 18 refuses exactly as the native compiler); the decoded V2 bytes are kept verbatim so export round-trips byte-stable by construction; an imported persona composes from its own description, personality, scenario and tags and inherits none of the native defaults. nx_card_import_gate GREEN 19/19 on the NAS (RED 5/19 against the pre-CC2 compiler: the bite is the live history), compiler promoted (sha 4a0caeea), gate registered. The V2 card (base64 JSON in a PNG tEXt chunk) is the field's interchange format; SillyTavern [sillytavern] and JanitorAI [janitorai] both consume it, which is where the community's thousands of characters live. Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of CharacterAI, Replika, KindroidCons behind SillyTavern (leads), JanitorAI (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ◉ | ○ | ○ | ○ |
lorebook -- world facts injected when the conversation touches themMeasured:em_lorebook exists in runtime/nx_lorebook.nx, verified at emit. CC3 LANDED 2026-08-30: nx_lorebook reads knowledge/lorebook.conf (rows of key, comma-separated trigger terms and entry text, plus an @budget row) and em_lorebook composes the [WORLD] block inside nx_companion_mind on every chat turn -- ASCII case-insensitive trigger match, an entry fires once per turn, a turn touching nothing injects zero bytes, a malformed row is counted never guessed, and an over-budget turn REFUSES LOUDLY (logged to stderr) with no partial injection. nx_lorebook_gate GREEN 16/16 on the NAS via /api/gate_run; the daemon carrying the composer is LIVE (sha 5ef619e9, DEPLOYED-GREEN listen=VERIFIED). lorebook.conf ships with NO active rows: the operator authors her world as data, the mechanism is proven. Was: SillyTavern World Info is the field bar (keyed entries injected on trigger words with insertion budgets) and ours had salience recall but no keyed world plane. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of CharacterAI, Replika, Kindroid; fully adopted on the estate ladderCons behind SillyTavern (leads) | ● | ◉ | ● | ○ | ○ | ○ |
| MEDIA | ||||||
selfie and scene renders with persistent identity in-chatMeasured:go_compose_photo_prompt exists in runtime/_hdl_build/nx_companion_wardrobe.nx, verified at emit. One testable composer shared by daemon and GPU-free probe (gen board's exceed row); Replika and Kindroid ship selfies, SillyTavern reaches image gen through extensions (Part). Identity persistence is the editable appearance anchor, not an image-reference trick. rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=1 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of SillyTavern, JanitorAI, CharacterAI; fully adopted on the estate ladderCons behind Replika (leads), Kindroid (leads) | ● | ◐ | ○ | ◐ | ◉ | ◉ |
the companion speaks -- text to speech on our own stackOpen — watchingruntime/nx_speech_synth.nx : sv_speak, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Watch CC7, the seed contract of the justified speechsynth domain. Character.AI, Replika and Kindroid all ship voice; SillyTavern via extensions. Sovereign TTS is a research-class rung and priced as one in the plan; the open flow-matching bar is F5-TTS [f5tts].Pros none measured yetCons behind SillyTavern, CharacterAI (leads), Replika (leads), Kindroid (leads); open contract; expected source declaration not established | ○ | ◐ | ○ | ◉ | ◉ | ◉ |
she hears -- speech to text inputOpen — watchingruntime/nx_speech_synth.nx : sv_listen, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Watch CC8. The other half of a voice call; the accept test for CC7 (a TTS-to-ASR round trip must recover the sentence) needs this rung, which is why they are priced together; the open recognizer bar is Whisper-class large-scale weak supervision [whisper].Pros none measured yetCons behind SillyTavern, CharacterAI (leads), Replika (leads), Kindroid (leads); open contract; expected source declaration not established | ○ | ◐ | ○ | ◉ | ◉ | ◉ |
short video clips of the companionOpen — watchingruntime/nx_video_gen.nx : vg_clip, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. Watch CC9. Kindroid ships video messages [kindroid]; Replika video-calls an avatar (Part). BLOCKED-EXTERNAL like gen G9: a 16 GB-class img2vid model must be acquired and pass the G16 contamination screen before this rung can start; identity per frame is judged by nx_charjudge; LTX-Video's real-time latent diffusion is the 16 GB-class candidate to screen first [ltxvideo].Pros none measured yetCons behind Replika, Kindroid; open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◐ | ● |
| GOV | ||||||
LLM and diffusion time-share one 16 GB card under a residency TTLDARK —runtime/nx_mesh_mux.nx EXISTS but does not declare mx_swap_ttl: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. Watch CC10 == /compare/gen G12: ONE contract, two boards -- ship mx_swap_ttl and both flip. The residency policy is already proven on a gated simulator (mx_run); the VRAM complaint on the chat lane is this row. Rival codes are deliberately UNREAD here; they are carried on the gen board.Pros none measured yetCons open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ○ | ○ |
isolated NSFW realm -- own OPAQUE keys and store, no cookies, session injected by the service worker; SFW and NSFW both first-classMeasured:gw_serve_conn exists in runtime/_hdl_build/nx_gen_gateway.nx, verified at emit. Character.AI filters NSFW out (0) [characterai]; Replika gates it behind subscription tiers (Part); local frontends inherit whatever the backend allows. Ours is a realm decision at the gateway, not a model mood. Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of CharacterAI, ReplikaCons not adopted yet: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ● | ● | ○ | ◐ | ● |
the companion SOTA ruler -- a liar-killed measured matrix against the Replika, Character.AI and SillyTavern axesMeasured:cs_run_matrix exists in runtime/nx_companion_sota.nx, verified at emit. The ruler PROBES our own organs (elara_state, elara_memory) rather than self-grading, and refuses HAVE for any axis whose probe fails. No rival measures itself against its field at all; the published role-play referee is CharacterEval, a Chinese-language benchmark whose metric axes transfer while its dialogues do not, so an English judged set on the same axes is the grade-1 referee this board still owes [charactereval]; exceed still not claimed because the rival axes in the ruler are themselves vendor-claim reads. Zeros here mean not-applicable, not a measured No. Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of SillyTavern, JanitorAI, CharacterAI, Replika, KindroidCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ○ | ○ | ○ | ○ | ○ |
| Class | Count | Note |
|---|---|---|
| rows with rival marks | 18 | rows carrying a Yes, Best or Part in a rival column |
| cited | 8 | a reference mark resolves to a pinned mirror |
| uncited | 10 | an observation read, badged until a reference lands |
| rows, summed | 18 | RECONCILED: the parts sum to the total 18 |
Delivery and evidence
Inspect risks, technical debt, rendered observations, experiments and references. Read scope and limitations alongside every result.
Debt register
| Id | Sev | What it is | Unblock |
|---|---|---|---|
| companionchat-dark-adoptionnot in this scope | 4 | nx_elara_state, nx_elara_memory and nx_charmem read REGISTERED-DARK in the catalogue (no MCP invocation on record) and nx_companion_sota's probe results have never been published to this board; INVOKED-via-fork is not visible to the actlog, so darkness is suspected, not proven. | CC0 retires the darkness by construction (the serving path forks them); until then run nx_companion_sota and publish its measured matrix beside this plan's answers. |
Release history and work log
| When | Rung | Kind | Entry |
|---|---|---|---|
| 2026-09-12 | CC0 | requirement | 2026-09-12 recovery and new-domain pilot: reconcile Elder AI and Companion historical user workflows against current native runtime, API/MCP bindings and served outcomes. Shared scope is retained in media.plan migration-recovery pilot; analyst/business case in finance.plan and projectmgmt.plan. Verified source roots C:/Users/elder/elder-ai-platform and C:/Users/elder/companion are reference evidence, not automatic code adoption. Old availability claims and stale answer prose must be reconciled with current observations before any gap/coverage score. Preserve working behavior and identify unwired or regressed functions with reproductions. Same native research/inventory/rank/dispatch/verify/emit workflow must later qualify a new-domain target. Beach/swarm retain execution priority. |
Person · product · place — not yet measured for this domain
knowledge/compare/companionchat.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain companionchat, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).Mined from the field — review and competitive intelligence proposed to this board
Rows written by nx_intelmine_propose from nx_reviewmine_lib signals (Steam reviews under the exceeds / meets / mixed / does-not-meet rubric, the installed-title census) and routed here by capability_map.conf. DEFECT names a rival failing that a rung here answers; DEMANDED a capability buyers ask for and do not get; WE-DO-BETTER an exceed the reviews corroborate; THEY-DO-WELL a bar this board must meet; SHIPS a rival capability to match. A proposal is a lead, never a rung — it closes only when a rung with a gate lands, and nothing in this band changes a measured cell.
| Signal | Kind | Term | Title | Proposed rung | Evidence |
|---|---|---|---|---|---|
| THEY-DO-WELL | feature | voice | Portal 2 620 | Voice: 620 -- voice acting and voice interaction at the field's bar | praised=2 complained=0 mixed=0 demanded=1 |
| THEY-DO-WELL | feature | dialogue | Portal 2 620 | Dialogue: 620 -- dialogue quality graded by the panel | praised=2 complained=0 mixed=0 demanded=0 |
proposals 2|malformed rows 0 (counted, never rendered: a row that is not prop| with 10 fields)|read-capped 0
The field — discovered, not chosen
Rows written by nx_field_discover from companionchat.seeds: the industry's own lists (Wikipedia wikitext, GitHub topics, awesome lists) read mechanically, every candidate counted across seeds. The matrix columns above are a SEAT'S pick; this band is the population they were picked from, and the stats line measures one against the other. A rival here is a lead, never a verdict — it earns a column when its capabilities are read and pinned.
| Class | Count | Note |
|---|---|---|
| seeds | 4 | |
| scanned | 4 | |
| fetched | 4 | |
| reused | 0 | |
| failed | 0 | |
| named | 4 | |
| candidates | 4 | |
| mentions | 4 | |
| capped | 0 |
| Rank | Rival | Seeds | Mentions | First seed | Kind | Link |
|---|---|---|---|---|---|---|
| 1 | SillyTavern | 1 | 1 | col0-sillytavern | named | https://docs.sillytavern.app/ |
| 2 | JanitorAI | 1 | 1 | col1-janitorai | named | https://janitorai.com/ |
| 3 | Replika | 1 | 1 | col3-replika | named | https://replika.com/ |
| 4 | Kindroid | 1 | 1 | col4-kindroid | named | https://kindroid.ai/ |
field candidates 4|shown 4 of 4|matrix columns in the field 4 of 5|discovered rivals with no column 0|malformed rows 0 (counted, never rendered)|read-capped 0
Exclusive and shared capabilities
This board grades 20 capabilities: 12 exclusive to it and 8 shared with other boards. Shared rows on this page: 8 = home here 1 + home elsewhere 0 + ambiguous 1 + undecided 6 + refused 0 (partition 8); undecided = unmapped 0 + unproven 6 + unevidenced 0; homonyms 1; since the previous census: new 0, resolved 0. Census FRESH age_s=7039.
| Capability | Organ | Boards grading it | Home | Rule | Evidence | Standing on this board |
|---|---|---|---|---|---|---|
| cs_store_forward | nx_chat_store.nx | synthroom, companionchat | — | none | unproven | undecided |
| cs_store_forward | - | comms:runtime/nx_chat_store_lib.nx, synthroom:runtime/nx_chat_store.nx, companionchat:runtime/nx_chat_store.nx | — | homonym | - | homonym |
| cm_ctx | nx_charmem.nx | mangagen, charsim, npcai, companionchat | — | none | unproven | undecided |
| em_recall | nx_elara_memory.nx | charsim, npcai, companionchat | — | none | unproven | undecided |
| go_compose_photo_prompt | nx_companion_wardrobe.nx | gen, companionchat | — | none | unproven | undecided |
| go_handle_chat | nx_gen_orchestrator.nx | gen, companionchat | — | none | unproven | undecided |
| ccm_json_str | nx_card_compile.nx | gen, companionchat | — | none | unproven | undecided |
| mx_swap_ttl | nx_mesh_mux.nx | gen*, companionchat* | — | ambiguous | plan | ambiguous |
| go_llm_route | nx_llm_route.nx | companionchat*+, engineshift | companionchat | rung | plan | home here |
Gaps from the record — what the estate does that no board carries
The record census (nx_goalmap record) reads the invoked-tool population and every plan queue row and files each organ or directive that NO matrix, plan or gates row names. A row here is a callout the boards missed: adjudicate it onto a board or declare it infrastructure. Census state STALE (age 1396144 s), sources read 4 of 7 declared — a BLIND census is a FLOOR: unread sources can only add rows.
| kind | name | board | source | evidence |
|---|
rows shown 0|this board's directives 0|estate-wide un-boarded organs 452 (listed in full on /compare/ecosystem)|census rows 639|malformed 0 (counted, never rendered)
References
- [sillytavern] SillyTavern documentation (docs.sillytavern.app), read 2026-08-30 publisher · read in our library
knowledge/fetched/cmp_companionchat_sillytavern.html· pinhc8352ac3c0eb5ac3fac00fafe324bc795297f0df311aa113b8cda853188752bb· accessed 2026-08-30 · vendor-docGrounds: CHAT: streaming reply -- tokens render as she thinks, not after she finishes - [janitorai] JanitorAI front page (janitorai.com), read 2026-08-30 publisher · read in our library
knowledge/fetched/cmp_companionchat_janitorai.html· pinhabeeb999b9d156c798226ff39e3d62d19a2c28d9eff8ada8ed2699814c6e2fc7· accessed 2026-08-30 · vendor-docGrounds: MEMORY: community character-card import -- Tavern V2 PNG cards - [characterai] Character.AI front page (character.ai), read 2026-08-30 publisher · read in our library
knowledge/fetched/cmp_companionchat_characterai.html· pinh761d7d2e9e2e040ab543a332619bb5244dea7c88902fd100116a0b59293bbd1a· accessed 2026-08-30 · vendor-docGrounds: GOV: isolated NSFW realm -- own OPAQUE keys and store, no cookies, session injected by the service worker; SFW and NSFW both first-class - [replika] Replika front page (replika.com), read 2026-08-30 publisher · read in our library
knowledge/fetched/cmp_companionchat_replika.html· pinhb60146759b2299dd5288b65b9085123d66589f7d633d9783bea65064a84b0e2b· accessed 2026-08-30 · vendor-docGrounds: MEMORY: long-term salience-scored memory -- remember and recall survive sessions - [kindroid] Kindroid front page (kindroid.ai), read 2026-08-30 publisher · read in our library
knowledge/fetched/cmp_companionchat_kindroid.html· pinh1a186c918f6cf01326873f31d9ab425d419f0ba923219d38a5f89ff6ef1ce844· accessed 2026-08-30 · vendor-docGrounds: MEDIA: short video clips of the companion - [genagents] Park et al. 2023, Generative Agents: Interactive Simulacra of Human Behavior (arXiv 2304.03442) -- the memory-stream architecture: retrieval scored by recency, importance and relevance, with reflection and planning publisher · read in our library
knowledge/fetched/cmp_companionchat_genagents.html· pinhc8d75b6bc96f872232c11b99ef01c5301afafe62066b204e5bc9b1db6db31a2f· accessed 2026-08-30 · published-paperGrounds: MEMORY: THE UNWIRED INTELLIGENCE -- memory, relationship and state consulted by the live chat turn - [memgpt] Packer et al. 2023, MemGPT: Towards LLMs as Operating Systems (arXiv 2310.08560) -- tiered virtual context management so a bounded window carries an unbounded relationship publisher · read in our library
knowledge/fetched/cmp_companionchat_memgpt.html· pinhfa7328c6c6b801fa1b9b6a5dd76fb1d2a8afddfc6e33bb2dd58978462bc6906f· accessed 2026-08-30 · published-paperGrounds: MEMORY: long-term salience-scored memory -- remember and recall survive sessions - [charactereval] Tu et al. 2024, CharacterEval: A Chinese Benchmark for Role-Playing Conversational Agent Evaluation (arXiv 2401.01275) -- a published multi-dimensional referee for role-play agents; Chinese-language, so an English companion needs its own judged set on the same axes publisher · read in our library
knowledge/fetched/cmp_companionchat_charactereval.html· pinhb41fb286c5c775f7ffa7786748cc66b2804cbef4f40b2dbbf20f983714dcf400· accessed 2026-08-30 · published-paperGrounds: GOV: the companion SOTA ruler -- a liar-killed measured matrix against the Replika, Character.AI and SillyTavern axes - [f5tts] Chen et al. 2024, F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching (arXiv 2410.06885) -- the open non-autoregressive flow-matching TTS bar for CC7 publisher · read in our library
knowledge/fetched/cmp_companionchat_f5tts.html· pinh1f0d98fe879334fae2f521bc32c92daf0cfad65b6bbf4017cc09e7645a2d0dee· accessed 2026-08-30 · published-paperGrounds: MEDIA: the companion speaks -- text to speech on our own stack - [whisper] Radford et al. 2022, Robust Speech Recognition via Large-Scale Weak Supervision (arXiv 2212.04356) -- the weakly-supervised recognition bar for CC8 publisher · read in our library
knowledge/fetched/cmp_companionchat_whisper.html· pinh6b4bcb027f9da09c8acd02347ad9f93fbd563a3bfb2addf8bc854fadda31e66c· accessed 2026-08-30 · published-paperGrounds: MEDIA: she hears -- speech to text input - [ltxvideo] HaCohen et al. 2025, LTX-Video: Realtime Video Latent Diffusion (arXiv 2501.00103) -- the real-time latent video diffusion bar and the 16 GB-class candidate CC9 must screen before adoption publisher · read in our library
knowledge/fetched/cmp_companionchat_ltxvideo.html· pinh3faaef3078e26a9c3c13d5721c85e7bc876df94cb6b99ed448c0fc197f9883dd· accessed 2026-08-30 · published-paperGrounds: MEDIA: short video clips of the companion
generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/companionchat.matrix · source checks show implementation presence; runtime and user-outcome evidence are reported separately · JavaScript supports page controls