<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Alegauss — what every product shipped</title>
  <id>https://alegauss.com/changelog/</id>
  <link rel="alternate" href="https://alegauss.com/changelog/"/>
  <link rel="self" href="https://alegauss.com/changelog/feed.xml"/>
  <updated>2026-11-12T00:00:00Z</updated>
  <author><name>Alexandre Oliveira</name></author>
  <entry>
    <title>winwright · WW623: The fixture died once with 0xC0000409 right after a file was chosen in the Open dialog, and nothing kept why</title>
    <id>https://alegauss.com/changelog/winwright/#WW623</id>
    <link href="https://github.com/alegauss/winwright/commit/eefb201481554f26dff08608d3bae52d29e49bf4"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The fixture died once with 0xC0000409 right after a file was chosen in the Open dialog, and nothing kept why — A red guest run brings back each WER report written during it and prints what faulted, read by position so a localized guest still says it (design recorded in `tools/blame-gather.ps1`).</summary>
  </entry>
  <entry>
    <title>winwright · WW622: The README's -Carry example fence has prose after it on the same line, so GitHub renders what follows as code</title>
    <id>https://alegauss.com/changelog/winwright/#WW622</id>
    <link href="https://github.com/alegauss/winwright/commit/605bbaa262193d88ef7fd54d79d500430f0cd49e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The README's -Carry example fence has prose after it on the same line, so GitHub renders what follows as code — The -Carry example's fence stands alone again, its sentence joined the -Name paragraph, and ReadmeTests refuses any block closed by a fence with text after it.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1750: two branches that each added a block of their own are refused as prose both sides moved</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1750</id>
    <link href="https://github.com/alegauss/roadkeep/commit/a994c3f32e1687e3b6294b4addf066c8f8035115"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>two branches that each added a block of their own are refused as prose both sides moved — Block headings each side inserted under labels the other does not use join one frame verbatim, and their lines and sections land under them.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1749: syncing main into a feature is refused when main shipped a line the feature waits on</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1749</id>
    <link href="https://github.com/alegauss/roadkeep/commit/fb75a573b60255dc7cfa089ce24a547dfe8d3441"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>syncing main into a feature is refused when main shipped a line the feature waits on — The driver composes the other side's ledger and store from git's GITHEAD, resolves deps against them and re-derives the annotations the merge moved.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1748: the renumber the merge driver names derives a destination the other branch already spent</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1748</id>
    <link href="https://github.com/alegauss/roadkeep/commit/49b0e217cbb063617175445c87c9fe5238b3c0c2"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>the renumber the merge driver names derives a destination the other branch already spent — renumber --past REV derives past the ids that revision spent, read through git, and the driver's refusal names it.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1747: the prose merge refuses two branches that each shipped a decision</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1747</id>
    <link href="https://github.com/alegauss/roadkeep/commit/d7149c18cb3eb791a7b77a6b7a07c4360f41b344"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>the prose merge refuses two branches that each shipped a decision — The prose merge decides record lines by id with the roadmap's rule and keeps them out of the frame, so decisions merge like sections.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1746: declare leaves a new governed file out of a merge driver the project already wired</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1746</id>
    <link href="https://github.com/alegauss/roadkeep/commit/55c8f7e24ebe0bbd48b0f37521009445e5c716bc"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>declare leaves a new governed file out of a merge driver the project already wired — declare extends .gitattributes to the new file wherever a governed file already merges through the driver, and names the line.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1745: the prose merge refuses or misplaces sections when one branch added a block</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1745</id>
    <link href="https://github.com/alegauss/roadkeep/commit/0da6b39de6ef4a192a644da93d06322c482519a1"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>the prose merge refuses or misplaces sections when one branch added a block — The prose skeleton folds blank runs like the roadmap's, and a section arriving in a block-organised file goes to the end of its own block.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1744: no tested strategy keeps one backlog consistent across parallel long-lived branches</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1744</id>
    <link href="https://github.com/alegauss/roadkeep/commit/a244e9a76b6f310cd8e720deaed6004c22a1c17e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>no tested strategy keeps one backlog consistent across parallel long-lived branches — Twenty-one merge scenarios ran against the driver, seven defects were fixed as their own tasks, and the strategy is in the skill.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1743: merge refuses a branch that adds a block while the other only files lines under an existing one</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1743</id>
    <link href="https://github.com/alegauss/roadkeep/commit/38de24acde0ad571f0586aba20e96369036a8779"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>merge refuses a branch that adds a block while the other only files lines under an existing one — The merge skeleton folds blank-line runs, so a block added on one side merges with lines filed under an existing one on the other.</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1741: A vendored engine falls behind the checkout on the same machine, and nothing refreshes it until a session refuses a line</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1741</id>
    <link href="https://github.com/alegauss/roadkeep/commit/6b58c47c3d87e06736ee5ac0fe726df6d5d90714"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A vendored engine falls behind the checkout on the same machine, and nothing refreshes it until a session refuses a line — SessionStart re-vendors a copy older than the engine install --vendor would pick and names both versions (design recorded in `plugin/src/roadkeep/installing.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1740: install --vendor deletes the whole .roadkeep/ tree, so the capture reports kept under .roadkeep/reports are lost</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1740</id>
    <link href="https://github.com/alegauss/roadkeep/commit/e19a2690530a52999397fd3cb6beab32e79d2365"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>install --vendor deletes the whole .roadkeep/ tree, so the capture reports kept under .roadkeep/reports are lost — install --vendor keeps .roadkeep/reports through the engine swap, every capture byte-identical and counted (design recorded in `plugin/src/roadkeep/installing.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1739: A file that fails the grammar wholesale is blamed on its author, even when the running engine predates the format</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1739</id>
    <link href="https://github.com/alegauss/roadkeep/commit/c6404200a843b97b1c084918f225b4218380603b"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A file that fails the grammar wholesale is blamed on its author, even when the running engine predates the format — A wholesale grammar failure names this engine and the newer wired one, with the restart; an empty [grammar] reads as declared (design recorded in `plugin/src/roadkeep/linting.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1736: The distributed plugin only declares a Claude installation</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1736</id>
    <link href="https://github.com/alegauss/roadkeep/commit/138d16eaefce87beb66a48071e3ffdc1be86580a"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The distributed plugin only declares a Claude installation — The plugin ships a portable plugin.json and stdio mcp.json for Codex, stamped with one version; Codex reuses its hooks and marketplace, never twice (design recorded in `tests/test_plugin.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1735: Install, check and uninstall cannot manage Codex project wiring</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1735</id>
    <link href="https://github.com/alegauss/roadkeep/commit/6a49bb6c48948d7fd76a3fa59c215b337b52622c"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Install, check and uninstall cannot manage Codex project wiring — install --host codex wires .codex/hooks.json, the config.toml server and .agents/skills, names the /hooks review; check and uninstall follow (design recorded in `plugin/src/roadkeep/installing.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1734: Bundled workflows assume Claude command syntax and tool names</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1734</id>
    <link href="https://github.com/alegauss/roadkeep/commit/13da96e40b64df1efbba989cd0b779e174bd702e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Bundled workflows assume Claude command syntax and tool names — codex_skills renders the four commands as roadkeep-&lt;verb&gt; Codex skills with the real launcher and no Claude-only spelling; one main skill (design recorded in `plugin/src/roadkeep/installing.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1733: Engine discovery and installation diagnostics only recognize Claude wiring</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1733</id>
    <link href="https://github.com/alegauss/roadkeep/commit/5610c52688a153f380956fd163e55edefefd34b8"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Engine discovery and installation diagnostics only recognize Claude wiring — engines judges the enabled Codex copy beside the Claude plugin, names Codex's remedy and launcher, and a write pinned behind either is refused (design recorded in `plugin/src/roadkeep/installing.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1732: MCP startup does not establish the Codex workspace it governs</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1732</id>
    <link href="https://github.com/alegauss/roadkeep/commit/cff4545cea7c94ff00404d26d7b01b4f16039f5f"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>MCP startup does not establish the Codex workspace it governs — The MCP server binds to -C, then ROADKEEP_PROJECT, then cwd, says which on stderr, and refuses calls when started inside its own install (design recorded in `plugin/src/roadkeep/serving.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1731: Shell refusals return a decision that Codex does not support</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1731</id>
    <link href="https://github.com/alegauss/roadkeep/commit/864411d9776f9cab823b9cb321a2c842d60cdf2e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Shell refusals return a decision that Codex does not support — Under Codex (turn_id or guard --host codex) a governed shell mention is denied, not asked; staging, history and roadkeep stay allowed (design recorded in `plugin/src/roadkeep/guarding.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1730: The guard ignores Codex apply_patch calls that edit governed files</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1730</id>
    <link href="https://github.com/alegauss/roadkeep/commit/800519b036303099657d058dfcf2f2692f4047a4"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The guard ignores Codex apply_patch calls that edit governed files — The guard decodes every apply_patch target, both ends of a move included, and denies a governed one; undecodable input gets the mention test (design recorded in `plugin/src/roadkeep/guarding.py`).</summary>
  </entry>
  <entry>
    <title>roadkeep · RK1729: Both product sites run a prerender script of their own, and neither is registered with the design system</title>
    <id>https://alegauss.com/changelog/roadkeep/#RK1729</id>
    <link href="https://github.com/alegauss/roadkeep/commit/f17b592866e667508892147cd7e6818a689c779a"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Both product sites run a prerender script of their own, and neither is registered with the design system — The gui site prerenders through prerenderSite 2026.3.26, its Markdown link via headTags, output byte-identical; both sites registered (design recorded in `gui/site/scripts/prerender.mjs`).</summary>
  </entry>
  <entry>
    <title>Modelado · MOD135: Every task runs the whole UI suite, 16 minutes and now past its 20 minute hang limit, for one or two cases</title>
    <id>https://alegauss.com/changelog/modelado/#MOD135</id>
    <link href="https://github.com/alegauss/modelado/commit/b09a59d742f36921a2bd628b0a0469d63ff3cb19"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Every task runs the whole UI suite, 16 minutes and now past its 20 minute hang limit, for one or two cases — MODELADO_CASES=tag runs only the tagged UI cases on the guest (1 min, not 16), and the full suite fits a 35m hang limit.</summary>
  </entry>
  <entry>
    <title>Modelado · MOD97: About lists only the models already downloaded, so a missing or removed model vanishes instead of showing as missing</title>
    <id>https://alegauss.com/changelog/modelado/#MOD97</id>
    <link href="https://github.com/alegauss/modelado/commit/175488a37e8cf46bc61bdefae7a998eb4a856f07"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>About lists only the models already downloaded, so a missing or removed model vanishes instead of showing as missing — About lists every model the operations and sources use, a missing one with what uses it and a Download, and Download everything names its count and size.</summary>
  </entry>
  <entry>
    <title>Modelado · MOD96: About says a cloud key is stored yet shows an empty key box, without saying which key or where it came from</title>
    <id>https://alegauss.com/changelog/modelado/#MOD96</id>
    <link href="https://github.com/alegauss/modelado/commit/16a7cad93647b4954ca253b19c445ac0815d0013"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>About says a cloud key is stored yet shows an empty key box, without saying which key or where it came from — A key in MESHY_API_KEY or IDEOGRAM_API_KEY wins over a stored one, and About names its source and last four characters (design recorded in `src/Modelado.Cloud/CloudKeys.cs`).</summary>
  </entry>
  <entry>
    <title>Modelado · MOD95: Paid Ideogram images are lost: unchosen candidates are discarded, the chosen one lands in a folder the app hides</title>
    <id>https://alegauss.com/changelog/modelado/#MOD95</id>
    <link href="https://github.com/alegauss/modelado/commit/9dfc7ff27bcd23c6f55d8edd3cdb3136ea923935"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Paid Ideogram images are lost: unchosen candidates are discarded, the chosen one lands in a folder the app hides — Every Ideogram candidate is written to Pictures\Modelado under the object's name and seed as soon as the job returns, and the drop zone lists the latest with a link to the folder.</summary>
  </entry>
  <entry>
    <title>Modelado · MOD93: With the Ideogram panel open, its opening button stays on the drop zone and pressing it again seems to do nothing</title>
    <id>https://alegauss.com/changelog/modelado/#MOD93</id>
    <link href="https://github.com/alegauss/modelado/commit/481389f72596f5fce7d5f228e30e837b78a01b6b"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>With the Ideogram panel open, its opening button stays on the drop zone and pressing it again seems to do nothing — While its panel is open the Ideogram button reads Hide the photo generator and closes it, and opening the panel puts the typing in its object field.</summary>
  </entry>
  <entry>
    <title>Modelado · MOD86: The app forces en-US on every thread and has no way to show its interface in another language</title>
    <id>https://alegauss.com/changelog/modelado/#MOD86</id>
    <link href="https://github.com/alegauss/modelado/commit/bb95796aaebf3d2e53b7316dd3d9cec7059e43ad"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The app forces en-US on every thread and has no way to show its interface in another language — Text follows the language chosen in About, else Windows', where a translation ships; numbers stay en-US (design recorded in `src/Modelado.App/InterfaceLanguage.cs`).</summary>
  </entry>
  <entry>
    <title>Modelado · MOD85: Interface text is hard-coded in XAML and code-behind, with no English resource file for translations to fill</title>
    <id>https://alegauss.com/changelog/modelado/#MOD85</id>
    <link href="https://github.com/alegauss/modelado/commit/33623616016c65c37b544b371e6d275a5fe46c5d"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Interface text is hard-coded in XAML and code-behind, with no English resource file for translations to fill — Every string the window shows comes from Strings.resx; tests refuse a literal in XAML or code (design recorded in `tests/Modelado.Architecture.Tests/StringResourceTests.cs`).</summary>
  </entry>
  <entry>
    <title>FreeHarbor · DD349: The pins trail upstream: Moby and the CLI at 29.7.2, Compose 5.4.0, Buildx 0.36.1, Alpine 3.24.1</title>
    <id>https://alegauss.com/changelog/freeharbor/#DD349</id>
    <link href="https://github.com/alegauss/freeharbor/commit/b41495959c02d19b0d3931217fd19ec1f2c9b350"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The pins trail upstream: Moby and the CLI at 29.7.2, Compose 5.4.0, Buildx 0.36.1, Alpine 3.24.1 — Pins now Moby and CLI 29.9.3, Compose 5.7.1, Buildx 0.39.0, Alpine 3.24.4; a reinstall over a live machine came up on all of them with its 6 containers, 77 volumes and 37 images intact.</summary>
  </entry>
  <entry>
    <title>FreeHarbor · DD348: A reinstall keeps the distribution's Alpine packages at the release first imported, so its security patches never land</title>
    <id>https://alegauss.com/changelog/freeharbor/#DD348</id>
    <link href="https://github.com/alegauss/freeharbor/commit/5482e6e173c7283ea46240390c5996eae84fbe7b"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A reinstall keeps the distribution's Alpine packages at the release first imported, so its security patches never land — Provisioning runs apk upgrade before its adds, so a reinstall moves a kept distribution to its branch's latest patch; simulated here: 3.24.1 to 3.24.4, OpenSSL included.</summary>
  </entry>
  <entry>
    <title>FreeHarbor · DD347: Edit details offers 16 Segoe MDL2 glyphs, too few to describe what a container or project is</title>
    <id>https://alegauss.com/changelog/freeharbor/#DD347</id>
    <link href="https://github.com/alegauss/freeharbor/commit/e73e02aabb18e27818083f568f723989bb362a58"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Edit details offers 16 Segoe MDL2 glyphs, too few to describe what a container or project is — Tiles draw Fluent UI System Icons (MIT) bundled in the exe; Edit details searches its 2,935 concepts, labels name any of them, and saved names still draw.</summary>
  </entry>
  <entry>
    <title>askround · AR43: The site is not built to be read by assistants, and askround never measures whether they name askround itself</title>
    <id>https://alegauss.com/changelog/askround/#AR43</id>
    <link href="https://github.com/alegauss/askround/commit/d8e135c85fc3c952790261d001b8cab3716cbce6"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>The site is not built to be read by assistants, and askround never measures whether they name askround itself — The site ships a checked llms.txt and JSON-LD, and shows askround's own dated round: named by no assistant yet.</summary>
  </entry>
  <entry>
    <title>askround · AR42: There are no docs pages: install, a first session in Claude Code, the MCP tools and the CLI reference live nowhere</title>
    <id>https://alegauss.com/changelog/askround/#AR42</id>
    <link href="https://github.com/alegauss/askround/commit/3205896675466efd97279e8efab0d2312dac566d"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>There are no docs pages: install, a first session in Claude Code, the MCP tools and the CLI reference live nowhere — site/docs builds the docs at /askround/docs/, its MCP and CLI reference generated from the package.</summary>
  </entry>
  <entry>
    <title>askround · AR41: Nothing builds and deploys the site when it changes</title>
    <id>https://alegauss.com/changelog/askround/#AR41</id>
    <link href="https://github.com/alegauss/askround/commit/ad343d5b24741128ab3649a7f88d76ae5f2c83be"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Nothing builds and deploys the site when it changes — site.yml deploys the site to Pages; alegauss.github.io/askround/, its docs and llms.txt answer 200.</summary>
  </entry>
  <entry>
    <title>askround · AR40: askround has no public site: nowhere to see what a round reports, install it or read the docs</title>
    <id>https://alegauss.com/changelog/askround/#AR40</id>
    <link href="https://github.com/alegauss/askround/commit/6e4b9397c0eb79a6a90691988cf51cc33403d66e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>askround has no public site: nowhere to see what a round reports, install it or read the docs — site/ prerenders the page at /askround/ with a real recorded round; Lighthouse scores 100.</summary>
  </entry>
  <entry>
    <title>askround · AR38: askround is not wired into a project the way roadkeep is: one install that every clone and every surface gets</title>
    <id>https://alegauss.com/changelog/askround/#AR38</id>
    <link href="https://github.com/alegauss/askround/commit/32beff600dbdf543da8c34fa00dd33baf5434c3a"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>askround is not wired into a project the way roadkeep is: one install that every clone and every surface gets — The plugin, askround install and a vendored copy for the web wire every clone.</summary>
  </entry>
  <entry>
    <title>askround · AR37: Nothing measures how many tokens each MCP response costs the agent, so outputs grow unnoticed</title>
    <id>https://alegauss.com/changelog/askround/#AR37</id>
    <link href="https://github.com/alegauss/askround/commit/647a056c319e2ffae37561f59fcfa4b734781ba5"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Nothing measures how many tokens each MCP response costs the agent, so outputs grow unnoticed — Every MCP tool's response is counted on the recorded rounds against a budget in budgets/mcp-tokens.json, and askround_run returns one brief per question.</summary>
  </entry>
  <entry>
    <title>askround · AR36: An agent asking the same question again the same day pays for the same round twice</title>
    <id>https://alegauss.com/changelog/askround/#AR36</id>
    <link href="https://github.com/alegauss/askround/commit/7d06a8c493f36ff0d2006284b652fc1a47494f0b"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>An agent asking the same question again the same day pays for the same round twice — A question asked again the same way within the day returns the stored round with its age and calls no provider; --fresh asks anew, and a round with failures is asked again.</summary>
  </entry>
  <entry>
    <title>askround · AR35: A round takes minutes of searched calls, longer than an MCP call should block the agent</title>
    <id>https://alegauss.com/changelog/askround/#AR35</id>
    <link href="https://github.com/alegauss/askround/commit/bf4c5d68ac52399ca7c80bca53bdc55636b451aa"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A round takes minutes of searched calls, longer than an MCP call should block the agent — With background: true a round or set starts as a job and returns at once with its estimate; askround_job reads its progress and result, and each answer is kept as it lands.</summary>
  </entry>
  <entry>
    <title>askround · AR34: An agent could spend the user's API money on rounds without the user ever agreeing to the amount</title>
    <id>https://alegauss.com/changelog/askround/#AR34</id>
    <link href="https://github.com/alegauss/askround/commit/296d9fc1c6174047b249dedf131cf503ccc826f3"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>An agent could spend the user's API money on rounds without the user ever agreeing to the amount — The person sets a day and month budget in a config no tool writes; a run past it is refused before any call as an approval request, and spending comes with every paid result.</summary>
  </entry>
  <entry>
    <title>askround · AR33: A bad round is discovered after it is paid for: a leading question, personal data or a cost over budget</title>
    <id>https://alegauss.com/changelog/askround/#AR33</id>
    <link href="https://github.com/alegauss/askround/commit/f24f0092610a575b59f0fcde1103af5b8a8a53d3"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A bad round is discovered after it is paid for: a leading question, personal data or a cost over budget — Every pre-call check runs first and a refusal lists all problems with a code and its fix; askround explain covers each code, and MCP schemas carry the limits.</summary>
  </entry>
  <entry>
    <title>askround · AR32: Output is meant for a person to read, with no stable schema an agent or a script can rely on</title>
    <id>https://alegauss.com/changelog/askround/#AR32</id>
    <link href="https://github.com/alegauss/askround/commit/04c6e6150b14068b3d415554fe94433267ff0044"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Output is meant for a person to read, with no stable schema an agent or a script can rely on — Every command's JSON names a versioned schema published in schema/ and validated in tests; each fact carries its answer id and passage range; exit codes are documented.</summary>
  </entry>
  <entry>
    <title>askround · AR31: A round hands the agent every raw answer, so one check of a product spends tens of thousands of tokens of context</title>
    <id>https://alegauss.com/changelog/askround/#AR31</id>
    <link href="https://github.com/alegauss/askround/commit/760b955b0e13cb3bd50dbf29d1dc6e875523a05e"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A round hands the agent every raw answer, so one check of a product spends tens of thousands of tokens of context — Agents get a brief: a round in a few hundred tokens with answer ids on every fact; askround_answer returns one answer or just the passage around a quote.</summary>
  </entry>
  <entry>
    <title>askround · AR30: No written laws bind askround's design, so the agent-first rules can erode one feature at a time</title>
    <id>https://alegauss.com/changelog/askround/#AR30</id>
    <link href="https://github.com/alegauss/askround/commit/66076117eaf41f1af35da89897dbbe89f98a4826"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>No written laws bind askround's design, so the agent-first rules can erode one feature at a time — askround's six laws open IMPROVEMENTS.md as §0.1, from context is cost to the person sets the money, and the project skill says a rationale names the law it serves.</summary>
  </entry>
  <entry>
    <title>askround · AR29: Tests would call live APIs, costing money and breaking on every provider change</title>
    <id>https://alegauss.com/changelog/askround/#AR29</id>
    <link href="https://github.com/alegauss/askround/commit/d011e624710c3971ba1c30c6b601d79aef6507e3"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Tests would call live APIs, costing money and breaking on every provider change — The suite runs with no key and fails any network call; adapters are tested on a recorded live round, and ASKROUND_LIVE=1 runs each keyed adapter against its API.</summary>
  </entry>
  <entry>
    <title>askround · AR27: No Claude Code skill tells an agent when to use askround instead of asking the user to test a prompt</title>
    <id>https://alegauss.com/changelog/askround/#AR27</id>
    <link href="https://github.com/alegauss/askround/commit/47048f433ceaff41a7b242875a29619c9516c390"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>No Claude Code skill tells an agent when to use askround instead of asking the user to test a prompt — A skill tells an agent when to run askround itself (visibility, discovery, research), how to ask neutrally and within budget; a validated plugin installs it with the MCP server.</summary>
  </entry>
  <entry>
    <title>askround · AR26: Disagreements between assistants on a fact, such as a model's licence, are not flagged for a check at the source</title>
    <id>https://alegauss.com/changelog/askround/#AR26</id>
    <link href="https://github.com/alegauss/askround/commit/412d3b7c559508a4f7639ec24a2415d0bf6f8b10"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Disagreements between assistants on a fact, such as a model's licence, are not flagged for a check at the source — Research mode reports where the assistants disagree on a fact first, with both sides, their passages and the primary sources to settle it; one provider's own sources are not read.</summary>
  </entry>
  <entry>
    <title>askround · AR25: Researching a question across assistants means reading each answer and merging the sources by hand</title>
    <id>https://alegauss.com/changelog/askround/#AR25</id>
    <link href="https://github.com/alegauss/askround/commit/6f711a35c38083514f72651628de8149b79a3827"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>Researching a question across assistants means reading each answer and merging the sources by hand — askround research asks every provider with search, merges the answers' verified statements into claims ranked by provider support, with passages and sources primary first; also an MCP tool.</summary>
  </entry>
  <entry>
    <title>askround · AR24: An agent in Claude Code cannot ask other assistants mid-analysis; it has to stop and ask the user</title>
    <id>https://alegauss.com/changelog/askround/#AR24</id>
    <link href="https://github.com/alegauss/askround/commit/dc20d1ce06e24f1e45c5b9b3b0610f503a68e625"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>An agent in Claude Code cannot ask other assistants mid-analysis; it has to stop and ask the user — askround mcp serves ask, answer, run, report, diff and doctor over stdio with every refusal and the cost cap; a stdio client asked two providers and read an answer.</summary>
  </entry>
  <entry>
    <title>askround · AR23: A round cannot be exported to a dashboard or another project's data</title>
    <id>https://alegauss.com/changelog/askround/#AR23</id>
    <link href="https://github.com/alegauss/askround/commit/c2fb2edad3c0fb583d3279f302e03a42c9af137d"/>
    <updated>2026-11-12T00:00:00Z</updated>
    <summary>A round cannot be exported to a dashboard or another project's data — askround export writes a product's rows from the series per day, provider and question as CSV, JSON or a daily.json shape, and the README shows a weekly schedule on Windows and cron.</summary>
  </entry>
</feed>
