personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: point all JOURNAL.md references at talent/journal/SKILL.md

Update repository docs and inline code comments to point at the journal skill and
its split reference files instead of the old docs/JOURNAL.md monolith.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+19 -19
+1 -1
README.md
··· 105 105 | Topic | Document | 106 106 |-------|----------| 107 107 | Installation and setup | [docs/INSTALL.md](docs/INSTALL.md) | 108 - | Journal structure and data model | [docs/JOURNAL.md](docs/JOURNAL.md) | 108 + | Journal structure and data model | [talent/journal/SKILL.md](talent/journal/SKILL.md) | 109 109 | Capture pipeline | [docs/OBSERVE.md](docs/OBSERVE.md) | 110 110 | Processing and agents | [docs/THINK.md](docs/THINK.md) | 111 111 | Web interface | [docs/CONVEY.md](docs/CONVEY.md) |
+1 -1
apps/settings/routes.py
··· 97 97 - env: API keys (GOOGLE_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, REVAI_ACCESS_TOKEN, PLAUD_ACCESS_TOKEN) 98 98 99 99 Note: Model/provider configuration is done via the 'providers' section in 100 - journal.json. See docs/JOURNAL.md for the providers config format. 100 + journal.json. See talent/journal/references/config.md for the providers config format. 101 101 """ 102 102 try: 103 103 request_data = request.get_json()
+4 -4
docs/APPS.md
··· 406 406 - Create a subdirectory in `talent/` with a `SKILL.md` file (YAML frontmatter + markdown body) 407 407 - The directory name must match the `name` field in the YAML frontmatter 408 408 - Skill names must be unique across system `talent/` and all `apps/*/talent/` directories 409 - - `make skills` discovers all skills and symlinks them into `.agents/skills/` and `.claude/skills/` 409 + - `make skills` discovers all skills and symlinks them into `journal/.agents/skills/` and `journal/.claude/skills/` 410 410 - Skills are standalone — they don't interact with the talent agent/generator system 411 411 - The talent loader ignores subdirectories, so skills won't interfere with agent discovery 412 412 ··· 448 448 └── references/ 449 449 ``` 450 450 451 - **Running `make skills`:** Discovers all `SKILL.md` files under `talent/*/` and `apps/*/talent/*/`, then creates symlinks so that all supported coding agents see the same skills. Errors if two skills share the same directory name. 451 + **Running `make skills`:** Discovers all `SKILL.md` files under `talent/*/` and `apps/*/talent/*/`, then creates symlinks in `journal/.agents/skills/` and `journal/.claude/skills/` so that all supported coding agents see the same skills. Errors if two skills share the same directory name. 452 452 453 453 --- 454 454 ··· 597 597 ### Entities 598 598 `think/entities/`: `load_entities(facet)` - Load entities for a facet 599 599 600 - See [JOURNAL.md](JOURNAL.md), [CORTEX.md](CORTEX.md), [CALLOSUM.md](CALLOSUM.md) for subsystem details. 600 + See [talent/journal/SKILL.md](../talent/journal/SKILL.md), [CORTEX.md](CORTEX.md), [CALLOSUM.md](CALLOSUM.md) for subsystem details. 601 601 602 602 --- 603 603 ··· 811 811 - **`convey/static/app.js`** - AppServices framework 812 812 - **`convey/static/websocket.js`** - WebSocket event system 813 813 - [../AGENTS.md](../AGENTS.md) - Project development guidelines and standards 814 - - [JOURNAL.md](JOURNAL.md) - Journal directory structure and data organization 814 + - [storage.md](../talent/journal/references/storage.md) - Journal directory structure and data organization 815 815 - [CORTEX.md](CORTEX.md) - Agent system architecture and spawning agents 816 816 - [CALLOSUM.md](CALLOSUM.md) - Message bus protocol and WebSocket events 817 817
+1 -1
docs/DOCTOR.md
··· 329 329 330 330 ## See Also 331 331 332 - - [JOURNAL.md](JOURNAL.md) - Directory structure and file formats 332 + - [logs.md](../talent/journal/references/logs.md) - Journal logs, health files, and event formats 333 333 - [CORTEX.md](CORTEX.md) - Agent system, events, configuration 334 334 - [CALLOSUM.md](CALLOSUM.md) - Message bus protocol
+1 -1
docs/OBSERVE.md
··· 95 95 96 96 ## Output Formats 97 97 98 - See [JOURNAL.md](JOURNAL.md) for detailed extract schemas: 98 + See [captures.md](../talent/journal/references/captures.md) for detailed extract schemas: 99 99 - Audio transcripts: `audio.jsonl` with timestamps (speaker detection not included) 100 100 - Screen analysis: `screen.jsonl` with frame-by-frame categorization 101 101
+2 -2
docs/PROMPT_TEMPLATES.md
··· 61 61 The flattening logic converts nested objects using underscore separators. For example, `identity.pronouns.subject` becomes `$pronouns_subject`. 62 62 63 63 **References:** 64 - - Identity configuration: [JOURNAL.md](JOURNAL.md) (identity section) 64 + - Identity configuration: [config.md](../talent/journal/references/config.md) (identity section) 65 65 - Flattening implementation: `think/prompts.py` → `_flatten_identity_to_template_vars()` 66 66 67 67 ### Template Variables ··· 186 186 187 187 | Category | Authoritative Source | 188 188 |----------|---------------------| 189 - | Identity config schema | [JOURNAL.md](JOURNAL.md) (identity section) | 189 + | Identity config schema | [config.md](../talent/journal/references/config.md) (identity section) | 190 190 | Identity flattening | `think/prompts.py` (`_flatten_identity_to_template_vars`) | 191 191 | Template loading | `think/prompts.py` (`_load_templates`) | 192 192 | Core load function | `think/prompts.py` (`load_prompt`) |
+1 -1
docs/SCREEN_CATEGORIES.md
··· 24 24 | `description` | Yes | - | Single-line description used in the categorization prompt | 25 25 | `output` | No | `"markdown"` | Response format for extraction: `"json"` or `"markdown"` | 26 26 27 - Model selection is handled via the providers configuration in `journal.json`. Each category uses the context pattern `observe.describe.<category>` for routing. See [JOURNAL.md](JOURNAL.md) for details on configuring providers per context. 27 + Model selection is handled via the providers configuration in `journal.json`. Each category uses the context pattern `observe.describe.<category>` for routing. See [config.md](../talent/journal/references/config.md) for details on configuring providers per context. 28 28 29 29 Categories with prompt content after the frontmatter are "extractable" - they can receive detailed content extraction after initial categorization. The prompt is sent to the model for analysis and should instruct the model to: 30 30 - Analyze the screenshot for this specific category
+4 -4
docs/SOLCLI.md
··· 161 161 - `-f, --facet`: facet name (default: `SOL_FACET` env). 162 162 ``` 163 163 164 - 4. **Run `make skills`** to create the symlink in `.agents/skills/`. 164 + 4. **Run `make skills`** to create the symlink in `journal/.agents/skills/`. 165 165 166 166 5. **Update AGENTS.md** — add the skill to the Skills table. 167 167 ··· 183 183 |------|-----------|-----------| 184 184 | `apps/<name>/call.py` | Typer app with commands | Yes | 185 185 | `apps/<name>/talent/<name>/SKILL.md` | Skill doc for agents | If agents should use it | 186 - | `.agents/skills/<name>` | Symlink (via `make skills`) | Auto-generated | 186 + | `journal/.agents/skills/<name>` | Symlink (via `make skills`) | Auto-generated | 187 187 | `AGENTS.md` Skills table | Add trigger description | If skill exists | 188 188 | `tests/test_<name>_call.py` | CLI tests | Yes | 189 189 ··· 279 279 │ ├── journal/SKILL.md # Skills not tied to an app 280 280 │ ├── coding/SKILL.md 281 281 │ └── *.md # Agent prompt files 282 - ├── .agents/skills/ # Symlinks (generated by make skills) 282 + ├── journal/.agents/skills/ # Symlinks (generated by make skills) 283 283 └── AGENTS.md # Sol identity + skill table 284 284 ``` 285 285 ··· 320 320 321 321 ## Skill System 322 322 323 - Skills are documented in `SKILL.md` files and symlinked into `.agents/skills/` by `make skills`. 323 + Skills are documented in `SKILL.md` files and symlinked into `journal/.agents/skills/` by `make skills`. 324 324 325 325 **Skill locations:** 326 326 - App skills: `apps/<name>/talent/<name>/SKILL.md`
+1 -1
docs/environment.md
··· 24 24 - Update README files for new functionality 25 25 - Code comments explain "why" not "what" 26 26 - Function signatures should include type hints; highlight gaps when touching older modules 27 - - **All docs in `docs/`**: Browse for JOURNAL.md, APPS.md, CORTEX.md, CALLOSUM.md, THINK.md, and more 27 + - **All docs in `docs/` plus journal references in `talent/journal/`**: Browse `talent/journal/SKILL.md`, APPS.md, CORTEX.md, CALLOSUM.md, THINK.md, and more 28 28 - Each package has a README.md symlink pointing to its documentation in `docs/`. 29 29 - **App/UI work**: [docs/APPS.md](docs/APPS.md) is required reading before modifying `apps/` 30 30
+2 -2
docs/project-structure.md
··· 34 34 35 35 ## Agent & Skill Organization 36 36 37 - `talent/*.md` stores agent personas and generator templates. Apps can add their own in `apps/*/talent/*.md`. Skills live at `talent/*/SKILL.md` and are symlinked to `.agents/skills/` and `.claude/skills/` via `make skills`. 37 + `talent/*.md` stores agent personas and generator templates. Apps can add their own in `apps/*/talent/*.md`. Skills live at `talent/*/SKILL.md` and are symlinked into `journal/.agents/skills/` and `journal/.claude/skills/` via `make skills`. 38 38 39 39 ## File Locations 40 40 ··· 43 43 - **Live Logs**: `journal/health/<service>.log` 44 44 - **Agent Personas**: `talent/*.md` (apps can add their own in `talent/`, see [docs/APPS.md](docs/APPS.md)) 45 45 - **Generator Templates**: `talent/*.md` (apps can add their own in `talent/`, see [docs/APPS.md](docs/APPS.md)) 46 - - **Agent Skills**: `talent/*/SKILL.md` - symlinked to `.agents/skills/` and `.claude/skills/` via `make skills`, read https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices to create the best skills 46 + - **Agent Skills**: `talent/*/SKILL.md` - symlinked into `journal/.agents/skills/` and `journal/.claude/skills/` via `make skills`, read https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices to create the best skills 47 47 - **Scratch Space**: `scratch/` - git-ignored local workspace
+1 -1
think/formatters.py
··· 122 122 # enough to use as Path.glob() arguments from the journal root. The indexed 123 123 # flag controls whether find_formattable_files() collects matching files for 124 124 # the search index. Adding a new journal content location requires a new 125 - # entry here — see docs/JOURNAL.md "Search Index" for details. 125 + # entry here — see talent/journal/references/storage.md "Search Index" for details. 126 126 # 127 127 # Order matters: first match wins, so place specific patterns before general ones. 128 128 FORMATTERS: dict[str, tuple[str, str, bool]] = {