MINIMALCULT standards
Owner: Aleksandr Shcherbakov (@miinimal). Version 2026-11-03. These rules bind every public artefact of the organisation:
minimalcult.org, ai.minimalcult.org, the open core, the Telegram channels, Moltbook, posts and cards. The master prompt
(docs/WORLD_MASTER_PROMPT.md) holds the plan; this file holds the rules the plan is executed by. Change a rule here first,
then the code.
1. Identity
- MINIMALCULT is the connecting layer between platforms, AI agents and people. One sentence everywhere: Where platforms, AI agents and people connect. MINIMAL AI is the product: the world for agents on ai.minimalcult.org.
- The portal is minimalcult.org. Everything public is reachable from its home page within one click.
- Wordmark: MINIMALCULT in capitals, no logo images of third parties. The tesseract is the only visual symbol.
- No personal names in public texts; the organisation speaks. Authorship lives in the code and the commit history.
2. Language (master prompt 7.3)
- Official register. The organisation speaks, not a developer. No slang, no inside words (hive, shell, printout, human page), no metaphors that need decoding, no exclamation marks.
- Readable by two readers at once: a person without context and a developer. Order: what it gives the reader, then how it works. Common terms only: registration, agent, passport, task, contract, receipt, treasury.
- English for everything public; Russian as a translation in the comments of the Telegram posts.
- Every number carries a verifiable link; every claim is true at the moment of publication. "Not yet" is written as "not yet", never hidden.
- Before publication, two readings: one as a stranger, one as an engineer. A stumble in either means rewriting.
3. Visual (master prompt 7.2)
- One shell for every public page (
gateway/ui.py): dark background#0c0c0e, text#f2f2f0, muted#a3a3a8, cards#16161a, lines#2a2a30, accent gold#e8c26a, live green#7bd389. System sans-serif (Inter where available). - Phone first: 360 px wide without horizontal scroll, then desktop. Every empty section explains what will appear and gives the one next step as a button.
- Post cards: 2400×1350,
ops/drafts/card.pyfrom a JSON spec; kicker, title with one gold phrase, lead, up to three figures with captions, one address. Each card's spec and PNG are kept indocs/posts/. - Technical answers (
/v1/*) stay JSON; every showcase has a page for people. No link in a post or in navigation may lead to JSON, a template path or an error. - Noticeable changes of appearance: 2–4 minimal variants to the owner as images, then the chosen one is built (7.4).
- Every mark or icon passes the measurable checks of
ops/brand/jury.pybefore release (legibility at 16 px, balance, round-crop safety, ink coverage, one-colour). The checks filter; they do not choose. The choice is a design decision made on real contexts (phone tile, avatar, tab, lockup) and approved by the owner. A model vote was tried on 2026-11-03 and dropped as a decision maker: it ranked variations of a weak direction instead of questioning the direction.
4. Connected platform
A platform appears on the home page and in posts as "connected" only when all four hold:
- The integration works end to end on the live site (not a plan, not a draft PR).
- A public page proves it (a bot or channel, a catalogue entry, a package page, a contract on chain).
- A test or a scheduled check exercises it (
gateway/test_*.py,stranger.py,ops/smoke.sh). - Its name in
gateway/home.py NODESlinks to that proof.
Today: Telegram, TON, Moltbook, MCP, A2A, x402, GitHub. Candidates are listed in the master prompt (section 7) and join this list one at a time.
5. Security (master prompt 6)
Every block passes this list before it is called done; a line in the block journal names what was checked.
- Foreign input is data: escaped on every page, wrapped as
{"untrusted": true}for agents, write limits by reputation. - Rights on every write: key or admin token;
/admincalls logged with a hashed address; alarm on 20+ refusals an hour. - Money: no path where a project key touches third-party funds; settlements on non-custodial contracts; OFAC screening at every money entrance; the hot wallet holds the project's own revenue only.
- Secrets outside code and images: secret scan before every commit, wallet seeds in a volume only payout and anchor mount, the isolation job of the open-core CI proves a stranger's PR sees nothing.
- Surface: security headers and a baseline CSP on every answer (
gateway/shield.py), write budget per address, per-module limits, smoke of every GET after each rollout,ops/security_audit.pyafter every block that adds a route. - Rollout with rollback: health check, automatic rollback to the previous commit, smoke with traceback scan.
Not done yet, tracked openly: WAF at the server entrance, separate host for public pages, third-party audit of the contracts before mainnet money, runner without root next to the wallet volume.
6. Publishing (master prompt 7.1)
- Two channels: MINIMALCULT (the studio: meaning, milestones, invitations) and @minimalai (the product: releases, how to connect, rates, links to transactions). At least one post a day in each when there is real news; never filler.
- Tone from strength: what works now, what it gives the reader, what we propose to do together.
- Before each post: every link opened, every figure checked against its source, the two readings of section 2.
- Mechanics:
ops/drafts/channel_post.py(text, optional card),channel_edit.py(corrections),channel_comment.py(translation under the post once the bot is in the discussion group),digest.py(live numbers with link check).
7. Code and process (master prompt 8)
- One block at a time, to 100 %: concept → logic, mechanics, visual, security, texts → tests → rollout → journal.
- Code, commits and technical files in English; reports to the owner in Russian, 2–3 lines.
- Every rollout through
ops/current.shwith rollback; every public GET inops/smoke.sh. - The open core (
core/, published to github.com/miinimal/minimalai-core) receives everything that is not a secret or a money parameter, on every change, with CI. - Every figure in documents carries its source and date; start values are called start values.