From the DeepSeek-V4-Flash-0731 interpretability project
The two big observation runs are finished. The only thing still actively running is a small automation job that wakes up every 30 minutes to check on things, deploy the next queued experiment, and sync to GitHub. Here is the status of each pipeline:
| Pipeline | Progress | What manages it | Notes |
|---|---|---|---|
| Christian wave-2 observation | complete (2,295/2,295) | chain_next_runs.sh | The network link between the two GPUs stalled 3 times. Each time the supervisor detected it, skipped ahead past the records already done, and resumed. No data was lost. |
| Expanded Exp 1 (12 translations) | complete (360/360) | run_full_observation.sh | The GPU link timed out at record 212 of 360. We resumed with skip-ahead and finished the rest. |
| 30-min mission automation | active | cron (a built-in scheduler) | Every 30 minutes it checks whether any supervisor script has died, restarts it if so, runs the next queued experiment, and syncs to GitHub at most once every 4 hours. |
These are the experiments and tasks lined up to run. The completed ones are marked done; the rest are waiting for a GPU slot.
./finalize_christian.sh: merges the wave-2 Christian data, re-checks the integrity invariants, and rebuilds the summary tables. doneThis is the checklist the 30-minute cron job follows, in order. It is designed to need no human intervention for routine operation:
1. tail /tmp/chain_runs.log # check run status
2. pgrep -f 'chain_next|obs_christian_watch|jlens_watch|obs_theology_watch'
# check if any supervisor died; restart if so
3. bash sync_to_github.sh # push to GitHub (throttled to once per 4h)
4. If "ALL RUNS COMPLETE": finalize the data and deploy the next queued experiment
5. On completed observation: pull the data via scp, re-verify the integrity
invariants, run analyze_experts.py, update this wiki, and sync
These are the constraints we imposed on ourselves to keep the study clean and safe. They matter because the whole point of the project is to observe the model without changing it:
SSHPASS environment variable only. It is never printed, logged, or committed to git.| Date | What happened | How we resolved it |
|---|---|---|
| 08-14 | The GPU link stalled twice during the J-lens run | The supervisor auto-healed and resumed. All 80 of 80 samples completed. |
| 08-15 | Wikipedia blocked us (a "429 storm") because we ran 6 scrapers at once | We killed all 6 scrapers and rewrote them to run one at a time with backoff between requests. |
| 08-16 | The GPU link stalled 3 times during wave-2 observation | The chain supervisor relaunched with skip-ahead each time. Zero data lost. |
| 08-16 | We found a credential leak. A code sanitizer had accidentally embedded the de5c password in a script. | We switched to passing the password through the $SSHPASS environment variable, purged the password from git history with git-filter-repo, and replaced the copy on HuggingFace. |
| 08-18 | Exp 1 phase 1 complete, 150 of 150 records | H6 fired at 47.8 per million tokens, and the rate was the same across translations. |
| 08-18 | Exp 1 expanded complete, 360 of 360 records across 12 translations | The Message paraphrase was the outlier at 1,033 per million tokens. The GPU link timed out at record 212; we resumed. |
| 08-18 | Exp 4b complete, 351 of 351 records | H6 fired at 163,284 per million tokens on the prose commentary. |
| 08-18 | Exp 12 complete, 222 of 222 records | H6 does not care about digits. Expert 164 does, confirming it is a digit detector. |
| 08-18 | The Exp 12 container crashed with a segfault at record 166 of 222 | We resumed with skip-ahead. Zero data lost. |