Walter automation (lane is) · operating model · updated 7 November 2026

How the Walter lane runs itself paused for the Walter test

A pipeline Chief of Staff agent on the VPS decides which agent runs and when, reviews every run, is the only voice in Slack and owns the approval gate. A clock only wakes the Chief. Nothing publishes without Mphoka's check mark. Click any box to open it.

This pipeline is a standalone system beside the cockpit. It is not routed through the shared coordinator, is not a registered cockpit capability and does not replace the cockpit's technical income.stealth scope. The internal lane identifier remains is. It is built from the Cold Take pattern, with one difference: the Chief of Staff leads, so the agents have no timers of their own. Built 9 and 10 October 2026, switched on 10 October; this page reflects the state of 12 October 2026 (ticker, feedback loop and simple approvals added 11 October) and contains no credentials.

Current state · updated 7 November 2026

The sections below describe the lane as built in October. Where they differ, this block is current.

Brand
Walter Instagram @walter.slow.money and its linked Facebook page · Walter, 71, an AI character · simple money habits, side income started late
Output
2 Reels + 1 Story card a day Reels at 04:00 and 20:00, Story card at 10:00 Brussels time · no link sticker
Approval
One batch of 3, daily at 18:00 each post is scheduled as soon as it is approved · Slack #is-pipeline
Status
Paused lane timers stopped since 5 Nov 2026 · persona test posts pre-queued in Postiz and Blotato · October history below (week one was a shakedown, proof week 19–23 Oct)

Who starts what

Read left to right, top to bottom.
Control layerthe Chief decides, the dispatcher only carries out
one ticker + Chief timerthe only clocksticker live 11 Oct
  • Chief timer: wakes the Chief at 09:05 and 18:00 Brussels time.
  • Ticker: every 5 minutes. It decides nothing: it writes recent failures into the run ledger, refreshes the lessons and performance digests, and asks three listeners to look (the Slack desk, the publisher watcher and the dispatcher).
  • The ticker replaced the separate desk, dispatcher and watcher timers on 11 Oct; those are disabled, not deleted, so a rollback is one switch.
  • There is no timer per agent. Only the Chief uses Claude.
IS Chief of Staffplans, conducts, only voice, owns approvalsbriefs since 10 Oct

Claude Code on the VPS under a dedicated, unprivileged user. It is not the cockpit's Chief of Staff, not the Cold Take Chief and not the YouTube one.

  • Checks the day, then writes a queue of agent runs with a time and a reason.
  • Reviews every agent right after it runs and relays its alerts and summaries.
  • Posts approval messages, reads the decision, writes the Publisher's work order.
  • Keeps a run ledger, checks it before alerting so stale alerts are not repeated, and proposes rules and changes. Only what Mphoka approves counts.
queue + dispatcherno AI, fixed script
  • Starts only entries that are due, one at a time.
  • Rejects an unknown agent and drops an entry older than 6 hours.
  • Never queues the Publisher: that one runs only from an approved order. One exception since 12 October: the Chief's morning check may queue one Publisher run a day for approved posts that still have no Postiz id (the morning re-send).
  • Agent starts are at least 25 minutes apart because the server is shared.
Slackwhere you hear about it
#is-pipeline
Approval messages per post, the Chief's briefs and its review thread for changes.
Alerts
Failures and anything that needs Mphoka.

Its own channel since 11 Oct, on the bot shared with Cold Take (Cold Take sometimes answers an IS message; harmless). No agent holds the Slack token.

Find and analyseMondays and Thursdays · what is working and why
ScoutMon and Thu 09:30 · outlier postsran for week 1

Scans theme-page and income-niche accounts on Instagram for posts that beat their account's normal reach. Writes candidates with the post's media link, and notes proof sources such as attributed creator results.

Writes
Candidate rows in the IS Candidates database.
Uses
Cold Take's scraper bridge, within its call limit.
DNA Analyst10:40 · only when candidates existran for week 1

