# CHI/CHIS Portable Prompt Pack v0.1

A fixed, reproducible **pilot task pack**, not a validated human-likeness test. A model answers tasks; the offline script checks the answers. Asking a model to read the article and invent its own CHI is not a benchmark. Q_M is in [0,1] (or 0–100 after multiplying by 100). Human-calibrated CHI is unavailable and remains null.

## Choose a route

- **Quick: 6 fresh requests.** One blind memory encoding at 32 target facts; a memory probe; empty-notebook and full-evidence controls; two independent 12-item task panels (24 items total). Measures a limited memory/task profile; no EIMC curve or CHIS claim from this route.
- **Full: 39 fresh requests.** Four memory loads (32/64/128/256), the same controls, three history arms A/B/A2 with five checkpoints each, and the same panels. Reports Q_M curves, grid EIMC, checkpoint behavior, continuity and different-history divergence. This remains a notebook pilot, not the complete formal CHI specification.

Every single request starts a NEW CLEAN conversation or stateless API invocation. Disable account/product memory, custom instructions, tools, web and attachments if the interface allows it. Record any setting you cannot control. A new chat may retain product memory; if isolation is not possible, mark the run noncomparable. A previous answer used as notes is inserted by the adapter, never carried by chat history. Probes do not update notes.

Do not upload this whole archive, answer keys, article, scoring rules or previous reports to the tested model. Send only `next-prompt.txt`, verbatim, one step at a time. Never ask the model to rate itself. Never repair an incorrect response or ask for a second try in the same run.

## No-install-of-libraries workflow

Python 3.10+; standard library only; no API keys or network calls in this adapter.

```text
python manual.py init --run runs/fable-18001 --model "Claude Fable 5.1" --settings "Record app/API, date, reasoning, output limit, tools, memory and any unknown setting" --seed 18001 --suite quick
python manual.py next --run runs/fable-18001
```

Open the generated `runs/fable-18001/next-prompt.txt`. Paste its entire contents into a new clean chat with the selected model. Save the complete raw response, including any fences or commentary, in `answer.txt` (UTF-8); do not improve it. Record it and request the next step:

```text
python manual.py record --run runs/fable-18001 --response answer.txt --status ok
python manual.py next --run runs/fable-18001
```

Use `output_limit` for visibly truncated generation, `refused` for an explicit refusal, or `error` for an interface failure. Do not mark a wrong but normally completed answer as an error: use `ok`, and the scorer will judge it. Raw text is preserved in every case. Failed encoding supplies empty notes; notes from an ordinary completion are bounded to 6,000 UTF-8 bytes automatically. Keep model settings fixed throughout the run. Manual `error` is a failed request in this route; the registered API study has its own infrastructure-exclusion rules. Do not pool the routes.

After 6 responses (or at any point to inspect missingness):

```text
python manual.py score --run runs/fable-18001
```

Read `report.json`. For full mode, create a DIFFERENT directory with `--suite full`, then repeat the same next/record cycle for 39 requests. Each model gets a separate directory, the same seed/suite and matched settings. Repeating with a new seed creates a new independent artificial world; use the same new seeds for every model. Do not repeatedly retry one seed and choose its best answer.

## Ready-to-paste text files

`quick-prompts/` contains fixed seed 18001. Prompts 01, 03, 04, 05 and 06 are ready. In prompt 02 replace the single `<<INSERT_BOUNDED_NOTES_HERE>>` with the raw notes from 01, limited to 6,000 UTF-8 bytes. The adapter performs this safely and is recommended. Do not forward the original records to prompt 02. If doing everything by hand, retain the exact prompts/answers and use the adapter later for scoring; never silently claim the byte bound was verified. Full-history prompts depend on saved notes and are generated by the adapter.

## What the numbers mean

Memory: 48 probes, 8 per retrieval / temporal / source / update / interference / unknown-fact category. The geometric mean of those six success fractions is Q_M; one zero factor yields zero total. Component counts remain visible. A zero after a failed note write is not proof a model lacks memory. Quick mode cannot estimate memory capacity: full mode reports only the maximum passing tested load at Q_M >= 0.8; passing 256 is right-censored, not a measured ultimate limit.

R/C/A/I panels are small objective task samples, not full calibrated axes. A checks equivalent gain/loss decision framing, not feelings. C checks an explicit next action, not endogenous cognition. History arms receive differing recorded evidence, with A2 as the same-history comparison. Checkpoints are calls, not days of autonomous thought. Invalid vectors remain missing in divergence calculations.

One run is ONE independent artificial world, even though it contains many questions. This adapter supplies no confidence interval for one world. It supplies no scalar CHI or human-similarity estimate without human reference data. Do not average the small R/C/A/I panel with Q_M and call it CHI. Shared public fixtures can become contaminated; regenerate fresh seeds for further research. These settings do not guarantee equal internal compute or identical proprietary weights.

Manual responses have provenance `operator_supplied_unverified`. A report is not authentication that a particular model produced them. Preserve original exports, dates, displayed model names and settings for audit. Do not mix manual runs with the separately registered API Results series. Public release contains no empirical responses; unit-test fixtures are synthetic software tests only.

## Files and checks

- `manual.py`: deterministic next/record/score adapter, prompt integrity and durable raw responses.
- `pilot.py`, `panel.py`: unchanged scorers and generators from the published API pilot.
- `quick-prompts/`: model-facing text only; each is a separate request.
- `operator-only-answer-key.json`: expected answers for audit; NEVER send it to a tested model.
- `manifest.json`, `SHA256SUMS.txt`: source provenance and package checksums.
- `test_manual.py`: six software tests, including a synthetic full 39-step trajectory.

```text
python -m unittest discover -v
```

Specification: https://cplom.ai/research/chi-chis/ ; live API pilot and protocol: https://cplom.ai/results/ . Code: MIT. Instructions and generated tasks: CC BY 4.0, Dmitry Chistyakov, 2026. This portable route does not modify the submitted paper or the ongoing API protocol.
