Files
persona-steering-template-l…/scripts/corpus/scenario_sources
wassnameandClaudypoo b8e22f42fb refactor: sort scripts/ by who runs it
Top level is now only what the runbook or a re-run touches: validate_persona_axes,
bounded_thinking_judge, template_catalog, export_selections, parse_stage_a, run_axis,
export_steering_selection. Corpus ingestion and publishing moved to scripts/corpus/,
plotting and stats to scripts/report/.

Moved files needed parents[1] -> parents[2]; the two corpus scripts that import
template_catalog use the sys.path shim bounded_thinking_judge_liveproof already used.

Also completes the export_steering_selection rename: an earlier git reset had dropped
the staged deletion, leaving both filenames tracked.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-25 10:23:22 +08:00
..

scripts/scenario_sources

This directory turns public value, sycophancy, and moral-decision datasets into local scenario JSONL files for persona-steering experiments. Generated files live in data/scenarios/; each row is a short prompt plus source fields (text, axes, source, source_id, self_contained) that can be passed to scripts/validate_persona_axes.py --family .... Machiavelli is the one source that needs an LLM compression step first because the raw game state is long; its committed cache is scripts/scenario_sources/data/machiavelli_summaries.jsonl, and the published derived dataset is wassname/machiavelli_character_scenarios.

Generate local scenario samples for validation:

uv run python scripts/scenario_sources/export_scenarios.py --sources all --limit 1999

Generate a single source:

uv run python scripts/scenario_sources/export_scenarios.py --sources machiavelli --limit 1999

Screen a generated file before using it for steering pairs:

uv run python scripts/validate_persona_axes.py \
  --family data/scenarios/scenarios_machiavelli.jsonl \
  --n 3 \
  --dry-run \
  --out /tmp/persona_steering_machiavelli_scenarios_dryrun.json