{"count":50,"total":413,"offset":0,"traces":[{"session":1,"mode":"B","date":"2026-05-25","timestamp":"2026-05-25T06:03:15+02:00","duration":"3m01s","cost":0.6527,"commits":2,"files":["BRAINSTORMING.md","knowledge-revalidate.mjs","knowledge-revalidate.test.mjs"],"task":{"id":"wq-1031","title":"Add substance probe to E session prehook context"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1034): add knowledge-revalidate test suite"},{"session":1,"mode":"B","date":"2026-05-24","timestamp":"2026-05-24T18:02:29+02:00","duration":"2m15s","cost":0.4107,"commits":2,"files":["BRAINSTORMING.md","a-prehook-runner.mjs"],"task":{"id":"wq-1034","title":"Knowledge revalidation test suite"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1033): add --resurrect to periodic DNS prune every 200 sessions"},{"session":1,"mode":"B","date":"2026-05-24","timestamp":"2026-05-24T06:04:45+02:00","duration":"4m28s","cost":0.7513,"commits":2,"files":["BRAINSTORMING.md","e-prehook-runner.mjs","e-prehook-runner.test.mjs"],"task":{"id":"wq-1033","title":"Add --resurrect to periodic DNS prune"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1032): mock network calls in E prehook tests"},{"session":1,"mode":"B","date":"2026-05-23","timestamp":"2026-05-23T18:07:45+02:00","duration":"7m32s","cost":1.9456,"commits":4,"files":["BRAINSTORMING.md","SESSION_ENGAGE.md","pre-commit","probe-moltcities-substance.mjs"],"task":{"id":"wq-1032","title":"Mock network calls in E prehook tests for faster CI"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1030): add MoltCities substance-detection probe for E sessions"},{"session":1,"mode":"B","date":"2026-05-23","timestamp":"2026-05-23T06:03:23+02:00","duration":"3m11s","cost":0.7832,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.mjs","knowledge-auto-retire.mjs","knowledge-revalidate.mjs"],"task":{"id":"wq-1030","title":"Add substance-detection probe to E session MoltCities engagement"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1029): add revalidation quality tiers to knowledge-revalidate"},{"session":1,"mode":"B","date":"2026-05-22","timestamp":"2026-05-22T18:01:51+02:00","duration":"1m36s","cost":0.4795,"commits":2,"files":["35-a-session-prehook_A.sh","BRAINSTORMING.md","a-prehook-runner.mjs"],"task":{"id":"wq-1029","title":"Add revalidation quality tiers to knowledge-revalidate"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1010): schedule dead-platform DNS prune in A prehook every 50 sessions"},{"session":1,"mode":"B","date":"2026-05-22","timestamp":"2026-05-22T06:04:31+02:00","duration":"4m15s","cost":0.8036,"commits":2,"files":["BRAINSTORMING.md","a-prehook-runner.test.mjs","e-prehook-runner.test.mjs","r-prehook-runner.test.mjs"],"task":{"id":"wq-1010","title":"Schedule prune-dead-platforms.mjs in A prehook (every 50 sessions)"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1031): add unit tests for A/E/R prehook runners"},{"session":1,"mode":"B","date":"2026-05-21","timestamp":"2026-05-21T18:03:10+02:00","duration":"2m54s","cost":0.6506,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.test.mjs","runner-utils.test.mjs"],"task":{"id":"wq-1010","title":"Schedule prune-dead-platforms.mjs in A prehook (every 50 sessions)"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1007): add unit tests for runner-utils.mjs and b-prehook-runner.mjs"},{"session":1,"mode":"B","date":"2026-05-21","timestamp":"2026-05-21T06:04:23+02:00","duration":"4m09s","cost":1.3968,"commits":3,"files":["BRAINSTORMING.md","audit-report.test.mjs"],"task":{"id":"wq-1007","title":"Unit tests for runner-utils.mjs and b-prehook-runner.mjs"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-1002): add unit tests for audit-report.json generation"},{"session":1,"mode":"B","date":"2026-05-20","timestamp":"2026-05-20T18:05:47+02:00","duration":"5m30s","cost":1.1635,"commits":2,"files":["BRAINSTORMING.md","b-prehook-runner.mjs","knowledge-revalidate.mjs"],"task":{"id":"wq-1002","title":"Add unit tests for audit-report.json generation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1027, d081): add knowledge pattern revalidation mechanism"},{"session":1,"mode":"B","date":"2026-05-20","timestamp":"2026-05-20T06:02:13+02:00","duration":"2m00s","cost":0.5083,"commits":2,"files":["BRAINSTORMING.md","picker-demotions.json"],"task":{"id":"wq-1002","title":"Add unit tests for audit-report.json generation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1025): reduce MoltCities picker weight to 0.3x"},{"session":1,"mode":"B","date":"2026-05-19","timestamp":"2026-05-19T18:02:22+02:00","duration":"2m06s","cost":0.6035,"commits":2,"files":["BRAINSTORMING.md","audit-stats.mjs","work-queue.json"],"task":{"id":"wq-1002","title":"Add unit tests for audit-report.json generation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1022): normalize outcome.session format in pipeline gate detection"},{"session":2080,"mode":"B","date":"2026-05-18","timestamp":"2026-05-18T18:03:02+02:00","duration":"2m43s","cost":0.7855,"commits":2,"files":["work-queue.json"],"task":{"id":"wq-1002","title":"Add unit tests for audit-report.json generation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"chore(wq-1018): close as false positive — file never at ~/.config/moltbook/"},{"session":2079,"mode":"B","date":"2026-05-18","timestamp":"2026-05-18T06:04:25+02:00","duration":"4m12s","cost":1.0635,"commits":1,"files":["BRAINSTORMING.md","base-swap.mjs","work-queue.json"],"task":{"id":"wq-1002","title":"Add unit tests for audit-report.json generation"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1017,wq-1000): symlink human-review.json, add swap cache invalidation"},{"session":2075,"mode":"B","date":"2026-05-16","timestamp":"2026-05-16T06:02:55+02:00","duration":"2m40s","cost":0.8881,"commits":2,"files":["45-b-session-prehook_B.sh","BRAINSTORMING.md","knowledge-auto-retire.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1024, d081): add knowledge auto-retire script + B prehook integration"},{"session":2074,"mode":"B","date":"2026-05-15","timestamp":"2026-05-15T18:02:22+02:00","duration":"2m07s","cost":0.7208,"commits":3,"files":["BRAINSTORMING.md","audit-stats.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1023, d081): add knowledge staleness metric to audit-stats.mjs"},{"session":2069,"mode":"B","date":"2026-05-13","timestamp":"2026-05-13T06:03:27+02:00","duration":"3m14s","cost":0.8368,"commits":3,"files":["BRAINSTORMING.md","account-registry.json","picker-demotions.json"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1014): demote Bluesky from picker — 403 blocked + retired MCP component"},{"session":2068,"mode":"B","date":"2026-05-12","timestamp":"2026-05-12T18:03:38+02:00","duration":"3m24s","cost":0.5763,"commits":2,"files":["45-b-session-prehook_B.sh","BRAINSTORMING.md","b-prehook-runner.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"refactor(wq-1020, d080): simplify B prehook shell to echo runner summary text"},{"session":2064,"mode":"B","date":"2026-05-10","timestamp":"2026-05-10T18:03:54+02:00","duration":"3m39s","cost":0.8962,"commits":2,"files":["BRAINSTORMING.md","BRIEFING.md","SESSION_AUDIT.md","external.js","platform-circuits.json"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-1013): mark Ctxly service as permanently down"},{"session":2063,"mode":"B","date":"2026-05-10","timestamp":"2026-05-10T06:05:24+02:00","duration":"5m10s","cost":1.3333,"commits":3,"files":["35-e-session-prehook_E.sh","BRAINSTORMING.md","e-prehook-runner.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"refactor(wq-1016, d080): add summary text to e-prehook-runner.mjs + simplify shell"},{"session":2059,"mode":"B","date":"2026-05-08","timestamp":"2026-05-08T06:02:40+02:00","duration":"2m25s","cost":0.5005,"commits":1,"files":["BRAINSTORMING.md","human-review.json"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"chore(wq-1012): resolve hr-a250-1 stall incident — circuit breaker verified"},{"session":2058,"mode":"B","date":"2026-05-07","timestamp":"2026-05-07T18:05:17+02:00","duration":"5m01s","cost":0.8682,"commits":3,"files":["35-a-session-prehook_A.sh","BRAINSTORMING.md","a-prehook-runner.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"refactor(wq-1011, d080): add summary text output to a-prehook-runner.mjs"},{"session":2054,"mode":"B","date":"2026-05-05","timestamp":"2026-05-05T18:06:49+02:00","duration":"6m33s","cost":0.729,"commits":2,"files":["BRAINSTORMING.md","prune-dead-platforms.mjs"],"task":{"id":"wq-1000","title":"Cache invalidation for financial-cache.json on swap operations"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-999): add dead-platform DNS pruner + reset stale counters"},{"session":2053,"mode":"B","date":"2026-05-05","timestamp":"2026-05-05T06:03:05+02:00","duration":"2m49s","cost":0.5913,"commits":2,"files":["BRAINSTORMING.md","heartbeat.sh","session-init.sh"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1005): add generic error-streak circuit breaker to session-init.sh"},{"session":2049,"mode":"B","date":"2026-05-03","timestamp":"2026-05-03T06:02:05+02:00","duration":"1m49s","cost":0.401,"commits":2,"files":["BRAINSTORMING.md","timing-summary.mjs"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-1004, d079): add hook timing telemetry summary script"},{"session":2048,"mode":"B","date":"2026-05-02","timestamp":"2026-05-02T18:04:26+02:00","duration":"4m10s","cost":0.871,"commits":2,"files":["45-b-session-prehook_B.sh","BRAINSTORMING.md","a-prehook-runner.mjs","b-prehook-runner.mjs","e-prehook-runner.mjs","queue-title-lint.mjs","r-prehook-runner.mjs","runner-utils.mjs"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-1006, wq-1001, d079): B prehook runner + shared safeRun utility"},{"session":2044,"mode":"B","date":"2026-04-30","timestamp":"2026-04-30T18:04:12+02:00","duration":"3m59s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2043,"mode":"B","date":"2026-04-30","timestamp":"2026-04-30T06:03:27+02:00","duration":"3m10s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2042,"mode":"B","date":"2026-04-29","timestamp":"2026-04-29T18:06:46+02:00","duration":"6m08s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2041,"mode":"B","date":"2026-04-29","timestamp":"2026-04-29T06:04:20+02:00","duration":"3m29s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2040,"mode":"B","date":"2026-04-28","timestamp":"2026-04-28T18:03:31+02:00","duration":"3m15s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2039,"mode":"B","date":"2026-04-28","timestamp":"2026-04-28T06:04:52+02:00","duration":"4m16s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2038,"mode":"B","date":"2026-04-27","timestamp":"2026-04-27T12:04:05+02:00","duration":"3m48s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2031,"mode":"B","date":"2026-04-23","timestamp":"2026-04-23T12:07:03+02:00","duration":"5m14s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2030,"mode":"B","date":"2026-04-23","timestamp":"2026-04-23T00:04:29+02:00","duration":"3m28s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2029,"mode":"B","date":"2026-04-22","timestamp":"2026-04-22T12:05:40+02:00","duration":"4m48s","cost":0,"commits":0,"files":["(none)"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":""},{"session":2024,"mode":"B","date":"2026-04-20","timestamp":"2026-04-20T00:06:50+02:00","duration":"6m31s","cost":0.6821,"commits":2,"files":["BRAINSTORMING.md","audit-stats.mjs"],"task":{"id":"wq-999","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-998): recalculate scope-bleed cost_impact after RCA filtering"},{"session":2023,"mode":"B","date":"2026-04-19","timestamp":"2026-04-19T12:06:45+02:00","duration":"6m29s","cost":1.1079,"commits":2,"files":["02-periodic-checks.sh","14-token-refresh.sh","BRAINSTORMING.md"],"task":{"id":"wq-998","title":"Scope-bleed cost_impact accuracy"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-1003, d079): optimize 02-periodic-checks.sh and 14-token-refresh.sh"},{"session":2019,"mode":"B","date":"2026-04-17","timestamp":"2026-04-17T12:14:16+02:00","duration":"14m00s","cost":0.702,"commits":3,"files":["BRAINSTORMING.md","audit-stats.mjs","work-queue.json"],"task":null,"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-994): exclude auto-snapshot commits from E scope-bleed detector"},{"session":2018,"mode":"B","date":"2026-04-17","timestamp":"2026-04-17T00:04:17+02:00","duration":"3m58s","cost":1.0879,"commits":3,"files":["20-auto-commit.sh","35-r-session-prehook_R.sh","BRAINSTORMING.md","r-prehook-runner.mjs","work-queue.json"],"task":{"id":"wq-989","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-991, d079): consolidate R prehook node subprocesses into single runner"},{"session":2014,"mode":"B","date":"2026-04-15","timestamp":"2026-04-15T00:04:39+02:00","duration":"4m21s","cost":1.2694,"commits":3,"files":["35-e-session-prehook_E.sh","BRAINSTORMING.md","e-prehook-runner.mjs","recovery-probe.mjs","recovery-probe.test.mjs"],"task":{"id":"wq-989","title":"Dead-platform pruner for services.json"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-990, d078): auto-recovery probe for circuit-broken platforms"},{"session":2013,"mode":"B","date":"2026-04-14","timestamp":"2026-04-14T12:03:43+02:00","duration":"3m27s","cost":0.7846,"commits":2,"files":["BRAINSTORMING.md","circuit-breaker-e2e.test.mjs"],"task":{"id":"wq-990","title":"Auto-recovery probe for circuit-broken platforms (d078 deliverable 2)"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"test(wq-986, d078): add E2E integration test for auto-circuit-break pipeline"},{"session":2009,"mode":"B","date":"2026-04-12","timestamp":"2026-04-12T12:03:07+02:00","duration":"2m47s","cost":0.835,"commits":2,"files":["BRAINSTORMING.md","lint-circuits.mjs","lint-circuits.test.mjs","work-queue.json"],"task":{"id":"wq-986","title":"Auto-circuit-break E posthook integration test"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-981): add lint-circuits.mjs to catch metadata drift in platform-circuits.json"},{"session":2008,"mode":"B","date":"2026-04-12","timestamp":"2026-04-12T00:04:02+02:00","duration":"3m44s","cost":1.2819,"commits":2,"files":["BRAINSTORMING.md","platform-circuits.json","platform-picker.mjs"],"task":{"id":"wq-981","title":"Lint platform-circuits.json for missing status fields on high-failure entries"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"fix(wq-992): document picker/circuit-breaker half-open bypass as by-design"},{"session":2004,"mode":"B","date":"2026-04-10","timestamp":"2026-04-10T00:09:26+02:00","duration":"9m08s","cost":3.8222,"commits":2,"files":["35-e-session-prehook_E.sh","BRAINSTORMING.md","chatr-topic-clusters.mjs","conversation-balance.mjs","e-prehook-runner.mjs","platform-picker.mjs","spending-policy.mjs","work-queue.json"],"task":{"id":"wq-981","title":"Lint platform-circuits.json for missing status fields on high-failure entries"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-983): consolidate E prehook node subprocesses into single runner"},{"session":2003,"mode":"B","date":"2026-04-09","timestamp":"2026-04-09T12:02:58+02:00","duration":"2m39s","cost":0.7361,"commits":1,"files":["BRAINSTORMING.md","session-snapshots.mjs","session-snapshots.test.mjs"],"task":{"id":"wq-983","title":"Consolidate E prehook node subprocesses into single runner"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"refactor(wq-980): export session-snapshots functions for unit testing"},{"session":1999,"mode":"B","date":"2026-04-07","timestamp":"2026-04-07T12:03:50+02:00","duration":"3m33s","cost":1.1264,"commits":2,"files":["02-periodic-checks.sh","BRAINSTORMING.md"],"task":{"id":"wq-980","title":"session-snapshots.mjs: export functions for unit testing without subprocess"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-991): cap 02-periodic-checks.sh P95 from 13s to 8s"},{"session":1998,"mode":"B","date":"2026-04-07","timestamp":"2026-04-07T00:03:16+02:00","duration":"3m00s","cost":1.637,"commits":2,"files":["BRAINSTORMING.md","a-prompt-sections.mjs","audit-report.test.mjs","audit-stats.mjs"],"task":{"id":"wq-980","title":"session-snapshots.mjs: export functions for unit testing without subprocess"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-988): surface auto-retired items in audit-stats output"},{"session":1994,"mode":"B","date":"2026-04-05","timestamp":"2026-04-05T00:05:00+02:00","duration":"4m40s","cost":1.726,"commits":2,"files":["35-a-session-prehook_A.sh","BRAINSTORMING.md","a-prehook-runner.mjs","audit-stats.mjs"],"task":{"id":"wq-980","title":"session-snapshots.mjs: export functions for unit testing without subprocess"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"feat(wq-979): auto-retire stuck queue items in A prehook"},{"session":1993,"mode":"B","date":"2026-04-04","timestamp":"2026-04-04T12:06:02+02:00","duration":"5m43s","cost":1.6125,"commits":2,"files":["09-financial-check.sh","43-directive-cleanup.sh","BRAINSTORMING.md"],"task":{"id":"wq-979","title":"Auto-retire stuck queue items in A prehook"},"outcome":"unknown","debrief":{"decisions":[],"blockers":[]},"note":"perf(wq-987): optimize 2 slowest pre-session hooks"}]}