Objective: harden the KB follow-up stack so pulse, triage, and the ops-facing command-center surfaces stop recycling stale counts and stale blockers.
What shipped:
needs-followup-triage/triage.py now preserves pre-triage context but reports the post-apply live Needs Follow-up count after same-run archival changes. If the live recount fails, it falls back to a safe derived value instead of keeping the stale pre-triage count.sail-command-center now pushes live Notion rows into the Recent Notion memory lane, not just the Project Memory cards. This refreshes the ops-facing feed so recent verified KB entries can displace older static blocker rows.audit_recent_wp_content.py now emits a grouped repair-priority section by drift class while staying read-only. The daily website drift automation prompt was updated to require that grouped output.projects/command-center/lib/ops.ts static setup copy no longer hardcodes the old 898 entries KB claim; it now points to live-read semantics instead.Verification:
python3 -m unittest /Users/samaguiar/Documents/Projects/Skills/tests/test_kb_followup_live_backlog.py passed, 5 tests.npm test in Repos/sail-command-center passed, 18 tests.npm run build in Repos/sail-command-center passed.python3 -m py_compile /Users/samaguiar/Documents/Projects/wp-content-visual-scripts-2026/scripts/audit_recent_wp_content.py passed.Reason for ending:
Pending / suggested next steps:
ops.demandsam.com if it is still serving the older static snapshot or mock-mode build.Handoff:
ops.demandsam.com deployment target, and push the hosted refresh without redoing the backlog and drift logic work.