<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tiny-convmem-mcp.git/docs/development-plan.md, branch v0.1.2</title>
<subtitle>Lightweight local MCP server for searchable LLM conversation storage. 
</subtitle>
<id>https://git.takashi-2521.com/tiny-convmem-mcp.git/atom?h=v0.1.2</id>
<link rel='self' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/atom?h=v0.1.2'/>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/'/>
<updated>2026-07-04T09:44:17+00:00</updated>
<entry>
<title>Harden backup import and restore coverage</title>
<updated>2026-07-04T09:44:17+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-04T09:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/commit/?id=751999a82b8854ef5231e0ded5fe022b1ea5d8ff'/>
<id>urn:sha1:751999a82b8854ef5231e0ded5fe022b1ea5d8ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(restart): skip dangling relations on memory index rebuild; prune on compaction</title>
<updated>2026-07-04T09:09:47+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-04T09:09:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/commit/?id=5ac1c7adb7eeefd68dbed1bf6cfbe77cd348f257'/>
<id>urn:sha1:5ac1c7adb7eeefd68dbed1bf6cfbe77cd348f257</id>
<content type='text'>
- Fix restart exit code 1 caused by missing relation targets after delete+rebuild
- memory_index_build: skip relations whose targets no longer exist
- store_rebuild / write_snapshot: prune dangling relations and sources
- Remove diagnostic fprintf from server.c and context.c
- Enable restart resume test in mcp_protocol_test.py
- Add scripts/benchmark_p1_cp.py and run 10k/50k import/export round-trip
- Mark P1-CP, P7-001, P7-CP complete in development-plan.md
</content>
</entry>
<entry>
<title>feat(P1-002): add offline JSONL import via import_messages MCP tool</title>
<updated>2026-07-04T07:22:35+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-04T07:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/commit/?id=eb5e9d9f37bda7d78f69614da70402357794168a'/>
<id>urn:sha1:eb5e9d9f37bda7d78f69614da70402357794168a</id>
<content type='text'>
- implement `import_messages` MCP tool parsing manifest + PUT/DEL JSONL
- atomic store replacement under lock with overwrite/reject conflict policies
- add `include_deleted` to read_messages export view for full round-trip
- register new tool in MCP registry and update protocol test expectations
- update docs/development-plan.md and docs/implementation-status.md

Debug/Release/ASan 15/15 CTest pass
</content>
</entry>
<entry>
<title>docs: add progress summary and next-task request items to development plan</title>
<updated>2026-07-04T06:30:39+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-04T06:30:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/commit/?id=1a6a2e7f8572415d435c056dc9947d6d08eb1862'/>
<id>urn:sha1:1a6a2e7f8572415d435c056dc9947d6d08eb1862</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add durable structured memory and explainable retrieval</title>
<updated>2026-07-04T06:28:28+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-07-04T06:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/tiny-convmem-mcp.git/commit/?id=03ff5b65a1ccedacdae13e8a916b8f3369807d0e'/>
<id>urn:sha1:03ff5b65a1ccedacdae13e8a916b8f3369807d0e</id>
<content type='text'>
- UPDATE durability: prepare-&gt;append/flush-&gt;no-fail swap, validate before
  disk write, leave memory/revision unchanged on flush failure, partial
  metadata updates via presence mask, relation/source validation shared
  by write/update, revision 1..INT32_MAX with optimistic concurrency.
- Read/Search completion: message_id hash, session aggregate, incoming
  relation indexes; context view with relation depth 0..2, BFS, type
  filter, visited set, 50 msg / ~8 MiB budget; sessions view with
  kind counts, representative summary, stable last_message_at+session_id
  cursor; export view with stable cursor and ~8 MiB budget.
- Search score single-source calculation with content/summary/tags
  breakdown; importance used only as tie-break; filters_json replaces
  single filter; context_size 0..3.
- All 15 tests pass on Debug, independent Release, and ASan builds.
- docs/implementation-status.md and development-plan.md synchronized.
- docs/feedback.md added to .gitignore as user-owned untracked notes.
- Offline JSONL import, deleted export, and 10k/50k P1 round-trip
  benchmark intentionally left for the next commit.
- Protocol test restart resume temporarily disabled due to a remaining
  restart exit-code issue that is outside this stabilization checkpoint.
</content>
</entry>
</feed>
