Skip to content

Commit 459869d

Browse files
committed
Release 0.8.1: README rework and llm.txt
Restructure the README so Quick Start comes before the feature list, add the "How Memory Enters The Graph" lifecycle and the app-session flow that needs no API key, and simplify the install commands. Add llm.txt as an llms.txt-style entry point for AI assistants.
1 parent 3e40b2a commit 459869d

4 files changed

Lines changed: 96 additions & 83 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 0.8.1
4+
5+
- Reworked the README: moved "What It Does" and "How Memory Enters The Graph"
6+
after Quick Start, documented the app-session (no API key) candidates flow,
7+
and simplified the install commands.
8+
- Added `llm.txt`, an llms.txt-style summary of the project principles and
9+
entry points for AI assistants.
10+
311
## 0.8.0
412

513
- Accepted the v0.8.0 storage direction: JSON-LD becomes canonical, JSONL

README.md

Lines changed: 63 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -34,42 +34,6 @@ Stop dumping context. Build memory. `knowledge-worker` turns chats, notes, decis
3434

3535
`knowledge-worker` keeps the useful parts: cited claims, explicit relationships, human review, and a small context snapshot when you need continuity.
3636

37-
## How It Compares
38-
39-
`knowledge-worker` is personal AI memory with source-backed claims, not a team
40-
chat-to-wiki system. It keeps reasoning local, reviewable, and tied to literal
41-
provenance excerpts before claims become durable graph knowledge.
42-
43-
See [Competitive Analysis](docs/COMPETITIVE_ANALYSIS.md) for the category
44-
matrix and [Benchmarks](docs/BENCHMARKS.md) for the offline demo-graph checks.
45-
46-
## What It Does
47-
48-
- Ingests markdown notes into candidate graph nodes and edges.
49-
- Generates pre-ingest deep-dive workspaces for sources that need synthesis
50-
before graph promotion.
51-
- Requires provenance excerpts before claims become durable memory.
52-
- Lets you review, accept, reject, or edit LLM proposals before merge.
53-
- Searches by term, lists nodes by type, and finds paths between ideas.
54-
- Exports an LLM-ready context snapshot for a fresh chat session.
55-
- Audits memory shape with PageRank, betweenness, k-core, communities, weak
56-
claims, and provenance coverage.
57-
- Generates an offline HTML graph viewer for exploration and demos.
58-
59-
## Design Principles
60-
61-
**Provenance first.** Every durable claim points back to a source document and literal excerpt.
62-
63-
**Local first.** The graph is a file on your machine. No cloud sync, accounts, or telemetry.
64-
65-
**Review before merge.** The LLM proposes. You decide. Deterministic validation runs before anything enters the graph.
66-
67-
**Boring persistence.** Compact JSON-LD until it becomes the limiting factor. The schema stays stable across storage backends.
68-
69-
**Open-web storage.** Local JSON-LD is the source of truth; JSONL records
70-
capture history, and Turtle/RDF exports let the graph participate in linked-data
71-
workflows without moving private memory into a hosted system.
72-
7337
## Quick Start
7438

7539
Requirements: Python 3.10+ on macOS, Linux, or Windows.
@@ -80,12 +44,12 @@ The core CLI has no runtime dependencies beyond the standard library. Optional
8044
extras pull in LLM backends and RDF export only when you need them:
8145

8246
```bash
83-
python -m pip install knowledge-worker # core CLI, stdlib only (mykg / mygraph)
84-
python -m pip install "knowledge-worker[rdf]" # + Turtle/RDF export (rdflib)
85-
python -m pip install "knowledge-worker[anthropic]" # + Claude-backed ingest
86-
python -m pip install "knowledge-worker[openai]" # + OpenAI-backed ingest
87-
python -m pip install "knowledge-worker[ollama]" # + local Ollama ingest
88-
python -m pip install "knowledge-worker[all]" # all ingest backends + RDF exports
47+
pip install knowledge-worker # core CLI, stdlib only (mykg / mygraph)
48+
pip install "knowledge-worker[rdf]" # + Turtle/RDF export (rdflib)
49+
pip install "knowledge-worker[anthropic]" # + Claude-backed ingest
50+
pip install "knowledge-worker[openai]" # + OpenAI-backed ingest
51+
pip install "knowledge-worker[ollama]" # + local Ollama ingest
52+
pip install "knowledge-worker[all]" # all ingest backends + RDF exports
8953
```
9054

