> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_18/session_02_mnemosyne_constellation_readonly.md).

# Session 02: Mnemosyne 3D Constellation (Read-Only, Code-Split)

**Session ID**: `phase18-session02-mnemosyne-constellation-readonly` **Status**: Completed **Estimated Tasks**: \~16-22 **Estimated Duration**: 3-4 hours

***

## Objective

Add the v2.3 "Mnemosyne" 3D memory constellation as a read-only, lazy-loaded, code-split tab, with data derived from local memory files. Source-code anchor: `V23/src/components/hermes-mnemosyne.tsx`.

***

## Scope

### In Scope (MVP)

* Source: `V23/src/components/hermes-mnemosyne.tsx` (1,104 lines) -- 3D memory constellation, Three.js bloom, auto-orbit, view modes. Read-only.
* Target: new lazy-loaded `AIOS/src/components/hermes/hermes-mnemosyne.tsx`, added as a `Mnemosyne` tab via `hermes-read-only-page.tsx` (TabsList `:150`, TabsContent `:177-189`). Code-split (heavy) so it does not inflate the base bundle.
* Data derived from local memory files (read-only); no write paths.
* **Resolve the bloom approach (Open Question 2):** raw `three` ^0.184 (already a dependency in both repos) vs. adding `postprocessing` / `@react-three/fiber`. Prefer raw `three`; only add a dep if bloom is not achievable, and treat it as a contained in-session decision.

### Out of Scope

* Any write behavior (Mnemosyne is read-only).
* Memory tab upgrade (Session 01).

***

## Prerequisites

* [ ] Phase 16 complete (memory-derived data available through the hook layer).
* [ ] Phase 18 Session 01 memory upgrade landed (shared memory data shapes).
* [ ] `three` ^0.184 confirmed present in aios (it is).

***

## Deliverables

1. A lazy-loaded, code-split `hermes-mnemosyne.tsx` read-only tab rendering the constellation from local memory-derived data.
2. A recorded bloom-approach decision (raw `three` vs. `postprocessing`/`@react-three/fiber`) with bundle-budget evidence.
3. Mode-matrix coverage and a `hermes-sections.test.tsx` extension.

***

## Success Criteria

* [ ] Mnemosyne renders read-only with auto-orbit and view modes at acceptable visual parity with v2.3.
* [ ] The tab is code-split/lazy-loaded and stays within the bundle budget (\[P01] 3D vendor chunk constraint).
* [ ] The bloom approach is decided and recorded; no unnecessary dependency added.
* [ ] Mode matrix renders; typecheck, lint, and tests pass.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_18/session_02_mnemosyne_constellation_readonly.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
