September 17, 2026
The rest of the notebook list, built
Everything proposed in docs/NOTEBOOK-SPEC-3.md is now built. On top of the bin, page history, backup line and whole-notebook rubric check:
A notebook, not a pile of pages
- Number pages in order renumbers by date and carries the links between pages with it, after showing the whole plan and asking.
- Print the whole notebook prints a cover, the contents, then every page, each on a new sheet, in page order.
- A season strip on My notebook: a mark per page along the dates, colored by page type, with quiet stretches of a fortnight or more shaded and named.
- Show the notebook (/notebook/show) is a read-only view for judges: contents at the side, one page at a time, big arrows, arrow keys.
Pages that aren't calculations
- Start a page by hand: meeting notes, brainstorm, build log, a test run by hand, game strategy, reflection, or the problem. The editor now runs on My notebook, so they open in place.
- Quick page from a photo opens the camera on a phone, saves the photo on a new page, and leaves the rest for later.
- Start the next page from this one links a new page both ways.
- Run this test again keeps the goal, limits and method and clears what the last run found.
Evidence and output
- Still missing in the editor names what a judge would notice: no date or page number, a test page with no data, a decision pointing at no number, a code page with no code, and so on. On screen only.
- Print a blank data sheet for writing numbers down at the field.
- Tags on pages, and Find now searches everything written on a page.
- One number across the season: the same result read off every page of one tool, as a chart of your own pages, with the change named and nothing filled in between them.
- A running foot on every printed sheet, an optional binding margin, the notebook as one file that opens anywhere, and a contents page with working links in Word files of several pages.
- Ctrl+S saves, Ctrl+P prints.
Checked: the notebook checker is now 392 checks, each new rule with a negative control; the accessibility audit covers My notebook and the judge view in light and dark at 1280 and 320 px (it caught a disabled button at 4.45:1, now readable); and the flows were driven in a real browser, which is how two mistakes turned up: a new page opened with only the address hash changed never reloaded, and the book printed pages in the order they were saved rather than in page order.
The rubric check now looks at the whole notebook
The page editor could only ever check one page, and both whole-notebook rubrics score things one page can't show: entries across a season, several solutions compared, one page leading to the next. Those criteria used to say "across the whole notebook" and stop there.
How the notebook is doing on My notebook now counts them over every saved page:
- A line about the shape of the notebook: how many pages, how many weeks from the first to the last, the longest gap, and any page without a date or number, or numbered twice.
- Every criterion of the chosen rubric, marked On several pages, On a page or Not yet, with the pages that carry it named, and what is still needed in plain words ("no page compares options yet", "4 dated pages so far; 8 across the season would show it").
- Criteria a page can earn are counted from the pages themselves. Criteria judged across pages have their own rule: a brainstorm page or a decision matrix, a strategy page, code on a page, pages linked to the one before, or a page that shows a change and what it did.
It counts what is there and names what isn't. It doesn't score anything and it doesn't write anything: the marks come from the students' own words, and the judging from a judge.
Checked: 34 tests over made-up notebooks (page facts, the shape of a season, each across-pages rule, the thresholds, and an empty notebook as the control), and the audit over the new panel in light and dark at 1280 and 320 px.
Saved pages are harder to lose
Four changes, all on this device as always. Proposals and the rest of the list: docs/NOTEBOOK-SPEC-3.md.
- Deleting a page puts it in the bin. Recently deleted pages wait 30 days on My notebook, with Put back. While a page is in the bin it is out of the notebook, the table of contents and exports. Emptying the bin asks twice, because that part really is final.
- Earlier versions. Every time a page is saved again, the version before it is kept, up to ten per page. History on a page lists them with the date and how many words were written, and Put this back restores one. What the page says now becomes an earlier version too, so restoring never loses anything. Versions don't store the same photos twice.
- A backup line. My notebook says how many pages there are, how much room they take on the device, when the notebook was last exported and how many pages have changed since. It turns amber when an export is overdue or the browser is nearly full.
- Photos stay in an unsaved draft. A page you haven't saved yet keeps its photos, sketches, method fields and words through a refresh or a closed tab, not just its text.
Checked: 24 new tests for the version, bin and backup arithmetic (with negative controls, including one that proves the photo-sharing rule is really tested), and in the browser: save, edit, restore an earlier version, delete, put back, delete for good, a page in the bin for 40 days swept away while one deleted today stays, and photos surviving a refresh in a draft. The accessibility audit covers the new bin and the history window, light and dark, at 1280 and 320 px.
Notebook pages, round two: a whole notebook
Spec and decisions: docs/NOTEBOOK-SPEC-2.md. As before, the site never writes a student's goal, method, observations, decision or reflection; everything new structures, counts or adds up what they type.
Save and come back
- Save to notebook keeps a page on this device, photos and all. Once saved, changes save as you go.
- The new My notebook page (
/notebook, also in the footer and search) lists every saved page in page order with page-type colors. Open takes you back to the tool with the same numbers set, and Use the calculator's current numbers refreshes a page after a change. - Print a table of contents, print several pages at once, or make one Word file of them. Export notebook saves everything to a file; Import on another device brings it across.
- A team list on the device fills "Written by" and "Present" with tick boxes.
- Pages can say which page they continue from and where the next step is; My notebook points out links to pages that aren't saved.
More evidence on the page
- Before and after: compare the calculation with a run saved earlier, with the change and percent for each result.
- Decision matrix on brainstorm and select pages: weights and scores 1 to 5, totals and ranks, ties shown as ties.
- How you tested as five short fields (what, with what, how many times, conditions, what stayed the same).
- Sources you used: your own videos, teams, manuals and people.
- Notes on each trial on ten tools that record repeated tests.
- Up to four photos, Mark up to draw on them, and a sketch pad.
- Your code, with line numbers, on programming pages.
Writing help that doesn't write
- Under each box: a word count, and flags for very long sentences, filler words and comparisons with no number ("faster" by how much?). Decision and Reflection also flag when no result is mentioned.
- Score yourselves against the rubric with a menu per criterion; the total is shown and can print on its own page.
Output
- The preview marks where each printed sheet starts and says how many sheets the page takes. Fit on one sheet tightens it: across all 73 tools, 71 pages fit on two sheets with it and 29 fit on one without writing space.
- Sign-off is typed names and dates by default, or lines to sign.
- Word file download (no add-ons), and a Slides view: copy a slide as a picture, download every slide as a picture, or print them.
- The on-screen preview now matches the printed text width; it was drawn narrower before, so it showed pages longer than they print.
Checked
- The notebook checker grew from 109 to 225 checks: the new arithmetic against hand values, escaping of everything new, saved pages that come back exactly, Word files unzipped and their XML checked for form and schema order, and negative controls for each.
- In the browser: save, reopen with the calculator restored, refresh numbers, copy, delete, export and import (and a wrong file), a Word file of three pages, slides with no overflow on eight tools, blocked storage, and the accessibility audit with the editor open at 1280 and 320 px in light and dark. The audit caught small checkboxes, now 24 px.
- Not yet checked by a person: printing, pasting into Google Docs, and opening the Word file in Word. The steps are in
docs/NOTEBOOK-OUTPUT-CHECKLIST.md.
A new look, from the Claude Design mock-up
The home page is rebuilt as full-width bands after the design (notes in docs/DESIGN-REFRESH.md): a dark hero with the big "Tools I built because I needed them.", seven subject tiles, "What is going wrong?", "Deciding what to build.", four tools to start with, and "How this works". Every page now has the new dark header and a full footer (site links, subjects, keyboard shortcuts), headings in Archivo, labels and buttons in IBM Plex Mono, bone paper and an amber accent.
- The fonts are served by the site itself (no font CDN), with their open-font licenses, and are saved for offline use.
- Striped panels stand in for team photos until real ones are added.
- Nothing was lost from the old home page: every problem (six shown, the rest behind "Show all", with the filter) and every decision (as chips that open to their tools) are still there, and so is "Pick up where you left off".
- Dark mode, the text-size switch, search, stars and the notebook builder all carry over. The contrast check now also measures the dark bands, and the full accessibility audit (every page, light and dark, 1280 and 375 px) found nothing to fix.
Notebook pages, rebuilt
The "Save this as evidence" box at the foot of every calculator is now Make a notebook page: a full-screen editor with the page details on the left and a live, letter-size page on the right. Spec and the owner's decisions: docs/NOTEBOOK-SPEC.md.
What the page contains
- A header with page title, date, page number, team, page type (including the new Code and programming type), system, who wrote it, their roles, and who was there. Team details are remembered on the device; the page number suggests the next one.
- The setup, with every value used, so the work can be repeated.
- Recorded data and calculated tables, row by row, and the results. All tables are numbered; short setups and results sit side by side.
- The calculator's own diagrams and charts, as numbered figures, plus up to two of the student's own photos or sketches (kept on the device).
- The calculation with the student's numbers in it.
- The calculator's warnings, quoted and credited (its other notes only if switched on).
- Sources: the tool itself with the access date, every published figure it used, and its stated assumptions.
- Written-by and witnessed-by lines.
What it never does: write the goal, limits, test method, observations, decision or reflection. Those have boxes with on-screen prompts. Left empty, they print as a heading and lined space to write by hand. The build fails if a prompt ever reaches the page.
Getting it out: Print or save PDF, copy for Google Docs or Word (tables and figures included), download as a page file, copy as Markdown, or copy the data as CSV.
Rubric check: the editor shows how the page lines up with the HH Micro Page rubric, and with the RECF and VEX notebook rubrics, marking each criterion as on the page, partly there, yours to write, or judged across the whole notebook. It checks what's present, not how good it is. The rubric wording is our own summary; the official sheets aren't reproduced.
Fixed along the way: pasted data lists, "something else" picks, result tables, diagrams, sources and every worked calculation now come through, switched-off sections no longer leak in, and repeated labels ("11W motors" twice) name their group. Run Timer now has the builder too.
Checked by verify-notebook.mjs (95 checks, including negative controls) and by opening the editor on all 72 calculators.
Every tool can now be reached from the tool map
Six tools had nothing pointing to them, so students only found them by browsing. Each now has a link in:
| Tool | Reached from | What comes with it | |---|---|---| | Wheel Travel | Autonomous Route Optimizer | the best route's total distance | | Two-Bar Lift | Rubber Band Assist | arm length, arm weight, balance point | | Cascade Lift | Mechanical Advantage | the force you need, as the load | | DR4B Geometry | Size Check | (a next question) | | Line Threshold | Sensor Fusion | (a next question) | | Robot Profile | Drivetrain Comparator | (a next question) |
Every carried value was read label by label before it was approved, and all three were followed in the browser to confirm the numbers arrive (152.8 in of route became 14.965 turns of a 3.25 in wheel). The map now has 247 links, and no tool is left without a way in.
## 2026-09-16 (overnight session)
Pushed and live on 2026-09-17.
Eight new tools
The rest of the catalog list is now built, plus a timer.
| Tool | What it answers | |---|---| | Descriptive Stats | Paste your test results and get the average, spread, middle value, and how sure you can be of the average, with a box-and-dot chart. | | Outlier Detector | Does that one odd run really stand apart? It uses two methods the odd run can't bend, shows the average with and without it, and never deletes anything for you. | | Sample-Size Planner | How many runs does a fair test need? Works for averages ("how fast") and success rates ("how often"), and tells you what the runs you can afford would actually show. | | Mechanical Advantage | Follow a motor's torque through up to three gear or chain stages to an arm, a wheel, or a string spool with a pulley block. Shows the force at the load, the speed it costs, and what friction takes. | | Tracking Wheel Setup | How finely your tracking wheels see movement, and which measuring mistake (offsets, wheel spacing, worn wheel) costs you the most by the end of a routine. | | Two & Three-Wheel Odometry | Type in what each tracking wheel read, step by step, and watch the position update work out where the robot went. Draws the path next to the "straight-line shortcut" so you can see why the arc matters. | | Voltage Drop & Power Spikes | How far the battery dips when every motor pulls at once, and how much power becomes heat. VEX doesn't publish the battery's resistance, so the page measures it from two voltage readings instead of guessing. | | Run Timer | One big Start/Stop button (or the space bar) that keeps a list of run times, plus a match clock for the season's 15 s autonomous and 1:45 driver periods. Sends the whole list to Descriptive Stats or the Outlier Detector in one tap. |
All eight are in the registry, the plain-language front door, search, and the tool map, with numbers carrying between them where the meaning really matches (Run Timer → Descriptive Stats → Sample-Size Planner, for example).
How the maths was checked. Every tool's maths lives in a shared file with its own checker that runs on every build, and each checker compares against a different method from the one the tool uses:
- statistics: 160 checks, including 20,000-run simulations of interval coverage and test power
- mechanical advantage: 1,621 checks, including "virtual work" (turn the motor a tiny amount, measure how far the load moves) on 400 random mechanisms
- odometry: 565 checks against a robot path integrated separately, to a millionth of an inch, for all three wheel layouts
- voltage: 3,515 checks against the circuit itself, solved by bisection
Each checker also has deliberate wrong answers that it must reject (swapped gears, a flipped offset, the straight-line shortcut, ignoring the voltage sag), which confirms it can actually fail.
Ten new ways to use the site
1. Quick search. Press Ctrl + K (or /), or the Search button in the header. Finds tools, problems ("the robot tips over"), decisions, and glossary words as you type, and also matches the words on each tool's own boxes (searching "stroke" finds all four cylinder tools). Arrow keys and Enter work. 2. Keyboard shortcuts. Press ? for the list: T theme, B bigger text, and on a tool S star, C copy results, L copy link, P print. 3. Star a tool. The Star button under a tool's title. Starred tools come first in search and on the home page. 4. Pick up where you left off. The home page now shows your starred and recently opened tools. Stored in this browser only; "Clear recent" empties it. 5. Link to these numbers. Copies an address that reopens the tool with every value you changed, for sending to a teammate or a coach. The page it opens says the numbers came from a shared link. 6. Copy results. Puts the visible results, and a link back, on the clipboard for a team chat. (This is plain numbers, not notebook content.) 7. Print. A clean printout or PDF of the inputs and results, without the menu, the map, or the saved-runs panel. 8. Light, dark, or automatic theme. The half-circle button in the header. Remembered on this device, and applied before the page draws so there's no white flash. 9. Classroom text size. The "A A" button makes everything larger or much larger for the smartboard. The header rearranges itself, and 67 grid layouts across 36 pages were adjusted, so nothing runs off the side at any size, even Huge text on a 320px phone. 10. Works offline. Pages you've opened keep working without a connection. On the Tools page, Save every tool for offline stores all 79 pages (about 4 MB) for competitions with bad Wi-Fi. The site can also be added to a phone's home screen.
How these were checked. Search results, stars, recents, shared links, copying, theme and text-size switching were each exercised in the browser with measured results. Offline mode was tested for real: save everything, stop the server, then open tools and confirm they still calculate (and that a never-saved page shows a clear "you are offline" notice).
An automated accessibility audit covered every page at 1280 and 320 px in light and dark, plus the open search box: no sideways scrolling, no unnamed controls, no targets under 24 px, no duplicate ids, no contrast failures. Its own negative control (deliberately faint text, an unlabeled box, a tiny button, an over-wide block) was caught every time. Separately, every page was checked for sideways scrolling at 375 and 1024 px with Large and Huge text, and the header at eight widths from 320 to 1440 px in all three text sizes.
Fixes
- 32 wrong carried numbers. Some flow links sent a value into a box that meant something else: the opponent's autonomous points into "your" autonomous points, a frame's length into its width box, a spare air count into fires per match, and more. All corrected. The build now refuses any carried value a person hasn't read and approved, label by label (
scripts/flow-pairs.reviewed.tsv). - Shaft Deflection showed a broken glossary word. Fixed, and a new check (
check-terms.mjs) stops it happening on any page. - American spelling everywhere. 103 words across 41 files (center, color, meter, modeled, traveled, gray and so on), as CLAUDE.md asks. Glossary and link keys such as
centre-distance were deliberately left alone so no link or anchor moved. - Contrast guard. The dark colors now exist twice (for "follow my device" and "always dark"). The build fails if the two copies ever differ.
Behind the scenes
- New build checks:
verify-stats, verify-mechanics, verify-odom, verify-electrical, check-terms, the reviewed-pairs guard in check-flow, and check-site-features (search covers every tool and only points at real pages, the offline worker parses, the manifest's icons exist). npm run check runs all of them. - Ideas that came up but weren't built are parked in
docs/IDEAS.md. - The V5 Rotation Sensor and Optical Shaft Encoder were added to
src/data/vex.ts with their sources. - The project's Claude plugin (
plugin/toolshed.plugin) is now version 0.2.0: its project map lists the new files and checks, and its list of traps gained six more (the glossary prop, meaning-checked carries, text size and breakpoints, service-worker caching, the two dark themes, and timers in background tabs). Reinstall it to pick these up.
Still for the owner to decide
- Push. Nothing above is live until you say "push".
- Shared board storage (Cloudflare KV) and the www address are unchanged from before and still need you in the Cloudflare dashboard.
- Voltage defaults. The Voltage Drop page ships with clearly labeled example readings. If your team measures a real V5 battery, those make better defaults.