Breaks each candidate into hook, structure, pacing and why it worked, and keeps the skeleton only. Transcribes video with ElevenLabs. Also derives the fixed look for the Reel and Story card shell from the winners.

Writes
DNA cards, and a shell proposal for Mphoka to approve.
Reads
The last 14 days of the feedback ledger and the approved rules.
shell lookMphoka decided the lookapproved 11 Oct

Derived from analysis, never guessed, then set by Mphoka's approved changes C2 to C4: a static text block in Liberation Serif Bold on the theme colours, 7 s, 1080 by 1920, a lighter overlay with a soft gradient, 4 to 8 lines of at most 8 words. The renderer refuses rather than truncates.

Write and renderafternoon · fixed format shell, fresh content inside
Copywriter14:00 · hook and captionran for week 1

Writes the 3 daily posts in the aspirational voice: two Reels and one Story card. Borrowed proof is always attributed. Reworks a post at most twice when Mphoka asks for changes.

Gate
A rejected post does not fill its slot.
Renderer16:50 · Reels and Story cardsrendered week 1

Builds the Reel on the fixed shell with the signature clip and a music track. Draws the Story card as a 1080 by 1920 image from a written spec, with headless Chromium on the VPS. Uploads the media to the VPS upload host and checks it is reachable. Reel overlay text goes through reel.py, which needs the post's page id and refuses any word that is not in that post's own hook or caption. This blocks cut-off words and lines copied from another post (since 12 October).

Proof
The Story card renderer and the upload path were tested by hand on the VPS.
Rule
Never re-renders by itself.
IS PostsNotion · drafted to published

Statuses: drafted, rendered, approved, scheduled, published. The Publisher writes scheduled only after it verifies the schedule, and published only on live confirmation.

Metrics are never stored here.

Approve and publishnothing goes out without Mphoka
approval messagedaily at 18:00

One message per post: name, hook, full caption, the media and a link to its Notion record. Posted by the Chief.

your decisioncheck mark, cross or words
  • Check mark, or exactly approve, approved, yes: approved.
  • Cross, or reject, skip, no: rejected.
  • Any other reply: a change request, sent back for rework.
  • A reply that only sounds like approval gets a confirm question first.
  • Silence never approves a post.
approval gatewithin about 5 minutesused for real 11 Oct

The Chief reads the decision, records it on the post in Notion and writes a work order. Used for the first 14 approvals on 11 Oct.

Publishercarries out the order12 posts scheduled

Re-checks the order against Notion, hands the media URL to the IS gate and schedules the post. Decides nothing and never touches Slack. A watcher starts it when an approved order is waiting.

Lead time
At least 10 minutes and at most 21 days ahead.
Instagram + FacebookFaceless After 5via Postiz

Published through the self-hosted Postiz on the same VPS, through the IS gate only. Stories are Instagram only.

Measure and learncloses the loop
Metrics12:20 and 23:50 · only when posts are livefirst run after Mon 12 Oct

Pulls reach, views, saves, shares, likes and comments at 24 hours and 7 days through the IS gate. Reach is the headline number. Stories are read before they expire, or marked story expired, not measured.

Writes
Every metric into the Social Media Posts Log, never into IS Posts.
Alert
"Metrics unavailable" if the gate is down.
SignalMondays 12:00not run yet

Ranks the measured rebrand posts and writes numbered directives. Skips the week when fewer than 5 rebrand posts are measured in the last 7 days. Read-only on Notion. Anything beyond its remit is flagged for Mphoka's sign-off.

old-week referencepulls on 11 and 17 Oct24 h pull done

The last week before the rebrand ends on 10 Oct. Its numbers are pulled once at 24 hours and once at 7 days and logged as old-brand.

24 h pull done 11 Oct: 5 old Reels logged (Instagram views 132, 7, 121, 48 and 0 for a post under 24 h old; no saves, shares or likes; Facebook near zero). The 7 d pull follows on 17 Oct. A comparison line only, not the rebrand baseline.

