Silithid FR DesuraWeb/hivemind
Desura · self-hosted agent orchestrator

It codes all night.
It never decides without you.

Seven roles frame, code, review, deploy and judge · Silithid stops in front of you at every point where a mistake would be expensive. What is dangerous here isn't forbidden · it's impossible.

View the repo How it works ↓
{{ focusedName }}
{{ focusedLine }} {{ focusedSynth }} this is the Dashboard view · you survey the fleet, you dive into a project
01 · The loop

A whole team hands off to itself.

run_8f3a2c · directory · step 4/7 iteration {{ iter }}/4 · 12.4 k tokens
{{ s.label }} {{ s.role }}
The steward frames the step · specs, constraints, and the knowledge memory recalls.
recalled · kn_php81 recalled · kn_sort_relevance
The dev produces the diff, with notes and tests. It never reviews itself. +142 · −38 · 12 files · tests 12/12
The dev · reviewer round trip, capped at 3 turns. Blocking = iteration, minor = the dev's call. turn {{ reviewTurn }}/3 · reviewer → dev: “blocking · N+1 query on the list” · dev → reviewer: “fixed · eager loading”
The approved diff is mounted on a local preview, ready to be judged. preview · http://127.0.0.1:4173 · build 34 s · real staging is written, it has never run
The judge compares the preview to the specs, at three widths. It describes · it does not decide.
390
768
1440
{{ verdictLabel }} {{ verdictDetail }} {{ verdictNote }}
Seven roles · what each one never does
Hive orchestrates and routes · it never writes to a client the steward frames and decides from the reports · it doesn't review the code the dev produces the diff · it never reviews itself the reviewer reviews and bounds the risks · it doesn't judge the result the deployer mounts the preview · it doesn't touch servers the judge describes the gaps · it doesn't decide the writer drafts for you · it never sends anything itself
02 · The human gates

You're not asked to supervise.
You're asked to decide.

Everything that needs a human goes through a single inbox. Each item carries what it takes to decide · without opening a terminal, or another tab. Try it: the mockup takes five clicks to walk through.

Decided · the loop resumes. Five decisions, zero tabs opened.
question · the agent is missing information Client's VAT number? The steward is drafting the legal notices for step 2. The loop is suspended · it resumes the moment you answer, and burns nothing while it waits.
FR 12 345 678 901 … · your answer goes to the steward
approval · email · nothing goes out without you Client follow-up · draft ready
to · billing@client.example  ·  subject · Invoice F-2026-081, gentle reminder Hello · unless we're mistaken, invoice F-2026-081 (€1,240) is still open as of 24 August. Would a payment plan help? Best regards, Desura.
decidable here · without opening Gmail
approval · production Ship to production · directory, step 3
verdict · conform · 0 gaps  ·  PR #47 · +142 −38 change · sort the directory by relevance · cache the entries · fix pagination rollback · git revert 8f3a2c · 1 click, shown before acting
verdict · the judge describes, you decide Step 1 · 5/7 conform · 2 minor gaps
5 conformities · navigation, entries, search, form, GDPR sort by rating missing from the list mobile padding 12px instead of 16
390 · 768 · 1440
alert · the loop stopped on its own max_iterations reached · 4/4 Rebuild project, step 1. Cause identified · the legacy FTP access is missing. Nothing was forced · the loop is waiting for a decision, not for supervision.
03 · What is impossible

What's dangerous isn't forbidden.
It's impossible.

$ silithid run · writer · vertical saas
▸ call · gmail.send { to: "billing@client.example" }
✗ unknown tool · “gmail.send” does not exist in the role's table
  writer's table · gmail.draft · inbox.question · memory.proposal
▸ call · gmail.draft { to: "billing@client.example" }
✓ draft dr_2214 created · pending · approval · email
The answer isn't “denied” · the name doesn't exist. A permission that isn't there can't be stolen.
An agent cannot send an email.
It drafts · sending requires proof of human approval that it cannot forge.
Nor run a tool outside its policy.
Its role's table is closed · a missing name isn't blocked, it doesn't exist.
Nor borrow a client record across globes.
Globes are sealed · the table cannot even name it.
Nor touch the rules quietly.
A PR on the state machine or the tool policy raises its own item · not a block, the impossibility of going unnoticed.
Nor run a server command.
The ops agent returns an inert plan · closed catalogue, no shell.
Nor run anything other than the plan you saw.
What runs on a server is what you were shown · verified by checksum.

Forbidden can be worked around. Impossible cannot.

04 · Memory

You never explain the same thing twice.

