Skip to content
gowtham0992

gowtham0992/link

Local, source-backed memory for LLM agents.

Local personal memory for LLM agents

43 8 since joining 8PythonPush 7h agoListed 10d agoMIT

gowtham0992.github.io/link/

knowledge-basellmlocal-memorymarkdownmemoryobsidianpersonal-wiki
  • Python97.5%
  • Shell2.5%
View on GitHub

Report a problem

1 Review

Link Repository Review

Link is a thoughtful, well-scoped project with a clear premise: agents need durable, inspectable memory that remains local, source-backed, and easy to audit. The product idea, CLI behavior, web UI, MCP integration, and documentation all point in the same direction, which makes the repo feel deliberate rather than experimental.

What Works Well

The README is strong. It explains the problem quickly, gives a clear demo path, and frames Link around practical agent workflows instead of abstract knowledge management. I ran the advertised demo/value loop locally:

  • python link.py demo
  • python link.py query "why does Link help agents?" link-demo --budget small
  • python link.py brief "working on agent memory" link-demo
  • python link.py benchmark "agent memory" link-demo
  • python link.py status --validate link-demo

That flow passed. The generated demo wiki was usable, query returned a compact context packet, brief surfaced relevant memory, benchmark reported an interactive result, and validation passed with zero errors or warnings.

The test suite is also a major strength. It covers capture, backup, ingest, memory, query, validation, web behavior, MCP contracts, release hygiene, and demo snapshots. For a tool centered on trusted local memory, that level of coverage matters.

Constructive Critique

The main issue I found is Windows portability. The full test suite ran 421 tests, with 12 failures. The failures are clustered and fixable rather than broad.

Most failures come from verify-mcp path handling in link.py. User-provided Python commands such as /tmp/python are passed through Path(...).expanduser(), which changes them to Windows-style paths like \tmp\python. That corrupts generated MCP config and repair commands. Command strings should generally be preserved as commands, not normalized as platform filesystem paths.

A second issue is malformed path handling in mcp_package/link_core/web_http.py. safe_resolve() does not explicitly reject embedded NUL characters. On Windows, Path("bad\0path").resolve() can return a path instead of raising, which means malformed paths can pass deeper into static file handling. Adding an explicit NUL check would make this safer and more portable.

There is also a smaller release-hygiene issue: scripts/check_release_hygiene.py computes POSIX-style paths but formats diagnostics with the original Path, producing backslashes on Windows. Using the already-computed POSIX path would make test and CI output stable across platforms.

Overall Assessment

Link is in good shape. The core concept is coherent, the demo works, validation passes, and the project shows real care around local-first behavior, auditability, security, and agent-safe context. I would prioritize tightening cross-platform path handling before expanding features further.

Once those Windows portability issues are addressed, the project should have a much cleaner “works from source” story across environments.

gowtham0992
@gowtham09922d ago

Thanks for the review Jay. Windows portability will be addressed soon. Will keep this thread updated.

gowtham0992
@gowtham09921d ago

Thank you for the careful review. This was very useful. I fixed the Windows portability issues you called out before cutting the next release: - `verify-mcp` now preserves user-provided Python commands instead of normalizing them as filesystem paths. - `safe_resolve()` now rejects embedded NUL characters before path resolution. - Release hygiene diagnostics now use stable POSIX-style paths across platforms. - Added Windows CI coverage for the source workflow and portability tests. The demo/value loop, MCP verification path, and release hygiene checks are now covered in CI across the main supported Python versions, with a dedicated Windows smoke job as well. Also shipped these fixes in Link v1.2.0 along with Homebrew install support, a local `/health` page, `link operations` for interrupted-write inspection, bounded log rotation, and stronger CLI/MCP/HTTP/large-wiki validation. Really appreciate the review. It helped tighten the works from source story before the release.