Bundles M20 telemetry plus the seven SM_Game logs and
the audit trail into a canonical session record. Provides JSON
serialisation and three opinionated CSV views for the most-needed
analytical use cases. Standardised filename schema for save-to-disk
workflows.
Default export is "as-is" — sessionId is already a UUID per SM_Game's de-identification commitment.
Per ADR-059, the current export anonymisation is "as_is" — sessionId is the SM_Game UUID
and no PII is captured anywhere in the session record. This is a reasonable default for a
pre-pilot build but warrants explicit supervisor and ethics-committee review before
participant data collection. Stricter postures (strip-and-link-table, configurable per-export)
are not yet implemented; the module exposes a stub setter for future expansion.
Latent integration risk \u2014 dual baseline-values store (ADR-061)
Two separate baseline-values stores exist: SM_Game.playerState.ethicalValues (canonical, what M21 reads)
and ALMAA_Morality's internal preGameValues (computing copy). Field-name conventions differ
(pa vs pa_score). Not synchronised. M31 GM_Game integration must call both setters consistently
— preferably by having M17 read from SM_Game's canonical store. Recorded as defect for
resolution at integration time, not patched now.
Automated Assertions
#
Assertion
Result
Detail
Interactive Workbench — Live Session Record
Drive the session lifecycle on the left; the canonical session record
updates after each action. Log cards in the viewer flash amber when their counts change.
The export tabs below show JSON and CSV views generated on demand.