How This Demo Was Made

Created with Codex (GPT-6), from an instructor's brief. Three independent agents proposed alternatives, reviewed each other's prototypes, and revised them once. The instructor makes the final choice.

The Original Prompt

next we needo to work on demo3. The demo shall be a working neural network. using exactly the example we have seen on slides. use same visualization with the knobs. 10 positions each. with mouse over animations etc. showing actualy values. have training data. keep it very simple we can modify training data. etc. random initialize the weghts before training. Pedagogy is crucial and the most important aspect of the demo. Use three independent subagents and then le tthem review each others result. the whole thing should be a webpage that we have in the demo3 tab. after reviews are in make one round of imporvement and then show me the three potential demos and I will choose one.

Follow-up Requests

also save the prompt above and the review from others so students can see how the demo was created.
we can show the prompt on the page and say: Created with GPT 6 or whatevery you are called ...
would be nice to visualize training too. maybe with a cost that is minimized over training iterations :-)

What We Checked

The live network uses the nine weights, ten positions and three synthetic examples shown in the slides. Every displayed value is computed. Training tries one-knob changes and keeps the best improvement in mean squared error; this is discrete search.

All three reviewers found a useful limitation: Sunny's inputs are twice Rainbow's, so this network must predict twice the score. Their target scores do not have that relationship. A falling training cost does not guarantee a suitable model.

Independent Designs and Peer Reviews

A · Proposal

Download Markdown

# A: Follow One Prediction

Students should leave able to explain how one changed weight affects a prediction, how training compares predictions with known outcomes, and why a lower training error is not evidence that this model is a trustworthy score predictor.

The design keeps one central network and one selected student visible throughout. The interaction follows the slide's reading order: inputs, weighted connections, hidden sums, output, comparison with the known score. A compact training-data table runs along the bottom. No additional dashboard, charts, or decorative graphics compete with the network.

## Teaching Journey

1. Start with genuinely random integer weights and Apple selected. Ask students to predict what happens when one knob increases. The actual prediction can exceed 100; show it honestly.
2. Hover or keyboard-focus a knob. Animate a restrained pulse along its actual connection and reveal its numeric multiplication below the network. Changing the knob recomputes the three hidden activations, output, every table prediction, and error immediately. Ten tick positions map directly to weights 1–10.
3. Select Rainbow and Sunny in turn. The same nine weights apply to every student. The three editable data rows remain visible so the evidence cannot disappear behind the demonstration.
4. Press “One Improvement” to show a single accepted weight change and its effect on mean squared error. Press “Train” to repeat automatically. “Pause” stops between updates. A short status sentence identifies which weight changed and the before/after error.
5. When no single-knob improvement remains, say exactly that. Show remaining errors and inspect the proportional Rainbow/Sunny pair. Ask whether these predictions justify using this model to assess a student.

This replaces an explanation of the forward calculation and the training loop; it should not become an additional sequence of slides.

## Numerical Contract Proposed

Use the exact visible data: Apple Cheung (sleep 3, study 5, score 75), Rainbow Wong (5, 1, 82), Sunny Choi (10, 2, 93).

Use nine integer weights in 1–10, two inputs, three ReLU hidden units and one linear output, with no biases, score clipping, intercept, scaling, or label-dependent output. Index weights as sleep→h1, study→h1, sleep→h2, study→h2, sleep→h3, study→h3, h1→output, h2→output, h3→output.

For hidden unit j: h[j] = max(0, sleep*w[2*j] + study*w[2*j+1]); prediction = sum(h[j]*w[j+6]). All displayed activations and predictions are those actual calculations. Ten positions are the actual values, preserving the slide's 8 × 6 = 48 example.

Proposed training: evaluate all 81 alternative single-knob settings against mean squared error over all current rows; accept the best strict improvement, resolving ties by weight index then ascending setting. Repeat until no single-knob improvement exists. Label this “Discrete search”, not backpropagation. A local stop does not establish a global optimum. Keep “Randomize” available to start another search. A later lesson can motivate backpropagation for continuous weights without pretending this discrete demonstration performs it.

