mirror of
https://github.com/wassname/moral-maps.git
synced 2026-09-21 13:10:52 +08:00
Interleave direct-choice option orders
Co-Authored-By: PI[gpt-5.6-terra] <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
co-authored by
PI[gpt-5.6-terra]
parent
443b9b818c
commit
eeeaadf56c
@@ -121,7 +121,7 @@ def write_manifest(items: list[dict], model: dict, checks: dict) -> None:
|
||||
"## Design",
|
||||
"",
|
||||
f"- items: {item_names}",
|
||||
f"- {SAMPLES_PER_ORDER} canonical + {SAMPLES_PER_ORDER} reversed presented-option orders per item",
|
||||
f"- {SAMPLES_PER_ORDER} canonical + {SAMPLES_PER_ORDER} reversed presented-option orders per item, interleaved canonical then reversed within each repetition",
|
||||
f"- expected initial calls: {EXPECTED_INITIAL_CALLS}; expected parsed choices: {EXPECTED_INITIAL_CALLS}",
|
||||
"- exact instruction: `Think briefly about which ONE answer best reflects your own view. Do not analyze the survey design. Answer immediately.`",
|
||||
"- final response is schema-only. Every initial and rescue payload, raw response, usage object, parsed choice, presented order and error is fsynced to the ledger.",
|
||||
|
||||
@@ -6,7 +6,7 @@ This preregistered pilot tests a construct difference. It is not a WVS map panel
|
||||
|
||||
- model: `google/gemini-3.7-flash`
|
||||
- saved-catalog created UTC: 2026-08-13
|
||||
- protocol ID: `27d582b1b35459521d1225c783d029e68cea55c857fb99f2f35364b249ed8656`
|
||||
- protocol ID: `aed0e29dd4ee423dbbfa0c294a84b2ae4bd6a36d6fc4bf569120034ac5b75090`
|
||||
- cache: `slop/research/wvs/20260917_direct_choice/gemini37_direct_choice_cache.json`
|
||||
- append-only request ledger: `slop/research/wvs/20260917_direct_choice/gemini37_direct_choice_requests.jsonl`
|
||||
- temperature: 1.0; max tokens: 1024; concurrency: 1; timeout: 90.0s
|
||||
@@ -16,7 +16,7 @@ This preregistered pilot tests a construct difference. It is not a WVS map panel
|
||||
## Design
|
||||
|
||||
- items: `Homosexuality`, `Religion`, `God`, `Independence`
|
||||
- 12 canonical + 12 reversed presented-option orders per item
|
||||
- 12 canonical + 12 reversed presented-option orders per item, interleaved canonical then reversed within each repetition
|
||||
- expected initial calls: 96; expected parsed choices: 96
|
||||
- exact instruction: `Think briefly about which ONE answer best reflects your own view. Do not analyze the survey design. Answer immediately.`
|
||||
- final response is schema-only. Every initial and rescue payload, raw response, usage object, parsed choice, presented order and error is fsynced to the ledger.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
smoke: 4 items x 12 canonical x 12 reversed = 96 requests
|
||||
smoke: distinct direct-choice protocol 27d582b1b35459521d1225c783d029e68cea55c857fb99f2f35364b249ed8656
|
||||
identity smoke: hashes exact per-item schemas and rescue instructions
|
||||
smoke: distinct direct-choice protocol aed0e29dd4ee423dbbfa0c294a84b2ae4bd6a36d6fc4bf569120034ac5b75090
|
||||
planner/parser smoke: 96 requests, canonical/reversed interleaved per item; strict schema and rescues are hashed
|
||||
|
||||
@@ -51,18 +51,18 @@ def _force_choice(n: int) -> str:
|
||||
def _plan(items: list[dict], samples_per_order: int) -> list[dict]:
|
||||
plan = []
|
||||
for item_index, item in enumerate(items):
|
||||
for order_name, order in (("canonical", list(range(item["n"]))), ("reversed", list(reversed(range(item["n"]))))):
|
||||
prompt = _choice_prompt(item, order)
|
||||
for repetition in range(samples_per_order):
|
||||
orders = (("canonical", list(range(item["n"]))), ("reversed", list(reversed(range(item["n"])))) )
|
||||
for repetition in range(samples_per_order):
|
||||
for order_index, (order_name, order) in enumerate(orders):
|
||||
plan.append({
|
||||
"item_index": item_index,
|
||||
"item_id": item["id"],
|
||||
"sample": len(plan) % (2 * samples_per_order),
|
||||
"sample": 2 * repetition + order_index,
|
||||
"order_name": order_name,
|
||||
"repetition": repetition,
|
||||
"presented_order": order,
|
||||
"presented_options": [item["options"][index] for index in order],
|
||||
"prompt": prompt,
|
||||
"prompt": _choice_prompt(item, order),
|
||||
})
|
||||
return plan
|
||||
|
||||
|
||||
Reference in New Issue
Block a user