TESTIMONY LOOM
Open case drawer

Casework operating notes

Reconstruct first. Challenge second.

Testimony Loom is a free logic game for players who enjoy classic grid deduction with a second evidentiary layer. Each fictional case has four people, four places, four times, independent records, and exactly one personal account that conflicts with the verified mapping. This guide explains how to fill both grids and challenge that account.

A · Records

Translate each source into a mark

One legend above both grids names the three marks: ● confirmed, × ruled out, and an empty cell for unknown. Use × to rule out and ● to confirm. An assignment automatically crosses the other cells in its row and column. Pin useful records or write a private note; neither changes the answer or score.

B · Matrices

Link place and time deductions

Work both matrices rather than finishing one blindly. Arrow keys move among cells. Focusing or hovering a cell you have ruled out names the record that excludes it, or says the cross rests on marks you combined yourself; cells you have not crossed are never explained, so nothing is solved for you. Fill forced singles completes only rows or columns where your own exclusions leave one possibility; it never reads the hidden solution.

C · Audit

Check without receiving an answer

Board logic warns about an impossible row or column. Check consistency reports how many marked rows conflict with the independent records but does not identify the cells. Verified nudge does reveal one correct assignment and reduces the score.

D · Accounts

Challenge only after reconstruction

Complete eight assignments, then select the one personal account that disagrees. A submission succeeds only when both linked matrices and the challenged account are correct. The resolution prints the par score for a first-submission reconciliation beside your own, names one thing to try next, and shows the spoiler-free text before you copy it.

Practical questions

Are the cases based on real people or incidents?

No. Every character, setting, record, and low-stakes contradiction is original fiction.

How is uniqueness verified?

The game exhaustively checks all 576 place-and-time mappings for each four-person case. The supplied independent records leave exactly one mapping.

Does Fill forced singles spoil the puzzle?

No. It propagates only the exclusions currently on your board. If no row or column has one remaining possibility, it changes nothing.

What is stored?

Preferences are listed in one order in every game here: reduce motion (which follows your system setting), high-contrast marks, larger text, then export, import, and reset. Completed cases, best scores, pinned records, private notes, daily results, distinctions, recent attempts, settings, and unfinished matrices are stored in this browser. There is no account. This site counts page visits through Cloudflare: it sets no cookie, it cannot follow you from here to another site, and nothing from your play is part of the count.

Can I recover from a wrong mark?

Yes. Undo retains up to sixty board states. Clear grids is also undoable. A consistency check can flag conflict without exposing the correction.

Are there keyboard shortcuts?

Yes. Arrow keys move inside a matrix, Home and End jump along a row, U undoes, C checks consistency, D fills forced singles, and F focuses the next record. The question-mark key and the Shortcuts button in the header open a full reference.

Where can I compare past attempts?

The case drawer holds a local casework record listing recent reconciliations with score, submissions, and nudges. The drawer is sorted by difficulty, easiest first, every card carries its difficulty, and a filter narrows the drawer to one difficulty. Each of the seven daily tiles shows a filled dot and its filed score on a day you played.

What does the browser back button do inside a case?

It returns to the case drawer instead of leaving the site, and the unfinished case stays available to resume.

What if this browser runs out of local storage?

The header status reports that casework is not being saved, the case continues in memory, and nothing already filed is lost.