The exact model cannot fit these rows perfectly. With these positive inputs and weights, ReLU never switches off and the function reduces to A*sleep+B*study. Sunny's input is exactly twice Rainbow's, so its prediction must be twice Rainbow's for every knob setting, yet 93 is not twice 82. Even allowing arbitrary nonnegative coefficients cannot remove this inconsistency. Preserve this as observable evidence rather than quietly adding parameters. Editing rows changes the dataset, not the model.

## Layout and Visual Contract

1280 × 720 white canvas. A 44px title at the upper left, compact text buttons at upper right. Network uses the original slide's black straight edges, hollow sum nodes, red gradient ten-tick knob symbol, and black pointer. Preserve proportions; fit the familiar network into the centre rather than enlarge the knobs. Actual values sit adjacent to nodes and connections. The active calculation occupies a single line under the network. A three-row, lightly ruled table occupies the lower strip with editable sleep, study, and known score, plus calculated prediction and signed difference.

Hover only animates the inspected connection. A changed knob pointer turns to its discrete tick; the associated computed values update together. Provide static reduced-motion behavior, keyboard arrow controls, numeric setting labels and visible focus. Do not introduce a new accent palette. Black outlines and text identify selected rows; red remains the existing knob language.

## Review Criteria

Can a student trace one multiplication without reading all nine weights? Can the instructor edit any row and immediately see honest recomputation? Does training visibly change the same nine knobs used for manual predictions? Are local-search stopping and irreducible error distinct? Does the prototype retain the slide's recognisable network proportions and red knob geometry?

## Source Basis

Reviewed curriculum_design.md and lecture_delivery.md; actual lec_02.qmd training strip at lines 914–919, the ten-position enumeration following Demo 3, the 8 × 6 = 48 computation, and network-copy SVG at lines 570–607. The prototype will embed that source knob's exact gradient, tick and pointer geometry. No course source, site checkout, or published artefact is changed.

## Shared Contract and Initial Prototype

The standalone HTML implements the common numeric contract, including a live mean-squared-error plot with iteration-zero baseline, one plotted point per accepted update, and a fresh baseline after manual weights or data changes. Invalid data remains visibly invalid and blocks training. A timer pauses between accepted updates and is bounded at 1000 improvements. Pointer positions and computed numbers change atomically; only the inspected edge animates.

The plot occupies unused space above the output, keeping the network and table in place. Window demoAPI exposes getState, predict, cost, bestStep, setWeights, setData, step, randomize and stop. Data rows are objects {name, x:[sleep,study], y:knownScore}; getState includes weights, data, history:[{iteration,cost}], iteration, selected, running and valid. bestStep returns null or {index,value,cost,weights}.

Headless Chrome arithmetic checks passed for all-one weights predicting24 for (3,5), all-ten weights predicting1500 for (3,2), and the achievable minimum configuration predicting72 for Apple. Every recorded accepted step decreased cost. Initial render has no NaN/undefined labels or vertical overflow at1280×720.
A · Reviews

Download Markdown

# Peer Reviews by Designer A

## Design B: One Network, Three Students

Reviewed b_proposal.md, the standalone source, and the supplied 1280 × 720 initial screenshot. The forward calculation, interleaved weight order, MSE, strict best-coordinate search, data bounds, and history resets match the shared contract. The table makes the distinction between aggregate error and each student's outcome particularly clear. The “closer / further” feedback gives the learning question observable evidence.

- **Medium: Hover/focus does not animate the inspected connection.** The knob handlers only display a multiplication tooltip; animation is available through the separate Trace Values button and sends several values at once. Add a restrained signal or dashed-path motion on the hovered/focused edge, with a complete static reduced-motion fallback. This directly satisfies the requested interaction and reduces the need to explain six moving products simultaneously.
- **Medium: Selecting a student discards an unfinished invalid edit.** rowMarkup rebuilds all inputs from the last valid data whenever a name is selected. A blank or out-of-range field therefore disappears, while editInvalid can remain true and leave training disabled even though every displayed field looks valid. Preserve the input draft across selection, or disable selection until fields are valid; training validity must describe the visible table.
- **Low: The numeric plot can become hard to read at large costs.** The maximum label sits in only 61 pixels before the chart axis, while values are formatted with separators and full decimal precision. Use compact notation for the axis maximum and leave the full cost in the existing MSE readout. Keep an exact value in a tooltip or accessible description.
- **Low: The active student's red text introduces an additional colour meaning.** The slide convention uses black labels and red knobs. A black selection rule or bold name would preserve that convention and make the active row distinguishable without colour.

