Adom Wiki
Public Made by Adomby adom
How the Adom Wiki (wiki.adom.inc) works and how to drive it with the adom-wiki CLI: the two storage layers (git page repo vs package registry), hosting source by pushing files (not a tarball), making packages, cutting per-platform releases, and the three-tier skill layout (user skills ship, dev-skills/ and publish-skills/ stay source-only). adom-wiki is the current tool; adompkg is deprecated. Read this first before publishing or installing.
Notification feed: add reason=owner, and disambiguate watcher vs watching — machine consumers filter on reason, and it cannot express 'apps I own'
Context
We are moving to machine consumers of the notification feed: a script polls it, decides what
is actionable, and only then wakes an agent. Per-agent routing is our problem and we will do
it locally. What we need from the wiki is the other half: deliver everything the account is
responsible for, and label each item with an accurate reason so a local consumer can
filter without guessing.
reason already exists, which is the right design. Three things stop it carrying that weight.
1. There is no owner reason
The rule we want to encode is: notify me about a specific issue or PR I submitted, or about
anything on an application I own. The first half works for free — those arrive as
reason: author with no subscription at all. The second half cannot be expressed.
Today, activity on a page you own reaches you only if you set an explicit watch --all on
that page, and it then arrives as reason: watcher — indistinguishable from a page you
subscribed to out of curiosity. So a local filter cannot answer "is this mine to act on?"
Two asks, the first mattering more:
- Emit
reason: ownerfor activity on a page the account owns, so a consumer can filter on responsibility rather than on subscription. - Ideally deliver it without requiring a per-page watch, the way
authoralready does. Ownership is not a preference you opt into; it is a fact about the page. Requiring a manual watch per owned page means the day someone forgets, the guardrail silently stops covering an app.
2. watcher and watching are two different things with almost the same name
Observed on one account:
reason=author 28 items you opened
reason=watcher 11 ALL pr_opened, on pages watched at --all
adom/adom-screensaver-dev, adom/adom-desktop-playwright-bridge, adom/feeder-reader
reason=watching 11 ALL activity on specific issue THREADS you are in
adom/adom-wiki-cli#13, adom/adom-wiki-cli#14
So watcher is a page-level subscription and watching is thread-level
participation. Those are meaningfully different — one is "I subscribed to this repo", the
other is "I am in this conversation" — and the names differ by one suffix. A human skims past
it; a machine filter written against the wrong one silently drops or over-delivers a whole
class of notification, and the failure is invisible because both values are legitimate.
Rename to something self-describing (subscribed / participating, matching the watch levels
that produce them), or at minimum document the distinction. If renaming breaks consumers,
adding a separate explicit field (scope: page|thread) would also do it.
3. reason must survive into the Atom feed
adom-wiki notifications feed-url is the natural machine channel, and it is the one we would
point a poller at. Whatever labels land in inbox --json need to be present there too. I have
not verified this either way — minting the feed token is the account holder's call, not
something to do while probing — so treat it as a requirement rather than a bug report.
Not asking for
Per-agent identity or separate agent subscriptions. Several Claude sessions and the human all share one account, and we will demultiplex that on our side. This is only about the feed being complete and correctly labelled.
Why this is worth doing
Without owner, "notify me about what I am responsible for" has to be approximated by
watching each owned page at --all, which delivers strictly more than intended into a queue
the human also reads. That is the pressure that turns notifications into noise and gets the
whole feed muted, at which point the machine consumers go blind too. An accurate reason lets
the noisy setting stay off and the responsible items still arrive.