You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
#1199 stage 14: validation refuses what submit and run used to refuse late #1215
Stage of #1199, filed by model claude-opus-5-5 via provider anthropic. Already
built on feat/long-form-media (merged 3f8ed222). The authoritative spec is the
plan (docs/superpowers/plans/2026-11-03-long-form-media.md, task named below) and
the design record. If they differ, the design record says what shipped.
Built:
An argument the server refuses at submit fails validate_workflow too (edbbe98).
An animatic past the 4 GiB frame budget is refused at validate when the boards are
assets (1bdd843).
The variables pass skips key conventions at every depth (285a27f; the drill's 'Image' object is not subscriptable).
Observe over MCP:validate_workflow with arguments that need submit-time
coercion and fail it. One example is a float variable declared with an int default and
given 0.5, the listen_scale case.
Acceptance intent:
Validate and submit agree on every argument.
An oversize animatic is refused at validate, naming the budget and a lower fps.
Verified by tester claude-opus-5-5 (provider anthropic) against lem develop @ 85bcd33, workspace bench.
There are no pending: #1215 cases in any regression-suite-*.md, so the acceptance was the stage's own "Observe over MCP" and its acceptance intent.
Validate and submit agree on an argument that needs coercion (templates/text-to-sound-effect):
steps: 0.5 (the variable is an integer by its default). validate_workflow returns valid:false at arguments.steps: "steps 0.5 would be realized as 0: this variable is typed integer by its default; declare its default as a float (e.g. 0.0) to accept fractional values". run_workflow with the same arguments refuses with the identical message. Nothing was queued.
steps: "abc". Validate and run_workflow both refuse with "Cannot convert variable 'steps' value 'abc' to type int". Nothing was queued.
steps: 20.0, duration: "3". Validate passes (valid:true), and checks both arguments, so a whole float and a numeric string still coerce.
An oversize animatic is refused at validate (templates/animatic, boards asset:bench/board_{1,2,3}.png at 960x544, soundtrack asset:bench/narrator.wav):
durations [100,100,100], fps 60. Validate refuses at steps[0].task.arguments.images: "18000 frames of 960x544 (26.3 GiB), over the 4 GiB in-memory frame budget, which holds 2741 frames ... lower 'fps' to 9 or below ...". The message names the budget and a lower fps.
Boundary check: fps 9 (2700 frames) gives valid:true. fps 10 (3000 frames, 4.4 GiB) is refused with the same message. The suggested fps really does fit.
fps 10 through run_workflow is refused with the identical message, so submit agrees.
durations [600,600,600], fps 60. Both the 600 s clip limit and the 36000-frame limit are reported at once.
The list variables (boards, durations) were accepted as written in every call.
I did not separately exercise the 'Image' object is not subscriptable variables-pass fix. No call this session reached that path.
Activity
dkackman commentedon Nov 7, 2026
Verified by tester
claude-opus-5-5(provideranthropic) against lem develop @ 85bcd33, workspacebench.There are no
pending: #1215cases in anyregression-suite-*.md, so the acceptance was the stage's own "Observe over MCP" and its acceptance intent.Validate and submit agree on an argument that needs coercion (
templates/text-to-sound-effect):steps: 0.5(the variable is an integer by its default).validate_workflowreturnsvalid:falseatarguments.steps: "steps 0.5 would be realized as 0: this variable is typed integer by its default; declare its default as a float (e.g. 0.0) to accept fractional values".run_workflowwith the same arguments refuses with the identical message. Nothing was queued.steps: "abc". Validate and run_workflow both refuse with "Cannot convert variable 'steps' value 'abc' to type int". Nothing was queued.steps: 20.0, duration: "3". Validate passes (valid:true), and checks both arguments, so a whole float and a numeric string still coerce.An oversize animatic is refused at validate (
templates/animatic, boardsasset:bench/board_{1,2,3}.pngat 960x544, soundtrackasset:bench/narrator.wav):durations [100,100,100],fps 60. Validate refuses atsteps[0].task.arguments.images: "18000 frames of 960x544 (26.3 GiB), over the 4 GiB in-memory frame budget, which holds 2741 frames ... lower 'fps' to 9 or below ...". The message names the budget and a lower fps.fps 9(2700 frames) givesvalid:true.fps 10(3000 frames, 4.4 GiB) is refused with the same message. The suggested fps really does fit.fps 10throughrun_workflowis refused with the identical message, so submit agrees.durations [600,600,600],fps 60. Both the 600 s clip limit and the 36000-frame limit are reported at once.The list variables (
boards,durations) were accepted as written in every call.I did not separately exercise the
'Image' object is not subscriptablevariables-pass fix. No call this session reached that path.