9155
Verify the install (no clone needed — `seed` generates its own demo graph):
@@ -102,32 +66,72 @@ install errors:
10266
```bash
10367
python3 -m venv .venv
10468
source .venv/bin/activate
105-
python -m pip install knowledge-worker
69+
pip install knowledge-worker
70+
export MYGRAPH_PATH=/tmp/knowledge-worker-demo.jsonld
71+
mykg summary
10672
```
10773

108-
### Run from a clone (no install)
74+
## What It Does
75+
76+
- Ingests markdown notes (generated from AI skill) into candidate graph nodes and edges.
77+
- Generates pre-ingest deep-dive workspaces for sources that need synthesis
78+
before graph promotion.
79+
- Requires provenance excerpts before claims become durable memory.
80+
- Lets you review, accept, reject, or edit LLM proposals before merge.
81+
- Searches by term, lists nodes by type, and finds paths between ideas.
82+
- Exports an LLM-ready context snapshot for a fresh chat session.
83+
- Audits memory shape with PageRank, betweenness, k-core, communities, weak
84+
claims, and provenance coverage.
85+
- Generates an offline HTML graph viewer for exploration and demos.
86+
87+
### How Memory Enters The Graph
10988

110-
The core demo CLI uses only the standard library, so you can run it straight
111-
from a checkout without installing anything:
89+
Graph memory is promoted through a review lifecycle:
11290

113-
```bash
114-
git clone https://github.com/rahulmranga/knowledge-worker
115-
cd knowledge-worker
91+
```text
92+
source note
93+
-> candidates.json
94+
-> validate
95+
-> review
96+
-> merge accepted items into MYGRAPH_PATH
97+
```
11698

117-
# Run the public demo graph, no API key needed
118-
MYGRAPH_PATH=examples/demo_graph.jsonld python3 mygraph/mygraph.py summary
119-
MYGRAPH_PATH=examples/demo_graph.jsonld python3 mygraph/mygraph.py query "provenance"
99+
Candidates are proposals, not memory. Validation checks schema, IDs,
100+
provenance excerpts, and edge endpoints. Review is the promotion gate. The
101+
active graph changes only after accepted candidates are merged.
120102

121-
# Generate an LLM-ready context snapshot
122-
MYGRAPH_PATH=examples/demo_graph.jsonld python3 mygraph/mygraph.py context
103+
The product contract is:
123104

124-
# Audit memory structure and proof coverage
125-
MYGRAPH_PATH=examples/demo_graph.jsonld python3 mygraph/mygraph.py audit --out /tmp/analytics.json --html /tmp/memory_audit.html
105+
> The model proposes. Artifacts expose reasoning. Provenance verifies. Human review promotes.
126106
127-
# Visualize the graph as a self-contained HTML file
128-
python3 mygraph/mygraph.py viz --graph examples/demo_graph.jsonld --out /tmp/demo.html
107+
### Claude or Codex App, No API Key
108+
109+
If you are already working with Claude, Codex, or ChatGPT in an app session, you do **not** need an API key. Ask the assistant to produce a `*.candidates.json` file that follows the schema in `mygraph/extractor.py`, then let the local CLI validate, review, and merge it. In Claude Code, the bundled [`/ingest-notes`](.claude/skills/ingest-notes/SKILL.md) skill runs this flow for you:
110+
111+
```bash
112+
python3 -m venv .venv
113+
source .venv/bin/activate
114+
python -m pip install -e .
115+
116+
mykg ingest path/to/your/notes.md --candidates-file path/to/your/notes.candidates.json
129117
```
130118

119+
The app subscription helps you create the candidates file. The user (default) or AI gets to decide what needs to go in to the memory.
120+
121+
## Design Principles
122+
123+
**Provenance first.** Every durable claim points back to a source document and literal excerpt.
124+
125+
**Local first.** The graph is a file on your machine. No cloud sync, accounts, or telemetry.
126+
127+
**Review before merge.** The LLM proposes. You decide. Deterministic validation runs before anything enters the graph.
128+
129+
**Boring persistence.** Compact JSON-LD until it becomes the limiting factor. The schema stays stable across storage backends.
130+
131+
**Open-web storage.** Local JSON-LD is the source of truth; JSONL records
132+
capture history, and Turtle/RDF exports let the graph participate in linked-data
133+
workflows without moving private memory into a hosted system. Additionally, JSON-LD, which has clear semantic markup gives AI engines like Google Gemini or Microsoft Copilot higher attribution confidence when extracting facts
134+
131135
For the shorter `mykg` command from a clone, install it editable inside a
132136
virtual environment:
133137

@@ -167,7 +171,6 @@ session and activate again:
167171
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
168172
```
169173