Keep the table-led layout and explicit per-student comparison. Fix the invalid-edit selection state and the missing hover motion before adding any further controls.

## Design C: Predict, Train, Check

Reviewed c_proposal.md and the standalone source. The three questions create a useful sequence from mechanism to evidence to limits. The forward computation and interleaved weight order are correct, and invalid data clears the cost history and blocks training. The doubled-input check responds to edited data rather than always repeating the default conclusion.

- **High: The composition does not budget its content for 720 pixels.** The header, question, 403-pixel network/control stack, three-row table, check text and footer are stacked with additional margins. Their declared dimensions exceed the target viewport substantially; `.page` supplies only a minimum height and no fitting mechanism. Confirm in a 1280 × 720 browser and compact or rearrange the lower content so the cost, data and check remain visible together. Avoid shrinking all text to solve this.
- **Medium: The knobs are redrawn rather than reused exactly.** The source changes rim radius from22 to25, inner radius18.5 to21, removes the rim gradient/shadow/highlight, and changes tick geometry from M0−19 V−14 to M0−20 V−16. Embed the original slide symbol unchanged and place it at the desired coordinates; keep all ten actual positions.
- **Medium: Pointer animation and numerical values show different states during a weight update.** `.pointer` transitions over180ms while weights, hidden values, predictions and error change immediately. Use an atomic pointer update and animate the inspected connection, or commit the complete numeric snapshot together at a defined point. In-between pointer positions must not appear to represent a different calculated weight.
- **Medium: The creation prompt is absent from the page.** The footer includes a history link, but the requested collapsed prompt excerpt is missing. Add the common prompt details and the “Prompt & Reviews” link supplied during integration.
- **Low: The typography and accent treatment depart from the source style.** Georgia body text, filled red stage buttons, tinted selection and grey explanation box introduce a new presentation system. Reuse the slide's sans-serif typography and black selection indicators while retaining the three purposeful questions.

Keep the explicit final check and the coherent staged questions. Address the projection layout and visual fidelity before adding more teaching copy.
A · Improvements

Download Markdown

# A: One Improvement Round

Created with Codex (GPT-6)

The revised prototype keeps the central network, separate sum symbols and numeric activations, and the lower evidence table. Changes respond to the independent B/C reviews and the root's consistency checks.

- Invalid or incomplete data now immediately clears training history, hides the curve, and replaces network predictions, activations, table predictions, differences and MSE with an unavailable state. Training remains blocked until every field is valid. Recovery begins at iteration zero using the current weights.
- The initial cost axis spans 0–1 and contains only the real iteration-zero point. Axis text, node values and the prediction are modestly larger. The network body retains the slide's proportions and exact red ten-tick symbol; a simple black indicator from the slide family exposes the ticks more clearly.
- A local-search stop now reveals a separate question in the calculation line: Sunny's doubled inputs force the displayed doubled prediction, so do the known scores follow? If edits remove that relationship, the question asks what the training result establishes about a new student. The stop status still makes no global-optimum claim.
- Restore Slide Examples recovers the original three rows, retains current weights and starts a fresh error history.
- setData now requires exactly three valid rows. API weight/data changes update the status text. Both search implementations use strict cost comparison, including editable decimal cases, rather than an epsilon threshold.
- Pointer and numerical updates remain atomic; hover/focus animates the inspected edge. No additional pipeline animation or new decorative graphics were introduced.

Headless Chrome verification at1280×720 passed: all-one weights yield24 for(3,5); all-ten weights yield1500 for(3,2); the known attainable configuration yields72 for Apple; every accepted update lowers cost. Invalid-data checks confirmed empty history, unavailable prediction/MSE, hidden curve and disabled training. Restore recovers a valid single baseline; one-row API input is rejected; the model-check question appears after stopping. The final page has no vertical overflow or NaN/undefined display labels.

