One useful idea
A defense is a demonstration plus explanation, not a folder full of green screenshots. For each specification claim, link an actual local artifact: source revision, executed command/result, changed input, refusal, persistent read or explanation. Include environment and assistance. A provided transcript is illustrative, your recorded run is self-report and an independent reviewer observation is a different evidence category. Keep those labels intact.
Predict before a fresh task. A reviewer can change metadata, request rejection instead of approval, make an owned dependency unavailable or ask for a new regression. Show what failed, explain the root cause and make the smallest repair. Do not reinitialize an existing DB to simulate persistence; stop/restart your own process and read the same finding and ordered audit. Metrics can reset while SQLite records remain.
The rubric separates correctness, failure handling, explanation, transfer and assistance disclosure. A missing critical criterion remains missing even if every other answer is correct. Authorship is not inferred from byte parity, a perfect quiz or passing public tests. If no reviewer is available, complete a self-review and mark independent observation pending; do not invent a reviewer decision.
Keep owned raw evidence private and share a manually reviewed copy. Notes, paths, traceback details and media may be sensitive even when no regex flags them. The supplied fixture roles are not authenticated real people. A defense can establish observed classroom behaviors within declared limits; it does not certify production security, media rights or effective teaching for every learner.
Refresh first: Actual integration and retained evidence, Authored regression tests.
Read an illustrative document
Illustrative evidence row — not a passed defense
Claim: restart preserves the reviewed finding.
Artifact: actual source revision + stop/start command + GET before/after.
Observation: compare current state/revision and ordered audit.
Assistance: reviewed route/transport; own integration disclosed.
Status: pending until executed; self-report unless reviewer observed.
Limit: persistence is not durable process-local metrics.A row names a claim and the evidence that would support it. The illustrative row has no real artifact or observer; it remains pending. Actual findings, not a persuasive narrative, determine its status.
The document template is in DEFENSE.md. Reading it is guided practice, not independent evidence.
Distinguish observers
Does your own recorded demo become independent reviewer evidence?
Compare your answer · self-reviewed
No. It is useful self-report. Only an actual reviewer observation, recorded as such, supports that category.
Find the missing gate
Can nine green rubric rows cancel a missing fresh-transfer row?
Compare your answer · self-reviewed
No. Do not average away a missing critical criterion. Record the gap and next action.
Recall persistence
Must every metric survive restart because audit events do?
Compare your answer · self-reviewed
No. SQLite persists records/audit; bounded process-local metrics reset. Demonstrate both instead of claiming durable monitoring.
Change it, then build your own
One controlled change
Choose one currently claimed success and replace its screenshot-only proof with an executed changed-input transcript plus source revision and limitation. Leave unobserved reviewer fields blank.
Your independent task
Complete DEFENSE.md with actual evidence locators and assistance for every required claim. Rehearse one normal run, strict/actor/stale refusal, quarantine, dependency failure and same-DB restart. Ask a reviewer to select an unfamiliar task and record what they actually saw. If only self-review is possible, say so and leave independent defense pending. No browser checkbox or template text awards completion.
What success looks like
Every claim has evidence or a visible gap. A fresh transfer is predicted, demonstrated and explained within scope; observer and assistance are truthful. Missing critical behaviors remain NOT READY. This rubric is human/self-review, not an automatic score.
Hint 1 · a question
Which claim would fail if the example input changed? What artifact would reveal it?
Hint 2 · a concept cue
Index source, command, input, result, refusal and explanation before recording a demo. Keep knowledge scores in a separate row.
Hint 3 · a localized example
Write “self-reported; reviewer observation pending” when that is the evidence available. It is a truthful useful result, not a failure to hide.
Need the complete worked solution?
Open DEFENSE.md from the kit. Trace it, close it, then try fresh inputs in your own files. Treat the attempt as guided; seeing the solution does not award a practical pass.
Course help is guidance, not independent evidence. With JavaScript, opening help records guidance locally; otherwise note it in your README. Reset does not erase that history.
Repair a missing claim or artifact
If you can only replay the reference, choose a smaller fresh task and disclose assistance. If a claim has no reproducible artifact, keep it pending. If restart evidence used a newly initialized DB, rerun using the same owned database and compare real stored values. Never fill an observer field with a person who did not review it.
Unknown or unobserved criteria remain pending. Document text is not executed or automatically approved.
Show it works on new inputs
Have the reviewer choose a new requirement and one fault not in your rehearsed demo. Write the predicted result, add your own failing check, repair the smallest boundary and retain the actual rerun. Document remaining gaps rather than declaring a general competency certificate.
Self-review: name the input, result, refused case and reason. Your local test output and explanation are separate from a quiz score; this page does not certify a pass.
Keep the idea
A defensible portfolio makes claims inspectable and uncertainty visible. Evidence categories stay separate even when a polished demo looks convincing.