Repository navigation
fix(interface): collect the UI panel that was paid for, and read the library back - #79
Merged
Merged
Conversation
…library back
`POST /create-ui-asset` completes into `GET /v2/ui-assets/{ui_asset_id}`, whose
payload carries `image_url` and no bytes anywhere. `_decode_images` reads `image`
and `images`, so it found nothing: a panel charged at thirty generations wrote
its manifest, exited 0, and left no file. Reproduced live before the fix and
verified after it, on a panel already on the account.
- A completed job that yields no bytes is fetched from the address it gives, on
the waited-for path and on `job show`, which is what a timed-out call is told
to run.
- `ui` becomes a group: `ui new` generates as `ui` did, `ui list` names every
panel the account holds, and `ui show <id>` writes one out again. Both readers
are free, so a lost file is no longer thirty generations.
- `approve` no longer gates a call whose estimate reports a price of zero.
R6.1 asks agreement for a call that can cost money, and `character sheet` was
asking for --yes to download a file. An absent estimate still gates.
From the security review, both before merge:
- A path parameter carrying a separator or a dot segment is refused in
`_split_path`, for every route rather than at the third call site to remember
it: the request that carries it carries the bearer token.
- A download named by a provider response is refused past a ceiling far above
any asset this tool makes. The address is fetched with nobody asking, so how
much is read is not the provider's decision.
specs/provider-core R4.9, R3.6, R3.7; specs/interface-portrait-and-font R1.5,
R1.6, R1.7; specs/asset-workspace R6.5.
Verified with scc validate --checks --pr: 1723 passed, 58 skipped, coverage
95.28%, ruff check and format clean, artifacts clean.
protonspy
added a commit
that referenced
this pull request
Sep 21, 2026
`ui` became a group in PR #79 — `ui new` generates at Pro Tools pricing, `ui list` and `ui show` read the account back for nothing. The rename reached the command surface, the README and the wiki, and missed every place that names `ui` as a price: the harness block, the Pro Tools line in the entry skill, three lines of `references/costs.md`, and one in the interface skill. Those are what an agent reads before deciding whether to run something. Left alone they say the group costs twenty to forty generations a call, so the two commands that cost nothing are the ones an agent would avoid. A test now refuses a price quoted against a name nobody can type: every backticked command on a Pro Tools line has to be a leaf command of the CLI. Reverting one of the lines above fails it with "the harness block prices 'ui', which is not a command", which is what makes a third rename a red test rather than another page left behind. plans/the-cost-tables-name-ui-new.md. Verified with scc validate --checks --pr: 1725 passed, 58 skipped, coverage 95.28%, ruff check and format clean, artifacts clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.