v0.1.2Fewer false alarms when agents save notes

Your agents' memory,
kept true.

Everything your coding agents learn, checked against the commit, file or issue it came from.

curl -fsSL https://wong.bytay.dev/install.sh | sh
Join the cloud waitlist

Free and open source, on your own server. wong cloud is coming at $6 a month.

The wong dashboard's graph: notes of three projects as coloured dots linked to each other and to their tags, two of them ringed in red as stale and one in amber for review.
Demo data

Agent memory rots.

  • It is split by folder.

    Claude Code keeps memory per path. A product spread over five repos gets five memories that never see each other, and your laptop has none of them.

  • It copies state.

    "Not deployed yet." "ENG-15 is in progress." A month later the issue is closed, the code has moved, and the note still says otherwise.

  • Nobody checks it.

    Agents read old notes as fact and act on them. The wrong ones get more confident with every session.

A note that knows where it came from.

wong keeps one brain for Claude Code, Codex and Cursor on your own server. Each note declares its sources. When one of them moves, wong notices, tells the next session, and the agent that works on that project brings the note back in line. wong never calls a model. Your agents do the fixing, in their own sessions.

billing-invoicesVerifiedStale

How Acme renders invoices

Sources
file:acme-api/app/billing/pdf.pycommit:acme-api@c5fadf0linear:ENG-15
Verified
2026-10-022026-10-28 · laptop

Invoices come out of app/billing/pdf.py, with the logo from the tenant settings.

Invoices come from Stripe since c5fadf0; the old renderer lived in app/billing/pdf.py.

Demo data

What your agent sees.

The Claude Code plugin speaks at the three moments that matter, in plain words the agent acts on.

wong: this session's memory is the brain's project "acme". Global preferences from the brain:- use-uv: Use uv for Python, never pip- tests-before-push: Run the tests before every push wong: notes of this project leave work for a deploy that has happened.Tell the user about it before you start on their request:- run-backfill-after-release: acme-api released v1.2.0 on 2026-10-20 wong check: 1 finding says notes of this project's memory contradict their sources:- billing-invoices: app/billing/pdf.py deleted in c5fadf0 on 2026-10-05

Before the agent reads your request, it knows what changed.

Edit app/billing/webhooks.py wong: notes of the brain's project "acme" cite app/billing/webhooks.py or its folder.Read the ones that bear on what you are about to do:- billing-webhooks: Stripe webhooks are handled in app/billing/webhooks.py- move-billing-to-stripe: Decided 2026-09-02 to move billing to Stripe; tracked in ENG-15

Opening a file brings up the notes that cite it, once per session.

Write ~/.wong/projects/acme/stripe-retries.md wong: projects/acme/stripe-retries.md is saved, but needs this so wong can check it.- set `scope: project:acme`- add a few `tags`, reusing those in use: billing, deploy, oncall, database, api- billing-webhooks seems to cover the same subject: if it does, add what is new to it- declare what it cites in `sources`: linear:ENG-15, file:acme-api/app/billing/webhooks.py

A note saved the quick way gets what wong needs to check it, in one edit.

Everything around the note.

A dashboard to read, fix and undo.

Every note as a page, with what is wrong in it. Click a paragraph to fix it. Every change is signed by the machine that made it, and one click takes it back.

A note in the wong dashboard marked Stale, with a red callout explaining that acme-api released v1.2.0 and the work the note leaves for that release is due.

Checked against everything it cites.

  • A file it cites was deletedStale
  • An issue it calls open was closedStale
  • A deploy it waited for went outStale
  • A note it links to does not existStale
  • A commit it cites is on no remoteReview
  • An issue closed after it was writtenReview

Reminders when you ship.

A note can say it leaves work for the next release. When the tag lands, whoever pushed it, the next session says so first.

pending: release

One brain, every repo and machine.

~/.wong
├── me/            everywhere
└── projects/
    ├── acme/      acme-api, acme-web
    └── pager/

MCP for every other agent.

Codex, Cursor and anything that speaks MCP read and write the same brain, under the same rules.

  • get_context
  • search_notes
  • read_note
  • write_note
  • edit_note
  • verify_note
  • move_note
  • delete_note

Obsidian, both ways.

The brain opens as a vault. Export it to one, or bring a vault's notes in, links and tags intact.

wong obsidian export ~/vaults/brain
wong obsidian import ~/notes --to acme

No model calls, no surprise bill.

wong finds what went stale and leaves the task to your agents. Nothing on the server talks to a model, which is why the cloud can cost $6 a month.

Your server, or ours.

The same wong either way. Move between them whenever you like: the brain is markdown.

Self-hosted

Free

One Go binary or a Docker image, your data in SQLite and markdown, on your server. Everything wong does, under AGPL-3.0.

docker run -d --name wong -p 8787:8787 -v wong:/data ghcr.io/17tayyy/wong
Read the install guide

wong cloud Coming soon

$6/month

wong without a server: sign in, run one command on each machine, done. $60 a year, with a 14-day trial and no card.

You're on the list. We'll write once, when wong cloud opens.

See pricing

Open source.
Your brain stays yours.

AGPL-3.0
Read every line that touches your memory, and run it yourself.
Plain markdown
Notes are files with a small header. Export them anytime, open them in any editor.
No Claude login
wong never asks for or stores your Claude credentials.
Every change undoable
Each version of each note is kept, signed with the machine that wrote it.

Give your agents a memory
they can trust.

curl -fsSL https://wong.bytay.dev/install.sh | sh
Join the cloud waitlist
Read the source on GitHub