Skip to content

Fixes from the first look at the Input tab: the Apply bar's empty notice and count, the Submit All box, and 'looks right' for an edited declared value - #156

Open
davidackerman wants to merge 3 commits into
mainfrom
apply-bar-fix
Open

davidackerman wants to merge 3 commits into
mainfrom
apply-bar-fix

Conversation

@davidackerman

@davidackerman davidackerman commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-up to #155, from the first look at the Input tab: an empty blue box with a ✕ sat under the Apply bar, with a blank line above it, an empty box sat at the bottom of the tab, and the model advice said the input normalization looks right after the Lambda expression had been edited.

  • The notice and the pending count are shown and hidden with the hidden attribute, but Bootstrap's d-flex and d-block on them set display with !important, which beats the attribute. The two elements take their display from dark.css now, and hide when empty.
  • The bottom box was the read-only textarea where Submit All printed the server's JSON. It is removed from both tabs. A chain the backend refuses is now said in the bar, in red, instead of a browser alert.
  • The advice compared the chain to the model's manifest by step names alone, so MinMax 0..255 then 2*x, edited from the declared 2*x-1, passed as looks right while feeding the model a [0, 2] input. Both backends now compare the declared values too (numbers by value, as the form spells them) and answer input_norm_differences beside input_norm_matches, which needs them empty. When the steps are the declared ones but a value is not, the banner says which (LambdaNormalizer expression is 2x, declared 2x-1) and offers Apply the declared values, which fills the Input list in for your Apply, as the suggestion's button did. A suggestion from a convention rather than a manifest is still matched by its steps alone: its x*2-1 is anyone's 2*x-1.

Both modes: the same template, stylesheet and script serve the Flask dashboard and the browser app, and the two backends are twins (serving/probe.py input_norm_differences, web/src/backend/routes/models.ts inputNormDifferences), each with one test. Page tests, the route tests of both modes, the typecheck and the browser render pass.

Also: the Run tab's offset and size fields no longer cut off their digits on a phone: each is at least eight characters wide, and the number spinner goes (step is "any"; the values come from the box drawn in the viewer).

https://claude.ai/code/session_01EzWMS4pG3tm1ZtvKULfSfW

… All log box

Bootstrap's d-flex and d-block set display with !important, which beats the
hidden attribute main.js toggles, so every Apply bar showed an empty blue
box with a ✕ and a blank line under it. The two elements get their display
from dark.css now. The read-only textarea at the bottom of the Input and
Postprocess tabs, where Submit All printed the server's JSON, is removed;
a chain the backend refuses is said in the bar instead of a browser alert.

Claude-Session: https://claude.ai/code/session_01EzWMS4pG3tm1ZtvKULfSfW
…l advice

The banner said "Input normalization looks right" for a model whose
manifest declares its steps as long as the configured steps were the
declared ones in order, whatever their values: MinMax 0..255 then 2*x,
edited from the declared 2*x-1, passed, and feeds the model a [0, 2]
input. Both backends now compare the declared values too (numbers by
value, as the form spells them; text trimmed and without regard to
case, so a form's "False" is JSON's false) and answer
`input_norm_differences`, one {step, param, configured, declared} per
value that is not the declared one, beside `input_norm_matches`, which
now needs them empty (serving/probe.py input_norm_differences,
web/src/backend/routes/models.ts inputNormDifferences). A suggestion
from a convention rather than a manifest is matched by its steps alone
as before: its x*2-1 is anyone's 2*x-1.

The banner, when the steps are the declared ones but a value is not,
says which ("LambdaNormalizer expression is 2*x, declared 2*x-1") and
offers "Apply the declared values", which fills the Input list in for
the user's Apply as the suggestion's button did; a dismissed notice
comes back for another value.

Claude-Session: https://claude.ai/code/session_01EzWMS4pG3tm1ZtvKULfSfW
@davidackerman davidackerman changed the title Hide the Apply bar's notice and count when empty, and drop the Submit All log box Fixes from the first look at the Input tab: the Apply bar's empty notice and count, the Submit All box, and 'looks right' for an edited declared value Oct 22, 2026
On a phone the three number fields of each row shrank with the column
until a six-digit nm value lost its last digits. Each is now at least
eight characters wide, and the spinner goes: step is "any", and the
values come from the box drawn in the viewer.

Claude-Session: https://claude.ai/code/session_01EzWMS4pG3tm1ZtvKULfSfW
@davidackerman
davidackerman marked this pull request as ready for review October 23, 2026 20:44

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant