Starter Project¶
Use the bundled task dashboard as the common practice surface for this course. It is small enough to understand, but it still gives an agent structure, behavior, data, styling, and tests to work with.
The project lives in starter/. It uses synthetic data, needs no secrets,
makes no network requests, and opens directly from starter/index.html.
Find and open the project¶
You must be at the course repository root, not merely inside a folder named
starter. If you do not have the files yet, follow
Setup: Get the course files.
The file checks must succeed before you continue. To edit, run code . if
Visual Studio Code is installed, or use the exact editor steps in Setup.
No Node, Git, install permission, or eligible account? Use the complete Simulation Path. It uses the same synthetic task and assessment goals without pretending that a prerecorded exercise is a live agent session.
Baseline¶
Before changing anything:
- Open
starter/index.htmlin a browser. - Confirm the page reports 6 total, 4 open, 2 high-risk open, and 1 unassigned open.
- Set Status to In progress and Risk to High. Only task
T-105should remain. -
If Node is available, run:
The result should end with 8 checks passed. This is the deterministic
baseline: the browser view is the human check and the script is the machine
check. Without Node, compare the supplied before/after records in the
Simulation Path and label that evidence as simulated.
Commands in this guide
Commands assume you are at the repository root. If your terminal prompt is
inside starter/, run node verify.js instead.
Choose a lane¶
Your first change is content and data, not program logic.
- Open
starter/index.htmlin a text editor. - Find the task with ID
T-104. - Change its empty owner from
"owner":""to"owner":"You". - Save, refresh the browser, and confirm the task shows You.
- Run
node starter/verify.js, or use the simulation verifier transcript when Node is unavailable.
The verifier will now report that the expected summary is stale because
Unassigned open changed from 1 to 0. That failure is useful evidence.
Change unassignedOpen in starter/expected/summary.json to 0, rerun the
verifier, and confirm all eight checks pass.
A good agent request for this lane:
In the starter dashboard, assign T-104 to "You." Update only the expected output affected by that data change. Run the verifier and explain its result. Do not add packages, network calls, or credentials.
Your first change is a tested behavior.
Add an owner filter without changing the task schema:
- Extend
filterTasksinstarter/task-tools.js. - Add an owner control to
starter/index.html. - Wire it into
starter/app.js. - Add a focused check to
starter/verify.js. - Test keyboard use and the empty state in the browser.
Define the acceptance criteria before delegating: All owners restores the complete set, selecting one owner shows only that owner's tasks, and the filter composes with status and risk.
A good agent request for this lane:
Add the owner filter described in the course starter-project guide. Preserve direct file opening and dependency-free verification. First inspect the existing filter function and describe the files you expect to change. After implementation, run the verifier and report the manual keyboard checks I still need to perform.
Checkpoints¶
Use these gates for either lane:
| Gate | Evidence |
|---|---|
| Baseline | Clean starter reports eight passing checks |
| Plan | Request names files, constraints, and observable acceptance criteria |
| Small change | git diff -- starter contains only intended work |
| Machine verification | node starter/verify.js exits successfully |
| Human verification | Browser content, filters, focus, and narrow layout work |
| Reflection | Journal records failure, fix, and remaining uncertainty |
At each gate, stop if the evidence disagrees with the plan. Read the diff and error output before asking the agent to try again.
Accessibility alternatives¶
The dashboard is not the only way to complete the exercise:
- If visual inspection is difficult, use the verifier output plus a screen reader's table navigation. The table has a caption, row headers, native selects, live result counts, and a skip link.
- If a mouse is difficult to use, complete the manual check with ++tab++, arrow keys, ++space++, and ++enter++.
- If color is difficult to distinguish, use the written Risk column; color is not the only high-risk indicator.
- If editing JSON punctuation creates a barrier, ask a partner or agent to make the precise data edit, then verify the diff and run the same acceptance checks yourself.
- If running Node is blocked, inspect the expected summary manually and have a
partner run
verify.js. Record that the machine check was delegated rather than claiming you ran it.
Accessibility changes are valid starter-project work. Preserve semantic HTML and keyboard behavior, then add a verifier check where automation can provide reliable evidence.
Definition of done¶
A starter-project change is done only when:
- Its acceptance criteria are observable.
- The diff contains no unexplained files.
- The verifier passes, or the journal explains a known failure.
- A human checks the browser behavior.
- No real customer, employee, health, financial, or account data was added.
- No dependency, credential, or network access was introduced silently.
When a check fails, use the Recovery Guide.