# FreeWilly changelog — alegauss

Every entry in FreeWilly's roadkeep ledger, dated by the commit that wrote it.

- 2026-10-15 · DD284: A silent install on a blocked machine exits 1 at the preflight page instead of 7, and /MERGETASKS is overwritten
- 2026-10-15 · DD282: A release never reaches winget-pkgs: the manifests stay in the repository unsubmitted
- 2026-10-15 · DD281: No winget manifest exists, so `winget install` cannot find FreeWilly
- 2026-09-16 · DD280: the filesystem check refuses on a distribution that will not start, which is the one whose filesystem needs it
- 2026-09-01 · DD279: the relay's dispose joins its accept thread for five seconds inside a teardown budget of four
- 2026-09-01 · DD278: six callers spell their own version of what a wsl call said, and none falls back to the exit code
- 2026-09-01 · DD277: the teardown lines two processes now write are both labelled stop, so nobody can tell which wrote one
- 2026-09-01 · DD276: a logoff on a machine that never provisioned an engine now writes a terminate failure
- 2026-09-01 · DD275: the terminate a session ending depends on is given 15 seconds inside a budget of 4
- 2026-09-01 · DD274: a child Windows refused to start reads in the journal as a tool that exited without a word
- 2026-09-01 · DD273: a teardown killed mid-way writes nothing, because the stop's one journal line is composed only after every step
- 2026-09-01 · DD272: the tray's backstop reads a quiet pipe as the host having taken the distribution down, and the pipe goes quiet first
- 2026-09-01 · DD271: a session-ending stop reaches the terminate that unmounts ext4 only after three other wsl.exe calls
- 2026-09-01 · DD270: a wsl.exe that fails to start during a shutdown opens a modal Windows error box and blocks until dismissed
- 2026-08-31 · DD269: a start can be asked for while the provisioner is rewriting the engine binaries, and nothing stops the two overlapping
- 2026-08-31 · DD267: the retry reads the launcher's exit code only, so a binary the daemon forks being busy is never tried again
- 2026-08-31 · DD266: the journal says wsl.exe exited without a word when the words are in the log the launch redirected them to
- 2026-08-31 · DD265: an upgrade that replaces dockerd while a start is asked for leaves the engine down until somebody asks again
- 2026-08-31 · DD264: nothing drives a client that stops reading without hanging up, so the drain deadline has never run
- 2026-08-31 · DD263: the relay's figures cannot say how many connections are open, so a channel it never released is invisible
- 2026-08-31 · DD262: docker logs -f, attach and the websocket endpoints are upgraded connections the live drill never drives
- 2026-08-31 · DD261: every process this product starts but one inherits the caller's working directory and holds a lock on it
- 2026-08-31 · DD260: the suite never drives an attach or an exec through the relay, so a broken teardown ships green
- 2026-08-31 · DD259: docker compose run, start -a and exec exit 1 with a broken pipe after the container has already succeeded
- 2026-08-31 · DD258: a follow across a compose recreate costs a second call, because it reports the replacement rather than following it
- 2026-08-31 · DD257: a follow is bound to a container id, so a compose recreate ends it and the session is told the log ended
- 2026-08-31 · DD256: a follow stopped by Ctrl+C reports the deadline it never reached, so the transcript names a wait that did not happen
- 2026-08-31 · DD255: a follow's exit code is decided at the surface and asserted a layer below it, so what a session branches on is untested
- 2026-08-31 · DD254: two help rows run past the terminal's width, so a folded summary lands in the column a verb name goes in
- 2026-08-31 · DD253: a follow re-splits its whole buffer per chunk, so `--follow --out` spends its deadline splitting rather than reading
- 2026-08-31 · DD252: the `--request` refusal states the opposite of the rule: a bare path is told it begins with a slash when it does not
- 2026-08-31 · DD251: `read logs` cannot follow, so watching a run live drops the session back to the docker CLI
- 2026-08-31 · DD250: `read verify --request` cannot assert a path is gone: a 404 is only ever a failure
- 2026-08-30 · DD249: the page slices the help by prefix, and the guard on that slice shares the assumption so it cannot catch it
- 2026-08-30 · DD248: the guard on the generated help matches verbs by prefix, so a verb that is a prefix of another passes unseen
- 2026-08-30 · DD247: the elevated route has no rehearsal, and it is the one that shipped broken twice against a real disk
- 2026-08-30 · DD246: the site says the compaction ends where Windows stops allowing it, which stopped being true, and names no verb for it
- 2026-08-30 · DD245: the two compaction sequences carry the same five steps twice, and the copy already inherited a wrong verb once
- 2026-08-30 · DD244: a compaction whose prune failed reports the prune as its outcome, so the withdrawn hand-back is never recognised
- 2026-08-30 · DD243: diskpart reports its progress to a log nobody reads, so the longest step of a compaction is one unchanging line
- 2026-08-30 · DD242: there is no compaction verb, so the one piece of work on this page a terminal cannot start
- 2026-08-30 · DD241: the driver cannot reach the compaction, so the one path with a UAC prompt is only ever exercised by hand
- 2026-08-30 · DD240: --drive-window never returns when no window is open, which is the machine it was written to serve
- 2026-08-30 · DD239: the panel says it is compacting and then nothing for minutes, so a working run looks the same as a hung one
- 2026-08-30 · DD238: diskpart cannot open the virtual disk because terminating the distribution leaves the WSL2 VM holding it
- 2026-08-30 · DD237: Windows has withdrawn the hand-back that needed no admin, so the Compact button now ends at a wall on every machine
- 2026-08-30 · DD236: an install over a running tray leaves the stop to Restart Manager, which cannot close a tray or its detached engine
- 2026-08-30 · DD235: the window's prune buttons run under the budget written for a list, so a big machine gets a timeout not a reclaim
- 2026-08-30 · DD234: the compaction drops the build cache under a twenty second budget, so the fuller the disk the surer that step fails
- 2026-08-29 · DD233: the site scrolls sideways on a phone: the nav measures 625px at a 390px viewport and nothing below 1180px sheds
- 2026-08-29 · DD232: the clean-room release fails on its last step, because two commands are folded into one line of YAML
- 2026-08-29 · DD231: the preflight calls this tool's own running engine an unidentified rival and tells the user to uninstall it first
- 2026-08-29 · DD230: the site's generated help has been missing three verbs since they shipped, and the check runs only in the safe direction
- 2026-08-29 · DD229: three places describe the Engine page's readings and all three describe the one from before the Compact button
- 2026-08-29 · DD228: a temporary distribution left by an interrupted run makes the next one refuse instead of taking it back
- 2026-08-29 · DD227: Check filesystem and Compact show no confirmation, so pressing either does nothing at all
- 2026-08-29 · DD226: the Compact plan asks somebody to stop Docker for a hand-back this machine has already refused once
- 2026-08-29 · DD225: the compaction measures the disk's length, which a sparse file keeps, so a hand-back that worked reports no bytes
- 2026-08-29 · DD224: the Compact button cannot succeed: WSL refuses --set-sparse outright and names the flag DD211 will not pass
- 2026-08-29 · DD223: prepared rescue images are never swept, so a manifest bump orphans one and an uninstall leaves it behind
- 2026-08-29 · DD222: the driving verb's check half has never been run, because the tray holding the slot was an older build
- 2026-08-29 · DD221: the compaction has never run against a real virtual disk, so the one path that hands blocks back is unexercised
- 2026-08-29 · DD220: the panel can call a filesystem clean while showing e2fsck's complaints about it directly underneath
- 2026-08-29 · DD219: the status pill is a typed width, so its text runs out the side on a machine whose fonts are not the author's
- 2026-08-29 · DD218: the social card still draws the square placeholder mark, so a shared link shows a logo the site no longer uses
- 2026-08-29 · DD217: the findings end with the version banner, because the two streams are concatenated rather than interleaved
- 2026-08-29 · DD216: every check fetches e2fsprogs over the network, so the first one is slow and an offline one refuses
- 2026-08-29 · DD215: the repair has never run against a dirty filesystem, so the one path that writes is unexercised
- 2026-08-29 · DD214: every test of the window reads the window's own source, so nothing catches a control that is wired wrong
- 2026-08-29 · DD213: a check run from the terminal is announced as an outage, because only the window tells the tray
- 2026-08-29 · DD212: the readings panel still says the distribution is not running after the check has started the engine again
- 2026-08-29 · DD211: the virtual disk keeps every gigabyte an image or a build cache ever used, and nothing on the page hands it back
- 2026-08-29 · DD210: the filesystem check stops Docker with no warning, reports its own stop as an outage, and leaves the engine down
- 2026-08-29 · DD209: unregistering the rescue while it is still running wedges every WSL operation on the machine
- 2026-08-29 · DD208: stopping a project leaves every service that was already down saying Stopping… forever, and the header with them
- 2026-08-29 · DD207: the filesystem check stops the engine without announcing it, so the live host revives it while e2fsck reads the disk
- 2026-08-29 · DD206: the site and llms.txt describe the Engine page as the journal alone, which it stopped being three commits ago
- 2026-08-29 · DD205: a check leaves the engine stopped, and the page that stopped it offers no way to start it again
- 2026-08-29 · DD204: the filesystem check is assembled twice, once for the verb and once for the window, so the two can drift apart
- 2026-08-29 · DD203: no run of the check has ever imported a rescue, terminated the engine and read a disk in sequence, from either surface
- 2026-08-29 · DD202: fourteen tests fail whenever a real FreeWilly is running, so the suite cannot go green on a machine that has one
- 2026-08-29 · DD201: the filesystem check refuses on every machine, because two commands it runs are not in a minirootfs
- 2026-08-29 · DD200: the start check reads a kernel log every distribution shares, so another disk's fault reads as this one's
- 2026-08-29 · DD199: nothing repairs a corrupt distribution filesystem, and the check cannot run against a mounted root
- 2026-08-29 · DD198: the agent surface has no reading for the health of WSL, the distribution or the disk
- 2026-08-29 · DD197: no single surface says what state WSL, the distribution and the engine are in
- 2026-08-29 · DD196: the distribution ships without e2fsprogs, so nothing on it can check or repair its own filesystem
- 2026-08-29 · DD194: A fixture capture of the builds page draws its times in the operator's zone, so two machines make two pictures
- 2026-08-29 · DD193: A build's start is printed in the daemon's UTC, so one begun at 09:49 on this machine shows on the page as 12:49
- 2026-08-29 · DD192: stdout and stderr share one buffer, so a journal line decodes half of what wsl.exe said as noise
- 2026-08-29 · DD191: nothing asks whether the distribution filesystem is clean, so a dirty one is found by the start that fails
- 2026-08-29 · DD190: a distribution whose root went read-only fails with getpwnam and a pointer to a log inside it
- 2026-08-29 · DD189: the daemon is killed rather than asked to stop, so no container gets a SIGTERM at a quit or a shutdown
- 2026-08-29 · DD188: the tray answers a session ending by spawning a stop process Windows kills before it reaches the distribution
- 2026-08-29 · DD187: the engine host is never told the session is ending, so nothing tears it down at a shutdown
- 2026-08-29 · DD185: the window, tray and CLI print em dashes the site is bound to quote
- 2026-08-25 · DD186: Every page ends without a pointer to any other tool the same author publishes
- 2026-08-25 · DD184: the published prose carries the mannerisms of generated text
- 2026-08-24 · DD183: The balloon fires the instant the engine stops answering, so a blip the host heals in ten seconds interrupts the user
- 2026-08-24 · DD182: A restart line names the attempt and not the outage, so how long the engine was away is a subtraction across two lines
- 2026-08-24 · DD181: The clause naming what is on the machine is measured once and reused, so a verdict quotes evidence half a minute old
- 2026-08-24 · DD180: A poll that could not connect names no relay figure, so a silence with no stumble in it is a dead end for the reader
- 2026-08-24 · DD179: The pipe accept loop returns without a word when a connection wait throws, so a dead relay reads as a healthy engine
- 2026-08-24 · DD178: the shaped surface figure moves with the calendar, so an exact gate goes red on a tree nobody touched
- 2026-08-24 · DD177: the site's tray section names a menu item DD171 removed, and the drawing draws it
- 2026-08-24 · DD176: About sets the daemon's newest API version beside the pinned one, so a working pin reads as a mismatch
- 2026-08-24 · DD175: The journal says the daemon is running when what was checked is the wsl.exe handle on this side
- 2026-08-24 · DD174: The first five quiet polls write nothing, so the journal cannot say when an outage began
- 2026-08-24 · DD173: A ping timeout reads the same whether the pipe never connected or the daemon never replied
- 2026-08-23 · DD172: The balloon announcing a release does nothing when clicked, so the offer is reachable only through the tray menu
- 2026-08-23 · DD171: The release check ships off, so an install learns a version exists only if somebody found the menu item first
- 2026-08-23 · DD170: A destination already ticked is shown by the caller's spelling, so a capture of volumes photographs the containers list
- 2026-08-23 · DD169: Whether a volume is anonymous is guessed from its name being 64 hex characters, not read off the daemon's label
- 2026-08-23 · DD168: An anonymous volume's name fills the column with 64 characters, where the app's own delete dialog shows 12
- 2026-08-23 · DD167: Nothing says a container's image left the store, so a digest row and an empty USED BY read as two lists disagreeing
- 2026-08-23 · DD166: A container's image column prints a full sha256 digest, so what is running is truncated mid-hash
- 2026-08-21 · DD165: The engine journal is a file nobody finds, so a user who watched the engine go offline has nothing to read
- 2026-08-21 · DD164: The host gives up after five attempts, so an engine that could not come back stays down until somebody clicks Start
- 2026-08-21 · DD163: The journal records the engine and nothing around it, so a suspend, a logoff and a killed host read as one silence
- 2026-08-21 · DD162: A start that fails inside wsl.exe blames the daemon log, and that log is empty because the daemon never ran
- 2026-08-19 · DD161: the release is created by CI on a tag rather than by the script that built it
- 2026-08-19 · DD160: the tray section on the site describes a menu the product no longer has
- 2026-08-19 · DD159: the counts on the site are typed where the source could state them
- 2026-08-19 · DD158: the hero sends a reader to GitHub before answering what the install touches
- 2026-08-19 · DD157: the site states counts the source has moved past
- 2026-08-19 · DD156: the landing page closes by asking for the .NET SDK
- 2026-08-19 · DD155: the nav wraps its own labels once the download button is in it
- 2026-08-19 · DD154: an installed copy never learns a newer version exists
- 2026-08-19 · DD153: the site has no way to get the thing it argues for
- 2026-08-19 · DD152: the release page offers a bare .exe beside the installer
- 2026-08-19 · DD151: the release gate fails on a checkout that has no vendored roadkeep engine
- 2026-08-18 · DD150: check.yml compiles the installer without publishing everything it packages, so every push fails on a missing file
- 2026-08-18 · DD149: The relay's accept loop waits on the thread pool, so work elsewhere in the process stalls every docker client at once
- 2026-08-18 · DD148: do compose up takes no arguments, so a project that names its own files cannot use the verb at all
- 2026-08-18 · DD147: A budget figure is typed rather than produced, so an exact gate can bind a number nobody measured
- 2026-08-18 · DD146: A successful install keeps no record of what it was cleared on, and the uninstall deletes a file nothing writes
- 2026-08-18 · DD145: A wizard page is checked by reading Pascal, so an overlap is found by somebody running an installer
- 2026-08-18 · DD143: do compose up reads only docker-compose.yml, so the agent verb brings up a different stack than the project defines
- 2026-08-18 · DD142: Every docker client fails together for a burst of tens of seconds, then all of them work again untouched
- 2026-08-18 · DD141: The docker CLI's failure names the pipe but not the one command that brings the engine back
- 2026-08-17 · DD144: The agent budget gate is red on a clean checkout: the shaped surface measures 812 tokens against 813 recorded
- 2026-08-17 · DD140: Clicking the tray icon does nothing, so the window is only reachable by right-clicking into a menu that lists it fourth
- 2026-08-17 · DD139: One named volume anywhere hides the bind mounts again, because only the empty state ever mentions them
- 2026-08-17 · DD138: A compose file that binds host folders leaves the volumes tab saying nothing has been created, which reads as lost data
- 2026-08-17 · DD137: Why the engine host stopped is printed to a hidden console, so a daemon that vanished leaves no evidence
- 2026-08-17 · DD136: Nothing brings the engine back when WSL2 stops under sleep, so a resumed machine is left with no daemon
- 2026-08-17 · DD135: The engine does not come up when FreeWilly does, so every session starts with the daemon stopped
- 2026-08-17 · DD134: A slow ping through the relay reads as a dead engine, so the host terminates a daemon that is working
- 2026-08-17 · DD133: The docker_engine named pipe disappears under a long build, then returns on its own
- 2026-08-17 · DD132: Turning the missing feature on is left to the user, so an install that could finish itself ends in a terminal
- 2026-08-17 · DD131: A machine without WSL2 gets a message box naming a command, which assumes the reader knows what WSL2 is
- 2026-08-17 · DD130: Setup writes every file and only then reads the machine, so a laptop without WSL2 gets an install it cannot use
- 2026-08-17 · DD129: A logoff, a shutdown or an End task never reaches the quit path, so the engine outlives the session
- 2026-08-17 · DD128: Quitting the tray leaves the engine and its WSL virtual machine running, so the memory stays held
- 2026-08-14 · DD127: A compose project's header never folds, because its hit target is arranged at nothing
- 2026-08-14 · DD126: The build details link buildx prints opens nothing, because it addresses a dashboard this machine does not have
- 2026-08-14 · DD125: A plain docker compose up cannot bind a Windows path, because the relay forwards the create request unchanged
- 2026-08-14 · DD124: A plain shell has no docker compose, because DOCKER_CONFIG is left for the user to set by hand
- 2026-08-14 · DD123: The Select Additional Tasks page draws its checkboxes clipped, so a tick is a fragment and an untick is a sliver
- 2026-08-14 · DD122: A provision fails on the step that unpacks the engine, on a machine where nothing is wrong but a slow first boot
- 2026-08-14 · DD121: Uninstalling while FreeWilly runs leaves the .exe and its root on disk, and never offers to stop the engine first
- 2026-08-14 · DD120: A start that cannot work leaves the tray breathing Starting until it is quit, and never says what went wrong
- 2026-08-14 · DD119: The installer finishes with no engine on the machine, so docker is not a command and the first start hangs
- 2026-08-14 · DD118: Nothing says how far behind the vendored engine is, so a fix filed upstream is one this project keeps not having
- 2026-08-14 · DD116: ROADKEEP_HOME arrives unexpanded, so every hook runs a sibling checkout rather than the engine this repo vendors
- 2026-08-14 · DD115: Committed agent configuration is rewritten by whatever session is open, and a trimmed entry ships inside another change
- 2026-08-14 · DD114: Restarting a project reaches its database last, so its dependents end up pointing at one that restarted after them
- 2026-08-14 · DD113: The fixture machine's compose project declares no dependencies, so the ordering DD107 added is never exercised by it
- 2026-08-14 · DD112: The set of folded-away projects is never narrowed, so a project brought back under its old name comes back folded
- 2026-08-14 · DD111: One row type describes a container and a project header, and nothing says which members a header answers
- 2026-08-14 · DD110: The containers page builds every row twice on each refresh, once only to read the project label off it
- 2026-08-14 · DD109: A build after an interrupted one cannot pick a project, and build.cmd clears the cause only afterwards
- 2026-08-14 · DD108: A project's row stops waiting when the last call was answered, not when its containers are down
- 2026-08-14 · DD107: A project is stopped one service at a time, so its row carries no verb and four clicks do what one should
- 2026-08-14 · DD106: Every container of a compose project is a peer row, so the project it belongs to is invisible
- 2026-08-14 · DD105: Nothing can be typed into the window: the WinForms pump drops every key press the WPF windows need
- 2026-08-14 · DD104: The water's second repeat is never drawn, so the drift empties the band from the right instead of moving it
- 2026-08-14 · DD103: Three tests fail whenever a tray is running, and the failure names an assertion rather than the tray
- 2026-08-14 · DD102: The installer script is compiled only by the release workflow, so a syntax error in it is found by the release
- 2026-08-14 · DD101: A bind source that looks like a distribution path and is not there stays unchecked, and it is the expensive failure
- 2026-08-14 · DD100: The test named for verb coverage checks a hand-written list, so a verb added to the router is asserted by nothing
- 2026-08-14 · DD99: The tray icon is always drawn at 16 pixels, so the per-monitor-DPI manifest buys a shell-scaled icon anyway
- 2026-08-14 · DD98: Nothing stops a read verb constructing a machine read inside itself and re-widening the token gate
- 2026-08-14 · DD97: Two features write one Run value: the installer's start-with-Windows and the engine's autostart, with different commands
- 2026-08-14 · DD96: A bind source only compose up can respell, so every other route to the daemon still mounts an empty directory
- 2026-08-14 · DD95: DD75 shipped its bind translation with no test, and left the two helpers it replaced behind as dead code
- 2026-08-14 · DD94: The site's own README lists eleven shipped tasks as work deliberately still to come
- 2026-08-14 · DD93: A binding law says the site must carry no measured number, and the site has published measured numbers since DD23 landed
- 2026-08-14 · DD92: The hero badge and a section of its own still say the project is in development with nothing to download
- 2026-08-14 · DD91: The site publishes a burndown of its own backlog: a board of every DD line, block progress bars and a next-task line
- 2026-08-14 · DD90: Reader-facing pages print internal task ids and a per-verb progress mark: DD badges, Block G, shipped or designed
- 2026-08-14 · DD89: The folder Pages actually serves is a hand-written copy of a page the site replaced, and no build regenerates it
- 2026-08-14 · DD88: npm run build is the site's only gate and no push ever runs it, so it stayed broken for 21 commits
- 2026-08-14 · DD87: The HTML shells kept the old name, so the served page title still said DockerDesk after the prose sweep
- 2026-08-14 · DD86: The old name survives as adoption code and an agent skill, for a product that has no installed base to adopt
- 2026-08-14 · DD85: The tray icon is three abstract rings, so the one surface always on screen carries none of the product mark
- 2026-08-14 · DD84: The published site serves no robots.txt and no sitemap.xml, and both answer 404 where the old folder had them
- 2026-08-14 · DD83: Nothing in the window names the build, the engine version behind it, or the API version the client speaks
- 2026-08-14 · DD82: Visible is set before the icon and tooltip exist, so Windows persists an empty tooltip for the tray entry
- 2026-08-14 · DD81: A second launch starts a second tray rather than raising the first, so two icons and two event streams run
- 2026-08-14 · DD80: Launching the executable shows nothing, and the shortcuts the installer writes carry no window verb
- 2026-08-14 · DD79: SessionLabel.For reads as the one place a label is stamped and nothing in the product stamps through it
- 2026-08-14 · DD78: The shaped token figure is banded because two of its inputs are read from the machine and not a fixture
- 2026-08-14 · DD76: docker inside a user WSL2 distribution reaches nothing, the toggle Docker Desktop calls WSL integration
- 2026-08-14 · DD75: A bind mount spelled the Windows way is sent to a Linux daemon that resolves only its own paths
- 2026-08-14 · DD74: No buildx is placed, so a Dockerfile with a cache mount or a heredoc cannot build on a clean install
- 2026-08-14 · DD73: docker compose is not a command on a clean install, and the do compose verb shells into exactly that
- 2026-08-14 · DD72: The session label key is the last name in the rename set that is state on a machine rather than spelling in a build
- 2026-08-14 · DD71: README and the site still name the product and the distribution as they were before the rename
- 2026-08-14 · DD70: A list that changed under a refresh and an engine that is still starting both arrive with no transition
- 2026-08-14 · DD69: The window carries none of the ocean the mark swims in, and its lowest strip is margin and then the frame
- 2026-08-14 · DD68: The console-width guard asserts on every rendered line, including the evidence lines DD52 must not wrap
- 2026-08-14 · DD67: No popup this product draws has ever been photographed, and the one path that could is not reachable
- 2026-08-14 · DD65: The budget file still says the agent surface does not exist, so the ratio it was built to prove is unrecorded
- 2026-08-14 · DD64: The test that gates every cost claim can go red for a reason that is not cost
- 2026-08-14 · DD59: The site is served from a base path containing the old name, so every published route moves at once
- 2026-08-13 · DD66: Every container row threw while being measured, so the list has drawn nothing since the pages were split
- 2026-08-13 · DD63: No verb on this surface creates anything, so the session stamp has nothing to stamp
- 2026-08-13 · DD62: The page for the agent's operator names only the interruption, so the surface reads as a saving in keystrokes
- 2026-08-13 · DD61: A screen copy of the window carries a blurred image of what is behind it, because the Fluent backdrop transmits it
- 2026-08-13 · DD60: Fifteen lines of governed prose name DockerDesk, and the guard denies the edit that would change them
- 2026-08-13 · DD58: The agent surface is invoked as dockerdesk and quoted that way in allowlist patterns matched literally
- 2026-08-13 · DD57: The installer identifies the product by an AppId with the old name inside it, so a rename installs a second one
- 2026-08-13 · DD56: The rival probe carries a rule that exists only because dockerdesk contains docker, and freewilly does not
- 2026-08-13 · DD55: The engine owns a WSL distribution and an app root both named dockerdesk, and a rename orphans them
- 2026-08-13 · DD54: Every project, namespace and assembly in the tree spells DockerDesk, so a rename starts at the solution file
- 2026-08-13 · DD53: The test guest cannot be returned to a clean snapshot, so the machine a check was measured on is gone once it drifts
- 2026-08-13 · DD52: The rival row prints its evidence as one 254-character line, and wrapping it on spaces splits a path
- 2026-08-13 · DD51: A claim on the site that has gone false is invisible until somebody reads the page against the product
- 2026-08-13 · DD50: The site is whatever was last committed to docs, so a broken page is public with no gate between
- 2026-08-13 · DD49: The og image points at an svg, so every share of this link renders a card with no image at all
- 2026-08-13 · DD48: Everything is one scroll, so a pillar gets a paragraph and there is no page to link at
- 2026-08-13 · DD47: A visitor weighing this against Docker Desktop, Rancher, Podman or a plain WSL2 daemon infers it from prose
- 2026-08-13 · DD46: Nobody configuring an agent can find the read and do split, or the one allowlist line that pays for it
- 2026-08-13 · DD45: Nothing on the site says who the operator is, so the positioning is still a GUI with no licence fee
- 2026-08-13 · DD44: The hero asserts what the tool is, so what it costs an agent per call is nowhere on the page
- 2026-08-13 · DD43: The status rows are typed into the page, and five of them are already wrong about what has shipped
- 2026-08-13 · DD42: A Claude-first product answers an agent only in hydrated markup, in the first thing anybody reads
- 2026-08-13 · DD41: A static host needs a file per route, and nothing checks that a route has a page or a page a title
- 2026-08-13 · DD40: The site is one hand-written page, dark-only, with every claim typed into the markup that displays it
- 2026-08-13 · DD39: The window opens at one fixed size on the primary screen every time and forgets which list was being read
- 2026-08-13 · DD38: No window can be drawn without a running daemon holding the containers the picture is meant to show
- 2026-08-13 · DD37: No heading sorts and no list filters, so finding one container among forty is done with the scrollbar
- 2026-08-13 · DD36: A row says its state in plain text and carries six always-visible captions, so a list of forty reads as a form
- 2026-08-13 · DD35: Three lists, the engine, the logs and the shell share one window class, so a fourth list grows the same two files
- 2026-08-13 · DD34: The two windows redeclare their chrome and one red is spelled four times, so a meaning has four definitions
- 2026-08-13 · DD33: A client with no shell cannot reach this surface at all, the CLI being the only head there is
- 2026-08-13 · DD32: An agent meeting this machine has no way to know the surface exists, so it reaches for docker
- 2026-08-13 · DD31: Every session re-derives the whole machine, because nothing states what moved since the last one
- 2026-08-13 · DD30: Nothing proves a service is reachable: a running container with a bound port can answer nothing
- 2026-08-13 · DD29: What an agent created is indistinguishable from what the user created, so cleanup is prune or nothing
- 2026-08-13 · DD28: Port is already allocated does not say what holds the port, and the answer is not in Docker at all
- 2026-08-13 · DD27: A container log is read unbounded, so a restart loop is paid for eight times in identical traces
- 2026-08-13 · DD26: Why a container is not answering is a join across five commands, and inspect is read for four fields
- 2026-08-13 · DD25: Learning what this machine is running costs five commands, and it repeats in full every session
- 2026-08-13 · DD24: Reading a container and deleting a volume are one allowlist decision, so every read costs an approval
- 2026-08-13 · DD23: Nothing measures what a Docker task costs an agent, so a cheaper surface is an unfalsifiable claim
- 2026-08-13 · DD22: Verifying a window copies the screen, so a capture twice photographed private content that was in front of it
- 2026-08-13 · DD21: The tray icon was not in the visible notification area while the tray was running, so the glance costs a click
- 2026-08-13 · DD20: A leftover docker context sends the CLI to another pipe, so docker reports no daemon while this engine is answering
- 2026-08-13 · DD19: Inside a VM the preflight calls virtualization enabled and clears an install that WSL2 then refuses to start
- 2026-08-13 · DD18: On a Windows 11 that never had WSL, the preflight spends 15 seconds saying it could not read the WSL2 row
- 2026-08-13 · DD16: The preflight reports no rival engine on a machine where Docker Desktop is installed per-user and `docker` is on PATH
- 2026-08-13 · DD15: Every release is built on one developer's machine, so the first download finds what that machine hid
- 2026-08-13 · DD14: There is nothing to hand a user: no executable, no installer, and no uninstall that respects their data
- 2026-08-12 · DD17: No clean Windows is reachable from here, so a red preflight row and a real install have never been executed
- 2026-08-12 · DD13: Nothing states the terms: a visitor cannot tell this is free at any headcount, and no NOTICE covers the bundled engine
- 2026-08-12 · DD12: Volumes are invisible: a user cannot see which exist, what they cost on disk, or which containers mount them
- 2026-08-12 · DD11: Tens of gigabytes of layers accumulate and nothing says which images are dangling or still in use
- 2026-08-12 · DD10: There is no way into a running container: no shell, so anything the log does not say is unreachable
- 2026-08-12 · DD9: A container that exits immediately shows a state and nothing about the cause, so the user leaves for a terminal
- 2026-08-12 · DD8: The list is read-only: a container cannot be started, stopped, restarted or removed from it
- 2026-08-12 · DD7: There is no window: a user cannot see which containers exist, their state, or the ports they publish
- 2026-08-12 · DD6: Answering is Docker up? costs opening a window, and starting the engine costs a command line
- 2026-08-12 · DD5: A container started in a terminal never appears in the window, and the list is only as fresh as the last refresh
- 2026-08-12 · DD4: Nothing in this project can ask the engine anything: no client for the Docker API over the Windows named pipe
- 2026-08-12 · DD3: Nothing starts or stops the engine, and a UI that reports running before the socket answers is lying
- 2026-08-12 · DD2: There is no unattended way to put a container engine on Windows without installing Docker Desktop
- 2026-08-12 · DD1: A Windows user cannot tell why Docker will not run here: WSL2 missing, virtualization off, or a rival engine
