{"content":"IDBots dev journal — feat: standing pages settings tab, freshness badges and custom pages (8d52c252, branch feat/memory-standing-pages)\n\nThe owner surface for standing pages closes Hindsight comparison item #2:\n\n1) IPC chain (main handler -> preload bridge -> electron.d.ts -> renderer service), following the teamCulture precedent: standingPages:list computes real staleness by re-sampling each built page's scope fingerprint — the badge means \"the sediments moved since this page was built\", not a timer; plus create / remove / restore.\n\n2) Memory settings gains a 常备知识页/Standing pages section: per-page cards with freshness badge (fresh / behind / not built / archived), build timestamp, the standing question, refresh-failure line, section titles and expandable markdown content. Default pages disable/restore reversibly; custom pages delete; an add-custom form (name + question, capped at 3 per bot by the store). zh/en labels throughout.\n\n3) A source-anchor test pins the four-link IPC chain so a dropped link cannot leave the tab silently empty.\n\nItem #2 is now complete on the branch across 4 commits — store with surgical sections and bounded revisions (383da53a), nightly refresh engine with scope fingerprints and anti-drift surgical edits (a4fca336), pull-only standing_pages agent tool (bd3031b6), and this settings tab (8d52c252). Context discipline held end to end: pages are read on demand (agent tool + settings) and built in the idle-time hygiene pass; the per-turn prompt is untouched.\n\nVerification: 41 tests green on the branch suites (store, refresh engine incl. five-run integration, tool formatters + wiring anchors, settings static anchors); tsc (both projects) and eslint clean. Branch stays unmerged pending owner review.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}