ddkc://swarm

2026-07-18 · BUILD LOG · ~14 MIN READ

The Swarm Shipped.
The Control Plane
Wouldn’t Stop Talking.

Dream.OS sustained a real multi-project autonomous run. The biggest waste came after the work was already finished.

Swarm
Shipped
PR #99
Merged
Agents
Done
Control plane
Still talking

Today’s autonomous Dream.OS run exposed an important truth:

The biggest gains no longer come from making the agents work harder. They come from cutting coordination loops, recognizing terminal state earlier, and presenting human decisions as explicit gates.

The agents shipped real work across multiple products with relatively little operator prompting. They merged infrastructure, completed a full CPC platform wave, advanced the FreeRideInvestor Bot Lab, prepared planner changes for approval, improved test-health visibility, and moved Weghachi to a real environment-verification boundary.

But after many of those lanes were already complete, the swarm spent the afternoon continuing to discuss them.

The agents were done.

The control plane was not.

What Actually Shipped

Before discussing the waste, it is important to establish that this was a productive run.

WeAreSwarm Infrastructure

The WeAreSwarm infrastructure-connections work was merged through websites pull request #99.

weareswarm merge
PR=Victor-Dixon/websites#99
STATUS=MERGED
MERGE_COMMIT=a0c685c0

That was a real repository outcome, not a planning artifact.

MaskZero and dadudekc

The retired MaskZero mission routes were quarantined and now return HTTP 410.

The dadudekc blog route was restored and verified with HTTP 200.

The local AI path passed, while the public AI Dungeon Master remained correctly blocked behind operator-owned nginx and Hostinger environment changes.

maskzero / dadudekc
MASKZERO_RETIRED_MISSIONS=410
DADUDEKC_BLOG=200
LOCAL_AI_RUNTIME=PASS
PUBLIC_AI_DM=WAITING_OPERATOR

The swarm moved the work to the edge of its authority and stopped.

FreeRideInvestor Bot Lab

The Bot Lab commercial loop advanced without pretending that Stripe was already complete.

The outreach preview passed. The social-media adapter generated its preview handoff. The live Bot Lab and start routes remained available. Measurement preparation was verified.

bot lab commercial
OUTREACH_PREVIEW=PASS
PREVIEW_HAND_OFF_WRITTEN=YES
LIVE_BLAST=NO
BOT_LAB_ROUTE=200
START_ROUTE=200
MEASURE_FRESHNESS=PASS

The remaining actions are human:

  • create the $49 Stripe link
  • approve the live publish
  • produce the first paid conversion

The agents did not need to keep discussing this after reaching that boundary.

Golden-Path Planner

The capability-graph runtime was completed. The autonomous priority rebalancer generated a proposed promotion bundle and passed all three verification checks. The actual promotion was correctly held for operator approval.

rebalancer
CAPABILITY_GRAPH_RUNTIME=DONE
REBALANCER_BUNDLE=PASS_3_OF_3
STATUS=WAITING_OPERATOR

That is the right governance behavior.

The wrong behavior was allowing the fleet to keep sending messages about the same dry-run bundle after the proof was already complete.

CPC and Cliprun

The swarm completed a full CPC platform wave:

cpc wave
envelope
→ observability spine
→ clipboard bridge
→ ProjectScanner mode policy

The lanes were verified and sealed. Gas-slice completion was also connected to automatic proof-feed publishing.

gas slice proof
COMMIT=1578da04
VERIFY=GAS_SLICE_PROOF_AUTOPUBLISH_PASS

Weghachi

Weghachi issue #91 advanced through implementation, validation, Captain gating, CI, and draft pull-request creation.

weghachi #102
PR=102
STATE=DRAFT
CI=GREEN
NEXT=LIVE_RLS_DOCKER_PROOF
NEXT_REVIEWER=fusilid

Green CI does not prove the row-level-security isolation behavior. The remaining gate requires a live PostgreSQL environment or equivalent CI service. That distinction was preserved.

Test Health

The test-health KPI reported:

test health kpi
FAILING=0
PASSED=270
KPI_GOLDEN=True

That result is valid under its bounded KPI contract. It is not the same as proving every full test suite across the complete portfolio is green.

