Date: 2026-04-11
Repo: spark-intelligence-builder
Related memory substrate repo: <workspace>\\domain-chip-memory
Historical snapshot note, updated April 21, 2026: this handoff captures the April 11 runtime decision context. The current live Builder runtime is now pinned to
dual_store_event_calendar_hybrid, and the latest clean mixed-session live regression is16/16matched with the runtime contract aligned to that leader.
- Builder is now pinned to
summary_synthesis_memoryas the named runtime architecture in the SDK contract summary. - The live runtime still runs through the governed
SparkMemorySDK/domain_chip_memorystack. - The benchmark harness was expanded from a fixed Telegram replay into a varied pack suite.
- The soak/reporting logic was then hardened so zero-signal categories no longer look like meaningful ties.
- The soak path now also enforces a per-pack timeout so one hung Telegram regression cannot freeze the full suite.
- The current default serious comparison loop is now governed by
docs/MEMORY_REALTIME_BENCHMARK_PROGRAM_2026-04-11.md. - The latest clean live
14-pack soak now favorssummary_synthesis_memory, while the latest offline ProductMemory benchmark is tied with both contenders at1156/1266. - Because the result is an offline tie plus a live
summary_synthesis_memorylead, the runtime is now pinned tosummary_synthesis_memory. - The current canonical full validation pointer is
$SPARK_HOME\artifacts\memory-validation-runs\latest-full-run.json.
- latest clean full validation root:
$SPARK_HOME\artifacts\memory-validation-runs\20260412-023241 - latest full-run pointer:
$SPARK_HOME\artifacts\memory-validation-runs\latest-full-run.json - previous full-run pointer:
$SPARK_HOME\artifacts\memory-validation-runs\previous-full-run.json - validation delta for the latest run:
$SPARK_HOME\artifacts\memory-validation-runs\20260412-023241\validation-delta.md - offline ProductMemory leaders:
summary_synthesis_memory,dual_store_event_calendar_hybrid - live regression:
34/34 - live soak:
14/14,0failed - live soak leader:
summary_synthesis_memory - measured validation cost:
- benchmark:
13.543s - regression:
23.724s - soak:
339.130s - total:
376.594s
- benchmark:
Artifact root:
$SPARK_HOME\artifacts\telegram-memory-architecture-trust-soak-27-fixed
Final summary:
$SPARK_HOME\artifacts\telegram-memory-architecture-trust-soak-27-fixed\telegram-memory-architecture-soak.json
Run status:
- completed
27/27 - failed
0/27
Historical aggregate leaderboard:
summary_synthesis_memory=27/138=19.57%observational_temporal_memory=21/138=15.22%dual_store_event_calendar_hybrid=21/138=15.22%
Historical top-two recommendation from that soak:
summary_synthesis_memoryobservational_temporal_memory
Current whole-suite decision:
summary_synthesis_memorydual_store_event_calendar_hybrid
Latest clean live validation:
.spark-intelligence/artifacts/telegram-memory-architecture-soak-post-timeout-v1/telegram-memory-architecture-soak.json- status:
14/14completed,0failed - per-pack timeout:
180seconds - full-suite aggregate:
92/92forsummary_synthesis_memoryvs89/92fordual_store_event_calendar_hybrid - selector-pack aggregate:
64/64forsummary_synthesis_memoryvs61/64fordual_store_event_calendar_hybrid - that rerun was performed after terminating stale concurrent soak jobs that had been contaminating the shared artifact path
- the first post-repin whole-suite rerun had stalled mid-suite, which is why this timeout-hardened artifact is now the source of truth
- a later chip/runtime scoring pass then removed the shared explanation misses and eliminated alignment-only live tiebreaks, which is why the clean live margin widened materially
- the latest pack-definition cleanup also converted
provenance_auditinto a clean tie by adding the missingoccupation_writeprerequisite it implicitly depended on
The current default operating program is:
summary_synthesis_memorydual_store_event_calendar_hybrid
The current pinned runtime selector is:
summary_synthesis_memory
This is now the default contender pair for:
- ProductMemory scorecards
- live Telegram regression
- live Telegram soak
Why the contender pair changed:
- the offline ProductMemory side is now tied at
1156/1266 summary_synthesis_memorynow wins the latest clean live whole-suite soaksummary_synthesis_memoryrecovered specifically after the chip-side history/query fixes aligned Builder prompts and chronology scoringobservational_temporal_memoryremains useful as a control or explicit extra baseline, but is no longer the default second contender
- The current honest result is an offline tie plus a live
summary_synthesis_memorylead. - The live side is no longer weak on the active suite: the latest clean whole-suite rerun is fully green.
- The benchmark now honestly reports unresolved lanes instead of inventing ties, but there are no unresolved selector packs in the latest clean whole-suite artifact.
Still unresolved / weak:
- no live selector packs are currently unresolved
- the remaining disagreement is between the offline ProductMemory tie and the fully green live Telegram result
Observed trust metrics:
- both contenders stayed clean on the current forbidden-memory lanes in the latest live soak
- the current disagreement is concentrated in selector-pack quality rather than in the fully green health gates
Main files:
src/spark_intelligence/memory/benchmark_packs.pysrc/spark_intelligence/memory/regression.pysrc/spark_intelligence/memory/architecture_live_comparison.pysrc/spark_intelligence/memory/architecture_soak.py
Key improvements already made:
- varied benchmark packs instead of one fixed replay
- isolated Telegram namespace per run
- per-pack timeout enforcement for soak runs
- negative checks for forbidden memory use
- trust, grounding, abstention, and forbidden-clean metrics
- zero-signal lanes no longer reported as leaders
observational_temporal_memory and dual_store_event_calendar_hybrid are not the same architecture.
What is true:
- they are close relatives
- they share a large amount of observation/reflection/current-state scaffolding
What differs:
observational_temporal_memoryis observation/reflection-centric with preference support, question-aware observation limits, and aggregate supportdual_store_event_calendar_hybridadds an explicit event-calendar retrieval and answer path
Why they may keep tying:
- the current packs stress profile/state recall more than event-heavy temporal reconstruction
- the event-calendar advantage may need stronger event-sequencing benchmarks to separate clearly
- Keep
summary_synthesis_memoryas the pinned runtime architecture unless a future contender clearly beats it across both offline and live validation. - Keep
dual_store_event_calendar_hybridas the active challenger in the default comparison program. - Use
observational_temporal_memoryas a control lane when we want a third comparison, not as the default second contender. - Add new benchmark packs specifically for:
- event ordering
- schedule/calendar recall
- temporal conflict resolution
- abstention under tempting but irrelevant stored facts
- provenance/explanation phrasing quality
- Keep rerunning the top two through those real-time packs, but treat the latest timeout-hardened whole-suite artifact as the current live source of truth unless a newer clean rerun supersedes it.
- Keep rerunning the pinned
summary_synthesis_memoryruntime against the active challenger and only repin if the challenger wins both offline and live.
Promotion rule:
- no memory change is promoted on offline benchmark wins alone
- no memory change is promoted on a single live Telegram replay alone
- both the offline scorecards and the live Telegram packs have to stay green
Tomorrow, resume from:
- the latest clean
14/14soak artifact at$SPARK_HOME\artifacts\telegram-memory-architecture-soak-post-timeout-v1\telegram-memory-architecture-soak.json - the refreshed explanation-pack rerun at
$SPARK_HOME\artifacts\telegram-memory-regression-explanation-pack-v2 - the current default two-contender program in
docs/MEMORY_REALTIME_BENCHMARK_PROGRAM_2026-04-11.md - the offline benchmark artifact at
$SPARK_HOME\artifacts\memory-architecture-benchmark\memory-architecture-benchmark.json - new benchmark design focused on the unsolved selector lanes and on separating offline-vs-live disagreement more directly
9a07b50Expand memory soak into benchmark pack suite793f908Auto-approve isolated memory soak users7f51f39Harden memory benchmark trust scoring61d0b6aFix zero-signal ties in memory benchmark soak