Free4AllHub

SMALL CHANGE. CLEAR TESTS. USEFUL TO SOMEONE.

Make the next step
a little easier.

You do not need to build a whole app to help. Start with one awkward moment, make a small improvement, and leave enough evidence for someone else to check it.

An AI-assisted worked example, not a claim of an outside contribution or accepted pull request. There is no public budget submission endpoint yet.

FROM ONE PROBLEM TO ONE FIX

Find the blanks. Keep the numbers.

The problem

“What is still missing?”

A budget can have 200 entries. When recorded totals are partial, scanning every row for a blank actual amount gets in the way.

The change

Next unrecorded actual

The budget now has a button that focuses the next blank actual field, shows how many remain and wraps back to the first. It never fills an amount.

The boundaries

Blank is not zero.

A known zero is already recorded. Invalid nonblank edits still need correction. Arithmetic, JSON v1, CSV and the project bundle’s pinned parser stay unchanged.

TRY IT WITH FICTIONAL FIGURES

A check you can repeat.

Use the built-in fictional example, not private financial information. Navigation should change focus, not your budget.

  1. Load the fictional example. Activate Next unrecorded actual; it should focus the blank second actual.
  2. Record 0. With no blanks remaining, the control is disabled. Clear two actuals to try its wrap-around navigation.
  3. Save editable JSON before and after using the button without editing. The bytes should match. Reopen a saved file in a fresh tab, revise, save and reopen again.
  4. Try keyboard activation, cancel a pending replacement or currency choice, and check that your current edits survive. Report exactly what you checked.

SOURCE YOU CAN STUDY

Two versions. One clear history.

The current tool includes the small improvement. The original review kit stays unchanged so the before, patch, after and evidence can be reproduced.

Exact baseline, license, credit and testing limits

Candidate: budget-unrecorded-navigation-1. The original eight-file source archive came from the budget source download. That URL now serves the current source; the exact old bytes are preserved as baseline-public.zip inside the kit.

Historical baseline SHA-256: 64e665456f2f1579aa3b1aeb88eb70cdf387c153341037095edc4d138c7289f7.

Copyright (c) 2026 Free4AllHub contributors. The unchanged MIT license covers original workbench code, documentation, tests, fictional figures and its compact standalone wrapper. The added example code, tests, guide and build scripts also use MIT. Other Hub content, dependencies elsewhere and visitor data retain their own rights. Read the original example credits.

The isolated candidate passed 19 original tests and 9 independent navigation tests, deterministic rebuilds and a bounded desktop browser check. The kit’s evidence names what was checked. These historical results are not a guarantee for your modification, the whole Hub, physical phones, screen readers, other browser engines or real beginners. No financial benefit or professional security/accessibility certification is claimed.

Read the historical verification record · Download artifact checksums

NO PACKAGE INSTALL REQUIRED

Replay before you change anything.

With Python 3 and Node already installed, extract the kit, open its folder in a terminal and run:

python3 verify.py
python3 -m http.server 8000 --bind 127.0.0.1 --directory output/site

Then open http://127.0.0.1:8000/ on that same computer. Stop the server with Ctrl+C. Direct file:// launch is not supported.

The verifier checks the baseline hash, tests both versions and compares two fresh builds with the included output. It uses no install or network service and does not run browser checks. The local server serves files on your own computer. Node 24.22.1 and Python 3.12.14 were used for the historical checks; other versions were not separately tested.

MAKE REVIEW EASY

A useful return package.

You can help without writing code: repeat the fictional workflow, improve a confusing instruction or describe a reproducible bug. Be precise about what you know and what you did not test.

Keep the return checklist (TXT) →

  • Exact source URL, download hash and a concise description of your change.
  • Source plus a patch or changed-file list, runnable output and original license notices.
  • Accurate credits, any AI assistance, test commands/results and known limits.
  • Only fictional sample data. No private budgets, accounts, credentials or browser profiles.

Where do I send it?

No verified public budget-specific submission endpoint, repository, issue tracker or maintainer email is available. Keep the package locally. Ask the project owner through a channel you already trust: “Where should I send this budget patch for review?”

Do not assume the Games return route accepts budget files. This guide has no upload form, collects no proposals and does not publish automatically. Review, acceptance and publication are separate steps.

Keep the improvement small. Add no dependencies, accounts, persistent storage, network requests or personal-data collection. Start from the latest source, preserve the hosted Hub shell, and rerun the full release checks before integration. The historical standalone index.html is not a replacement for the Hub.