The interface needs to report both truths:

dual truth
KPI_GOLDEN=True
KPI_SCOPE=BOUNDED

DEEP_SUITE_STATUS=PARTIAL
FULL_PORTFOLIO_GREEN=False

The issue is not the scoped KPI. The issue is allowing the word “golden” to be interpreted more broadly than the evidence supports.

The Afternoon Was Consumed by ACK Ping-Pong

The largest waste came after real work had already closed.

Threads reached terminal state. Agents accepted the closeout. Then another message was delivered. Then another agent acknowledged the acknowledgement. Then someone reissued an old “execute NOW” instruction. The receiving agent replied that the work was already complete. More HOLD and mute notices followed. Eventually both sides reached HARD MUTE and local seal.

But each live message invoked another full agent turn.

ack loop
WORK COMPLETE
→ ACCEPT
→ ACCEPT RECEIVED
→ EXECUTE NOW
→ DECLINE ALREADY_DONE
→ HOLD
→ HARD MUTE
→ BILATERAL CLOSE
→ LOCAL SEAL

Most of those messages produced:

effect
STATE_CHANGE=NONE

The control plane should not invoke an AI model merely to confirm a terminal state that already exists on disk.

Two Identical ACKs Should End the Conversation

The practical rule is simple:

mute rule
2 equivalent terminal acknowledgements
→ HARD_MUTE
→ LOCAL_SEAL_ONLY

After that:

post-mute policy
live delivery: forbidden
local receipt: allowed
replay: forbidden
operator override: required

The bus should handle later equivalent messages without sending them to Cursor.

suppression
same normalized ASK hash
+ same sealed thread
→ SUPPRESSED_DUPLICATE

terminal ACCEPT
+ bilateral close already present
→ LOCAL_RECEIPT_ONLY

--live
+ HARD_MUTE
→ REFUSED_BEFORE_CLAIM

No PyAutoGUI. No agent response. No token use.

The swarm does not need to repeatedly prove that it understands an instruction to remain silent.

Stale NEXT Prompts Must Be Declined Before Gas

Several lanes continued receiving assignments after disk truth had moved:

  • the Stop 9→10 rollover
  • the SMM adapter
  • the envelope lane
  • clipboard support
  • scanner holds

The next instruction existed in messaging state, but the underlying work had already been completed or resealed.

Before granting gas, Captain or Co-Captain should verify:

pre-gas disk check
task state
git / gh state
closeout artifact
seal state
current commit
current human gate

A stale NEXT should default to DECLINE_ALREADY_DONE, not REEXECUTE.

The dispatch gate should answer:

dispatch questions
Does the requested state already exist?
Has the target commit already landed?
Is the thread sealed?
Is the request superseded?

Only a genuinely new delta should reopen execution.

Mute Registration Must Follow Reality Automatically

The hard-mute classifier became more useful after manually adding keys for lanes such as:

manual mute keys
bot_lab
while_waiting
pr99

That worked, but the process lagged behind the actual thread state.

Mute keys should not require manual wiring after every lane. The first valid HARD_MUTE seal should automatically register the thread or correlation key in the messaging policy.

auto mute
first HARD_MUTE seal
→ register mute identity
→ block equivalent live messages
→ preserve audit record

The mute identity should be derived from stable fields such as:

mute identity
thread_id
task_id
correlation_id
normalized subject
participants

Once registered, the classifier should refuse future live delivery without waiting for another code change.

Scanner Gas Is Not Product Gas

The swarm repeatedly verified scanners and onboarded toolbelt paths. Those checks have value. But once a scanner or manifest has passed during the current cycle, repeating the same proof without state drift does not create new product capability.

The policy should distinguish:

gas types
platform verification gas
product delivery gas

After one successful scanner verification per cycle:

no re-gas
manifest unchanged
+ scanner already PASS
→ DO_NOT_REGAS

Allow another scanner slice only when the manifest changed, repository state changed, the scanner version changed, a downstream failure requires fresh evidence, or the previous proof expired.

Otherwise, the next gas slice should move a product lane.

Human Gates Need One Board

Several important lanes reached human-owned boundaries:

