Grand Diomande Research · Full HTML Reader

N'Ko Unified Plan — 2026-04-25

This is the current operating plan for the N'Ko lane after consolidating the website work, the same-snapshot Paper 4 matrix, the MAOE replay layer, the partial-real Gemma correction lane, the live ASR service, and the OCR expansion queue.

Language as Infrastructure technical note experiment writeup candidate score 24 .md

Full Public Reader

N'Ko Unified Plan — 2026-04-25

This is the current operating plan for the N'Ko lane after consolidating the website work, the same-snapshot Paper 4 matrix, the MAOE replay layer, the partial-real Gemma correction lane, the live ASR service, and the OCR expansion queue.

The key correction is simple. The local partial-real Gemma correction adapter reached step 80 mechanically, but it failed behaviorally. The corrected validation check shows the base model outperforming the adapter by a wide margin, and the adapter emits repeated pad tokens on a one-sample probe. That means the step-80 adapter is a dead branch. It is not a checkpoint to continue from, and it is not a candidate for proposal evaluation.

The lane is therefore split into five concrete waves.

Wave 1 — Close the canonical matrix cleanly

The highest-priority scientific dependency is still the final same-snapshot run:

- `nko_trajectory_ttt_290596`

Current known state from `paper4_ttt_closeout.py`:

  • epoch `27/50`
  • validation `0.9604`
  • best `0.9368`
  • `nan=0`

Execution rule:

  • do not interfere while the run is healthy
  • once it completes, immediately run closeout
  • collect:
  • `results.json`
  • `test_predictions.jsonl`
  • `test_references.jsonl`
  • final checkpoint metadata

Output expectation:

  • the same-snapshot five-run matrix becomes complete
  • the paper claims can stop speaking in provisional language about TTT

Wave 2 — Freeze the failed partial-real adapter and recover from a clean anchor

The current local partial-real adapter at:

- `[home-path]`

is invalid for quality use.

Evidence:

  • chunk logs `60->70` and `70->80` showed `loss=nan`
  • corrected validation:
  • base `cer_after=0.523121387283237`
  • adapter `cer_after=4.586705202312139`

Recovery policy:

  • treat step 80 as poisoned
  • do not reuse it for further proposal or replay claims
  • preferred clean anchor currently on disk:
  • `[home-path]`
  • step `10`

Immediate follow-up:

  • create a new recovery adapter path rather than overwriting the poisoned stable path
  • restart from the clean probe or a fresh run from the same dataset with tighter safeguards

Wave 3 — Rebuild the real correction corpus from the full five-run matrix

Once TTT lands, rebuild the real MAOE correction corpus from all five same-snapshot runs.

Current four-run replay aggregate already exists:

  • mean acceptance rate `0.1157604955264969`
  • mean CER delta `-0.004616525859978686`

After TTT closeout:

  • append TTT artifacts into replay collection
  • rerun the full refresh in one command:
  • `python3 Desktop/nko-brain-scanner/scripts/paper4_post_ttt_refresh.py --wait`
  • this orchestrates:
  • `paper4_ttt_closeout.py`
  • `run_paper4_matrix_batch_replay.py`
  • `summarize_paper4_batch_replay.py`
  • `combine_paper4_replay_bridges.py`
  • `build_gemma_nko_correction_sft.py`

Success condition:

  • one authoritative five-run replay bundle
  • one authoritative five-run correction corpus

Wave 4 — Retrain the correction adapter from a clean base

Do not continue from the bad step-80 adapter.

The next correction-training run should:

  • start from a clean checkpoint or fresh adapter path
  • use the rebuilt five-run correction corpus
  • preserve the bounded MAOE contract
  • include early quality checks before long continuation

Execution preference:

  • keep the local Thunder path for bounded mechanics and quick checks
  • use stronger compute only if the clean local path remains unstable or too slow

Guardrails:

  • if any chunk resumes into `nan`, stop the lane immediately
  • evaluate early on a small fixed validation slice before continuing
  • never let a mechanically complete checkpoint get mistaken for a valid quality result

Wave 5 — Boot OCR expansion after matrix closeout

The OCR lane is already staged and partially downloading in background on Mac5:

- root: `/Volumes/HD1/pipelines/babamamadidiane_full`

The correct order is still:

1. close the matrix
2. freeze the final same-snapshot evaluation state
3. then boot the OCR extraction wave

OCR wave tasks:

  • finish channel mirror
  • frame extraction
  • scene segmentation
  • OCR over teaching slides
  • align OCR text with audio windows
  • produce new training/evaluation pairs

This is the next corpus-expansion wave, not a prerequisite for current matrix claims.

Live serving lane

Two serving surfaces are now confirmed:

  • live inscriptions website path:
  • `https://www.learnnko.com/nko?tab=inscriptions`
  • live speech endpoint:
  • `http://[ip]:8899/transcribe`

The speech endpoint works as a real transcription path, but current sample quality is rough. That means serving is operational, but not yet the scientific result. The scientific result still depends on matrix closeout and clean correction retraining.

Practical summary

The immediate plan is not “keep training the same local adapter.” That branch failed. The immediate plan is:

1. let TTT finish
2. close and collect the full five-run matrix
3. rebuild the full replay corpus
4. retrain correction from a clean anchor
5. only then start OCR corpus expansion as the next wave

Promotion Decision

Attach run IDs, datasets, metrics, and reproduction commands.

Source Anchor

nko-brain-scanner/docs/handoffs/nko-unified-plan-2026-04-25.md

Detected Structure

Evaluation · References · Code Anchors · Architecture