# Agent Workbench changelog — alegauss

What the Agent Workbench products shipped, read from their roadkeep ledgers, newest first.

- 2026-10-19 · winwright · WW551: A case cannot drive the common Open or Save dialog, so choosing a file through it has no case
- 2026-10-19 · winwright · WW550: A case cannot drop a file from Explorer onto the application, so a drop zone has no case
- 2026-10-19 · winwright · WW549: A case first in its run cannot type: the window it launched never comes forward before any synthesised input
- 2026-10-19 · winwright · WW548: A case cannot claim a window covers its monitor, so a full-screen mode that leaves a border or a pixel uncovered passes
- 2026-10-19 · winwright · WW545: Typing into a terminal substitutes the last character for an earlier one about once a send in fifty, unrepaired
- 2026-10-19 · polyweave · PW565: A flattened sphere creases at its rim whatever its steps
- 2026-10-19 · polyweave · PW564: A bevelled or carved piece loses its colours, and every built mesh is written faceted
- 2026-10-19 · polyweave · PW563: A bevel in a fresh process crashes with No module named bmesh
- 2026-10-19 · polyweave · PW562: A sphere or torus declared with steps crashes the build with a TypeError
- 2026-10-19 · polyweave · PW561: A loop cut by sound.loop always opens on the track's first sample, even a dying beat
- 2026-10-19 · polyweave · PW560: sound.loop fails an Ogg loop's seam that sound.measure reads as ordinary
- 2026-10-19 · polyweave · PW559: A recorded track cannot become an editable music.toml score
- 2026-10-19 · polyweave · PW558: A voice over a recorded music track cannot be removed through polyweave
- 2026-10-19 · polyweave · PW557: the players kit copies no ui_accept or ui_cancel per player, so one player's menu cannot answer their own A and B alone
- 2026-10-19 · polyweave · PW556: a pad whose name hides its maker is named in the wrong buttons, and the player cannot say which family it is
- 2026-10-19 · polyweave · PW555: the remap kit offers no ready button maps, so a player changes a scheme only by rebinding each action
- 2026-10-19 · polyweave · PW554: a keyed timeline of a scene's own properties cannot be declared and built, only skeletal motion and camera shots
- 2026-10-19 · polyweave · PW553: game.open passes no arguments to the game, so a state the game opens by a flag is reached by calling private methods
- 2026-10-19 · polyweave · PW552: the prompts kit's follow keeps a lambda whose node was freed, and the next refresh calls it on a null instance
- 2026-10-19 · polyweave · PW551: a help line's {action} marks fill only as words; bbcode reads another mark, ignores the player and pad, and drops {move}
- 2026-10-19 · polyweave · PW550: a kit's copied records name the artefact inside polyweave's tree, so provenance.verify reports every kit icon missing
- 2026-10-19 · polyweave · PW549: an accepted take cannot be placed at the path the game loads, so it is copied by hand with a record naming its old path
- 2026-10-19 · polyweave · PW548: no measure reads a transparent picture's alpha edge, so a halo or a wide soft fringe round it passes every spec
- 2026-10-19 · polyweave · PW547: a sitting of alternatives for one slot lets a person accept every one, with no way to pick just one
- 2026-10-19 · polyweave · PW546: a dialogue kit proof ends with no signal under the full gate's load, so its broken-box case fails with nothing to read
- 2026-10-19 · polyweave · PW545: the prompts kit starts on the keyboard before any input, so a game launched with a pad in hand shows keys
- 2026-10-19 · polyweave · PW544: kit.install writes the remap kit's own file into polyweave.toml even where the game declares a STORE
- 2026-10-19 · polyweave · PW543: loading an older bindings file logs an engine error for every action the player never rebound
- 2026-10-19 · polyweave · PW542: the drawn pad screen shows raw action names, unfilled help and works only on ui_accept and ui_cancel
- 2026-10-19 · polyweave · PW541: the remap screen says nothing when it listens and rebuilds its rows on each bind, so a host game loses focus
- 2026-10-18 · winwright · WW547: A run's summary says "1 case that ran say what they catch", plural verb and pronoun on a single case
- 2026-10-18 · winwright · WW546: A case's type step drops the resend count, so a repaired substitution traces exactly like a clean send
- 2026-10-18 · roadkeep · RK1713: no writing verb can be asked what it would write, so an agent probes a replace with a real write
- 2026-10-18 · roadkeep · RK1712: show refuses a deferred id and only names where it sits, so a paused line's section is read by grep
- 2026-10-18 · roadkeep · RK1711: section add --role strategy refuses every anchor on a fresh init --strategy scaffold, and its remedy is the refused call
- 2026-10-18 · roadkeep · RK1710: non-goal list elides entries past twelve, and neither --json nor any flag prints the rest
- 2026-10-18 · roadkeep · RK1709: anchors --next names no free top-level when a family is not one numbering
- 2026-10-18 · polyweave · PW540: the remap screen rebinds on a store of its own, so co-op pads lose their narrowing and the shared store goes stale
- 2026-10-18 · polyweave · PW539: the players kit's proof expects a pad seated on its first join press, so a game declaring AUTO_JOIN false fails it
- 2026-10-18 · polyweave · PW538: the players kit's proof resets bindings through the game's declared store, wiping a player's own controls
- 2026-10-18 · polyweave · PW537: the remap kit's proof reads the screen's words in the game's language, so a pt-BR game with its own rows fails it
- 2026-10-18 · polyweave · PW536: a kit's older-file adoption is a fixed user:// path, so a game's tests overwrite kit fields to keep off the real file
- 2026-10-18 · polyweave · PW535: the options kit requires the menus and prompts kits, so a game wanting only the store ships 69 unused icons
- 2026-10-18 · polyweave · PW534: the saves kit's proof writes slots 1 and 2 by number, so a game declaring one slot fails it
- 2026-10-18 · polyweave · PW533: a cube's settled frame comes out as a permutation on some CPUs, so CI's cube test fails now and then
- 2026-10-18 · polyweave · PW532: kit.prove proves each fixture under its fixed project name, so a run that left state in its user:// fails the next proof
- 2026-10-18 · polyweave · PW531: [layers] on proposed for a project leaves off a layer its records and *.camera.toml show it using
- 2026-10-18 · polyweave · PW530: migrate leaves the imports it rewrote out of sorted order, so an adopter's import lint fails until they fix it by hand
- 2026-10-18 · polyweave · PW529: A polyweave.toml holding [voxels] reads as a geometry declaration, so a build of the tree refuses the project file
- 2026-10-18 · polyweave · PW525: the crash kit's mid-run kill races the game under load, so the full gate fails it and a lone run passes
- 2026-10-18 · polyweave · PW524: a Blender render test's xdist worker crashes under the full gate and passes when the file runs alone
- 2026-10-18 · polyweave · PW523: the saves kit's proof writes to one fixed user:// folder, so two proofs at once empty each other's slots
- 2026-10-18 · polyweave · PW522: Spinhold still runs on the flat package, so the 443 records and 30 verdicts most at stake in the break are unchecked
- 2026-10-18 · polyweave · PW521: Cottony still runs on the flat package and serves every layer, so the block is unproven on its first consumer
- 2026-10-18 · polyweave · PW520: A project's polyweave.toml and the Python importing polyweave break on the new layout, with nothing to carry them over
- 2026-10-18 · polyweave · PW519: An extension would hide the gap it fills, so a measure two games both wrote never becomes vocabulary
- 2026-10-18 · polyweave · PW372: a camera move cannot be declared as a clip or played by the game, so a cutscene's shots are numbers in the project
- 2026-10-18 · polyweave · PW371: Cottony keeps its own settings and save code where the kits provide them
- 2026-10-18 · polyweave · PW370: Starship keeps its own bindings and co-op code after the input kits were extracted from it
- 2026-10-17 · winwright · WW544: A case cannot press Alt alone, so a menu bar shown the Windows way by an Alt tap has no case
- 2026-10-17 · polyweave · PW528: Training a Scenario model and drawing from it each speak to Scenario from the picture layer
- 2026-10-17 · polyweave · PW527: The picture operations each send their own requests to Ideogram, and a charge sent but never delivered goes uncounted
- 2026-10-17 · polyweave · PW526: Meshy, Tripo and Rodin each carry their own purchase flow inside the mesh domain
- 2026-10-17 · polyweave · PW518: A project's own generator can run as a job but is no operation, so no agent finds it, describes it or searches over it
- 2026-10-17 · polyweave · PW517: A project cannot add a measure of its own, so a look only its game needs is a fork, a side script or a PW line
- 2026-10-17 · polyweave · PW516: Each paid service's HTTP client is written inside the domain that buys from it, so a new service copies a client
- 2026-10-17 · polyweave · PW515: A material's finish and fuzz are special-cased in the bake and in write, so a toon or metal look is a third case
- 2026-10-17 · polyweave · PW514: Voxels are a branch inside build.write and a voxel_* module beside each mesh one, so a third form has no place to go
- 2026-10-17 · polyweave · PW513: A geometry op is spread over BUILDS, FIELDS, review's elif chain and voxels' bounds and TRACED, four places per op
- 2026-10-17 · polyweave · PW512: Nothing proves a new layer can be added without editing the kernel, so the block's whole claim goes unchecked
- 2026-10-17 · polyweave · PW511: census.py classifies every public function in the package in one map, so each new helper module edits it
- 2026-10-17 · polyweave · PW510: The tool list's budget has been raised about 30 times in a row, so it stops no growth and names no layer that grew
- 2026-10-17 · polyweave · PW509: A project gets all 200 operations as tools whatever it makes, so a 2D game's agent loads Blender, voxel and rig tools
- 2026-10-17 · polyweave · PW508: Every table polyweave.toml may hold is declared in one config.py, so a layer's settings are kernel code
- 2026-10-17 · polyweave · PW507: Every error code lives in one 2,611-line codes.py, touched by 61 of the last 200 commits to the package
- 2026-10-17 · polyweave · PW506: A kernel or loop module can import a layer and both gates still pass, so the direction the layout states is a hope
- 2026-10-17 · polyweave · PW505: asset.brief, the review page and loop.report each import every medium they describe, so one new layer edits all three
- 2026-10-17 · polyweave · PW504: search.sweep can only draw a sample through render.bake, so picture, engine and preset each wrote a search of their own
- 2026-10-17 · polyweave · PW503: accept.check reaches into sound, vfx, video, flashes, render and reference_concept to measure a subject
- 2026-10-17 · polyweave · PW502: provenance names words, world, kits and driving and keeps a closed KINDS tuple, so the record format knows every layer
- 2026-10-17 · polyweave · PW501: A verdict's answer branches on each domain by name, so every layer a person judges edits verdict.py
- 2026-10-17 · polyweave · PW500: A layer exists only as a line in a hand-kept MODULES tuple, so nothing reads what it contributes or what it needs
- 2026-10-17 · polyweave · PW499: The package's 128 modules sit flat, so nothing says which are shared core and which belong to one layer
- 2026-10-17 · polyweave · PW498: union joins parts at a hard crease, so a body whose parts flow into each other, as moulded plastic, cannot be declared
- 2026-10-17 · polyweave · PW497: nothing measures how round a model's edges are, so a hard-edged piece in a soft-toy style reaches a person's sitting
- 2026-10-17 · polyweave · PW496: a mesh's squash and jiggle when struck cannot be declared, so a toy that wobbles on a hit is a game's own vertex shader
- 2026-10-17 · polyweave · PW494: a material declares only colour and roughness, so a glossy plastic with clear coat, sheen and soft rim cannot be asked
- 2026-10-17 · polyweave · PW493: a solid round on every edge, a capsule or a soft box, has no op, since plate rounds only its outline's corners in XY
- 2026-10-17 · polyweave · PW492: inflate swells one face of a drawing, so a body puffed round on both sides, as an inflatable toy is, cannot be declared
- 2026-10-17 · polyweave · PW491: four source files cite a line through a mis-encoded section sign, so a search for that citation misses them
- 2026-10-17 · polyweave · PW490: panel.capture films a panel only at its declared size, so how its shader draws it grown is never seen
- 2026-10-17 · polyweave · PW489: a capture whose shader failed to compile answers ok, so panel.capture hands back stills of the bare white rect
- 2026-10-17 · polyweave · PW488: a capture warns same settings, different picture when only a sprite the scene draws changed, as if it were noise
- 2026-10-17 · polyweave · PW487: engine.sweep keeps only the matched text of a hit, and a run its frame budget ended reads as one that never printed
- 2026-10-17 · polyweave · PW486: a sitting member that failed a bound shows no accept, so a person who likes the look cannot see how to approve it
- 2026-10-16 · winwright · WW543: A staged fixture file keeps its source's modification time, so a rule about how recent a file is fails a day later
- 2026-10-16 · winwright · WW542: A step's with cannot name the project's root, so a case types a checkout's path whole and is red on any other desk
- 2026-10-16 · winwright · WW540: A case cannot add an item to a selection or click with Ctrl or Shift held, so a list choosing several has no case
- 2026-10-16 · polyweave · PW485: the prompts kit's proof fails in a game running in another language, reading its translated key names as wrong
- 2026-10-16 · polyweave · PW484: the input kits fail to parse in a game that has its own class named Bindings, Spinhold among them
- 2026-10-16 · polyweave · PW483: measure.take reports luma only at p1, p50 and p99, so a spread between other percentiles cannot be measured
- 2026-10-16 · polyweave · PW482: voice.design sends a sample shorter than the service accepts and quote cannot price it from the entity
- 2026-10-16 · polyweave · PW481: verdict.sitting crashes on an old picture named HEAD:<path>, a form sound.sitting reads from git
- 2026-10-16 · polyweave · PW479: a panel cannot declare a lit bevel, an inner hairline, a moving sweep, inset brackets or a glow by state
- 2026-10-16 · polyweave · PW478: picture.vector answers a layer that drew nothing like any other, so an empty layer is found only by opening it
- 2026-10-16 · polyweave · PW477: a capture cannot be held to the concept painting it copies, region by region, at another size and aspect
- 2026-10-16 · polyweave · PW476: picture.vector draws one still, so a vector layer that loops through an attribute needs a hand-made source per frame
- 2026-10-16 · polyweave · PW475: port.run names a failed predicate but not what it measured, so the margin takes a second accept.check by hand
- 2026-10-16 · polyweave · PW474: a panel cannot carry a sewn seam, so a craft-styled game draws its stitches in its own code
- 2026-10-16 · polyweave · PW473: a panel's fill is one flat colour, so a felt or candy body with light, shade and grain cannot be declared
- 2026-10-16 · polyweave · PW472: a panel's outline is a box with cut corners, so a pill, a rounded card or a lobed banner cannot be declared
- 2026-10-16 · polyweave · PW471: engine.run_declared blames the frame budget when the script exited 1 on its own after printing why it failed
- 2026-10-15 · winwright · WW541: A catches that is the case name with a word added passes WW537 and runs unnamed, so the claim diff reads the name
- 2026-10-15 · winwright · WW539: A case cannot claim an element is drawn inside another, so a control clipped or laid out empty passes every case
- 2026-10-15 · winwright · WW538: A case cannot click with the middle or right button, so a tab closed by a middle click has no case
- 2026-10-15 · winwright · WW537: A case whose catches is only its own name again loads, so the claim diff between runs turns back into a diff of names
- 2026-10-15 · winwright · WW536: A fixture cannot open the window a drop lands in, so a drop onto Explorer needs code outside the case
- 2026-10-15 · winwright · WW535: A case cannot read a file on disk, so a drop onto Explorer cannot be checked by the case that made it
- 2026-10-15 · polyweave · PW470: nothing exports a pack and lists what landed in it, so a project parses Godot's pack table itself
- 2026-10-15 · polyweave · PW469: nothing boots a game's main scene and reads its shutdown, so a project's boot check starts Godot itself
- 2026-10-15 · polyweave · PW468: a mesh with two equal extents gets whatever frame the machine's SVD returns, so its orientation differs by CPU
- 2026-10-15 · polyweave · PW467: a game's engine scripts and the line each prints are a table in a Python driver the game writes itself
- 2026-10-15 · polyweave · PW466: Cottony's tests, boot check and export check still start Godot through subprocess, each with its own lookup
- 2026-10-15 · polyweave · PW465: an accept on the review page never reaches the loop ledger, so loop.pending reads an accepted family as still waiting
- 2026-10-15 · polyweave · PW464: sound.sitting takes no about, so a sound sitting cannot say what changed or what to listen for
- 2026-10-15 · polyweave · PW463: a review server that sees polyweave changed refuses the answer, and only the agent that started it can restart it
- 2026-10-15 · polyweave · PW462: scrub reads a painted mark as darker in luma only, so the hammer's soft purple seam on pink survives it
- 2026-10-15 · polyweave · PW461: a family search hands back a passing rig on every range's edge while one inside them has three times the headroom
- 2026-10-15 · polyweave · PW460: the review page lets a person accept a family whose spec fails, and the bound stays, so the bake refuses it
- 2026-10-15 · polyweave · PW459: the review page opens a sitting only by a click, so no URL shows the agent or the owner one sitting
- 2026-10-15 · polyweave · PW458: port.run builds a member's declaration beside the declaration, so in a game's tree the engine imports the mesh
- 2026-10-15 · polyweave · PW443: verdict.judge takes any sentence its caller passes as the person's, so an agent can write the verdict on its own work
- 2026-10-15 · polyweave · PW192: Cottony still makes its audio outside polyweave
- 2026-10-15 · polyweave · PW81: the two friends, their lean frames and the mascot take eleven constants apiece and nothing declares one
- 2026-10-15 · polyweave · PW80: the three booster objects each needed a scrub, a roll and a fill found by hand after the service returned them
- 2026-10-15 · polyweave · PW79: the three brand marks are exposed by a hand-found light and nothing states what the type should read as
- 2026-10-15 · polyweave · PW78: the two trays are framed by a world rectangle written out per asset so the game's grid lands on it
- 2026-10-15 · polyweave · PW59: nothing says how much of Cottony still does its own version of what the plugin does
- 2026-10-15 · polyweave · PW56: twelve GDScript runners in Cottony each start Godot their own way, and a settings mismatch is silent
- 2026-10-15 · polyweave · PW53: Cottony lights twelve models through fourteen constants of its own, and the search never sees one of them
- 2026-10-14 · winwright · WW534: Two runners driving one guest VM interleave their windows, and neither says another run holds the desk
- 2026-10-14 · winwright · WW533: A case renamed and a claim no case makes any more read alike between runs, so a lost claim is one rename among many
- 2026-10-14 · winwright · WW532: A case that ran last run and not this one goes unnoticed while the total holds, so a swap reads green
- 2026-10-14 · winwright · WW531: A process that outlived its case is named by pid alone, never by the case that launched it
- 2026-10-14 · winwright · WW530: A drag can only be released over an element of the window it started in, so a drop onto Explorer has no case
- 2026-10-14 · polyweave · PW457: a purchase ledger kept as a table by name reads as its bare names, so every total over it is wrong or crashes
- 2026-10-14 · polyweave · PW455: provenance.generated cannot tell what a Godot build ships, so it counts excluded files and buries art among code
- 2026-10-14 · polyweave · PW454: provenance.generated leaves an older purchase's service unnamed, so a disclosure cannot say which generator made a file
- 2026-10-14 · polyweave · PW453: picture.vector draws an SVG with live text as a PNG with no letters, and answers as if nothing were lost
- 2026-10-14 · polyweave · PW451: a canon holds approved pictures only, so a new 3D enemy is never checked against the meshes already approved beside it
