You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Publish Computer's own activity and change log to a read-only Discord channel that the community can follow, modeled on Ezra's tips channel in the Letta Discord (#💡|ezra-tips, channel 1531360179034132530, guild 1161736243340640419). One verified piece per cadence, with the supporting artifact linked, and a discussion route back to the agent.
The point of the reference is how the channel was introduced: a scheduled editorial workflow that publishes one checked piece at a time, not a firehose of raw agent activity. That is the shape worth copying, and it is also the shape this repo can nearly build today.
The reference, as Ezra describes it
Trigger: a recurring job wakes the agent at 9:00 AM America/Los_Angeles.
Editorial skill: load the posting skill, then read the prior-publication ledger and the project-idea queue.
Choose the piece: rotate among builds, experiments, stories, explainers, field notes, and challenges. Rules reject repeating the previous format or the same core topic within 30 days.
Produce evidence first: check current released docs/source and usually build, test, or trace something concrete; publish the supporting demo or guide to a public repo. If verification fails, abandon that idea rather than speculate.
Publish: exactly one piece, through the routed Discord tool or the bot API.
Record success: only after Discord accepts the post, append date, topic, format, evidence/artifact, source, and Discord message ID to a Git-backed ledger. Metadata, not a verbatim mirror.
Discussion: thread discussion routes back to the agent without a mention; a top-level mention may create a thread.
Ezra also reports the failure this design invites: their schedule and ledger stayed on an offline machine while the Discord connection moved to a new runtime, so the new runtime had no tips schedule and the ledger's last entry was September 18. The cadence and the ledger belong to the deployed runtime, not to a developer machine — that constraint is the main thing to design against here.
Reference artifacts: the public working repo behind the channel is https://github.com/ezra-letta/ezra (demos, experiments, field notes, challenges, public guides — the evidence that each post points at).
What already exists in this repo
Run history. Redacted lifecycle events under the run-history/v1/ Blob namespace, reachable through read_run_record and list_run_history; this is the raw material for a change log. The read surface that renders it internally is proposal: add a factory activity view to the web chat #64.
Redaction.lib/redaction.ts already exists, and run records are stored redacted by design. A public surface must reuse it rather than invent a second policy.
Schedules. eve supports root-authored schedules as single files under agent/schedules/ (defineSchedule({ cron, run })), with a handler form that selects a channel target via to(...) and sends with a pre-built app principal. On Vercel each schedule becomes a Cron Job evaluated in UTC, so a 9:00 AM America/Los_Angeles cadence is 0 16 * * * or 0 17 * * * depending on DST. This repo has no agent/schedules/ yet, and declared subagents cannot own schedules.
Repo visibility.wazootech/computer is public; wazootech/computer-memory (redacted run records and memory) is private. A public log has to be composed from redacted material, never mirror the private store.
Proposed behavior
Channel. One read-only channel in the Wazoo Discord: @everyone denied Send Messages, Computer's bot allowed. Humans participate in threads. The channel is not on any admission allowlist for top-level messages.
Cadence. One in-repo schedule (agent/schedules/activity-log.ts, handler form) at 9:00 AM America/Los_Angeles. The schedule lives in the deployment, so it survives a runtime move.
Selection. An editorial skill that reads the ledger and a candidate queue and rotates format and topic with a repeat guard (no repeat of the previous format, no repeat of a core topic within 30 days).
Evidence first. Every post cites something checkable: a merged PR, a commit, a run record, a reproduced command output, or a published artifact. If nothing verifies, publish nothing that cadence and record the skip with its reason.
One post. At most one message per cadence, written by a single writer, idempotent on a content hash so a retry after a partial failure cannot double-post.
Ledger. Append only after Discord returns a message ID. Recommended home: a Git-backed JSON file in a public repo (metadata only — date, topic, format, evidence link, source, Discord message ID), so the repeat guard is auditable by readers. The exact home is an open question below.
Discussion route. Thread replies whose parent is the activity channel are admitted without a mention — a deliberate, channel-scoped exception to the mention rule in proposal: support ordinary @mentions in the internal Discord channel #66 — and a new top-level mention creates a thread. This is the one admission-matrix change the reference workflow requires.
Failure modes that must stay legible
No schedule, or no ledger, in the running deployment: post nothing, record the skip reason, and surface it in the internal channel. This is the reference's own outage; it should be loud, not silent.
Discord rejects or the post fails: no ledger append, retry on the next cadence, no duplicate.
Evidence fails verification: skip and record the attempt, per the reference rule against speculation.
A candidate that cannot be published without private detail: drop it; never widen redaction to make a post possible.
Open questions
Which repo holds the published artifacts and the ledger: a new public repo of our own, an existing public repo (for example wazootech/wazoo-factory, which is public and already describes an Eve runtime and Discord channel), or a directory in this already-public repo?
Should the log cover factory runs only, or also repository activity (opened issues, merged PRs, reviewer escalations)?
Strictly read-only at top level, or should a top-level human message also open a thread?
Who moderates a busy thread, and does the agent have a stated escalation path to a human?
Summary
Publish Computer's own activity and change log to a read-only Discord channel that the community can follow, modeled on Ezra's tips channel in the Letta Discord (
#💡|ezra-tips, channel1531360179034132530, guild1161736243340640419). One verified piece per cadence, with the supporting artifact linked, and a discussion route back to the agent.The point of the reference is how the channel was introduced: a scheduled editorial workflow that publishes one checked piece at a time, not a firehose of raw agent activity. That is the shape worth copying, and it is also the shape this repo can nearly build today.
The reference, as Ezra describes it
Ezra also reports the failure this design invites: their schedule and ledger stayed on an offline machine while the Discord connection moved to a new runtime, so the new runtime had no tips schedule and the ledger's last entry was September 18. The cadence and the ledger belong to the deployed runtime, not to a developer machine — that constraint is the main thing to design against here.
Reference artifacts: the public working repo behind the channel is https://github.com/ezra-letta/ezra (demos, experiments, field notes, challenges, public guides — the evidence that each post points at).
What already exists in this repo
run-history/v1/Blob namespace, reachable throughread_run_recordandlist_run_history; this is the raw material for a change log. The read surface that renders it internally is proposal: add a factory activity view to the web chat #64.lib/redaction.tsalready exists, and run records are stored redacted by design. A public surface must reuse it rather than invent a second policy.agent/schedules/(defineSchedule({ cron, run })), with a handler form that selects a channel target viato(...)and sends with a pre-built app principal. On Vercel each schedule becomes a Cron Job evaluated in UTC, so a 9:00 AMAmerica/Los_Angelescadence is0 16 * * *or0 17 * * *depending on DST. This repo has noagent/schedules/yet, and declared subagents cannot own schedules.@Computermentions through a Gateway bridge (bridge/discord-gateway/) that forwards signed events to/eve/v1/discord-mentions. Admission there requires an explicit mention in every case, including inside threads, and the public tier is deliberately deferred (Enforce the Discord public tier server-side: per-tool gating, not prompt-level trust #16, proposal: support ordinary @mentions in the internal Discord channel #66) — so today Computer cannot answer anywhere public, and cannot be reached in a thread without being mentioned.wazootech/computeris public;wazootech/computer-memory(redacted run records and memory) is private. A public log has to be composed from redacted material, never mirror the private store.Proposed behavior
@everyonedenied Send Messages, Computer's bot allowed. Humans participate in threads. The channel is not on any admission allowlist for top-level messages.agent/schedules/activity-log.ts, handler form) at 9:00 AMAmerica/Los_Angeles. The schedule lives in the deployment, so it survives a runtime move.Failure modes that must stay legible
Open questions
wazootech/wazoo-factory, which is public and already describes an Eve runtime and Discord channel), or a directory in this already-public repo?Acceptance criteria
wazootech/computer-memoryreaches the channel.Non-goals