Project: Covert Cubicles Build Phase 6 / 7 \u00B7 4 of 6 modules complete

MODULE 23 / 31 \u00B7 LAYER 6 \u00B7 DATA_VALUEPROFILES \u00B7 RQ1 SUBSTRATE Per-Session Value Profile Aggregator

Where M22 measures alignment-with-self (correlation against pre-game values), M23 characterises the actual behavioural distribution. Three operationalisations (counts/ratios/means) across three breakdowns (whole/byPhase/byPeer). Together they form complementary RQ1 substrate.

DEPENDENCIES: SM_Game, DATA_Decisions, LOGIC_ValueEncoding
Pending
DRAFT VALUE CODEBOOK \u00B7 NOT PILOT-VALIDATED
M23 outputs inherit M12's DRAFT codebook caveat.
Per ADR-019 and ADR-021, the value-encoding codebook in M12 LOGIC_ValueEncoding is a draft awaiting inter-rater coding and pilot calibration. M23 reads decision choices through that codebook to produce its profile. Until the codebook is replaced via setEncoding(), M23's profile values are also DRAFT and should not be used for pre-registered analyses. The codebookProvenance field surfaces M12's current status (currently isDraft=true) on every aggregate.
Complementary to M22 \u2014 different analytical question
M22 DATA_DecisionConsistency answers "how well did behaviour track stated values?" (correlation). M23 answers "what was the actual behavioural distribution?" (descriptive profile). A session can have low consistency for two qualitatively different reasons \u2014 drift from one's own values vs. genuinely mixed values throughout \u2014 and only the combination of both modules can disentangle them. Both feed RQ1; neither replaces the other.

Automated Assertions

#AssertionResultDetail

Interactive Workbench — Live Value Profile

Drive the session lifecycle on the left; the profile aggregate updates after each action. The 3\u00D73 matrix below shows all three operationalisations across all three breakdowns. Bars are scaled within each cell (0\u20131 for ratios/means, 0\u2013n for counts).

Session lifecycle harness
Session creation
Phase 1 \u2014 four peers
Sweep all peers (one phase)
Multi-phase sweep
Reset
Profile metadata + diagnostics
profileVersion
codebookProvenance.label
codebookProvenance.isDraft
computedAt
0 total decisions
0 mapped
0 unmapped
3\u00D73 matrix \u2014 operationalisations \u00D7 breakdowns
whole
byPhase (mean across phases)
byPeer (mean across peers)
counts
ratios
means
pa \u2014 procedural adherence os \u2014 outcome sensitivity ei \u2014 ethical idealism
Per-peer and per-phase mean profiles
means across peers (RQ3 substrate)
No decisions yet. Use the workbench to populate.
means across phases
No decisions yet. Use the workbench to populate.
pa os ei
Unmapped decisions inspector (data integrity)
No unmapped decisions. (Codebook covers all submitted decisions.)
Output schema v1.0 \u2014 ADR-070
FieldTypeDescription
Provenance
profileVersionstringSchema version of THIS aggregate (1.0)
computedAtISO 8601 UTCWhen the aggregate was generated
codebookProvenanceobjectM12 encoding provenance \u2014 surfaces isDraft and label so analysts can detect pre-pilot data
Aggregates
wholeobjectAggregated across all decisions: { counts, ratios, means, n }
byPhaseobjectPer-phase profiles keyed by phase number 1\u20134. Phase shifts reveal scrutiny-related behaviour.
byPeerobjectPer-peer profiles keyed by peer ID. Selective trust patterns visible (RQ3 substrate).
Diagnostics
totalDecisionsnumberCount of decisionHistory records
mappedDecisionsnumberCount successfully encoded by the codebook
unmappedDecisionsarrayDecisions the codebook could not encode: [{decisionId, choiceId, error}]. Filter on length=0 for clean analysis.
Profile shape (each cell of byPhase/byPeer/whole)
counts{pa, os, ei}Count of decisions favouring each dimension (weight > 0). Descriptive.
ratios{pa, os, ei}Counts normalised by n. Comparative \u2014 useful between sessions of different lengths.
means{pa, os, ei}Arithmetic mean of encoded vectors. Analytic \u2014 directly comparable to M17 in-game vectors.
nnumberDecision count in this subset

API Surface — Manual Verification