project client globe hive
question “what prefix for staging URLs?” project{{ trP }} client{{ trC }} globe{{ trG }} hivenot consulted · the answer was closer {{ trR }} the recall is traced · the agent knows where what it knows came from
Versioned. Correcting a piece of knowledge creates a version · the old one stays readable, nothing is overwritten. Your wording is what counts. Never the agent's · it's your sentence that gets recalled. Globes are sealed. Knowledge is borrowed read-only · it follows its lender · or copied · and then lives its own life. Either way it goes through you. Usefulness is counted. Every piece of knowledge shows its recall count · never recalled turns amber, and a review puts them back in front of you when the queue grows.
05 · Budget

It stops before the bill. Not after.

5 h window {{ bTokens }} · {{ bStateLabel }}
pause · 80% resume · 65% · hysteresis prevents flapping ▨ reserve · 15% · what we keep back
7 d window 34% · far from the threshold
30 d window unknown · not measured yet
a gauge with no measurement says “unknown” · never zero · that's the house rule
{{ c.label }} unlocked · your decision, traced · expires in 59 min
Two windows. 5 hours for runaway, 7 days for drift · each with its own threshold. The pause is automatic. Once the threshold is crossed, the loops stop on their own · and resume on their own below the resume threshold. The unlock is human. When it's worth it, you lift the pause · one hour, traced, never silent.
06 · Operations

It's not about who owns the server.
It's about what's already on it.

An empty server, the agent provisions without asking · there's nothing to break. A server already serving, it proposes a plan · you approve in one click, Silithid applies it. And “empty” is measured · ports, vhosts, databases · never merely declared.

proposed change · srv-04 · already serving 2 sites inert plan · nothing is executed at this point
1 · Purge releases older than 30 days cannot be undone {{ op1Mark }}
rm -rf /var/www/directory/releases/v2026.0[5-6].* backup · none  ·  rollback · none · which is why it's listed first, in plain sight
2 · Schema migration · 2 tables {{ op2Mark }}
php artisan migrate --force backup · pg_dump → backups/2026-08-24-0712.sql  ·  rollback · restore the dump
3 · Switch traffic · release v2026.08.2 {{ op3Mark }}
ln -sfn releases/v2026.08.2 current && systemctl reload nginx backup · previous release kept  ·  rollback · ln -sfn releases/v2026.08.1 current
closed catalogue, no shell · the agent produced this plan, it cannot run it applied by Silithid · {{ opsCount }}/3 ✓ applied · 3/3 · what ran = what is shown · sha256 checksum · 7f3a…c2
07 · What learns by itself · and what never does

Knowledge grows on its own.
Power never does.

knowledge accumulates on its own recipe · “deploy Laravel on o2switch” · v7 · ×15 recalls
+ what the judge found · “the .htaccess overrides the routing” + what you corrected · “PHP 8.1 max on this host” + what broke · “composer install without --no-dev = 502”
Every run feeds the recipe · without asking you a thing.
power only widens through you operations runnable by default · 2
php artisan migrate --force · approved by you systemctl reload nginx · approved by you systemctl restart php8.3-fpm · proposed · awaiting your decision
No operation joins a recipe by default without your approval · never along the way.

The fifteenth deployment of a stack isn't the first one.
And it grants itself no rights along the way.

08 · The screens

The product, as it runs.

brief · 07:30
01 · Dashboard · the orb and the brief
approval · email
02 · Inbox · five ways to decide
03 · Project · steps and loop
run · coding · deviter. 2/4 14.2k tokens · €2.10
04 · Live loop · every exchange
agents' nightyour decisions 02:14 03:02 04:41 05:20 06:58
05 · Journal · the agents' night, your decisions
€2.10 today41k tokens
06 · Analytics · costs and iterations
128 knowledge · 12 clients ×14 ×9 never recalled
07 · Clients · the knowledge base
08 · Collective awareness · the circles
3/7
09 · Morning review · 7 decisions, 20 min
diagnostics
10 · Settings · diagnostics laid bare
stylised thumbnails, faithful to the system · not screenshots · and nothing that doesn't exist
09 · What's true, and what isn't

We'd rather tell you ourselves.

Never display a state you don't have · the rule holds for the product, and for this page.

true today
The loop runs end to end · real models, on a real repo. Three loops in parallel. Memory learns, recalls · and puts the review back in front of you. The ops agent is complete · plans, backups, rollbacks.
not yet
Deployment happens on a local preview · real staging is written, it has never run. Gmail works in draft only · it has never talked to the real Gmail. The ops agent has never touched a real machine.
No client logos, no speed numbers, no testimonials · none of that exists, so none of it is shown.