syntheca 0.2.0a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- syntheca-0.2.0a0/LICENSE +21 -0
- syntheca-0.2.0a0/PKG-INFO +475 -0
- syntheca-0.2.0a0/README.md +444 -0
- syntheca-0.2.0a0/pyproject.toml +72 -0
- syntheca-0.2.0a0/setup.cfg +4 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/PKG-INFO +475 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/SOURCES.txt +45 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/dependency_links.txt +1 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/entry_points.txt +2 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/requires.txt +7 -0
- syntheca-0.2.0a0/src/syntheca.egg-info/top_level.txt +1 -0
- syntheca-0.2.0a0/src/syntheca_cli/__init__.py +3 -0
- syntheca-0.2.0a0/src/syntheca_cli/__main__.py +5 -0
- syntheca-0.2.0a0/src/syntheca_cli/console.py +22 -0
- syntheca-0.2.0a0/src/syntheca_cli/constants.py +27 -0
- syntheca-0.2.0a0/src/syntheca_cli/doctor.py +87 -0
- syntheca-0.2.0a0/src/syntheca_cli/init_prompt.py +101 -0
- syntheca-0.2.0a0/src/syntheca_cli/inspect.py +75 -0
- syntheca-0.2.0a0/src/syntheca_cli/lint.py +271 -0
- syntheca-0.2.0a0/src/syntheca_cli/lint_fix.py +132 -0
- syntheca-0.2.0a0/src/syntheca_cli/main.py +248 -0
- syntheca-0.2.0a0/src/syntheca_cli/metadata.py +101 -0
- syntheca-0.2.0a0/src/syntheca_cli/migrate.py +55 -0
- syntheca-0.2.0a0/src/syntheca_cli/migration_analysis.py +140 -0
- syntheca-0.2.0a0/src/syntheca_cli/migration_manifest.py +87 -0
- syntheca-0.2.0a0/src/syntheca_cli/migration_models.py +90 -0
- syntheca-0.2.0a0/src/syntheca_cli/migration_report.py +49 -0
- syntheca-0.2.0a0/src/syntheca_cli/py.typed +0 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/AGENTS.md.j2 +50 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/CLAUDE.md.j2 +10 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/README.md.j2 +67 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_opencode/AGENTS.md.j2 +7 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/schema/README.md +6 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/skills/crystallize/SKILL.md +23 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/skills/ingest/SKILL.md +47 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/skills/lint/SKILL.md +23 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/skills/migrate/SKILL.md +29 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/skills/query/SKILL.md +28 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/_syntheca/templates/README.md +5 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/wiki/index.md.j2 +26 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold/default/wiki/log.md.j2 +9 -0
- syntheca-0.2.0a0/src/syntheca_cli/scaffold.py +228 -0
- syntheca-0.2.0a0/tests/test_init_doctor.py +352 -0
- syntheca-0.2.0a0/tests/test_inspect.py +60 -0
- syntheca-0.2.0a0/tests/test_lint.py +267 -0
- syntheca-0.2.0a0/tests/test_lint_fix.py +110 -0
- syntheca-0.2.0a0/tests/test_migrate.py +159 -0
syntheca-0.2.0a0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Syntheca Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: syntheca
|
|
3
|
+
Version: 0.2.0a0
|
|
4
|
+
Summary: CLI for scaffolding LLM-ready Syntheca wiki workspaces
|
|
5
|
+
Author: Syntheca Contributors
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/swj9707/syntheca
|
|
8
|
+
Project-URL: Repository, https://github.com/swj9707/syntheca
|
|
9
|
+
Project-URL: Issues, https://github.com/swj9707/syntheca/issues
|
|
10
|
+
Project-URL: Documentation, https://github.com/swj9707/syntheca/tree/main/docs
|
|
11
|
+
Project-URL: Changelog, https://github.com/swj9707/syntheca/blob/main/CHANGELOG.md
|
|
12
|
+
Keywords: llm,wiki,markdown,agents,knowledge-base
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Documentation
|
|
20
|
+
Classifier: Topic :: Utilities
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: PyYAML>=6.0
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: basedpyright>=1.31.0; extra == "dev"
|
|
27
|
+
Requires-Dist: coverage[toml]>=7.0; extra == "dev"
|
|
28
|
+
Requires-Dist: twine>=6.0; extra == "dev"
|
|
29
|
+
Requires-Dist: typing-extensions>=4.12; extra == "dev"
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# Syntheca
|
|
33
|
+
|
|
34
|
+
[](https://github.com/swj9707/syntheca/actions/workflows/ci.yml)
|
|
35
|
+
|
|
36
|
+
[English](README.md) | [한국어](README.ko.md)
|
|
37
|
+
|
|
38
|
+
**Schema-first framework for agent-maintained wikis**
|
|
39
|
+
|
|
40
|
+
> This guide adapts ideas from Andrej Karpathy's "LLM Wiki" pattern and the
|
|
41
|
+
> "LLM Wiki v2" / agentmemory production lessons. See
|
|
42
|
+
> [`REFERENCES.md`](REFERENCES.md) and [`WIKI-ATTRIBUTION.md`](WIKI-ATTRIBUTION.md)
|
|
43
|
+
> for full provenance.
|
|
44
|
+
|
|
45
|
+
Syntheca is a schema specification and starter framework for using LLM agents as disciplined wiki maintainers. It documents how agents can incrementally build and maintain a structured wiki that compounds over time.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## What is Syntheca?
|
|
50
|
+
|
|
51
|
+
Syntheca is a **framework** with early alpha CLI tooling. It provides:
|
|
52
|
+
|
|
53
|
+
- **Schema**: Canonical templates, page types, and frontmatter specifications
|
|
54
|
+
- **Workflows**: Step-by-step procedures for ingest, query, lint, crystallization, and migration
|
|
55
|
+
- **Runtime adapter notes**: Instructions for applying the schema with Claude Code, Codex, OpenCode, and MCP-compatible agents
|
|
56
|
+
- **Starter examples**: Sample wiki demonstrating the pattern
|
|
57
|
+
- **Migration workflow**: Agent-guided preservation rules plus alpha dry-run reporting for existing knowledge bases
|
|
58
|
+
- **Alpha CLI**: `syntheca init`, `syntheca doctor`, `syntheca inspect`, `syntheca lint`, `syntheca lint --fix`, and `syntheca migrate --mode dry-run` for scaffolded workspace experiments
|
|
59
|
+
|
|
60
|
+
**What Syntheca is NOT**:
|
|
61
|
+
- ❌ A GUI application
|
|
62
|
+
- ❌ A vector database or search engine
|
|
63
|
+
- ❌ A replacement for Obsidian, Notion, or other note-taking apps
|
|
64
|
+
- ❌ A RAG system
|
|
65
|
+
|
|
66
|
+
**What Syntheca IS**:
|
|
67
|
+
- ✅ A schema and workflow specification
|
|
68
|
+
- ✅ A set of templates and conventions
|
|
69
|
+
- ✅ Documentation for agents to follow
|
|
70
|
+
- ✅ An agent-guided migration specification and deterministic dry-run report for unstructured knowledge bases
|
|
71
|
+
- ✅ An alpha CLI slice for workspace scaffolding, structural validation, deterministic inspection, deterministic lint, narrow mechanical lint fixes, and migration dry-run
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## Responsibility Boundary
|
|
75
|
+
|
|
76
|
+
Syntheca deliberately splits deterministic tooling from semantic wiki work.
|
|
77
|
+
|
|
78
|
+
| Layer | Owns | Does Not Own |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| CLI | Workspace scaffold, structural validation, deterministic inspection, deterministic lint, narrow mechanical lint fixes, migration dry-run reports. | Source interpretation, page synthesis, contradiction resolution, broken-link intent, stale-claim judgment. |
|
|
81
|
+
| Agent | Ingest, query, crystallization, synthesis, link/index/log maintenance following `schema/`. | Destructive migration, unreviewed raw source changes, final authority on ambiguous claims. |
|
|
82
|
+
| Human | Review, approval, curation, destructive operation decisions, release decisions. | Repeating mechanical checks that the CLI can perform. |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Core Concept: Compilation Over Retrieval
|
|
87
|
+
|
|
88
|
+
**Retrieval-first workflow**: Index sources → Retrieve relevant passages at query time → Generate an answer
|
|
89
|
+
|
|
90
|
+
**Persistent wiki workflow**: Ingest source → Extract and compile into structured pages → Query maintained wiki → Crystallize valuable answers back into wiki → Knowledge can compound
|
|
91
|
+
|
|
92
|
+
The wiki is a **persistent, compounding artifact**. The documented workflows guide agents through cross-reference maintenance, contradiction review, and synthesis updates while humans retain responsibility for curation and quality review.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Quick Start
|
|
97
|
+
|
|
98
|
+
### Option A: Scaffold a workspace with the alpha CLI
|
|
99
|
+
|
|
100
|
+
From a checkout of this repository:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
python -m pip install -e .
|
|
104
|
+
syntheca init my-wiki
|
|
105
|
+
syntheca doctor my-wiki
|
|
106
|
+
syntheca inspect my-wiki
|
|
107
|
+
syntheca lint my-wiki
|
|
108
|
+
syntheca lint my-wiki --fix
|
|
109
|
+
syntheca migrate --source ./my-vault --mode dry-run \
|
|
110
|
+
--output-report ./migration-report.md \
|
|
111
|
+
--output-manifest ./migration-manifest.json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Run the test suite with coverage:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
python -m pip install -e '.[dev]'
|
|
118
|
+
python -m coverage run -m unittest
|
|
119
|
+
python -m coverage report
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
This creates an LLM-ready workspace with `README.md`, `AGENTS.md`, optional
|
|
123
|
+
runtime entrypoints, `raw/`, `wiki/`, `.syntheca/skills/`, and
|
|
124
|
+
`.syntheca/syntheca.yaml`.
|
|
125
|
+
|
|
126
|
+
Project status: Alpha CLI available (`init`, `doctor`, `inspect`, `lint`,
|
|
127
|
+
`lint --fix`, `migrate --mode dry-run`). `lint --fix` is limited to mechanical
|
|
128
|
+
index/frontmatter fixes that do not require LLM judgment. Output/apply migration
|
|
129
|
+
modes and MCP server work are planned (not implemented in the current alpha CLI).
|
|
130
|
+
|
|
131
|
+
### Option B: Explore the schema-first starter
|
|
132
|
+
|
|
133
|
+
#### 1. Clone the repository
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
git clone https://github.com/swj9707/syntheca.git
|
|
137
|
+
cd syntheca
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Stay at the repository root so your agent can read `schema/` and work with the
|
|
141
|
+
example knowledge base under `starter/`.
|
|
142
|
+
|
|
143
|
+
**Directory structure**:
|
|
144
|
+
```
|
|
145
|
+
starter/
|
|
146
|
+
├── raw/ # Your source material (immutable)
|
|
147
|
+
│ └── sample-source.md
|
|
148
|
+
└── wiki/ # Agent-maintained wiki
|
|
149
|
+
├── sources/ # Processed source pages
|
|
150
|
+
├── entities/ # Named objects (people, projects, products)
|
|
151
|
+
├── concepts/ # Reusable ideas and patterns
|
|
152
|
+
├── syntheses/ # Cross-source analysis
|
|
153
|
+
├── decisions/ # Important choices (ADR pattern)
|
|
154
|
+
├── unclassified/ # Ambiguous or legacy content
|
|
155
|
+
├── index.md # Content catalog
|
|
156
|
+
└── log.md # Chronological operation record
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
#### 2. Load the schema into your agent
|
|
160
|
+
|
|
161
|
+
**Claude Code**:
|
|
162
|
+
```
|
|
163
|
+
Read schema/AGENTS.md and schema/adapters/claude/CLAUDE.md
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Codex**:
|
|
167
|
+
```
|
|
168
|
+
Read schema/AGENTS.md and schema/adapters/codex/AGENTS.md
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**OpenCode**:
|
|
172
|
+
```
|
|
173
|
+
Read schema/AGENTS.md and schema/adapters/opencode/AGENTS.md
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
If you maintain a local OpenCode skill for Syntheca, you can load it before
|
|
177
|
+
reading the schema. The v0.1 repository does not ship a skill package.
|
|
178
|
+
|
|
179
|
+
#### 3. Ingest a source
|
|
180
|
+
|
|
181
|
+
Add your source to `starter/raw/`, then tell the agent:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
Use starter/ as the wiki root.
|
|
185
|
+
Ingest starter/raw/my-article.md into starter/wiki/.
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Ask the agent to follow the documented ingest workflow:
|
|
189
|
+
1. Read the source
|
|
190
|
+
2. Create a source page with summary and key points
|
|
191
|
+
3. Extract entities (people, projects, products) → create entity pages
|
|
192
|
+
4. Extract concepts (ideas, patterns) → create concept pages
|
|
193
|
+
5. Add evidence-grounded cross-links and review whether reciprocal links are appropriate
|
|
194
|
+
6. Update `index.md` and `log.md`
|
|
195
|
+
|
|
196
|
+
#### 4. Query the wiki
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
What does the wiki say about [topic]?
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
The documented query workflow instructs the agent to search the wiki, synthesize an answer with citations, and evaluate whether the answer should be crystallized back into the wiki as a synthesis page.
|
|
203
|
+
|
|
204
|
+
#### 5. Explore the starter
|
|
205
|
+
|
|
206
|
+
Open `starter/wiki/index.md` to see:
|
|
207
|
+
- 2 source pages demonstrating ingest and cross-source synthesis
|
|
208
|
+
- 1 entity page (Syntheca framework)
|
|
209
|
+
- 3 concept pages (persistent wiki, crystallization, and three-layer architecture)
|
|
210
|
+
- 1 synthesis page (retrieval, persistent wiki, and hybrid comparison)
|
|
211
|
+
|
|
212
|
+
All pages are cross-referenced and follow the schema. Run the read-only v0.1 checklist in `docs/guides/starter-lint.md` after changing the starter wiki. See `docs/concepts/framework.md` for the framework overview and `docs/project/release-checklist.md` for the public release gate.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Architecture
|
|
217
|
+
|
|
218
|
+
### Three Layers
|
|
219
|
+
|
|
220
|
+
1. **Raw Sources** (`raw/`): Immutable source material. Agents read from here but never modify.
|
|
221
|
+
|
|
222
|
+
2. **Wiki** (`wiki/`): Agent-maintained structured pages. Agents create, update, and cross-link pages following the schema.
|
|
223
|
+
|
|
224
|
+
3. **Schema** (`schema/`): Instructions defining how the wiki is maintained. Templates, workflows, and runtime adapters.
|
|
225
|
+
|
|
226
|
+
### Page Types
|
|
227
|
+
|
|
228
|
+
| Type | Purpose | Example |
|
|
229
|
+
|------|---------|---------|
|
|
230
|
+
| **Source** | Summarize raw sources, identify extraction candidates | `sources/article-2026-05-30.md` |
|
|
231
|
+
| **Entity** | Named objects: people, projects, products, libraries | `entities/syntheca.md` |
|
|
232
|
+
| **Concept** | Reusable ideas, patterns, methods | `concepts/persistent-wiki.md` |
|
|
233
|
+
| **Synthesis** | Cross-source analysis, comparisons, crystallized insights | `syntheses/wiki-vs-rag.md` |
|
|
234
|
+
| **Decision** | Important choices following ADR pattern | `decisions/use-markdown.md` |
|
|
235
|
+
| **Unclassified** | Ambiguous or legacy content, safe preservation | `unclassified/legacy-note.md` |
|
|
236
|
+
|
|
237
|
+
### Core Workflows
|
|
238
|
+
|
|
239
|
+
**Ingest** (`schema/workflows/ingest.md`): Process raw sources → create/update pages → maintain cross-references
|
|
240
|
+
|
|
241
|
+
**Query** (`schema/workflows/query.md`): Search wiki → synthesize answer → evaluate crystallization
|
|
242
|
+
|
|
243
|
+
**Lint** (`schema/workflows/lint.md`): Health-check for orphans, broken links, contradictions, stale claims
|
|
244
|
+
|
|
245
|
+
**Crystallization** (`schema/workflows/crystallization.md`): File valuable query answers back into the wiki as synthesis/concept/decision pages
|
|
246
|
+
|
|
247
|
+
**Migration** (`schema/workflows/migration.md`): Guide an agent through safe imports with dry-run, classification heuristics, and unknown field preservation
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Migration from Existing Wikis
|
|
252
|
+
|
|
253
|
+
The v0.1 agent-guided migration workflow is designed for:
|
|
254
|
+
- Obsidian vaults
|
|
255
|
+
- Notion exports
|
|
256
|
+
- Legacy markdown wikis
|
|
257
|
+
- Flat collections of notes
|
|
258
|
+
|
|
259
|
+
**Process**:
|
|
260
|
+
1. **Dry-run first**: Generate report without modifying files
|
|
261
|
+
2. **Review classification**: Check page type assignments (source/entity/concept/synthesis/decision/unclassified)
|
|
262
|
+
3. **Apply with explicit approval**: Ask an agent to output to a new directory (safer) or modify files in place (destructive)
|
|
263
|
+
4. **Preserve unknowns**: Custom frontmatter fields are never deleted
|
|
264
|
+
|
|
265
|
+
**Alpha migration dry-run CLI**:
|
|
266
|
+
```bash
|
|
267
|
+
syntheca migrate --source ./my-vault --mode dry-run \
|
|
268
|
+
--output-report ./migration-report.md \
|
|
269
|
+
--output-manifest ./migration-manifest.json
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Output/apply/in-place migration modes are planned (not implemented in the
|
|
273
|
+
current alpha CLI).
|
|
274
|
+
|
|
275
|
+
See `docs/guides/migration.md` for the full guide with examples,
|
|
276
|
+
`docs/guides/cli-reference.md` for command details, and
|
|
277
|
+
`docs/guides/configuration.md` for generated workspace settings.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Runtime Compatibility
|
|
282
|
+
|
|
283
|
+
Syntheca is designed to be **runtime-neutral**. The canonical schema (`schema/AGENTS.md`) and adapter notes describe how to apply the framework across different agent systems; v0.1 does not claim tested, automated support for every runtime.
|
|
284
|
+
|
|
285
|
+
| Runtime | Adapter Focus | Relevant Runtime Capabilities |
|
|
286
|
+
|---------|----------|--------------|
|
|
287
|
+
| **Claude Code** | Conversational schema application | Runtime-specific capabilities vary by setup |
|
|
288
|
+
| **Codex** | Repository-oriented schema application | CLI, IDE, cloud/web, app; optional GitHub and SDK integration |
|
|
289
|
+
| **OpenCode** | Multi-agent schema application | Delegation, background execution, and skills depend on runtime configuration |
|
|
290
|
+
| **MCP Generic** | Optional external integration path | Capabilities depend on the selected MCP servers |
|
|
291
|
+
|
|
292
|
+
See `docs/concepts/capability-matrix.md` for detailed comparison.
|
|
293
|
+
|
|
294
|
+
### Adapter Documents
|
|
295
|
+
|
|
296
|
+
- **Claude Code**: `schema/adapters/claude/CLAUDE.md`
|
|
297
|
+
- **Codex**: `schema/adapters/codex/AGENTS.md`
|
|
298
|
+
- **OpenCode**: `schema/adapters/opencode/AGENTS.md`
|
|
299
|
+
|
|
300
|
+
Each adapter explains how to apply the canonical schema in that runtime without redefining policy.
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Use Cases
|
|
305
|
+
|
|
306
|
+
### Personal Research
|
|
307
|
+
Track papers, articles, and notes over weeks or months. Maintained pages can build a more comprehensive picture as sources accumulate and are reviewed.
|
|
308
|
+
|
|
309
|
+
### Reading Companion
|
|
310
|
+
Use the documented workflow to file chapter summaries, character pages, and theme pages as you read. The wiki can grow into a cross-referenced reading companion with agent assistance and human review.
|
|
311
|
+
|
|
312
|
+
### Team Knowledge Base
|
|
313
|
+
Use meeting transcripts, project documents, and customer notes as curated inputs. The documented workflow guides an agent to maintain project entities, recurring concepts, and reviewed decisions.
|
|
314
|
+
|
|
315
|
+
### Competitive Analysis
|
|
316
|
+
Track competitors, products, and market trends. The documented workflow guides agents to consolidate sources and surface potential contradictions for review.
|
|
317
|
+
|
|
318
|
+
### Course Notes, Trip Planning, Hobby Deep-Dives
|
|
319
|
+
Anything where you accumulate knowledge over time and want it organized, not scattered.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Schema Highlights
|
|
324
|
+
|
|
325
|
+
### Frontmatter Standards
|
|
326
|
+
|
|
327
|
+
Every page has structured metadata:
|
|
328
|
+
|
|
329
|
+
```yaml
|
|
330
|
+
---
|
|
331
|
+
title: "Page Title"
|
|
332
|
+
type: concept
|
|
333
|
+
status: active
|
|
334
|
+
created: "2026-05-30"
|
|
335
|
+
updated: "2026-05-30"
|
|
336
|
+
sources: ["sources/article.md"]
|
|
337
|
+
related: ["concepts/other-concept.md"]
|
|
338
|
+
tags: [tag1, tag2]
|
|
339
|
+
---
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
See `schema/frontmatter.md` for canonical field definitions per page type.
|
|
343
|
+
|
|
344
|
+
### Template Structure
|
|
345
|
+
|
|
346
|
+
All templates follow consistent pattern:
|
|
347
|
+
1. **Frontmatter**: Structured metadata
|
|
348
|
+
2. **Required sections**: Definition, explanation, relationships, sources
|
|
349
|
+
3. **Optional sections**: Examples, counterpoints, open questions, contradictions
|
|
350
|
+
4. **Authoring rules**: Guidelines for agent behavior
|
|
351
|
+
5. **Minimum completion criteria**: Validation checklist
|
|
352
|
+
|
|
353
|
+
### Quality Standards
|
|
354
|
+
|
|
355
|
+
Adopted from [LLM Wiki v2](https://github.com/rohitg00/agentmemory):
|
|
356
|
+
|
|
357
|
+
- **Confidence scoring groundwork**: Synthesis pages may record a manually assigned page-level evidence score
|
|
358
|
+
- **Contradiction handling**: Explicit sections for conflicting claims
|
|
359
|
+
- **Uncertainty preservation**: Limitations and open questions are required
|
|
360
|
+
- **Evidence grounding**: Claims must cite sources
|
|
361
|
+
- **Crystallization threshold**: "Would I want to read this 6 months from now?"
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Roadmap
|
|
366
|
+
|
|
367
|
+
### v0.1 (Current)
|
|
368
|
+
- ✅ Core schema and templates
|
|
369
|
+
- ✅ Five workflows (ingest, query, lint, crystallization, migration)
|
|
370
|
+
- ✅ Runtime adapter notes (Claude Code, Codex, OpenCode)
|
|
371
|
+
- ✅ Starter examples
|
|
372
|
+
- ✅ Agent-guided migration specification with dry-run
|
|
373
|
+
|
|
374
|
+
### v0.2 alpha (In progress)
|
|
375
|
+
- [x] CLI package skeleton
|
|
376
|
+
- [x] `syntheca init` workspace scaffold
|
|
377
|
+
- [x] `syntheca doctor` structural validation
|
|
378
|
+
- [x] `syntheca inspect` deterministic workspace summary
|
|
379
|
+
- [x] `syntheca lint` deterministic wiki checks
|
|
380
|
+
- [x] `syntheca lint --fix` narrow mechanical fixes
|
|
381
|
+
- [x] `syntheca migrate --mode dry-run` report and manifest generation
|
|
382
|
+
- [x] Machine-readable baseline checks for required `type`/`status`, links, raw source paths, and index coverage
|
|
383
|
+
- [ ] Extended frontmatter validation beyond the deterministic baseline
|
|
384
|
+
- [ ] Migration output/apply modes
|
|
385
|
+
- [ ] Initial MCP interface design
|
|
386
|
+
|
|
387
|
+
### v0.3 (Future)
|
|
388
|
+
- [ ] MCP server implementation
|
|
389
|
+
- [ ] Vector and hybrid search integrations
|
|
390
|
+
- [ ] Link graph visualization
|
|
391
|
+
- [ ] Extended stale-page and supersession checks
|
|
392
|
+
- [ ] Claim-level confidence and contradiction review experiments
|
|
393
|
+
- [ ] Multi-wiki federation
|
|
394
|
+
|
|
395
|
+
See `docs/project/roadmap.md` for detailed feature plans.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## Project Status
|
|
400
|
+
|
|
401
|
+
**Current**: Pre-release (v0.1 schema and documentation framework plus v0.2 alpha CLI init/doctor/inspect/lint/lint-fix/migrate dry-run commands)
|
|
402
|
+
|
|
403
|
+
**Not ready for**:
|
|
404
|
+
- Production team wikis without human review
|
|
405
|
+
- Large wikis without separately evaluated search and review infrastructure
|
|
406
|
+
- Automated workflows without supervision
|
|
407
|
+
|
|
408
|
+
**Suitable for exploratory evaluation**:
|
|
409
|
+
- Small personal research wiki experiments
|
|
410
|
+
- Trying the documented workflows with Claude Code, Codex, or OpenCode
|
|
411
|
+
- Creating an experimental workspace with `syntheca init`
|
|
412
|
+
- Agent-guided migration experiments (dry-run workflow)
|
|
413
|
+
- Schema evaluation and feedback
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Contributing
|
|
418
|
+
|
|
419
|
+
See `CONTRIBUTING.md` for guidelines.
|
|
420
|
+
|
|
421
|
+
**High-priority contributions**:
|
|
422
|
+
- Runtime adapter notes and evaluation reports for other agents
|
|
423
|
+
- Production experience reports (what works, what breaks)
|
|
424
|
+
- Planned migration tooling design and implementation
|
|
425
|
+
- Template refinements based on usage
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## Attribution
|
|
430
|
+
|
|
431
|
+
Syntheca is derived from:
|
|
432
|
+
|
|
433
|
+
- **Andrej Karpathy's [LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)**: Original persistent wiki pattern, three-layer architecture, core operations
|
|
434
|
+
- **[agentmemory](https://github.com/rohitg00/agentmemory)** (rohitg00 et al.): Production lessons, confidence scoring, quality standards
|
|
435
|
+
|
|
436
|
+
See `REFERENCES.md` and `WIKI-ATTRIBUTION.md` for detailed attribution.
|
|
437
|
+
|
|
438
|
+
Syntheca's contribution: formalization, cross-runtime compatibility, an agent-guided migration specification, and concrete templates/workflows.
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
## License
|
|
443
|
+
|
|
444
|
+
MIT License. See `LICENSE` for details.
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## Links
|
|
449
|
+
|
|
450
|
+
- **Documentation hub**: [`docs/README.md`](docs/README.md)
|
|
451
|
+
- **한국어 문서**: [`README.ko.md`](README.ko.md) and [`docs/ko/`](docs/ko/)
|
|
452
|
+
- **Schema**: `schema/`
|
|
453
|
+
- **Starter examples**: `starter/`
|
|
454
|
+
- **CLI reference**: `docs/guides/cli-reference.md`
|
|
455
|
+
- **Configuration reference**: `docs/guides/configuration.md`
|
|
456
|
+
- **Migration guide**: `docs/guides/migration.md`
|
|
457
|
+
- **Capability matrix**: `docs/concepts/capability-matrix.md`
|
|
458
|
+
- **References**: `REFERENCES.md`
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
## Questions?
|
|
463
|
+
|
|
464
|
+
- **How is this different from RAG?** See `starter/wiki/syntheses/persistent-wiki-vs-rag.md`
|
|
465
|
+
- **How do I migrate my Obsidian vault?** See `docs/guides/migration.md`
|
|
466
|
+
and `docs/ko/migration.md`
|
|
467
|
+
- **Which runtime should I use?** See `docs/concepts/capability-matrix.md`
|
|
468
|
+
- **What are the page types?** See `schema/page-types.md`
|
|
469
|
+
- **What are the templates?** See `schema/templates/*.md`
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
**Start small, let it compound.**
|
|
474
|
+
|
|
475
|
+
The schema guides agents through bookkeeping tasks while you curate sources and review quality. Over time, the wiki can become a richer, cross-referenced knowledge base.
|