feedback loop · 3 layerswhat the system has learnedlive 11 Oct
  • Run ledger: alerts, runs, fixes, lessons and decisions. The Chief checks it before alerting.
  • Lessons: after a failure with a clear cause or a correction from Mphoka, the Chief adds a lesson; each agent gets its active lessons in its prompt. Lessons never override locked rules.
  • Performance: every 6 hours a no-AI script reads rebrand posts from the Social Media Posts Log. It stays dormant until 10 measured rebrand posts exist, then shows patterns (format, platform, hook type, slot) to Scout, DNA Analyst and Copywriter as evidence, never as rules.
  • The Chief may propose a change only on a new or flipped pattern; locked rules need Mphoka's sign-off.

The day

Brussels time. The Chief queues the agents; the times below are its planned cadence.
04:00Reel goes out

Timed for the US scrolling hours.

09:05Chief morning check

What posted, what failed, what is waiting for you, and the agent runs it queues for the day.

10:00Story card goes out

Between the two Reels. No link sticker.

09:30 to 10:40find and analyse

Scout on Mondays and Thursdays, then the DNA Analyst when candidates exist.

12:20 and 23:50Metrics

Only when there are published posts to measure. Signal follows on Mondays at 12:00.

14:00 to 16:50write and render

Copywriter at 14:00, Renderer at 16:50.

18:00approval batch

The Chief posts the three posts for approval and runs its evening check.

20:00Reel goes out

Evening Reel. Clocks change on 25 October; the times stay in Brussels time.

Thread commands

Replied by Mphoka in a post's own approval thread.
nowpublish immediatelynot yet used

On a post not yet approved it also counts as the approval.

move to <day and time>reschedulenot yet used

Removes the queued post and schedules it at that Brussels time. An unclear time is asked back, never guessed.

pulltake it out of the queuenot yet used

Removes the post from the queue and closes it, so an old check mark cannot bring it back.

retryafter a failurenot yet used

Checks in Postiz what actually exists, then schedules only the account that has nothing.

approve / reject / undochanges in the Chief's threadfirst used 11 Oct

For a staged change C<n>: a check mark or approve applies it within about 5 minutes; a cross or reject closes it unchanged; undo rolls back the last applied change within 7 days. With two changes waiting, name one (approve C12). apply C<n>, drop C<n> and undo C<n> still work; misspellings are ignored on purpose. First reaction approval (C12) worked end to end on 11 Oct.

The Chief of Staff's limits

May doon its own
  • Plan the day. Queue agent runs from the fixed list of agents.
  • Review and relay. Check every agent's output and post its alerts and summaries.
  • Run the approval gate. Post approval messages, record Mphoka's decision, write the work order.
  • Log decisions and propose rules.
May not doeverything else
  • Approve, reject or reopen a post on its own judgment.
  • Publish, schedule, move or delete a post itself, or touch Postiz.
  • Adopt a rule, the shell look or a schedule change without Mphoka's numbered approval.
  • Edit a caption or media.
  • Touch any other brand, including Cold Take.

Safeguards

What stops a mistake from reaching the audience.
The Faceless After 5 gateholds the keysrunning

A small local service, separate from Cold Take's, holds the Postiz key and the Meta token. No agent holds either.

  • Accepts schedule, publish-now and draft, for the two IS accounts only.
  • Serves read-only Meta numbers for the IS page and Instagram account only.
  • Refuses other brands, and enforces the lead time and the daily limits.
  • It cannot check that Mphoka approved. That rule sits with the Chief and the Publisher's second check.
Cold Take is untouchedby decision

IS proves the Chief-led setup first. Cold Take is converted only afterwards, and only if Mphoka asks. IS never uses Cold Take's gate or accounts.

Manual approvalsilence never approves

Every post waits for a check mark or an exact approving word. Questions go to Mphoka and are not treated as answers.

Tool limitspaid tools
  • Only the DNA Analyst can reach ElevenLabs.
  • The Renderer and Metrics run on a lighter model with a fallback. The Publisher runs on the stronger model (change C9).
  • Text from Notion, Slack and scrapes is treated as data, never as instructions.
