Record VoidBot source indexing authority gap
This commit is contained in:
parent
e40fbc6645
commit
a03840ed5e
5 changed files with 46 additions and 30 deletions
|
|
@ -16,11 +16,11 @@ Git history and smoke artifacts carry routine proof. `state/evidence.jsonl` shou
|
|||
|
||||
## Current Shape
|
||||
|
||||
- Disaster recovery is active on trusted old Yggdrasil (`94.130.75.184`). Big Yggdrasil (`94.130.223.131`) is retired and its recycled address is not a GameCult host. The old host retained Bifrost and PostgreSQL but lost VoidBot, Idunn, Odin, Epiphany, compose state, and service credentials.
|
||||
- Disaster recovery is active on trusted old Yggdrasil (`94.130.75.184`). Big Yggdrasil (`94.130.223.131`) is retired and its recycled address is not a GameCult host. The surviving host did not retain the former VoidBot runtime state or credentials; the current body was rebuilt only from admitted recovery material.
|
||||
- Raven's verified offsite archive `20260603-043304-offsite-auto.zip` is staged on old Yggdrasil. Its SHA-256 is `47572df766e63212012eb75762359113a11c8bbf149b497e120fc4fda7191dfc`; the newer June 4 archive is corrupt. The payload contains PostgreSQL state, six Qdrant snapshots, and exact RAG archives, but no secrets.
|
||||
- Recover the standalone read-only resident MCP first. It owns only loopback `127.0.0.1:17875`, exact archives, VoidBot's history/source Qdrant collections, and the matching embedding model. Discord, worker jobs, Personas, moderation, Bifrost crossings, and delivery remain stopped until their missing authority and credentials are rebuilt.
|
||||
- The standalone read-only resident MCP was recovered first. `voidbot-retrieval.service` owns only loopback `127.0.0.1:17875`, exact archives, VoidBot's history/source Qdrant collections, and the matching embedding model. Discord, worker jobs, Personas, moderation, Bifrost crossings, and delivery remain stopped until their missing authority and credentials are rebuilt.
|
||||
- `apps/worker/src/mcp-http-main.ts` is the standalone HTTP entrypoint. It delegates to the existing MCP context and HTTP server; it is not a second retrieval implementation.
|
||||
- The unattended repo Face/native Persona CTB swarm runs on Yggdrasil. Resident `apps/persona-scheduler` inside `voidbot.service` owns the serialized Persona pulse and queues turns through Postgres for the worker. Void moderation, rumination, physiology, memory maintenance, and candidate delivery are now separate resident daemon organs; Persona initiative owns none of them. The Windows Local Orchestrator owns no Void decision loop.
|
||||
- The current `voidbot.service` runs only the typed `voidbot.swarm` Eve publisher. The repo Face/native Persona scheduler, worker queue, Discord bot, Postgres body, and resident cognition organs described later in this handoff are source architecture or retired-runtime history, not current service-health claims. Restore none of them by implication from the surviving swarm projection.
|
||||
- The teardown authority remains `notes/agent-swarm-teardown-plan-2026-05-21.md`, but it is now a restart checklist and smell ledger rather than a stop sign. Keep using it when a Face/Bifrost/CTB boundary smells like prompt/parser/transport Jenga.
|
||||
- The repo-controlled pause flag is `state/agent-swarm-paused.json`. While it has `"paused": true` or is malformed, the resident Persona scheduler returns before registry, Discord, embedding, storage, or dispatch work. This is the brake. Do not route around it.
|
||||
- Postgres owns jobs, audit events, interaction memory, and rate-limit state.
|
||||
|
|
@ -247,17 +247,17 @@ Git history and smoke artifacts carry routine proof. `state/evidence.jsonl` shou
|
|||
|
||||
## Important Paths
|
||||
|
||||
- Project root: `E:\Projects\VoidBot`
|
||||
- Canonical map: `E:\Projects\VoidBot\state\map.yaml`
|
||||
- Agent swarm pause flag: `E:\Projects\VoidBot\state\agent-swarm-paused.json`
|
||||
- Scratch surface: `E:\Projects\VoidBot\state\scratch.md`
|
||||
- Distilled evidence ledger: `E:\Projects\VoidBot\state\evidence.jsonl`
|
||||
- Branch/hypothesis ledger: `E:\Projects\VoidBot\state\branches.json`
|
||||
- Handoff summary: `E:\Projects\VoidBot\notes\fresh-workspace-handoff.md`
|
||||
- System map: `E:\Projects\VoidBot\notes\voidbot-current-system-map.md`
|
||||
- Implementation plan: `E:\Projects\VoidBot\notes\voidbot-implementation-plan.md`
|
||||
- State CLI: `E:\Projects\VoidBot\tools\voidbot_state.ts`
|
||||
- Pre-compaction helper: `E:\Projects\VoidBot\tools\voidbot_prepare_compaction.ts`
|
||||
- Project root: `F:\Projects\VoidBot`
|
||||
- Canonical map: `F:\Projects\VoidBot\state\map.yaml`
|
||||
- Agent swarm pause flag: `F:\Projects\VoidBot\state\agent-swarm-paused.json`
|
||||
- Scratch surface: `F:\Projects\VoidBot\state\scratch.md`
|
||||
- Distilled evidence ledger: `F:\Projects\VoidBot\state\evidence.jsonl`
|
||||
- Branch/hypothesis ledger: `F:\Projects\VoidBot\state\branches.json`
|
||||
- Handoff summary: `F:\Projects\VoidBot\notes\fresh-workspace-handoff.md`
|
||||
- System map: `F:\Projects\VoidBot\notes\voidbot-current-system-map.md`
|
||||
- Implementation plan: `F:\Projects\VoidBot\notes\voidbot-implementation-plan.md`
|
||||
- State CLI: `F:\Projects\VoidBot\tools\voidbot_state.ts`
|
||||
- Pre-compaction helper: `F:\Projects\VoidBot\tools\voidbot_prepare_compaction.ts`
|
||||
|
||||
## Useful Commands
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,14 @@
|
|||
|
||||
This is the current forward plan for the next larger organs. It is not a changelog and it is not allowed to become a duplicate brain for the canonical map.
|
||||
|
||||
> Runtime boundary (2026-08-25): this plan describes source architecture and the
|
||||
> former full-stack roadmap. The current Yggdrasil body contains only the typed
|
||||
> `voidbot.swarm` Eve publisher plus the separate read-only
|
||||
> `voidbot-retrieval.service`; it does not run the Discord bot, worker, Persona
|
||||
> scheduler, Postgres, or cognition organs. `state/map.yaml` owns any restoration
|
||||
> decision. Do not treat the roadmap below as evidence that those processes are
|
||||
> live.
|
||||
|
||||
## Current Aim
|
||||
|
||||
The typed moderation, mood, sleep, agency, and private self-state boundary is live, but the repo Face / CTB / Bifrost swarm loop is under teardown. Do not let ordinary swarm scheduling run. The active plan is `notes/agent-swarm-teardown-plan-2026-05-21.md`: the current Face loop mixed scheduling, prompt law, public speech, identity, governance, Discord mirroring, Bifrost dispatch, and GitHub proposal behavior into one prompt-and-parser machine. That foundation is no longer eligible for feature work.
|
||||
|
|
|
|||
|
|
@ -463,3 +463,4 @@
|
|||
{"ts":"2026-08-16T17:40:00Z","type":"architecture","status":"ok","note":"Read-only MCP recovery exposed that SerializedFileStore snapshots always created writer locks. Archive repositories now accept an explicit read-only mode: snapshots read without filesystem locks and every mutation method fails immediately. A Node 24 build and a nobody-user probe on a non-writable directory proved snapshot success plus mutation rejection; writable runtimes retain interprocess locking."}
|
||||
{"ts":"2026-08-16T19:29:57Z","type":"implementation","status":"ok","note":"Added read-only get_exact_source_document MCP tool backed by the canonical sharded source archive; full content is returned for consumer-owned hashing and receipts. Typecheck and in-memory MCP smoke pass."}
|
||||
{"ts":"2026-08-16T19:34:57Z","type":"verification","status":"ok","note":"Yggdrasil deployed immutable VoidBot recovery release 20260816T193315Z-c88c71909dbc. Starfire called get_exact_source_document through 127.0.0.1:17875 and received all 10,363 characters of AetheriaLore:Aetheria/index.md with SHA-256 ccc26375ecbe638af1aa3ccdeff885dfcc85cf6e7f1c6867e2b42e3e8b374a6d."}
|
||||
{"ts":"2026-08-30T20:45:00Z","type":"operations","status":"degraded","note":"Yggdrasil VoidBot retrieval is healthy but source refresh has no admitted owner. `voidbot-retrieval.service`, MCP, and Qdrant are up; list/search smokes pass across 49 repos, and the green source collection has 98,170 points with an empty update queue. Most archive shards are still dated 2026-06-03 (AetheriaLore 2026-08-20 and Kalsa 2026-08-25 were later bounded imports). The recovery Compose mounts archives read-only and allow-lists retrieval tools only; no index worker, crawler, hook consumer, or reconcile scheduler is deployed. Restoring freshness requires a new authority map, not a service restart."}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@ objective:
|
|||
Aetheria lore, while keeping the system understandable enough to modify
|
||||
safely.
|
||||
current: >
|
||||
Recover the read-only archive/source retrieval organ on surviving old
|
||||
Yggdrasil from the verified 2026-06-03 offsite backup. Big Yggdrasil is
|
||||
retired and its address is no longer trusted; its VoidBot, Idunn, Odin,
|
||||
Epiphany, deployment, and secret state did not survive. Restore only the
|
||||
resident loopback MCP, exact archives, and VoidBot-owned Qdrant collections
|
||||
first. Keep Discord, worker jobs, Personas, moderation, and delivery stopped
|
||||
until their missing authority and credentials are deliberately rebuilt.
|
||||
Keep the recovered read-only archive/source retrieval organ healthy on
|
||||
surviving old Yggdrasil, and design an admitted source-index refresh owner.
|
||||
The query path is live, but no current runtime owns incremental source
|
||||
crawling or coordinated archive/Qdrant writes, so most source shards remain
|
||||
at the 2026-06-03 recovery snapshot. Keep Discord, worker jobs, Personas,
|
||||
moderation, and delivery stopped until their missing authority and
|
||||
credentials are deliberately rebuilt.
|
||||
|
||||
constraints:
|
||||
- Disaster recovery currently targets trusted old Yggdrasil at 94.130.75.184; retired Big Yggdrasil at 94.130.223.131 is not a GameCult host and must not be trusted or targeted.
|
||||
|
|
@ -292,5 +292,5 @@ rejected_paths:
|
|||
reason: sleep/distillation that collapses concrete claims into generic abstraction creates memory nonsense and then forces later cleanup compensators
|
||||
|
||||
current_status:
|
||||
summary: Yggdrasil `voidbot.service` currently owns only the typed `voidbot.swarm` Eve publisher at `127.0.0.1:17873`. Idunn deployed revision `a4a5bd9a3ce781876e5563817d8b8db178cd289d`, accepts its signed `voidbot.cultnet-rudp-stack-health` as authenticated, and Gjallar composes the provider into `gjallar.overview`. The lost Discord bot, worker, Persona scheduler, Postgres, Qdrant, and resident cognition body were not restored. `voidbot-retrieval.service` remains a separate read-only recovery service.
|
||||
next_action: Treat the live swarm surface as a retained operational projection of the surviving typed state, not proof that the full cognition stack is running. Any future restoration of bot, worker, scheduler, databases, or model inference requires a fresh authority and recovery map; do not grow `voidbot.service` around stale full-stack claims.
|
||||
summary: Yggdrasil release `11568671a0d72c4e273c2b76d0a2a642788cc347` runs the typed `voidbot.swarm` Eve publisher and the separate read-only `voidbot-retrieval.service`. The retrieval MCP and Qdrant are healthy: 49 source repositories are visible, source search succeeds, and the green source collection contains 98,170 points. The recovery body has no source-index writer, repo crawler, hook consumer, or reconciliation scheduler; retrieval availability therefore does not imply corpus freshness. The Discord bot, worker, Persona scheduler, Postgres, and resident cognition organs remain absent.
|
||||
next_action: Produce and approve an authority map for source refresh before starting any writer: one owner, its exact repository inputs, archive/Qdrant commit boundary, failure rollback, scheduling trigger, progress surface, and deployment path. Do not use a manual full reindex or revive the retired workstation stack as a diagnostic shortcut.
|
||||
|
|
|
|||
|
|
@ -2,13 +2,20 @@
|
|||
|
||||
## Current Subgoal
|
||||
|
||||
Design and execute the private self-state teardown: replace editable JSON projection authority with typed CultCache mutation tools, then delete legacy mirrors and compensating cleanup paths.
|
||||
Inspect the health of the deliberately narrow Yggdrasil VoidBot body, with
|
||||
source retrieval/index availability as the priority failure.
|
||||
|
||||
## Working Notes
|
||||
|
||||
- Smallest coherent target: private Void self-state is one polymorphic CultCache-backed authority with typed document kinds, and agents cross the boundary through explicit operation payloads.
|
||||
- First cut should be state-boundary design and typed mutation tools, not another behavior patch.
|
||||
- JSON can remain a debug export or operation payload format, but not an editable whole-state working copy.
|
||||
- Cut early: repo cursor JSON writes, commit-working-view authority, legacy top-level mirrors, and semantic cleanup code that only exists because invalid durable state was allowed through.
|
||||
- Treat most deterministic cleanup as recent compensator cruft, not machinery to preserve.
|
||||
- Redesign sleep/distillation so compression preserves concrete subject, claim/question, evidence refs, live tension, and future-action implication instead of collapsing meaning into generic slogan paste.
|
||||
- Current runtime authority: `voidbot.service` owns only the typed swarm Eve
|
||||
publisher; `voidbot-retrieval.service` separately owns read-only archive and
|
||||
source retrieval at Yggdrasil loopback `127.0.0.1:17875`.
|
||||
- Do not infer that the Discord bot, worker, Persona scheduler, Postgres, or
|
||||
resident cognition organs are live from source code or the retained swarm
|
||||
projection.
|
||||
- The recovery corpus is read-only. Diagnose retrieval service, tunnel,
|
||||
embedding provider, Qdrant collections, and recovered archive independently;
|
||||
do not start indexing writers as a health-check side effect.
|
||||
- Last durable retrieval proof is the 2026-08-16 exact-document witness for
|
||||
release `20260816T193315Z-c88c71909dbc`; it is historical evidence, not a
|
||||
present-health result.
|
||||
|
|
|
|||
Loading…
Reference in a new issue