The original prompt text and final history backlink are supplied by the root during integration. Initial and revised versions remain separate review artefacts; no course source or deployed site was edited by this designer.
B · Proposal

Download Markdown

# Design B: One Network, Three Students

The teaching question is: **Does improving the average help every student?**

The exact visible slide examples remain Apple Cheung (3 h sleep, 5 h study, score 75), Rainbow Wong (5, 1, 82), and Sunny Choi (10, 2, 93). The same two-input, three-hidden-node, one-output network dominates the left of a white 1280 × 720 canvas. Nine red knobs carry ten positions each. A compact table on the right keeps all three predictions and individual errors visible while one selected student's values travel through the network. Selecting another row changes the inspected example without changing the weights.

## The Learning Sequence

1. Start with visibly random knob positions. Predict which students' predictions change if one knob turns. Turn it and observe all three rows update.
2. Trace one student's inputs: input × weight, hidden weighted sum and ReLU output, then final weighted sum. Hover or keyboard focus reveals exact numbers; the signal animation follows the same computed values.
3. Press **Improve One Step**. Try every value of every single knob, retain the change that lowers mean squared error the most, and display which student's errors increased and decreased. Press **Keep Improving** to repeat until no single-knob change helps. Label the method **Discrete search**, with **Backpropagation comes next** as a brief bridge.
4. Keep Rainbow and Sunny visible together. Sunny's inputs are exactly twice Rainbow's, so this particular network must give twice the prediction. Their known scores do not have that relationship. Lower error cannot establish a good model.
5. Edit the tiny table and rerun from the same saved initial positions. A **Restore Slide Examples** control recovers the original rows. A comparison label reports changed data; it never implies revised values are the original evidence.

## Honest Numeric Contract Proposed

Use literal integer weights 1 through 10, matching the slide's explicit 8 × 6 = 48 example. Use raw hours, three ReLU hidden nodes, an unbounded linear output, and no biases, scaling, centering, or clipping. State that predicted scores may exceed 100 while the network is untrained. With positive inputs and weights, ReLU passes positive sums unchanged; the demo must say so rather than pretend to demonstrate switching ReLU units.

All displayed predictions come from y = sum_j v_j max(0, a_j sleep + b_j study). Compute mean squared error on all rows, without rounding intermediate values. The default data cannot be fitted exactly. Even unrestricted real weights in this architecture cannot break the doubled-input relationship. Across the integer effective coefficients, the best default sum of squared errors is 1018 at y = 9 sleep + 9 study, yielding 72, 54, and 108. Those effective coefficients are attainable by the nine knobs, for example all six incoming weights at 3 and all three outgoing weights at 1. A local search may stop above that value; say **No single-knob improvement**, never **Best possible network**.

## Why This Alternative

This design prioritizes evidence across people over a single impressive-looking output. It directly connects training's aggregate objective to observable individual errors, and gives students a concrete model check. The course survey found reported checking was common, but did not establish checking ability; noticing the doubled-input contradiction makes checking actionable.

## Tradeoff and Review Questions

The per-student table leaves less room for detailed equations than a mechanism-first design. Random starts can generate predictions far outside the score range, and the unavoidable residual error makes this an intentionally imperfect model. Review whether students can still explain that training adjusts weights using known examples, whether the three simultaneous predictions are legible from the back of a room, and whether the numerical limitation clarifies the lesson or overwhelms the first encounter.

This is a proposal and research prototype plan, not an approved slide change. Sources inspected: the active lec_02.qmd training strip, computation slide, search-space slide, and referenced nine_knob_network_slide_04.svg; curriculum_design.md, lecture_delivery.md, and l1_survey_findings.md. Archived single-neuron examples were not used.

## Shared Contract and Initial Prototype