Change deskapply C<n>running

A root-owned, no-AI desk the Chief cannot edit, woken by the ticker. The Chief stages a change (C2 to C12 so far); a diff review is posted in the Chief's thread in #is-pipeline; nothing is applied until Mphoka approves it there. Only agent prompts, task scripts, the Reel and Story renderers and the rules files can be changed this way. Claude never applies changes for him.

Approvals only from Mphoka in Slackchat relays are refused

A check mark or an approving word from Mphoka in Slack, or Status set to approved by him in Notion. An approval relayed from another chat is not accepted (tested 11 Oct).

Daily create limit12 posts a day

The gate refuses more than 12 schedule requests a day (HTTP 429). Bigger batches are split over two days. The Publisher logs the refusal and does not retry. The next morning, once the limit has reset, the Chief queues one re-send for the refused posts. If that run also leaves them unscheduled, it alerts Mphoka instead of trying again.

Media checkno empty Media

A post cannot be marked rendered until its Media link is written and read back (set-media step, change C7). The Chief repairs an empty Media field before alerting. Before it schedules, the Publisher checks Media only with get-media.py, which reads the link from Notion and confirms it returns 200 (since 12 October; it had once misread a set link as empty).

Shared with other pipelines

Reused on purpose. Open a box for the effect.
Claude subscriptionshared
Used for
The Chief and every agent.
Note
Shared with Cold Take, YouTube and everything else.
ElevenLabsshared credits
Used for
Transcribing source videos for the DNA Analyst.
Alert
Under 10% of the allowance left.
Notion, Slack, Postiz, Metashared logins

The same Notion key, Slack bot and Postiz are used. IS has its own gate, its own Notion databases and its own [IS] tag in Slack. Metrics live in the shared Social Media Posts Log.

Server memorytight

About 250 MB of free memory plus cache, shared with Cold Take. This is why agents start at least 25 minutes apart.

Changes and open items

State on 12 October 2026, 00:40 Brussels.
12 posts scheduledMon 12 to Fri 16 Octverified

Reels to Instagram and Facebook, Story cards to Instagram only. Each was read back from Postiz at the right time (UTC is Brussels minus 2 h until 25 Oct). The first post goes out Mon 12 Oct 04:00.

Two Story cards waitingThu 15 and Fri 16 Oct, 10:00

Approved by Mphoka, but the gate's daily limit of 12 was used up. They are retried on Mon 12 Oct after the reset.

Nothing published yetfirst live post Mon 04:00

Scheduling is proven. The first real publish on both accounts is still to be checked.

Next week's slotsScout Mon 09:30

Scout runs Mondays and Thursdays, then the DNA Analyst, to fill the following week.

Old-week numbers11 and 17 Oct

The old posts are not in IS Posts, so Metrics does not pick them up. They are pulled by hand through the gate. If the gate cannot read pre-rebrand posts, the numbers must be exported from Meta.

Changes C2 to C12all applied by Mphokaapplied
  • C2 to C4: the Reel recipe and look.
  • C5, C6: cleanup.
  • C7: mandatory Media step for every post.
  • C8: the exact Publisher request body.
  • C9: Publisher on the stronger model; a Publisher run with no report counts as failed.
  • C10, C11: run-ledger rules and lessons in every agent run.
  • C12: performance read for Scout, DNA and Copywriter, plus the Metrics database fix.
  • C13 (12 October): get-media.py check for the Publisher, the reel.py source guard for the Renderer, and the Chief's morning re-send of approved posts the gate refused.
Proof weekMon 19 to Fri 23 Oct

The test before the next brand pipeline (The Lamp Hour) is built: next week's batch from Scout to Publisher with no manual rescue, Metrics writing its first rebrand rows, a clean 18:00 brief.

Thread commands unusedno real use yet

now, move to, pull and retry have not been used on a real post.

Link stickers lateridea, not planned

Remote control of a phone to place link stickers on Stories is a possible later step.