Merge nucleic/dusky-ancient-shrew-r8gj into dev

This commit is contained in:
2026-07-30 23:01:28 -07:00
parent 891fefd9a6
commit 5687c90756
3 changed files with 1123 additions and 0 deletions
+31
View File
@@ -29,6 +29,37 @@ The frozen test set is the synthetic JSONL plus the 87 classifiable records in
records are excluded because `general` is deliberately not a model label. The exact
membership and hashes are locked in `data/dataset-v1-manifest.json`.
## Label local Nucleic history
`export_nucleic_prompts.py` extracts the first `userText` event from every local
transcript. `label_nucleic_prompts.py` then removes malformed, empty, NUL-containing, and
normalized-duplicate lines before asking `gpt-5.6-terra` to reject semantic junk and label
the retained prompts. The result uses the exact canonical seven-field source-data
contract. All generated files stay under the gitignored `.artifacts/` directory because
they contain private prompt history.
```bash
python3 ml/purpose-classifier/export_nucleic_prompts.py \
--sessions-dir "$HOME/Library/Application Support/Nucleic/sessions" \
--output ml/purpose-classifier/.artifacts/nucleic-history-first-prompts.unlabeled.jsonl \
--manifest ml/purpose-classifier/.artifacts/nucleic-history-first-prompts.manifest.json
python3 ml/purpose-classifier/label_nucleic_prompts.py
```
The labeler writes the dataset, a rejection audit, and an append-only state file. If a
Codex call or the process stops partway through, continue without re-labeling completed
batches:
```bash
python3 ml/purpose-classifier/label_nucleic_prompts.py --resume
```
By default Codex runs ephemerally at low reasoning effort, ignores user configuration and
project rules, and is instructed not to use tools. `--codex-isolation auto` uses Codex's
read-only isolation on a host and the existing outer isolation when the script runs in a
Nucleic managed container.
## Prepare
From the repository root: