Skip to content

Releases: mimmo-the-root/UEFN-dream-bot-team

v1.109.1 — Fab: the generated files go inside the project

Choose a tag to compare

@github-actions github-actions released this 25 Oct 19:27
  • 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 by update-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 card writes a draft closing card for a finished material or mechanic, and fab_lab.py console opens 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 as mcp_map.py --find, skills_lib.py recipes and recipe-add failed and agents guessed tool names (for example for renaming an asset: AssetTools/move). The start message, coder, fab-product and mcp-tool-contracts now point to the profile copy, and mcp_map.py --find answers 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 creates Claude/logs when 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-expert show 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/ and FabListing/ now live inside Content, in the folder that holds the product's assets (Content/<Product>/), not next to Content. fab_pack.py zip packs the whole project and no longer leaves FabListing out; check no longer blocks FabListing inside Content. docs --apply moves the folders an older version made next to Content into the new place (nothing overwritten, empty old folders removed). --product NAME chooses the folder when Content has several.
  • third-party.md is now third_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 Print inside 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 save WB_main.uasset as WB_Main.uasset, and Lore reported a name case mismatch.
  • The change log no longer lands in Claude/Claude/logs when a sub-agent runs from a deeper folder: verse_changes.py walks up to the folder that holds Claude/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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:47
  • Fab products. New skill fab-product and helper fab_pack.py (in your profile, never in the project). check tests the package against Epic's Fab rules (no .py, no Saved/Intermediate, no kit files, names with letters, digits and underscore, paths up to 140 characters counted from the top-level folder). docs creates Documentation/ (README and a SETTINGS.md generated from the @editable settings and Verse summaries) and FabListing/ (listing texts, third-party declaration, image list). zip writes a clean archive. grid puts 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; check warns when a part or the signature is missing. Fab products only; the generated SETTINGS.md reads the WHAT IT DOES text too.
  • Economy simulator. New skill economy-sim and helper economy_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 helper log_signals.py counts them, checks optional rules in Claude/docs/signals.json and reports expected signals that never appeared. qa-regression uses it.
  • Delivery document. Claude/hooks/delivery.py writes Claude/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-docs knows it.
  • Editor change record and "undo session". The call ledger now keeps the session and the date. /editor-changes lists what the agents wrote to the editor per session; editor_changes.py undo-plan prints 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 status and release; UEFN_KIT_LOCK=0 turns it off.
  • Recipes after a new UEFN. recipes_status.py --stale lists the recipes whose tool changed or was removed in a newer UEFN (from the saved map history); --retested stamps today.
  • Static check of Verse. verse_static.py finds the certain mistakes without the editor (unbalanced brackets, mixed tabs and spaces, @editable on a var, OnBegin without <override>, a class defined twice, missing imports). /verse-check runs it first. It is not a build.
  • Console proof. tool/shoot_consoles.py starts 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.cmd copies 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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 13:07
  • A way to see how many machines take each release. Every release now carries a kit.zip file 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.py prints 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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 12:09
  • Automatic profile update. Until now only the step "profile to project" was automatic; the step "GitHub to your profile" needed /kit-update --fetch or update-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 ~/.claude without 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 with UEFN_KIT_AUTOUPDATE=0 or an empty file ~/.claude/kit-auto-update.off.
  • The global hook updates itself too. kit_fetch.py now also installs user-level-hooks into ~/.claude/hooks. The version file is written last, so an interrupted update is retried.
  • One manual step, once: run /kit-update --fetch (or update-my-profile.cmd) after this release. It brings the new kit_sync.py and kit_fetch.py into 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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:55
  • 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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:39
  • /concept-card scores 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.py from 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 skill project-scoring, no new agent).
  • robots.txt and a sitemap badge: the manual publishes a robots.txt that points to its sitemap.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.ps1 and one message in mcp_lessons.py are now in English (the confirmation answer is y).

v1.108.0 — Ready for the jam

Choose a tag to compare

@github-actions github-actions released this 23 Oct 09:17
  • A new project asks: map or Fab product? Open a session from the Content folder of a UEFN project with no kit: for a map the kit shows a dry run (how many files), asks for a yes, copies project-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. New kit_install.py in 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 to verse-errors.jsonl. Old history lines are moved out of existing headers into Claude/docs/archive/ on the first session, code untouched. The reviewer now blocks a header with history or a change without a log line.
  • /concept-card scores an idea from 1 to 5 on six criteria (feasibility, scope, hook, showability, retention, originality) and gives a verdict out of 100.
  • /devlog builds Claude/docs/devlog.md day by day from the two logs; your "How AI was used" text is kept.
  • /jam-check checks 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_assets with no list and lets one with named assets pass; SelectAssets answers 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.ps1 and one message in mcp_lessons.py are now in English (the confirmation answer is y).

v1.107.6 — Safer calls to UEFN

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:34
  • 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_assets without a list of assets is refused by the lab guard: it would save every unsaved asset of the project. Name the assets, or pass allow_save_all: true on purpose.
  • Known crashers, with safe ways out. The get_lod_count entry now says what to read instead (the Triangles tag, static_materials, the bounding box, Nanite settings). New in the traps: EDIT COPY with 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 marked avoid.
  • 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 with kit:<run id> (uefn-level-devices).
  • Repo: a docs/adr folder with the decisions, a secret scan (gitleaks) on every push, and KIT-VERSION.tmp is no longer tracked.

v1.107.5 — Easier to find on Google

Choose a tag to compare

@github-actions github-actions released this 23 Oct 07:00
  • 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 in docs/manual/manual.json under seo.
  • 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 by tool/build_kit_stats.py; a test fails if the file is out of date.

v1.107.4 — Skills point to the proven recipes

Choose a tag to compare

@github-actions github-actions released this 22 Oct 22:47
  • 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-kit now points to uefn-ui-widgets and the recipes, and planner-docs reads the level devices through the level-devices recipes instead of an old tool name.