The implemented weight order is [sleep→H1, study→H1, sleep→H2, study→H2, sleep→H3, study→H3, H1→output, H2→output, H3→output]. One search step evaluates exactly 81 alternative settings, accepting only the strict best improvement; ties prefer lower knob index then lower value. The live chart shows MSE on the vertical axis and accepted update iterations on the horizontal axis, beginning at iteration zero. Manual data or weight edits stop the run and start a fresh chart baseline. Empty or invalid fields block training.

`window.demoAPI.getState()` returns `{data, weights, iteration, history, selected, running, valid}`. Data rows are `{name, sleep, study, target}`; history points are `{iteration, cost}`. `predict(inputs, weights)` accepts `[sleep, study]` or a data row. `bestStep(data, weights)` returns `{weights, cost, index, value, before}` or null. The remaining shared API methods are cost, setWeights, setData, step, randomize, and stop.

Initial headless browser checks confirmed predictions [72, 54, 108] and MSE 339.3333333333333 at the known attainable best setting; strict decrease at every accepted update from all-tens initialization; invalid fields blocking training; and initialization restoring iteration zero and a single history point. The initial visual review used the actual rendered 1280 × 720 page. No browser profiles or course materials were edited for this alternative.
B · Reviews

Download Markdown

# Designer B's Peer Reviews

These are review conclusions about the initial prototypes, suitable for sharing with students.

## Review of A: Follow One Prediction

Reviewed a_prototype.html, a_proposal.md, and the 1280 × 720 initial browser screenshot.

- **Medium, misleading chart axis at initialization:** `renderPlot` positions points on a span of at least one iteration, but labels the far-right endpoint with zero when only the baseline exists. The initial screenshot therefore labels both ends of the horizontal axis 0. Label the right endpoint 1 until the first accepted update, or use a single baseline tick without implying a nonzero span.
- **Medium, unfinished model-checking lesson:** The proposal explicitly asks students to compare Rainbow and Sunny, but that check is absent from the actual interface. The stop status says a local optimum is not established, which addresses search quality rather than the network's unavoidable mismatch. Add a short persistent or stop-triggered sentence: “Sunny's inputs are twice Rainbow's, so this model must predict twice the score.” Keep the existing known scores and predictions visible as the evidence.
- **Medium, important values are small for lecture projection:** At 1280 × 720 the SVG's 19–27-unit labels render at approximately 13–19 pixels, including hidden activations, final prediction, and axis labels. Consider reclaiming some left-side empty space to enlarge the network, with the inspected multiplication kept prominent. The original red knob body reads well, but the large outlined pointer hides much of the ten ticks; use the slide's simpler black indicator if retaining precise tick selection.
- **Low, editable-data recovery:** A has no restore control for the exact slide examples after a lecturer experiments. Add Restore Slide Examples, retaining randomization as a distinct weight operation.

The arithmetic and local-search implementation match the shared contract on inspection. Keyboard arrows, Home and End adjust bounded integer weights; focus identifies the inspected connection. Updating weights recomputes the inspected multiplication and all three predictions consistently. The forward mechanism is particularly clear because sum symbols and computed activations remain separate.

Suggested revision priority: correct the initial axis and add the doubled-input check before changing visual composition.

## Review of C: Predict, Train, Check

Reviewed c_prototype.html and c_proposal.md. The sequence gives the learner a useful question at each stage, and the Check stage directly displays the doubled-input relationship using current computed predictions.

- **Medium, signals are highlighted but do not travel:** `inspect` changes wire color and width, and the selected pointer transitions, but no signal moves along the inspected edge. Add a restrained moving mark or dashed-path animation on the selected connection, with reduced-motion fallback and the existing numeric equation retained. This connects the motion to the actual calculation students are inspecting.
- **Medium, missing required prompt disclosure:** The initial page links to the creation page but has no collapsed original-prompt text. Add the requested disclosure, clearly separating the original user prompt from any design summary.
- **Medium, knob fidelity:** C redraws the source knob with a larger 25-unit rim and modified 21-unit face, ticks, and center dot. The shared visual contract calls for the actual slide's red ten-tick shape. Reuse the original 22-unit rim, 18.5-unit face, original tick geometry and highlight, scaling the entire symbol as needed.
- **Low, restore the original examples:** A Restore Slide Examples button would make the editable-data experiment easier to recover during a lecture. It should reset history while retaining the current weights, or explicitly state if it also reinitializes.
- **Low, keyboard selection semantics:** A focused knob temporarily describes that knob while the visible range slider can still display a previously selected weight number. Commit selection on focus, or distinguish “inspected” from “selected for editing,” so tabbing from a knob to the range slider edits the expected weight.

