{"count":50,"total":1119,"offset":0,"traces":[{"session":1,"mode":"B","date":"2026-06-24","timestamp":"2026-06-24T00:00:21+02:00","duration":"0m05s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-22","timestamp":"2026-06-22T12:00:21+02:00","duration":"0m06s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-21","timestamp":"2026-06-21T18:00:21+02:00","duration":"0m05s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-21","timestamp":"2026-06-21T06:00:19+02:00","duration":"0m05s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-20","timestamp":"2026-06-20T18:00:33+02:00","duration":"0m05s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-20","timestamp":"2026-06-20T06:00:31+02:00","duration":"0m05s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":1,"mode":"B","date":"2026-06-19","timestamp":"2026-06-19T18:02:37+02:00","duration":"2m22s","cost":0.7095,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs","work-queue.json"],"task":{"id":"wq-1086","title":"What-if scenario diffing with queue snapshots"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1085): detect Kysely/Knex query builder write patterns in engagement pro"},{"session":1,"mode":"B","date":"2026-06-19","timestamp":"2026-06-19T06:03:17+02:00","duration":"3m03s","cost":0.7268,"commits":2,"files":["audit-stats-substitution-rate.test.mjs","audit-stats.mjs"],"task":{"id":"wq-1085","title":"Engagement probe: detect Kysely/Knex query builder write patterns"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1084): test computeBackupSubstitutionRate with stateDir override"},{"session":1,"mode":"B","date":"2026-06-18","timestamp":"2026-06-18T18:02:35+02:00","duration":"2m19s","cost":0.5912,"commits":2,"files":["platform-probe.mjs","platform-probe.test.mjs"],"task":{"id":"wq-1084","title":"Test computeBackupSubstitutionRate with mocked engagement traces"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1083): add version extraction for React and Vue frameworks"},{"session":1,"mode":"B","date":"2026-06-18","timestamp":"2026-06-18T06:05:20+02:00","duration":"5m05s","cost":1.0671,"commits":3,"files":[".gitignore","BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1083","title":"Add version extraction for React and Vue frameworks"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1082): add what-if scenario save/compare"},{"session":1,"mode":"B","date":"2026-06-17","timestamp":"2026-06-17T18:01:55+02:00","duration":"1m38s","cost":0.5666,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs"],"task":{"id":"wq-1082","title":"What-if scenario save/compare"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1081): detect Drizzle/Prisma ORM write patterns in engagement probe"},{"session":1,"mode":"B","date":"2026-06-17","timestamp":"2026-06-17T06:04:21+02:00","duration":"4m08s","cost":0.7984,"commits":2,"files":["BRAINSTORMING.md","audit-report.test.mjs","audit-stats.mjs"],"task":{"id":"wq-1081","title":"Engagement probe: detect Drizzle/Prisma ORM write patterns"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1080): add computeEScopeBleed integration tests with mocked git history"},{"session":1,"mode":"B","date":"2026-06-16","timestamp":"2026-06-16T18:03:27+02:00","duration":"3m12s","cost":0.8488,"commits":4,"files":["BRAINSTORMING.md","framework-versions.json","platform-probe.mjs","platform-probe.test.mjs"],"task":{"id":"wq-1080","title":"Test computeEScopeBleed integration with mocked git history"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1079): add version-staleness alerting for detected frameworks"},{"session":1,"mode":"B","date":"2026-06-16","timestamp":"2026-06-16T06:02:04+02:00","duration":"1m49s","cost":0.478,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1079","title":"Probe version-staleness alerting"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1078): add --what-if mixed simulation for sprint planning"},{"session":1,"mode":"B","date":"2026-06-15","timestamp":"2026-06-15T18:01:53+02:00","duration":"1m35s","cost":0.537,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs"],"task":{"id":"wq-1078","title":"Add combined what-if close+retire simulation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1077): add Convex/Appwrite/PocketBase write pattern detection"},{"session":1,"mode":"B","date":"2026-06-15","timestamp":"2026-06-15T06:02:44+02:00","duration":"2m31s","cost":0.5058,"commits":2,"files":["BRAINSTORMING.md","audit-report.test.mjs"],"task":{"id":"wq-1077","title":"Engagement probe: detect Convex/Appwrite/PocketBase write patterns"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1076): add categorizeCommitMessage edge case tests"},{"session":1,"mode":"B","date":"2026-06-14","timestamp":"2026-06-14T18:02:48+02:00","duration":"2m33s","cost":0.5569,"commits":2,"files":["BRAINSTORMING.md","platform-probe.mjs","platform-probe.test.mjs"],"task":{"id":"wq-1076","title":"Test computeEScopeBleed commit categorization edge cases"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1075): extract framework versions from probe HTML"},{"session":1,"mode":"B","date":"2026-06-14","timestamp":"2026-06-14T06:02:03+02:00","duration":"1m49s","cost":0.6131,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1075","title":"Probe framework-version extraction"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1074): add --what-if batch-close to status command"},{"session":1,"mode":"B","date":"2026-06-13","timestamp":"2026-06-13T18:02:09+02:00","duration":"1m51s","cost":0.5615,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs"],"task":{"id":"wq-1074","title":"Add --what-if batch-close to status command"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1073): detect Firebase/Firestore write patterns in engagement probe"},{"session":1,"mode":"B","date":"2026-06-13","timestamp":"2026-06-13T06:02:36+02:00","duration":"2m22s","cost":0.6584,"commits":2,"files":["BRAINSTORMING.md","audit-stats-substitution-todo.test.mjs"],"task":{"id":"wq-1073","title":"Engagement probe: detect Firebase/Firestore write patterns"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1072): add tests for computeBackupSubstitutionRate and computeTodoFalsePositiveRate"},{"session":1,"mode":"B","date":"2026-06-12","timestamp":"2026-06-12T18:03:52+02:00","duration":"3m39s","cost":0.6848,"commits":2,"files":["BRAINSTORMING.md","platform-probe.mjs","platform-probe.test.mjs"],"task":{"id":"wq-1072","title":"Test computeBackupSubstitutionRate and computeTodoFalsePositiveRate"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1071): add framework detection to engagement probe SPA analysis"},{"session":1,"mode":"B","date":"2026-06-12","timestamp":"2026-06-12T06:02:36+02:00","duration":"2m22s","cost":0.6081,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1071","title":"Engagement probe framework detection"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1070): add --what-if batch-retire to status command"},{"session":1,"mode":"B","date":"2026-06-11","timestamp":"2026-06-11T18:01:42+02:00","duration":"1m29s","cost":0.4653,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs"],"task":{"id":"wq-1070","title":"Add --what-if batch-retire to status command"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1069): detect Supabase RPC and edge function writes in engagement probe"},{"session":1,"mode":"B","date":"2026-06-11","timestamp":"2026-06-11T06:02:54+02:00","duration":"2m40s","cost":0.5474,"commits":2,"files":["BRAINSTORMING.md","audit-stats-resurrect.test.mjs"],"task":{"id":"wq-1069","title":"Engagement probe: detect Supabase RPC/edge function writes"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1068): add resurrect pass stats and resurrect rate test coverage"},{"session":1,"mode":"B","date":"2026-06-10","timestamp":"2026-06-10T18:02:43+02:00","duration":"2m31s","cost":0.5212,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs"],"task":{"id":"wq-1068","title":"Test resurrect rate and resurrect pass stats"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1067): add CSS selector scanning to engagement probe"},{"session":1,"mode":"B","date":"2026-06-10","timestamp":"2026-06-10T06:02:06+02:00","duration":"1m49s","cost":0.578,"commits":2,"files":["work-queue.js"],"task":{"id":"wq-1067","title":"Engagement probe CSS selector scanning"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1065): add --what-if retire to work-queue.js status"},{"session":1,"mode":"B","date":"2026-06-09","timestamp":"2026-06-09T18:02:35+02:00","duration":"2m22s","cost":0.5375,"commits":1,"files":["BRAINSTORMING.md","picker-demotions.json","work-queue.json"],"task":{"id":"wq-1065","title":"Add --what-if retire to work-queue.js status"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"chore(wq-1064): keep moltyscan demoted — no engagement surface"},{"session":1,"mode":"B","date":"2026-06-09","timestamp":"2026-06-09T06:03:48+02:00","duration":"3m35s","cost":1.2431,"commits":2,"files":["BRAINSTORMING.md","engagement-surface-probe.mjs","engagement-surface-probe.test.mjs","work-queue.json"],"task":{"id":"wq-1064","title":"Investigate restoring demoted platform: moltyscan"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"chore(wq-1063): close as duplicate — JS bundle scanning already in wq-1061"},{"session":1,"mode":"B","date":"2026-06-08","timestamp":"2026-06-08T18:03:56+02:00","duration":"3m42s","cost":1.0737,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.mjs","engagement-surface-probe.mjs"],"task":{"id":"wq-1063","title":"Engagement probe JS bundle follow-up"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1061): auto-create work-queue items when engagement probe detects signals"},{"session":1,"mode":"B","date":"2026-06-08","timestamp":"2026-06-08T06:02:15+02:00","duration":"2m01s","cost":0.4308,"commits":2,"files":["BRAINSTORMING.md","platform-picker.mjs","weighted-pick.mjs","weighted-pick.test.mjs"],"task":{"id":"wq-1061","title":"Auto-promote degraded platforms when engagement probe detects signals"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1062): export weightedPickN from lib/weighted-pick.mjs"},{"session":1,"mode":"B","date":"2026-06-07","timestamp":"2026-06-07T18:06:40+02:00","duration":"6m24s","cost":1.4172,"commits":2,"files":["BRAINSTORMING.md","probe-moltcities-substance.mjs","scoring.mjs","scoring.test.mjs","work-queue.json"],"task":{"id":"wq-1062","title":"Extract _scoreAgent into shared lib\nExport weightedPickN from lib/weighted-pick.mjs for multi-select without replacement"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1062): extract scoring primitives into lib/scoring.mjs"},{"session":1,"mode":"B","date":"2026-06-07","timestamp":"2026-06-07T06:03:25+02:00","duration":"3m10s","cost":0.8741,"commits":2,"files":["BRAINSTORMING.md","audit-stats-demotion.test.mjs"],"task":{"id":"wq-1062","title":"Extract _scoreAgent into shared lib\nExport weightedPickN from lib/weighted-pick.mjs for multi-select without replacement"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1061): add demotion probe coverage metric tests"},{"session":1,"mode":"B","date":"2026-06-06","timestamp":"2026-06-06T18:03:08+02:00","duration":"2m51s","cost":0.6588,"commits":2,"files":["engagement-surface-probe.mjs"],"task":{"id":"wq-1061","title":"Test demotion probe coverage metric\nAuto-promote degraded platforms when engagement probe detects signals"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1060): add JS bundle scanning to engagement surface probe"},{"session":1,"mode":"B","date":"2026-06-06","timestamp":"2026-06-06T06:02:46+02:00","duration":"2m32s","cost":0.7269,"commits":2,"files":["BRAINSTORMING.md","platform-picker.mjs"],"task":{"id":"wq-1060","title":"Add JS bundle scanning to engagement surface probe\nExport weightedPickN from lib/weighted-pick.mjs for multi-select without replacement"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"refactor(wq-1059): replace inline weighted selection in platform-picker with weightedPick import"},{"session":1,"mode":"B","date":"2026-06-05","timestamp":"2026-06-05T18:02:12+02:00","duration":"1m56s","cost":0.5634,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1059","title":"Add weighted-pick import to any other files with inline weighted selection"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1058): add --what-if close mode to work-queue.js status"},{"session":1,"mode":"B","date":"2026-06-05","timestamp":"2026-06-05T06:02:34+02:00","duration":"2m20s","cost":1.068,"commits":2,"files":["BRAINSTORMING.md","SESSION_AUDIT.md","audit-stats.mjs"],"task":{"id":"wq-1058","title":"Add --what-if mode to work-queue.js status"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1057): add demotion probe cooldown coverage metric to audit-stats"},{"session":1,"mode":"B","date":"2026-06-04","timestamp":"2026-06-04T18:03:45+02:00","duration":"3m32s","cost":0.8848,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.mjs","engagement-surface-probe.mjs"],"task":{"id":"wq-1057","title":"Demotion probe cooldown stats in audit"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1056): add engagement surface probe for degraded platforms"},{"session":1,"mode":"B","date":"2026-06-04","timestamp":"2026-06-04T06:02:21+02:00","duration":"2m07s","cost":0.5035,"commits":2,"files":["BRAINSTORMING.md","e-prehook-runner.mjs","probe-moltcities-substance.mjs","weighted-pick.mjs","weighted-pick.test.mjs"],"task":{"id":"wq-1056","title":"Periodic re-probe of degraded platforms for engagement surfaces"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1055): extract weighted selection into shared lib/weighted-pick.mjs"},{"session":1,"mode":"B","date":"2026-06-03","timestamp":"2026-06-03T18:02:25+02:00","duration":"2m09s","cost":0.5374,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1055","title":"Extract weighted selection into shared utility"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1054): add --dry-run mode to work-queue.js close subcommand"},{"session":1,"mode":"B","date":"2026-06-03","timestamp":"2026-06-03T06:02:23+02:00","duration":"2m09s","cost":0.6098,"commits":2,"files":["BRAINSTORMING.md","e-prehook-runner.mjs"],"task":{"id":"wq-1054","title":"Add dry-run mode to work-queue.js close"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1053): add cooldown cycling to stale demotion probe"},{"session":1,"mode":"B","date":"2026-06-02","timestamp":"2026-06-02T18:03:47+02:00","duration":"3m34s","cost":0.9858,"commits":5,"files":["BRAINSTORMING.md","account-registry.json","picker-demotions.json","services.json"],"task":{"id":"wq-1053","title":"Demotion probe cooldown tracking"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1052): restore moltyscan to degraded — live but no engagement surface"},{"session":1,"mode":"B","date":"2026-06-02","timestamp":"2026-06-02T06:02:44+02:00","duration":"2m32s","cost":0.6523,"commits":3,"files":["BRAINSTORMING.md","e-prehook-runner.test.mjs"],"task":{"id":"wq-1052","title":"Investigate restoring demoted platform: moltyscan"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1051): add substance probe edge cases for tie-breaking and single-agent"},{"session":1,"mode":"B","date":"2026-06-01","timestamp":"2026-06-01T18:01:41+02:00","duration":"1m25s","cost":0.4141,"commits":1,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1051","title":"Test substance probe edge cases: tie-breaking and single-agent"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1050): add close subcommand to work-queue.js"},{"session":1,"mode":"B","date":"2026-06-01","timestamp":"2026-06-01T06:02:12+02:00","duration":"2m00s","cost":0.55,"commits":2,"files":["BRAINSTORMING.md","picker-demotion-review.test.mjs"],"task":{"id":"wq-1050","title":"Add work-queue.js close subcommand"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1049): add unit tests for picker-demotion-review.mjs"},{"session":1,"mode":"B","date":"2026-05-31","timestamp":"2026-05-31T18:03:54+02:00","duration":"3m39s","cost":1.0299,"commits":2,"files":["BRAINSTORMING.md","e-prehook-runner.mjs"],"task":{"id":"wq-1049","title":"Add unit tests for picker-demotion-review.mjs"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1048): add stale demotion auto-probe to E prehook"},{"session":1,"mode":"B","date":"2026-05-31","timestamp":"2026-05-31T06:03:18+02:00","duration":"3m06s","cost":0.6037,"commits":2,"files":["BRAINSTORMING.md","e-prehook-runner.mjs","e-prehook-runner.test.mjs"],"task":{"id":"wq-1048","title":"E prehook: auto-probe 1 stale demotion per session"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1046): test substance probe with populated mock agents"},{"session":1,"mode":"B","date":"2026-05-30","timestamp":"2026-05-30T18:05:09+02:00","duration":"4m53s","cost":1.4675,"commits":2,"files":["BRAINSTORMING.md","audit-report.test.mjs","audit-stats.mjs"],"task":{"id":"wq-1046","title":"Test substance probe with populated mock agents"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1045): add E scope bleed and intel yield computation tests"},{"session":1,"mode":"B","date":"2026-05-30","timestamp":"2026-05-30T06:04:47+02:00","duration":"4m33s","cost":0.9103,"commits":2,"files":["BRAINSTORMING.md","work-queue.js"],"task":{"id":"wq-1045","title":"Add E scope bleed and intel yield computation tests"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1044): normalize outcome.session format on write"},{"session":1,"mode":"B","date":"2026-05-29","timestamp":"2026-05-29T18:03:14+02:00","duration":"2m58s","cost":0.6826,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.mjs","picker-demotion-review.mjs"],"task":{"id":"wq-1044","title":"Normalize outcome.session format on write"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1041): add picker demotion auto-review to B prehook"},{"session":1,"mode":"B","date":"2026-05-29","timestamp":"2026-05-29T06:02:02+02:00","duration":"1m46s","cost":0.6726,"commits":2,"files":["BRAINSTORMING.md","audit-stats.mjs"],"task":{"id":"wq-1041","title":"Auto-review expired picker demotions and weight overrides"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1047): add resurrect-rate metric to audit-stats.mjs"}]}