Cross-academy build · 6 substantial stages
Complete the debugging gauntlet
Build a disposable broken application from the supplied small fixtures, then diagnose independent input, async, database, layout and verification failures. Keep hypotheses, counterexamples and regression evidence for each repair.
This is a project brief and local evidence notebook. Implement the project in your own development repository using synthetic data. Checklists and the review question record self-review; LearnLab does not execute these project files, inspect a live database, grade the implementation or certify security. Starter snippets are deliberately partial. Link actual commands, outputs, revisions and screenshots to your notes. Publishing requires a separate deliberate release decision.
Skills this project brings together
- Turn a complaint into a reproducible defect
- Make one hypothesis face a counterexample
- Choose the test that can actually prove the claim
- Make verification reproducible and honest
- Give each browser defense its own job
- Treat AI output as a hypothesis until verified
- Only the current request may commit
- A type is a promise; a boundary needs evidence
- A ref is a stable container; a render is a snapshot
- Keep missing relationships visible
- Check the row before and after a change
- Deploy the artifact you actually verified
Implementation stage · self-review
1. Reproduce and separate the failures
Create an isolated educational repository and copy only these tiny intentionally broken fixtures. Start a case file for each defect with expected behavior, actual behavior, smallest input and environment. Investigate one failure at a time.
Acceptance criteria
Mark an item only after you have reviewed the corresponding implementation and evidence. These are your declarations, not automated test results.
Concrete tests to run
- Calling increment('5') produces the string '51' in the broken fixture.
- A numeric input 5 produces 6, providing a nearby successful comparison.
- A fresh checkout follows your written steps and reproduces the same symptom.
- Removing unrelated UI does not eliminate the minimal coercion failure.
If the problem disappears only after removing several interacting systems, narrow which removed behavior mattered before declaring a root cause.
Open the partial starter
function increment(value) { return value + 1; }
console.log(increment('5'));
// Contract: a submitted count must be explicitly validated as an integer.
// First record the result; do not reveal a fix before predicting it.This fragment frames the next design decision. It is not a finished implementation.
Your evidence notebook
This notebook stores text and review declarations. It does not execute files, grade a capstone, grant mastery, or publish an application. Up to 50 recent learning drafts are retained; export a backup for longer-term work.