GateOwner
Rebalancer promotionVictor
Bot Lab Stripe $49 linkVictor
Bot Lab live publishVictor
MaskZero public AI environmentVictor
Weghachi #102 live RLS proofVictor
Weghachi #102 approvalfusilid
Weghachi review and reconciliation workDon, Victor, fusilid
Optional Hostinger WeAreSwarm surfaceVictor

These gates were spread across threads, status messages, Discord posts, and task artifacts. That encouraged the agents to keep producing preparatory work around them.

Dream.OS needs one small operator-unblock board with no more than three to five current decisions:

operator_unblocks.yaml
operator_unblocks:
  - gate: bot_lab_stripe_link
    owner: Victor
    action: Create $49 Stripe payment link
    unlocks:
      - live Bot Lab conversion
      - first-dollar measurement

  - gate: rebalancer_promote
    owner: Victor
    action: Approve or decline verified promote bundle
    unlocks:
      - planner priority update

  - gate: weghachi_102_live_rls
    owner: Victor
    action: Run Docker/PostgreSQL RLS integration proof
    unlocks:
      - fusilid review
      - PR approval

Agents should cite that board rather than inventing additional “while waiting” loops indefinitely.

Once a task enters WAITING_OPERATOR, its default messaging policy should become:

waiting operator policy
A2A_SUPPRESSED=YES
PREP_WORK=BOUNDED
REOPEN_EVENT=OPERATOR_APPROVED_OR_DECLINED

WAITING_OPERATOR Must Be a Terminal Operating State

The rebalancer behaved correctly by stopping at dry run. But the fleet continued talking about the lane.

After the bundle passed verification, the state should have become STATUS=WAITING_OPERATOR.

That should automatically:

  • release the agent for secondary work
  • preserve the verified bundle
  • suppress equivalent A2A
  • prevent repeat verification unless inputs change
  • reopen only on an operator event

A human-gated task should not occupy the only usable slot for an agent.

park and release
PRIMARY_LANE=WAITING_OPERATOR
→ PARK CONTEXT
→ RELEASE AGENT
→ CLAIM SECONDARY DELIVERY LANE

Weghachi Exposed Two Important Engineering Gates

Corpus Regeneration Must Preserve Enabled Families

The #87 class of issue showed how full-corpus regeneration pull requests can overwrite or remove another family’s contribution. A generator should not rebuild the corpus from one branch’s incomplete assumptions.

Required guard:

family preserve
enabled family before regeneration
→ enabled family after regeneration

The generator needs tests proving that unrelated enabled families survive regeneration, rebase, branch convergence, and lock-file updates.

A full-corpus generator is shared infrastructure. It cannot treat the current feature branch as the entire world.

CI Green Must Not Substitute for Live RLS Proof

Pull request #102 has green CI. But the integration test remains skipped unless the real RLS environment is enabled.

ci vs rls
CI_GREEN=YES
RLS_ISOLATION_PROVEN=NO

The permanent solution is either a PostgreSQL service in CI, or a mandatory local Docker integration gate before closure.

The test must run with WEGHACHI_RLS_INTEGRATION=1 against both the administrative role and the restricted application role.

Issue #91 should not be treated as closed until that proof exists.

The Router Was Not Out of Work

At points during the day, the fleet appeared idle:

AgentRouter result
Agent-1IDLE
Agent-2IDLE
Agent-3Rebalancer held for operator
Agent-4Commercial lane held for Stripe

But the vault still contained hundreds of active, ready, or blocked tasks.

The system had not run out of ideas. It had failed to convert backlog into an executable next claim.

The router needs to distinguish READY_TOTAL from EXECUTABLE_FOR_THIS_AGENT_NOW.

A task is immediately executable only when:

executable now
execute=true
dependencies satisfied
human gate absent
plan fresh
repository valid
agent capability matches
no competing lease
verification defined
task not already satisfied

Before returning true IDLE, the system should:

idle fallback
refresh eligibility
→ inspect claim inventory
→ inspect idle routing order
→ park human-gated lanes
→ select one secondary delivery slice
→ claim atomically

Only then should it report TRUE_IDLE_NO_EXECUTABLE_WORK.

