Repository navigation
Releases: mimmo-the-root/UEFN-dream-bot-team
Releases · mimmo-the-root/UEFN-dream-bot-team
Release list
v1.109.1 — Fab: the generated files go inside the project
- Fab lab: lessons from Fab products. A Fab product holds no kit files, so nothing was recorded while you worked on it. Now a hook in your profile (
fab_lab.py hook, installed byupdate-my-profile.cmd) records the UEFN MCP calls of every project registered as Fab in~/.claude/fab-lab/<Product>/, outside the project (nothing is added to the zip).fab_lab.py cardwrites a draft closing card for a finished material or mechanic, andfab_lab.py consoleopens the Agent Console on that data (UEFN_FAB_LAB). Maps are unaffected. Test:tests/test_fab_lab.py. - Fab products can use the kit scripts. In a Fab project there is no
Claude/hooks, so commands such asmcp_map.py --find,skills_lib.py recipesandrecipe-addfailed and agents guessed tool names (for example for renaming an asset:AssetTools/move). The start message,coder,fab-productandmcp-tool-contractsnow point to the profile copy, andmcp_map.py --findanswers from the 388 known tool names when no live map exists yet. - No
Claude/folder is ever created inside a Fab project.recipes_status.progress()no longer createsClaude/logswhen it does not exist, and the Fab console runs with the lab folder as working directory. - Fab lab keeps the full arguments of the editor calls (scripts, parameter names), the closing card lists the calls that worked in order, and the hook also records sub-agent start/stop so agents such as
materials-expertshow up in the console. - Skills page: "Recipes the skills know". Official recipes and the ones learned from your work (hypothesis until a second map uses them) are now listed; before, only patterns were shown.
- Fab wants the whole project zipped, so
Documentation/andFabListing/now live insideContent, in the folder that holds the product's assets (Content/<Product>/), not next toContent.fab_pack.py zippacks the whole project and no longer leavesFabListingout;checkno longer blocksFabListinginside Content.docs --applymoves the folders an older version made next toContentinto the new place (nothing overwritten, empty old folders removed).--product NAMEchooses the folder when Content has several. third-party.mdis nowthird_party.md: names inside the archive may not contain a hyphen (an older file is renamed when moved).- Static Verse check: no false warning for
Printinside a device class (the class inherits it; a published map builds without the import). - Widget calls keep the exact upper/lower case of the asset name (skill
uefn-ui-widgets): a call with the wrong case made the editor saveWB_main.uassetasWB_Main.uasset, and Lore reported a name case mismatch. - The change log no longer lands in
Claude/Claude/logswhen a sub-agent runs from a deeper folder:verse_changes.pywalks up to the folder that holdsClaude/hooks. - Manual: how to start a game. New section "Starting a new game: from the idea" (your own idea or ideas from Claude,
/concept-card,project-bootstrap, first playable version), a "first hours on theme day" section in the jam chapter, and a pointer in the Quick start.
v1.109.0 — Fab products, economy, log signals, delivery, safe editing
- Fab products. New skill
fab-productand helperfab_pack.py(in your profile, never in the project).checktests the package against Epic's Fab rules (no.py, noSaved/Intermediate, no kit files, names with letters, digits and underscore, paths up to 140 characters counted from the top-level folder).docscreatesDocumentation/(README and aSETTINGS.mdgenerated from the@editablesettings and Verse summaries) andFabListing/(listing texts, third-party declaration, image list).zipwrites a clean archive.gridputs the listing captures in a panoramic grid on a plain background. Nothing is written without--apply, existing documents are never overwritten. A new project answered "Fab product" points the agents to this skill. - Verse style for Fab products. Every Verse file is a small manual: header with what it does, why it is useful, quick setup, good to know, version and date, then your signature block (ASCII art and links, saved once with
fab_pack.py signature save, kept in your profile).fab_pack.py header <Name>prints a new header;checkwarns when a part or the signature is missing. Fab products only; the generatedSETTINGS.mdreads theWHAT IT DOEStext too. - Economy simulator. New skill
economy-simand helpereconomy_sim.py: from the planned prices and incomes it shows when each milestone arrives and which generator is never worth buying (pure arithmetic, no AI, no editor). - Log signals. The logger template gets
Signal(Name, Details), which prints[SIGNAL] name key=value. The helperlog_signals.pycounts them, checks optional rules inClaude/docs/signals.jsonand reports expected signals that never appeared.qa-regressionuses it. - Delivery document.
Claude/hooks/delivery.pywritesClaude/docs/DELIVERY.md: the state of the map (finished tasks by release, open bugs, verdict) rebuilt from the project's documents, with free parts for the pitch, controls and credits that are kept.planner-docsknows it. - Editor change record and "undo session". The call ledger now keeps the session and the date.
/editor-changeslists what the agents wrote to the editor per session;editor_changes.py undo-planprints the steps that would undo the newest one (creations can be deleted; changed values cannot, so those say "manual"). It never touches the editor. - A real lock on the editor. Only one session at a time may write; a second one is refused with a clear message (reading is never blocked). It goes stale after ten minutes;
editor_lock.py statusandrelease;UEFN_KIT_LOCK=0turns it off. - Recipes after a new UEFN.
recipes_status.py --stalelists the recipes whose tool changed or was removed in a newer UEFN (from the saved map history);--retestedstamps today. - Static check of Verse.
verse_static.pyfinds the certain mistakes without the editor (unbalanced brackets, mixed tabs and spaces,@editableon avar,OnBeginwithout<override>, a class defined twice, missing imports)./verse-checkruns it first. It is not a build. - Console proof.
tool/shoot_consoles.pystarts the real console on a demo project, opens all seven pages in a browser, fails on JavaScript errors or an empty page, and saves dark screenshots. It already caught the Score page showing its empty state on a project without the criteria file. update-my-profile.cmdcopies the new helpers too.- Token budget baseline raised for the two new skills (
fab-product,economy-sim): they load only when the topic comes up.
v1.108.4 — Counting installs, dark Score page
- A way to see how many machines take each release. Every release now carries a
kit.zipfile and the automatic update downloads that file, so GitHub counts its downloads (shown on the Releases page next to the file). Nothing is sent from your computer and no one is identified; a download is roughly one machine taking that version.python tool/installs.pyprints the numbers per release. The count starts with the machines that already run this version or later, because a kit downloads with the code it already has. - Score page is dark like the other console pages, also when the system uses a light theme (the manual screenshot was light before).
v1.108.3 — The kit updates itself from GitHub
- Automatic profile update. Until now only the step "profile to project" was automatic; the step "GitHub to your profile" needed
/kit-update --fetchorupdate-my-profile.cmd, so a new release never arrived by itself. Now the global SessionStart hook starts, at most once every 6 hours, a background check of the newest GitHub release (kit_fetch.py --auto). A newer release is downloaded into~/.claudewithout delaying the session, and the project picks it up at its next session start ("KIT UPDATED"). The check writes one line to~/.claude/kit-auto-update.log. Switch it off withUEFN_KIT_AUTOUPDATE=0or an empty file~/.claude/kit-auto-update.off. - The global hook updates itself too.
kit_fetch.pynow also installsuser-level-hooksinto~/.claude/hooks. The version file is written last, so an interrupted update is retried. - One manual step, once: run
/kit-update --fetch(orupdate-my-profile.cmd) after this release. It brings the newkit_sync.pyandkit_fetch.pyinto your profile and projects; from the next session on, releases arrive by themselves. Kits older than this release cannot do it alone: nothing in them looks at GitHub.
v1.108.2 — Score page in the manual
- The manual covers the Score page: the console chapter now says seven pages and shows the Score page with demo data; the README lists it in the console menu and in What's new.
- Score page legend: the traffic-light note no longer quotes example release names.
- Jam release video and posts:
docs/release-videos/release-1.108.1-jam.mp4(our own neon temple graphics, no Epic artwork) and the X and Discord texts.
v1.108.1 — Score page and jam tools
/concept-cardscores an idea on Epic's seven jam criteria (ambition, theme, fun, gameplay, visuals, level design, audio: 70 points) plus our feasibility and scope (30 points) and gives a verdict out of 100.- Score page in the console (new tab "Score"): how far the project is against its own plan, release by release. A chart of plan, built and proven with a forecast, a traffic light per criterion (red act now, yellow watch, green fine) and a priority number. Primary criteria are the contest's own (70 points), additional ones are ours (30 points). It is computed live by
score.pyfrom ROADMAP, BUGS and the release-readiness verdict, so it moves when you close tasks or bugs in the docs; a snapshot is saved when a release closes. New criteria are proposed through the Skills page (new skillproject-scoring, no new agent). robots.txtand a sitemap badge: the manual publishes arobots.txtthat points to itssitemap.xml, and the README badge row links to the sitemap.- Manual: three new chapters: 2026 Epic AI MegaJam (how the kit helps and what we added), A UEFN map project and A Fab product project (what is installed and which documents each produces; the Fab documents are marked as planned for 1.109). Repo:
sync-skills.ps1and one message inmcp_lessons.pyare now in English (the confirmation answer isy).
v1.108.0 — Ready for the jam
- A new project asks: map or Fab product? Open a session from the
Contentfolder of a UEFN project with no kit: for a map the kit shows a dry run (how many files), asks for a yes, copiesproject-template/without overwriting anything and runs the setup steps. For a Fab product it installs nothing (its components are added to the customer's project later) and remembers the answer outside the project. Newkit_install.pyin your user profile. - Verse headers keep only the present. An English summary that is always up to date, the real date and the version; no change history in the file. Every change is one line in the new
Claude/logs/verse-changes.jsonl(file, summary, reason, outcome), next toverse-errors.jsonl. Old history lines are moved out of existing headers intoClaude/docs/archive/on the first session, code untouched. The reviewer now blocks a header with history or a change without a log line. /concept-cardscores an idea from 1 to 5 on six criteria (feasibility, scope, hook, showability, retention, originality) and gives a verdict out of 100./devlogbuildsClaude/docs/devlog.mdday by day from the two logs; your "How AI was used" text is kept./jam-checkchecks Verse headers, asset names, path length (140 with the project folder name), dev log and concept card, then lists what only you can confirm (private version code, 30-60 s video, licences, Fortnite rules).- What's new page: a "Changes" tile shows how many things the release changed, so the top row is never all zeros.
- Epic AI MegaJam timer on the What's new page (with a link to the jam page): days, hours, minutes and seconds to the start of the jam, then to the deadline, shown in your local time. The dates are one line (
JAM) at the top of the page script. - One number for the agents: 22 (17 team agents plus the 5 UEFN MCP sub-agents) in the README, the manual, the badge and
docs/kit-stats.json. - Lab test of 1.107.6: the guard refuses
save_assetswith no list and lets one with named assets pass;SelectAssetsanswers in 1.4-1.7 s whether UEFN is in front or not, so the earlier timeouts did not come from the editor running in the background. Texts corrected in the guard skill and the manual. - Manual: new chapter "Kit for the jam". Repo:
sync-skills.ps1and one message inmcp_lessons.pyare now in English (the confirmation answer isy).
v1.107.6 — Safer calls to UEFN
- A call that changes something and times out is never repeated blindly. The five MCP sub-agents, the lab guard skill and the manual now say it: the call may have worked, so the agent reads the editor state first (no second device, entity, file or session).
save_assetswithout a list of assets is refused by the lab guard: it would save every unsaved asset of the project. Name the assets, or passallow_save_all: trueon purpose.- Known crashers, with safe ways out. The
get_lod_countentry now says what to read instead (theTrianglestag,static_materials, the bounding box, Nanite settings). New in the traps:EDIT COPYwith no world, opening asset editors from Python, the editor throttled in the background, rotators by name, and the two new questions of UEFN 42.40. A new test fails if a skill, agent or command names a tool markedavoid. - The doctor checks "Load on Startup". If UEFN opens on the home screen, a relaunch after a crash cannot reopen your project; the doctor says how to change it.
- Skills: binding limits for UI (
uefn-ui-widgets), the Verse build compiles only the open project (uefn-verse-build), and agents tag what they create withkit:<run id>(uefn-level-devices). - Repo: a
docs/adrfolder with the decisions, a secret scan (gitleaks) on every push, andKIT-VERSION.tmpis no longer tracked.
v1.107.5 — Easier to find on Google
- SEO for the manual: every page has a search title, a description, a canonical link, social-card tags and structured data (JSON-LD), plus a
sitemap.xml. Titles and descriptions live indocs/manual/manual.jsonunderseo. - README: it now opens with the main search terms (UEFN, Verse, UEFN MCP, Claude Code, AI agents) and badges: licence, release, tests, stars, the keywords and live numbers (MCP tools mapped, proven recipes, agents, skills).
- Numbers that stay true: the badges read
docs/kit-stats.json, written bytool/build_kit_stats.py; a test fails if the file is out of date.
v1.107.4 — Skills point to the proven recipes
- Skills check: every skill and agent that calls UEFN MCP tools now sends the AI to the proven recipes (14 of 35 skills and 11 of 22 agents; the others do not use MCP tools). Two were missing:
verse-ui-kitnow points touefn-ui-widgetsand the recipes, andplanner-docsreads the level devices through the level-devices recipes instead of an old tool name.