Node-graph & dataflow programming
Build working programs in node/block editors such as LabVIEW, Node-RED and Unreal Blueprints.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- LabVIEW · Node-RED · Unreal Blueprints
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R02.08.01.01-T01 LabVIEW: Celsius-to-Fahrenheit array VI with stats outputs
Original instruction
In LabVIEW, create input/TempStats.vi. Front panel: control 'Celsius' (1D DBL array); indicators 'Fahrenheit' (1D DBL array), 'Mean F', 'Max F'. Use only native block-diagram nodes (no Formula Node, MathScript or Python Node). Save to output/TempStats.vi in LabVIEW 2024 format.
- Platforms
win· Windowsmac· macOS- Applications
- LabVIEW
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & click- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Grader calls the VI through VI Server with 25 hidden arrays and compares outputs to 1e-9. VI scripting inspection lists diagram node classes; Formula/MathScript/Python nodes score 0. VI Scripting is disabled in the agent's LabVIEW.ini and VI Server/LabVIEWCLI are closed to it, so diagrams can only be wired in the editor.
Proposed partial credit
20% VI opens unbroken; 30% control/indicator names and types exact; 50% hidden-array outputs correct.
R02.08.01.01-T02 LabVIEW: moving-average alarm VI with hysteresis from CSV
Original instruction
Open LabVIEW with fixtures/temps.csv (timestamp, °C at 10 Hz). Build output/TempAlarm.vi: read the CSV, compute a 10-sample moving average, drive an 'Alarm' LED on when the average exceeds 75 °C and off below 73 °C, and write rising/falling edge timestamps to output/alarms.csv (time,state). Use native nodes only.
- Platforms
win· Windowsmac· macOS- Applications
- LabVIEW
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader runs the VI via VI Server on fixtures/temps.csv and two hidden CSVs; alarms.csv edges must match the reference exactly. Diagram scan rejects Formula/MathScript/Python/System Exec nodes; a CSV written without running the VI is detected by re-running on hidden inputs.
Proposed partial credit
20% VI runs without error; 30% moving average matches on probe; 30% hysteresis edges exact; 20% hidden-file generalization.
R02.08.01.01-T03 LabVIEW: repair broken PID loop VI to reproduce reference step response
Original instruction
fixtures/PID_Loop.vi has a broken run arrow (type mismatch on the setpoint wire, unwired error terminal in the plant subVI, a coercion into an I32 loop counter). Fix it in LabVIEW without deleting the provided PID.vi or Plant.vi subVIs, then run a 0→50 setpoint step for 30 s at dt=0.1 s and save output/step.csv.
- Platforms
win· Windowsmac· macOS- Applications
- LabVIEW
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
VI Server opens output/PID_Loop.vi: not broken, subVI references to PID.vi and Plant.vi intact (VI hierarchy check), no coercion dots on listed wires (scripting query). step.csv RMSE vs reference trace < 0.05; grader re-runs the VI to confirm the CSV. VI Scripting is disabled in the agent's LabVIEW.ini and VI Server/LabVIEWCLI are closed to it, so diagrams can only be wired in the editor.
Proposed partial credit
40% VI unbroken with original subVIs; 20% no coercion on flagged wires; 40% step trace RMSE < 0.05.
R02.08.01.01-T04 LabVIEW: queued message handler data logger with Start/Pause/Stop
Original instruction
Build output/Logger/Main.vi in LabVIEW as a queued message handler: an event loop handles Start, Pause, Resume and Stop buttons; a consumer loop samples the provided SimSensor.vi every 100 ms and appends 'iso_time,value' rows to output/log.csv only while running. Stop must flush and close the file and both loops must exit without errors.
- Platforms
win· Windowsmac· macOS- Applications
- LabVIEW
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader drives the front panel via VI Server control writes (Start, wait 3 s, Pause 2 s, Resume 2 s, Stop) and checks: ~50 rows ±2, no rows during pause window, 100 ms spacing ±15 ms, VI stops with no error cluster set and no orphan queue refs. Diagram must contain an Event Structure and Dequeue node. VI Scripting is disabled in the agent's LabVIEW.ini and VI Server/LabVIEWCLI are closed to it, so diagrams can only be wired in the editor.
Proposed partial credit
20% architecture nodes present; 30% Start/Stop logging correct; 30% pause gap honoured; 20% clean shutdown with no error.
R02.08.01.01-T05 Node-RED: MQTT per-sensor 1-minute averages with range filter
Original instruction
Node-RED editor at http://localhost:1880, Mosquitto at localhost:1883. Build and deploy a flow that subscribes to plant/+/temp (numeric payload), drops readings outside -40..150, and every 60 s publishes JSON {id, avg, n} for each sensor seen to plant/<id>/avg with retain=false. Use core nodes; one Function node is allowed.
- Platforms
web· Any OS (web)- Applications
- Node-RED
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader publishes a hidden 3-minute sequence (4 sensors, out-of-range spikes) and checks published averages to 0.01 and counts exactly. flows.json is read-only to the agent user and the admin API needs a token held only by the browser session; deploys are attributed via the editor's audit log.
Proposed partial credit
20% subscribed and deployed; 30% filtering correct; 30% averages/n per window exact; 20% topic and JSON schema exact.
R02.08.01.01-T06 Node-RED: REST endpoint over SQLite with validation
Original instruction
In Node-RED, expose GET /api/orders?status=<s> returning a JSON array from fixtures/orders.db (table orders) sorted by created_at desc, and POST /api/orders that validates {sku:string, qty:int 1..99} and inserts a row, answering 201 with the new id or 400 with {error}. Use http in/out, sqlite and switch/change nodes; at most two Function nodes.
- Platforms
web· Any OS (web)- Applications
- Node-RED
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & droptype· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader runs 18 HTTP test cases (filters, sort, invalid bodies, boundary qty) against the deployed flow and checks status codes, bodies and orders.db rows. Flow file writes outside the editor are blocked (read-only mount); node count limits read from the deployed flow via the runtime.
Proposed partial credit
30% GET filter and sort; 40% POST validation and insert; 30% error codes and bodies.
R02.08.01.01-T07 Node-RED Dashboard 2.0: pump control page with gauge, chart and switch
Original instruction
Using @flowfuse/node-red-dashboard in Node-RED, create page 'Pump' with a gauge 'Pressure' (0–10 bar) and a 5-minute line chart fed from MQTT pump/pressure, plus a switch 'Pump' that publishes ON/OFF to pump/cmd and reflects pump/state. Pressure > 8 bar must force the switch OFF and publish OFF.
- Platforms
web· Any OS (web)- Applications
- Node-RED · Node-RED Dashboard
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Playwright opens /dashboard/pump: widgets present by label and range; grader injects pressure messages and reads gauge value and chart points from DOM; toggling the switch must publish to pump/cmd; injecting 8.5 bar must yield an OFF publish within 1 s and switch state OFF. The agent VM has no shell or HTTP client outside the browser and no access to flows.json; the Node-RED audit log must show the deploy came from the editor session.
Proposed partial credit
25% page and widgets present; 25% live gauge/chart data; 25% switch command and state echo; 25% overpressure interlock.
R02.08.01.01-T08 Node-RED: fix three bugs in imported weather-alert flow
Original instruction
Import fixtures/weather_alert.json into Node-RED. It should poll the mock API http://localhost:8080/wx every 5 min, alert on wind > 60 km/h to MQTT alerts/wind, and log errors. It currently reads msg.payload.wind instead of msg.payload.current.wind_kph, its delay node drops instead of rate-limits, and it has no Catch node. Fix all three in the editor and deploy.
- Platforms
web· Any OS (web)- Applications
- Node-RED
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader serves scripted responses (high wind, low wind, HTTP 500, burst) and checks alerts/wind messages, rate-limit behaviour (max 1 per minute, queued not dropped) and an error log entry from a Catch node. Deployed flow fetched from runtime; edits must arrive through the editor session.
Proposed partial credit
35% wind path fixed; 35% rate limiting correct; 30% errors caught and logged.
R02.08.01.01-T09 Node-RED: Modbus TCP polling subflow reused for three machines
Original instruction
Three Modbus TCP simulators run on ports 5020–5022. In Node-RED, build a subflow 'MachinePoll' with env vars HOST, PORT, NAME that reads holding registers 0–3 every second, scales reg0/10 to °C and reg1/100 to bar, and publishes {name,temp,pressure,status} to factory/<NAME>. Instantiate it three times (Press1, Press2, Lathe) and deploy.
- Platforms
web· Any OS (web)- Applications
- Node-RED · node-red-contrib-modbus
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & droptype· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Deployed flow must contain one subflow definition and three instances with distinct env values. Grader changes simulator registers and checks scaled values within 1 s on all three topics; a simulator outage must produce status 'offline' not a crash. The agent VM has no shell or HTTP client outside the browser and no access to flows.json; the Node-RED audit log must show the deploy came from the editor session.
Proposed partial credit
30% subflow with env vars; 30% three instances deployed; 25% scaling correct; 15% offline handling.
R02.08.01.01-T10 Unreal Blueprint: key-gated door with timeline rotation
Original instruction
Open fixtures/DoorDemo (UE 5.4). Create BP_KeyDoor: a trigger box that, when the player pawn with bool HasKey=true overlaps, rotates the door mesh 90° yaw over 1.5 s via a Timeline and plays the provided SFX_Open; without the key it shows the widget WBP_Locked for 2 s. Place one instance in map L_Test at the marked spot and save.
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Functional Test in L_Test (UnrealEditor-Cmd Automation) moves the pawn into the trigger with and without HasKey: door yaw 90±1° at t≥1.5 s, unchanged without key, widget visible. Commandlet: BP_KeyDoor has a Timeline node; no C++ or Python files added. Python Editor Script Plugin and Remote Control API are disabled and no shell runs UnrealEditor-Cmd, so nodes are placed only in the Blueprint editor.
Proposed partial credit
20% blueprint compiles and placed; 40% door opens with key at correct timing; 20% locked path; 20% SFX/widget wired.
R02.08.01.01-T11 Unreal Blueprint: health, damage and UMG health bar
Original instruction
In fixtures/ArenaDemo, add a Blueprint actor component BPC_Health (MaxHealth 100, ApplyDamage handling, OnDeath dispatcher) to BP_PlayerCharacter, make BP_SpikeTrap deal 15 damage per 0.5 s while overlapping, and bind a UMG progress bar in WBP_HUD to health percent. On death, disable input and show 'You died'.
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints · UMG
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Automation test spawns the player on the trap for 3.2 s and checks health=100−6×15=10, HUD bar percent 0.10±0.01, then 1 more tick to death: input disabled and text visible. Asset registry check: BPC_Health exists as Blueprint component; no new C++ classes or Python scripts in project.
Proposed partial credit
25% component with dispatcher; 25% damage cadence exact; 25% HUD binding; 25% death handling.
R02.08.01.01-T12 Unreal: patrol-and-chase AI with Behavior Tree and Blackboard
Original instruction
In fixtures/StealthDemo, make BP_Guard patrol waypoints WP_1..WP_4 in order, chase the player when AIPerception sight detects them within 800 uu, and return to the nearest waypoint 3 s after losing sight. Build it with BT_Guard, BB_Guard and Blueprint tasks/services only; the NavMesh is already baked.
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints · Behavior Tree editor
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Functional test: guard visits WP_1..4 in order within 1 m; when the scripted player enters sight at 700 uu the guard path-follows to within 150 uu; at 900 uu no chase; after sight loss returns to nearest waypoint within 3±0.5 s. Asset check: BT and BB exist, no C++/Python added. Python Editor Script Plugin and Remote Control API are disabled and no shell runs UnrealEditor-Cmd, so nodes are placed only in the Blueprint editor.
Proposed partial credit
25% ordered patrol; 30% sight-triggered chase with range respected; 25% lose-sight return; 20% asset structure correct.
R02.08.01.01-T13 Unreal Blueprint: fix spawner compile errors and Tick infinite loop
Original instruction
BP_Spawner in fixtures/SpawnDemo fails to compile (broken cast, missing variable) and, once compiled, freezes PIE because a While loop on Event Tick never ends. Fix it so it spawns exactly 10 BP_Coin actors at 0.5 s intervals at random points inside BoxSpawnArea, then stops. Keep the existing variables and graph structure where possible.
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickdrag· Drag & dropvis· Visual judgment- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Commandlet compiles all Blueprints (0 errors). Functional test runs 8 s PIE: exactly 10 coins, spawn timestamps 0.5±0.05 s apart, all inside box bounds, frame time never > 100 ms. Graph diff vs original: existing variables retained. Python Editor Script Plugin and Remote Control API are disabled and no shell runs UnrealEditor-Cmd, so nodes are placed only in the Blueprint editor.
Proposed partial credit
30% compiles; 30% no freeze; 25% count and timing exact; 15% spawn bounds.
R02.08.01.01-T14 Unreal: Blueprint Interface for three interactable actor types
Original instruction
In fixtures/InteractDemo, create BPI_Interact with Interact(Instigator) and GetPrompt() functions. Implement it on BP_Lever (toggles linked BP_Gate), BP_Pickup (adds to inventory array on the player and destroys self) and BP_NPC (shows dialog line 1, then 2, then loops). The player presses E to call Interact on the focused actor via line trace (200 uu).
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Automation test aims at each actor and presses E: gate toggles, pickup lands in inventory and is destroyed, NPC lines cycle, prompts match, nothing triggers beyond 200 uu. Asset scan: all three classes implement BPI_Interact; no concrete-class casts in the player graph. Python Editor Script Plugin and Remote Control API are disabled and no shell runs UnrealEditor-Cmd, so nodes are placed only in the Blueprint editor.
Proposed partial credit
20% interface defined and implemented; 20% line-trace focus; 40% three behaviours correct (lever/pickup/NPC); 20% range and no hard casts.
R02.08.01.01-T15 Max/MSP: 4-voice MIDI synth patch rendered to WAV
Original instruction
In Max 9, build output/poly.maxpat: a poly~ abstraction with 4 voices (saw oscillator, ADSR 10/100/0.6/300 ms, lowpass at 2 kHz) driven by MIDI from fixtures/test.mid via seq. Render the full file to output/render.wav (48 kHz) with sfrecord~. Do not use gen~ codebox or js objects.
- Platforms
mac· macOSwin· Windows- Applications
- Max/MSP
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & formsav· Audio/video over time- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Audio check: note onsets within 10 ms of MIDI note-ons, detected pitches correct for all 4 overlapping voices in chord sections, spectral rolloff consistent with 2 kHz LPF, release tails ~300 ms. Patch JSON scanned for poly~ voices=4 and no codebox/js; saves by a non-Max process are flagged by file-write audit.
Proposed partial credit
20% patch structure valid; 30% onsets/pitches; 25% polyphony 4 with no voice stealing errors; 25% envelope/filter character.
R02.08.01.01-T16 Pure Data: 16-step sequencer at 120 BPM recorded to file
Original instruction
In Pure Data (vanilla 0.55), build output/seq.pd: a 16-step sequencer at 120 BPM (16th notes) whose steps are toggles; set the pattern from fixtures/pattern.txt (1 = hit) by clicking toggles, trigger a 50 ms 880 Hz blip on hits, and record 8 s to output/seq.wav with writesf~. Do not use text/qlist objects to load the pattern.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Pure Data
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickav· Audio/video over time- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Audio onset detection: hits at 125 ms grid ±5 ms matching the 16-step pattern repeated 4 times; blip pitch 880±10 Hz. Patch parse: 16 toggle objects whose saved init states equal the pattern, no text/qlist/textfile loading. File-write audit flags .pd saved by non-Pd processes.
Proposed partial credit
20% patch loads and clocks; 30% tempo grid exact; 30% pattern correct; 20% recording length and pitch.
R02.08.01.01-T17 Control pair of T05: same MQTT averaging flow via Admin API
Original instruction
Control pair of T05. Without opening the Node-RED editor, write a flows.json implementing the same plant/+/temp range filter and 60 s per-sensor averages and deploy it with POST /flows using the admin token in env NR_TOKEN. Same broker and topics as T05.
- Platforms
lin· Linux- Applications
- Node-RED Admin API · curl
- Interfaces
api· API/SDKterm· Terminal- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
code· Code & commandstype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Same hidden MQTT sequence and checks as T05. Deployment must come through the admin API (audit log shows token client, not the editor). Reported as the API-route baseline for T05.
Proposed partial credit
20% flow deployed via API; 30% filtering; 30% averages/n exact; 20% topic/schema.
R02.08.01.01-T18 LabVIEW: tune PID Toolkit gains on simulated FOPDT plant to spec
Original instruction
fixtures/Plant_FOPDT.vi simulates K=2.5, τ=12 s, θ=3 s. In LabVIEW build output/TuneLoop.vi using the PID Toolkit PID.vi in a timed loop (dt=0.1 s) with output limits 0–100. Find gains giving overshoot < 5%, 2% settling < 40 s and no output saturation longer than 2 s for a 0→40 setpoint step. Write the gains to output/gains.json and the trace to output/trace.csv.
- Platforms
win· Windowsmac· macOS- Applications
- LabVIEW · PID and Fuzzy Logic Toolkit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP07· Simulation result- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader re-runs TuneLoop.vi via VI Server with gains from gains.json and recomputes overshoot, settling time and saturation duration from its own trace; trace.csv must match the re-run (RMSE < 0.1). Diagram must call PID.vi; no MathScript or Python nodes. VI Scripting is disabled in the agent's LabVIEW.ini and VI Server/LabVIEWCLI are closed to it, so diagrams can only be wired in the editor.
Proposed partial credit
20% loop runs with PID.vi; 30% overshoot below 5 pct; 30% settling < 40 s; 20% saturation constraint and file consistency.
R02.08.01.01-T19 Node-RED: order pipeline without Function nodes using split/join/JSONata
Original instruction
Mock shop posts batches of orders to Node-RED at POST /ingest ([{order_id, items:[{sku,qty,price}]}]). Build a flow with no Function nodes that splits orders, computes totals with JSONata in change nodes, routes totals > 500 to MQTT orders/review and others to orders/ok, rejoins per batch, and returns {count, review, ok, sum} as the HTTP response.
- Platforms
web· Any OS (web)- Applications
- Node-RED
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & droptype· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader posts 10 hidden batches (empty items, 1-item, 200-order batch, float rounding) and checks MQTT routing per order, response JSON exact (sum to 0.01), and that each batch rejoins correctly. Deployed flow inspected: zero Function nodes; split/join/switch present. The agent VM has no shell or HTTP client outside the browser and no access to flows.json; the Node-RED audit log must show the deploy came from the editor session.
Proposed partial credit
20% HTTP in/out wiring; 30% per-order totals and routing; 30% batch rejoin summary; 20% edge cases.
R02.08.01.01-T20 Unreal Blueprint: turret defense loop with targeting, firing and score
Original instruction
In fixtures/TurretDemo, build BP_Turret that finds the nearest BP_Enemy within 1500 uu every 0.2 s, rotates yaw toward it with RInterpTo (speed 5), fires BP_Projectile every 0.8 s only when aligned within 5°, and adds 10 score per kill to the GameMode. The game ends (WBP_GameOver shown, enemies stop) when 10 enemies reach the base trigger.
- Platforms
win· Windowsmac· macOS- Applications
- Unreal Engine · Unreal Blueprints
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Deterministic-seed functional test spawns scripted enemy waves: checks target choice (nearest), max fire rate 1/0.8 s, no shots when misaligned >5°, score = 10×kills from event log, game-over at 10 leaks. Asset scan: Blueprint-only, no C++/Python, GameMode score variable present.
Proposed partial credit
20% targeting nearest in range; 25% aim interpolation and alignment gate; 25% fire cadence and kills scored; 30% game-over loop.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.