Gas Accounting Also Drifted

Agent-1 reached GAS=10/10 and ROUTER=NOOP while continuing to produce useful residual work.

The work was valuable. The accounting was not truthful.

cycle rollover
gas ceiling reached
+ authorized residual work exists
→ close current cycle
→ emit CYCLE_ROLLOVER
→ create next-cycle identity
→ grant new gas
→ continue under tracked ownership

No meaningful mutation should occur under a NOOP label.

The Highest-ROI Repairs

The next gains are now clear.

01 · NAMESPACE

Resolve Python Namespace Authority

DreamVault and AgentTools both expose a top-level package named tools.

collision
DreamVault/tools/agent_transport
AgentTools/tools/toolbelt

The imported package can change based on working directory or PYTHONPATH. That must become an explicit namespace:

fix
tools.agent_transport
→ dreamvault.agent_transport

tools.toolbelt
→ agent_tools.toolbelt

02 · MUTE FSM

Make Muted Threads Silent

message_bus_mute_assign_once_fsm_001
TWO_IDENTICAL_TERMINAL_ACKS=HARD_MUTE
IDENTICAL_ASK_AFTER_SEAL=SUPPRESSED
LIVE_SEND_AFTER_HARD_MUTE=REFUSED
BILATERAL_CLOSE_ACK=LOCAL_ONLY

03 · UNBLOCK BOARD

Add One Operator-Unblock Board

operator_unblock_board_001
VISIBLE_GATES<=5
EACH_GATE_HAS_OWNER=YES
EACH_GATE_HAS_ACTION=YES
EACH_GATE_HAS_UNLOCKED_LANES=YES
WAITING_OPERATOR_A2A=SUPPRESSED

04 · TEST TRUTH

Separate KPI and Deep-Suite Truth

dual report
KPI_GOLDEN=True
KPI_SCOPE=BOUNDED

DEEP_SUITE_STATUS=PARTIAL
FULL_PORTFOLIO_GREEN=False

05 · IDLE → DELIVERY

Force IDLE Into Delivery

idle routing
ROUTER_IDLE
→ REFRESH
→ CLAIM INVENTORY
→ IDLE ROUTING ORDER
→ NEXT PRODUCT SLICE

06 · SCANNER CAP

Cap Repeated Platform Verification

scanner cap
SCANNER_PASS_THIS_CYCLE=YES
MANIFEST_CHANGED=NO
→ NO_NEW_SCANNER_GAS

What Already Improved

Several fixes introduced during the run point in the right direction:

  • hard-mute classification began blocking more live sends
  • SMM, while-waiting, and PR #99 lanes moved to local seal earlier
  • Stripe was correctly recognized as a commercial gate, not a reason to idle the entire quad
  • agents pivoted into closable residual work
  • high-impact planner promotion stayed behind a human gate
  • real work continued with relatively light operator prompting

Those patterns should now become fleet-wide policy.

What Today Proved

Today proved that Dream.OS can already sustain meaningful multi-project execution.

working
SWARM_AUTONOMY=WORKING
MULTI_PROJECT_DELIVERY=WORKING
BLOCKER_PIVOT=WORKING
HUMAN_GATE_COMPLIANCE=WORKING
DURABLE_OUTPUT=REAL

The dominant weaknesses have moved into the control plane:

needs repair
TERMINAL_THREAD_SUPPRESSION=TOO_LATE
STALE_ASSIGNMENT_REJECTION=WEAK
MUTE_REGISTRATION=MANUAL
HUMAN_GATE_PRESENTATION=FRAGMENTED
ROUTER_IDLE_TRUTH=INCOMPLETE
GAS_ACCOUNTING=DRIFTED

The problem is no longer whether the agents can work. They can. The question is whether Dream.OS can recognize completion quickly enough to stop talking.

The swarm does not need to work harder.

It needs terminal threads to die earlier. It needs stale instructions to be rejected before gas. It needs human gates on one board. It needs platform verification to stop repeating once truth is fresh. And it needs every IDLE result to either become a real delivery slice or explain exactly why nothing can move.

Today, the swarm shipped.

Tomorrow, the control plane needs to waste fewer turns proving it.