The model, interleaved weight order, data validation, strict best-coordinate search and accepted-update curve match the intended mathematics on source inspection. The three learning stages preserve a stable network position, and the Check stage provides an especially clear connection between mechanism and limits. Prioritize signal motion, prompt disclosure and knob fidelity in the revision.
B · Improvements

Download Markdown

# B: One Revision After Peer Review

The revised candidate keeps its defining comparison: one shared network, three visible student predictions, and closer/further feedback after each accepted training update.

- **From A and C, invalid-data consistency:** Selecting a student preserves unfinished input drafts. Invalid data immediately stops training, clears the old cost curve and iteration count, and replaces network and table values with unavailable markers. Completing all fields starts a fresh baseline.
- **From A, inspected motion:** Hover or keyboard focus animates the actual inspected edge with a restrained moving dash pattern. Its multiplication appears in the persistent explanation line. Reduced-motion mode retains a static highlighted edge and full equation.
- **From A and root, legibility:** The table receives more width and explicit column spacing. Large prediction values use the existing small text size, with full underlying values available in titles. The cost-axis maximum uses compact notation while the main MSE readout remains explicit. Numeric input spinners are hidden to preserve room for values.
- **From A, visual consistency:** The selected student's label remains black, distinguished by bold text and a black selection rule. The source knob highlight is restored.
- **From C, evidence before conclusion:** The initial model check is a question. Comparing both Rainbow and Sunny, pausing a run, or reaching the local-search stop reveals the doubled-input relationship.
- **From C and the shared contract, exact comparison:** Search now accepts any strictly lower MSE, without an absolute tolerance.

Headless Firefox checks confirmed the 13 accepted updates from an all-tens start, ending at MSE 352.6666666666667; blank input survives student selection; invalid input blocks training, empties history, and removes stale network numbers; valid input recovers; hover activates the correct edge. The initial known reference configuration remains [72, 54, 108], MSE 339.3333333333333. These are different settings: the local search is not claimed to reach the global reference.

The prompt and backlink are left for root integration with the complete shared creation archive. No slide source or published release was changed.
C · Proposal

Download Markdown

# Candidate C: Make a Prediction, Then Check It

Created with Codex (GPT‑6)

## Teaching Purpose

Students should see that training changes shared weights to reduce error across examples, then check what an improved training result does and does not establish. This follows AILT1001's Understand it / Use it / Judge it promise and the L1 survey recommendation to perform an actual check.

## Distinct Experience

One uncluttered white 1280 × 720 canvas with three short stages: **Predict → Train → Check**. The network stays in the same position throughout. Stage changes alter the question and the evidence shown, not the underlying model.

1. **Predict:** Select Apple, Rainbow, or Sunny. The nine red, ten-tick knobs begin at genuinely random integer weights from 1 to 10. Show current input values and computed hidden values. Ask whether turning one knob up will increase or decrease the output. Hover or keyboard focus highlights its input, multiplication, and downstream contribution; the numeric answer is always visible. A chosen knob can be moved through all ten positions.
2. **Train:** Display the three editable rows with actual, predicted, and signed error. The main control tries changes to the shared knobs and retains only changes that lower mean squared error over all rows. Provide a single-step control before automatic training so a change can be inspected. Call this **discrete search**, not backpropagation. Randomise resets weights and the training history.
3. **Check:** Keep the results visible and ask, **Can this network match every example?** Inspect Rainbow and Sunny together. The second has twice both inputs, so this exact network must produce twice the prediction. Their recorded scores, 82 and 93, do not obey that relationship. The conclusion is that a training search can improve a model without making the model suitable for every pattern. Editing a score or an input provides a new test; no prerecorded predictions appear.

