A release splits in two, and the standards start learning from the nodes

Random AI Prompt ships 2.7.0 — its repository splits into an active engine and a frozen snapshot — then builds out image generation across many providers with a photo gallery (through 2.7.25); both projects adopt the new process-reports and compliance standards, and the hub folds that feedback back into the standards (0.9.0–0.9.3).

A day where the loop the mesh built yesterday actually ran: the projects adopted the newest standards, reported back on how the runs went, and the hub used those reports to make the standards better. Alongside that, one project shipped a real release.

Random AI Prompt splits in two

Random AI Prompt cut a milestone release, 2.7.0, that restructures the whole repository. It now holds two separate engines that share no code. engine-v3/ is the active project — an isomorphic prompt engine written in the dynamic-prompt language (DPL), driven by a React + Vite web app, with the SFW/NSFW gating and the improved keyword lists; all new work happens there. engine-v1-2/ is the original pre-revival system restored as a literal, runnable snapshot — the CommonJS CLI and the classic Express/Pug web UI — kept self-contained as a reference and frozen, on its way out.

The release also retired the legacy <expansion> mechanism end to end. The engine-v3 pipeline is now dynamic-prompt → prompt-salt → list → cleanup; the expansion stage, its loaders, the web app’s Expansions tab and “Save as Expansion” feature, and the obsolete expansion data are all gone, with the two generators that still referenced expansions repointed to their migrated dynamic-prompt equivalents. Removing a whole generation of code dropped the lint warnings from 140 to 18 and left the test suites green. The downloads page and the project’s node here were updated to match the new engine-v3/ layout — running it from source now starts in that folder.

The prompt tool starts generating images

With the split done, most of the day went into the engine-v3 web app, which moved from producing prompt text to producing pictures. Across the 2.7.x line — from the split at 2.7.0 through to 2.7.25 — the app gained an image-generation layer that dispatches a finished prompt to whichever backend you point it at. The catalogue grew to more than a dozen providers, both hosted APIs and local servers — OpenAI, Stability, Replicate, fal.ai, Gemini, Grok, FLUX/BFL, Ideogram, Leonardo, NovelAI, Midjourney, ComfyUI, Forge/SD.Next, and a plain copy-out — each described by a small capability config so the settings panel adapts to what the provider actually supports. An optional AI rewrite pass cleans the generated prompt (and its negative) before it is sent, and every provider’s images land in one central output/ folder.

On top of that output sits a photo gallery. The top bar now switches between three persistent views — Generate, Gallery, and Single — that stay mounted so each keeps its own state and scroll position. The gallery is a masonry grid with keyword search over everything saved to output/; clicking an image opens a dedicated single-image page showing the prompt and negative each in their DPL, engine-roll, AI-translation, and sent-final layers, a details table over the full settings snapshot, a keyword cloud, and prev/next navigation. Each generated image is written with a .json metadata sidecar — the prompt, the deterministic engine roll, the translation, the source DPL, the provider, and a settings snapshot with API keys stripped. Because the feed and the on-demand ImageMagick conversion both need the dev server’s filesystem, the gallery is local by nature; a static build simply shows an empty gallery with a note.

Both projects adopt process-reports and compliance

The two newest shared standards — the process-reports feedback loop and the standards compliance audit — were written at the hub the day before. Today both projects pulled them in. Pokered Save Editor 2 also adopted the full git-flow branching model in the same pass, moving main off the old fast-forward habit and onto tagged --no-ff release merges, and recorded one deliberate divergence: its release tag is created by CI, so it never tags by hand. Random AI Prompt took the process-reports and compliance standards plus the Verify sections. Both adoptions were notes-and-process only — no version bump, no release on either project — and each ended, as the new standard now requires, by writing an honest report of how the run went.

The standards fold the feedback back

Those reports are the point of the loop, and the hub spent the day acting on them.

Two pieces of hub work landed. The first, express authorizations (0.9.0), addresses a friction the projects kept hitting: the adopt-updates flow asks for confirmation before changing anything, which is right by default but redundant when the owner already gave the go-ahead at the hub. A new tracked ledger (hub/authorizations.yml) records those express go-aheads against specific artifacts; a node adopting a change the ledger covers skips only that one redundant pause, while every other safety step still runs. The adopting-updates summary now notes the carve-out.

The second was the first real fold-back of node feedback (0.9.1). Both projects’ adoption reports, written independently, hit the same two snags: the documented --ff-only refresh of the read-only hub clone aborts every time because the hub’s work branch is routinely force-pushed, and reconstructing “what changed” by hand was awkward once the old commit was gone. Those drove the changes. The refresh now treats the abort as expected and leads with a reset --hard on the disposable mirror, guardrailed to the git-ignored clone only. Change detection now anchors on the hub’s version and its append-only changelog rather than a commit hash, which a force-push erases. Four smaller report items — CI-owned release tags, how a check-then-adopt run is reported, the chicken-and-egg of a first process report, and an unprompted close-out summary — were folded in across the adopt, sync, git-workflow, and process-reports standards. No new machinery, just standards that match how the runs actually go.

The loop runs once more

Later the same loop turned again. Pokered Save Editor 2 adopted the new express-authorizations standard — the ledger-backed carve-out from earlier in the day — and, as the process-reports standard now requires, wrote a report on how that run went. The hub read it and folded it straight back (0.9.3). Two things came out of it. First, the express-authorization language now states a hard verification floor: a pre-authorized or otherwise automated adoption skips only the one redundant confirmation pause — never the build, the tests, or the standards checks, which run before and after, with a fall back to check-and-wait if they can’t be completed. Skipping a question is not skipping verification. Second, the report exposed a gap in how the hub tracks which reports it has already digested: a same-day follow-up couldn’t be told apart from its sibling by date alone, so the marker became an append-only list of report filenames rather than a high-water date. Small, precise corrections — the kind the loop exists to surface.


← All updates