Tempora Loop lab
[!TIP] Download the learner ZIP or copy this whole lab to an unused folder. Read setup and optional GitHub steps first.
Before you run anything
| Item | Contract |
|---|---|
| Runtime | Node 24; live integrations are separate |
| Files to inspect | starter/loop.js, verify.js |
| Verifier directory | Extracted kit root: node verify.js; from starter/: node ../verify.js |
| Starting state | Unfinished starter is rejected; preserve the diagnostic |
| Finish evidence | The stable example ends at six after four calls; the never-stable example stops at its budget. |
Concept in practice: Starting at zero and adding two until six produces a repeated six on the fourth step call. The stable flag describes equality between consecutive values, not simply reaching the target number.
Repair a bounded feedback loop that stops when its output stabilizes.
Mission
Implement refine in starter/loop.js. It must:
- call the supplied step function at most
maxIterationstimes; - stop early when two consecutive values are equal;
- return
{ value, iterations, stable }; - reject invalid iteration limits.
Run node verify.js.
Guided execution
- Run the untouched verifier and record the expected initial state.
- Ask for a source-grounded explanation of the relevant code and checks.
- Plan: Specify refine input validation, equality, iteration counting and the returned object. Trace stable and never-stable examples before implementing; preserve the step-call limit.
- Implement only the approved slice, then rerun the same verifier.
- Temporarily increment the reported iteration count incorrectly. Confirm the stable-count assertion fails, then restore it.
- Review the diff and record the limitation: This local function models bounded iteration; it does not control a live Copilot session automatically.
Completion and safe reset
- The required behavior and its negative case have observed evidence.
- The result distinguishes local verification from live host/runtime behavior.
- No credentials, unrelated files or services were changed.
- Evidence is saved before resetting the copied starter.
Use a new extraction for another attempt, or restore only named files from a Git baseline created in this copy. Never apply a curriculum-root restore command from an unrelated project.
Continue with the adventure and rubric.