170-
171174
## Commands
172175

173176
| Command | What it does |
@@ -292,7 +295,7 @@ MYGRAPH_PATH=~/my-private-graph/mygraph.jsonld mykg query "architecture"
292295
MYGRAPH_PATH=~/my-private-graph/mygraph.jsonld mykg context
293296
```
294297

295-
Your private `mygraph.jsonld`, legacy `mygraph.json`, generated private
298+
Your private `mygraph.jsonld` and/or legacy `mygraph.json`, generated private
296299
viewers, TTL/JSON-LD exports, eval logs, state logs, and local env files are
297300
ignored by default.
298301

@@ -358,28 +361,6 @@ Discover never mutates the graph. Derived edges land in a candidates file — a
358361
promotion queue for human review. AI proposes, provenance verifies, the owner
359362
promotes. Committed sample output: [`examples/demo_discovery.json`](examples/demo_discovery.json).
360363

361-
## Local LLM Support
362-
363-
The `ollama_proxy/` package adds three local-model surfaces:
364-
365-
- `server.py`: MCP wrapper for Claude/Cowork-style tool use.
366-
- `proxy.py`: Ollama-compatible logging passthrough for HTTP clients.
367-
- `extractor_adapter.py`: drop-in extraction backend for `mykg ingest --backend ollama`.
368-
369-
See [ollama_proxy/README.md](ollama_proxy/README.md) for setup.
370-
371-
372-
## Repository Layout
373-
374-
```text
375-
mygraph/ Core CLI and pipeline modules
376-
examples/ Fictional demo graph, RDF exports, and HTML viewer
377-
docs/ Roadmap and public assets
378-
ollama_proxy/ Adapter, MCP server, and proxy for local Ollama workflows
379-
tests/ CLI smoke tests
380-
SPEC.md Graph model specification
381-
DESIGN.md Pipeline design notes
382-
```
383364

384365
## Contributing
385366

llm.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Knowledge Worker
2+
3+
> local-first knowledge graph for durable AI-assistant memory · https://github.com/rahulmranga/knowledge-worker .
4+
5+
6+
## Principles
7+
- **Provenance first.** Every durable claim points back to a source document and literal excerpt.
8+
9+
- **Local first.** The graph is a file on users machine. No cloud sync, accounts, or telemetry.
10+
11+
- **Review before merge.** The LLM proposes. The user decides. Deterministic validation runs before anything enters the graph.
12+
13+
- **Boring persistence.** Compact JSON-LD until it becomes the limiting factor. The schema stays stable across storage backends.
14+
15+
- **Open-web storage.** Local JSON-LD is the source of truth; JSONL records
16+
capture history, and Turtle/RDF exports let the graph participate in linked-data
17+
workflows without moving private memory into a hosted system.
18+
19+
## Maintained by:
20+
- Rahul Rangarao · [GitHub](https://github.com/rahulmranga) . [Website](www.rahulrangarao.dev)
21+
22+
## File format supported:
23+
- [JSON](https://www.json.org/)
24+
- [JSON-LD](https://json-ld.org/)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "knowledge-worker"
7-
version = "0.8.0"
7+
version = "0.8.1"
88
description = "Provenance-backed personal knowledge graph for local AI workflows"
99
readme = "README.md"
1010
license = "MIT"

0 commit comments

Comments
 (0)