## Exact Model Contract Proposed

Two inputs feed three ReLU units; three output weights combine their activations. Nine weights, no hidden biases, no implicit output scaling, and no clipping. A knob at position 6 is weight 6. Values outside 0–100 must remain visible as evidence of a poor prediction, not be silently forced into a score range. ReLU is shown honestly even though nonnegative inputs and positive weights keep these particular units active.

Initial rows are Apple Cheung (3, 5, 75), Rainbow Wong (5, 1, 82), and Sunny Choi (10, 2, 93), verified against the visible training-origin slide. The slide's existing arbitrary predicted triples must not be reused as outputs of this live model.

With positive inputs, the model is equivalent to A × sleep + B × study. A brute-force check over integer effective coefficients 3–300 gives the lowest original-data squared-error sum 1018 at A = 9, B = 9, yielding predictions 72, 54, 108 and MSE 339.33. These coefficients are achievable with all six input weights 3 and all three output weights 1. This is a useful verification reference, not a hardcoded training destination or a promise that local search always reaches it.

## Visual and Interaction Restraint

Black typography, black network connections, existing red knob treatment and ten tick positions at −135° to +135°. No decorative dashboard panels or competing accent colors. Hover is supplemental: click/focus provides the same explanation, and reduced-motion mode retains complete numeric information. Prediction and error update together after each committed weight change. Edited data pause training, invalidate previous error history, and recalculate current predictions.

## Principal Risk

The required architecture cannot demonstrate a successful exact fit to these rows. This design makes that fact the final evidence-based check, but the instructor should introduce it as a deliberately small teaching model so its failure is not confused with a claim that neural networks cannot learn useful patterns. A separate later example would be needed to demonstrate a richer architecture or generalisation.

## One Review and Improvement Round

The final prototype incorporates independent A/B reviews and root verification. It uses Arial/Helvetica, black stage/row selection, the source knob's 22-unit rim, 18.5-unit face, original ten tick paths, gradients, shadow and highlight. Pointer and computed values update atomically. Animated dashed connections identify the hovered/focused calculation; reduced motion retains the full static equation. Hover/focus also updates the selected editing control, so the knob, equation and slider agree.

The complete canvas now fits 1280 × 720, including the check question, data bounds, restore control, credit and collapsed creation-prompt disclosure. Restoring the original three examples retains weights and starts a fresh history. Firefox verification found exactly nine knobs, no document overflow, the reference predictions 72/54/108 and MSE339.33, and nine strictly improving accepted updates from all-eights initialization before a truthful local-search stop. The graph includes its initial point and labeled axes. The parent coordinator independently ran 140 numeric checks before this visual revision.

Implementation API data shape: `{name, inputs:[sleep,study], target}`. `getState` returns data, weights, history, iteration, selected, stage, training, and status. The original user prompt is inserted by the coordinator when integrating the standalone candidate; the current collapsed text is identified as a design request summary, not a verbatim quotation.
C · Reviews

Download Markdown

# Candidate C's Independent Reviews

Created with Codex (GPT-6)

Reviewed both initial proposals, HTML source, and the root's 1280 × 720 rendered captures. These are review conclusions, not private reasoning.

## A: Follow One Prediction

**Strength:** The network and table are unusually easy to follow together. Its original knob geometry closely matches the slides; the persistent multiplication line makes inspection useful without another panel. The training search preserves shared weights and genuine numerical outputs.

- **High, invalid-data consistency:** Clearing or invalidating a data field blocks training but leaves the previous prediction, MSE, and old curve visible beside the new incomplete table. An observer can mistake these values for evidence from the visible inputs. Clear or explicitly mark predictions and cost as unavailable, invalidate the old curve immediately, and restart at iteration zero only when the data becomes valid.
- **Medium, graph interpretation:** The initial plot labels both horizontal endpoints 0, although they occupy different locations. Use a 0–1 axis until the first update, with only the actual point at iteration zero. The compact plot also needs to be readable as a meaningful change over time, not just a miniature ornament.
- **Medium, pedagogical conclusion:** The live page stops at describing the search and remaining error; the proposed Rainbow/Sunny check is not actually surfaced. Add one short expandable or final-state question connecting the doubled inputs to the doubled prediction. Keep this separate from the local-search stopping claim.
- **Low, API contract:** setData accepts any positive row count rather than exactly three. Enforce the stated three-example contract or explicitly generalise the entire interface. API-driven setWeights also leaves the old status sentence intact; update it so state and explanatory text agree.

## B: One Network, Three Students

**Strength:** Its per-student closer/further feedback makes the aggregate training objective concrete. The table remains beside the network, so changing one shared weight visibly affects several people. Restoring the slide examples is especially helpful after experimentation.

- **High, invalid-data consistency:** Empty or invalid fields hide table predictions but leave the old network numbers and training curve visible. The data state still represents the previous valid rows. Pause, invalidate the history immediately, and make the network's unavailable state explicit until all current fields are valid.
- **Medium, table legibility:** At 1280 × 720, the prediction and error columns are cramped: Rainbow's 54 and −28 appear nearly joined, and Sunny's two-line name crowds the sleep field. Increase column gaps or allocate slightly less width to the network. Retain full names without shrinking the numbers needed for the demonstration.
- **Medium, interface evidence:** The current model-limit sentence appears before students have investigated the pair. Make it a question initially, then reveal the relationship after a comparison or training pause. This preserves the candidate's evidence-first pedagogical advantage.
- **Low, numerical contract:** bestStep uses an absolute 1e−9 improvement threshold rather than strict less-than comparison. With editable decimal data, this can reject a tiny genuine improvement. Use the agreed strict comparison or document the tolerance as a deliberate contract change.

## Selection Tradeoff

A is the clearer mechanism-first option. B is the stronger aggregate-versus-individual evidence option. Both should make invalid states unmistakable before being compared with the final guided candidate C. Neither should imply that a local-search stop establishes the best model, or that improved training error demonstrates accuracy on new students.
C · Improvements

Download Markdown

# Candidate C: Changes After Independent Review

Created with Codex (GPT-6)

The Predict → Train → Check sequence remains intact. The following changes address the independent reviews by designers A and B and the coordinator's browser checks.

- **Fit the complete teaching experience on screen:** Reduced vertical spacing and rebalanced the network and curve so the three data rows, final check, restore control, and credit remain visible together at 1280 × 720. The Check-stage footer ends at about705px, with no document overflow.
- **Match the lecture's visual language:** Replaced Georgia with Arial/Helvetica. Stage and row selection use black rather than an additional red meaning. Restored the original red knob's22-unit rim,18.5-unit face, ten tick paths, gradients, shadow, and highlight.
- **Keep numbers and pointers consistent:** Removed pointer interpolation. Each accepted weight update changes the pointer and numeric results together. A dashed signal animates the inspected connection; reduced-motion mode retains a complete static calculation.
- **Connect inspection to editing:** Hover and focus handlers select the inspected weight and update the range control, weight number, and multiplication explanation together. This prevents an explanation for one knob being paired with a control for another.
- **Make experimentation reversible:** Added Restore Slide Examples. It restores Apple, Rainbow, and Sunny's original data, retains the current weights, and starts a fresh cost history.
- **Expose how the page was created:** Added a collapsed creation-prompt area beside the credit and Prompt & Reviews link. The coordinator inserts the original prompt during integration.
- **Preserve honest training:** The exact nine-weight model, raw predictions, validation, strict81-alternative search, and truthful local stopping statement remain unchanged. The curve includes iteration zero and labeled axes.

## Verification

Independent Firefox checks confirm nine knobs, a1280 ×720 document without overflow in both Predict and Check stages, predictions72/54/108 and MSE339.3333333333333 at the reference weights, and nine strictly improving accepted updates from an all-eights initialization before stopping with no single-knob improvement. The coordinator previously passed140 numerical checks on the initial implementation. The final screenshot is c_final.png.

The smaller network and graph are a deliberate tradeoff to retain the guided questions and all evidence on one screen. The model's inability to fit the original three examples exactly remains visible rather than being concealed by additional parameters or adjusted outputs.