<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Alex Blood - Blog</title><description>Thoughts on technology, programming, and creativity.</description><link>https://ablood.me/</link><language>en-us</language><item><title>Daily Update: Saturday, March 28, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-28/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-28/</guid><description>Summary of 2 changes across 195 files on Saturday, March 28, 2026.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Saturday, March 28, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;2 commits&lt;/strong&gt; touched &lt;strong&gt;195 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;resolve all dependency vulnerabilities (77 → 0) (#1) (&lt;code&gt;9306bed8&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;openclaw: pre-gate evaluation, update to 2026.3.24, maintenance script (&lt;code&gt;7de7dac4&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;195&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;ab9371784, Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Friday, March 27, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-27/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-27/</guid><description>Summary of 8 changes across 2237 files on Friday, March 27, 2026.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Friday, March 27, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;8 commits&lt;/strong&gt; touched &lt;strong&gt;2237 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Other Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add Sovereignty Architecture — evolve CLI-first into three-principle model (&lt;code&gt;ba2e2502&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Add Cohere free tier evaluation for PAI environment (&lt;code&gt;4be29b56&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Add architecture diagrams and CI/CD platform evaluation (&lt;code&gt;9553b7f5&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Add session artifacts: file-history, plans, paste-cache, tasks, scratchpad (&lt;code&gt;d9c42cb1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Update career CLI role evaluation and shell snapshot (&lt;code&gt;1f8e2c5c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Update runtime state: settings, lockfile, event logs, plugins, projects (&lt;code&gt;692db819&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Update MEMORY: work sessions, learnings, relationships, state, security logs (&lt;code&gt;1ad3f9db&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Consolidate tech stack preferences into single evidence-based reference (&lt;code&gt;08deb556&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;2237&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Thursday, March 26, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-26/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-26/</guid><description>Summary of 11 changes across 62 files on Thursday, March 26, 2026.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Thursday, March 26, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;11 commits&lt;/strong&gt; touched &lt;strong&gt;62 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Documentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;fix stale documentation from audit (&lt;code&gt;6ffb38a1&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;cleanup: remove redundant local career API server (&lt;code&gt;d0ef8eb9&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;spec: career dashboard API server + job posting update feature (&lt;code&gt;9caa642e&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;deploy refetch endpoint to production career Worker (&lt;code&gt;0d2bf0b1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career dashboard API server + job posting update UI (&lt;code&gt;a10aeb9b&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;scheduled Reminders queue sync with launchd timers (&lt;code&gt;f4012d6c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;CoS morning briefing queue section + Apple Reminders bridge (&lt;code&gt;05f087fc&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;off-peak query queue MVP — design spec + implementation (&lt;code&gt;b66f7161&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;use index-based completion for reminders-cli (&lt;code&gt;f39db1f8&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;queue-sync loads PAI_INGEST_TOKEN from 1Password when not in env (&lt;code&gt;20ef6d93&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;resolve Bonnie interaction blocker + queue processor improvements (&lt;code&gt;e6b0f444&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Wednesday, March 25, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-25/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-25/</guid><description>Summary of 15 changes across 73 files on Wednesday, March 25, 2026.</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Wednesday, March 25, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;15 commits&lt;/strong&gt; touched &lt;strong&gt;73 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;career): add sort/filter controls for scores, dates, and company (&lt;code&gt;93dfd8fb&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): implement 4-phase learning loop for job scoring (&lt;code&gt;31bd07c5&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): Phase 3 — pipeline analytics dashboard (&lt;code&gt;d5bd61bd&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): Phase 2 — post-submission response tracking (&lt;code&gt;5ae93305&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): enable R2 bucket binding for document uploads (&lt;code&gt;8f12811e&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): Phase 1 — draft application workspace with document upload (&lt;code&gt;f949948c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;slack): implement 5 Slack feature enhancements for Bonnie COS (&lt;code&gt;fef46851&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;career): use AI parsers for LinkedIn/recruiter emails in refresh command (&lt;code&gt;d6924ed2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career-dashboard): auto-create applications record on status change (&lt;code&gt;5af24d23&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;career): filter email refresh to inbox-only unprocessed emails (&lt;code&gt;8ab1a414&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;cos): fix 3 SLI test issues — staleness false positive, Mac history, scope guard (&lt;code&gt;91b6c427&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;cos): lazy-load @libsql/client to prevent COS health crash on Linux (&lt;code&gt;53a940f0&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;plan(career): learning loop design — signals, Telos integration, calibration (&lt;code&gt;b9b564fa&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;ops(bonnie): Part 12 cleanup + security hardening complete (&lt;code&gt;7da59e41&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Documentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;career): update documentation to reflect deployed dashboard (&lt;code&gt;4593595f&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;73&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Friday, March 20, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-20/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-20/</guid><description>Summary of 2 changes across 18 files on Friday, March 20, 2026.</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Friday, March 20, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;2 commits&lt;/strong&gt; touched &lt;strong&gt;18 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;add SOUL.md, tool denial policy, quiet hours, duplicate prevention to OpenClaw plan (&lt;code&gt;c2c09d94&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;OpenClaw Bonnie implementation plan — dedicated user, vault isolation, RedTeam hardened (&lt;code&gt;4a5e4234&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Wednesday, March 18, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-18/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-18/</guid><description>Summary of 5 changes across 20 files on Wednesday, March 18, 2026.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Wednesday, March 18, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;5 commits&lt;/strong&gt; touched &lt;strong&gt;20 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Maintenance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;systemd cleanup — disable 14 stale timers, remove 5 decommissioned tasks (&lt;code&gt;e97c0b13&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;decommission content pipeline across all platforms (&lt;code&gt;866e1fa1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;disable voice features with central kill switch (&lt;code&gt;ef9b2280&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;CoS follow-up lifecycle, priority sorting, domain config, blog extraction (&lt;code&gt;73ce7498&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Documentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;PAI architecture evaluation — Mac/Linux/Cloud + Claw ecosystem comparison (&lt;code&gt;54fde1fa&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Tuesday, March 17, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-17/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-17/</guid><description>Summary of 1 change across 3 files on Tuesday, March 17, 2026.</description><pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Tuesday, March 17, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;1 commit&lt;/strong&gt; touched &lt;strong&gt;3 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Other Changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;security: remediate threat assessment findings (C1/C2, H1, H2, H4) (&lt;code&gt;5966ef3a&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Monday, March 16, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-16/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-16/</guid><description>Summary of 1 change across 2 files on Monday, March 16, 2026.</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Monday, March 16, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;1 commit&lt;/strong&gt; touched &lt;strong&gt;2 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;add Aircall to career/company tracking with tech stack research (&lt;code&gt;836e2bcf&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Sunday, March 15, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-15/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-15/</guid><description>Summary of 5 changes across 27 files on Sunday, March 15, 2026.</description><pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Sunday, March 15, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;5 commits&lt;/strong&gt; touched &lt;strong&gt;27 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Maintenance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;add CoS follow-up to re-evaluate content Workers removal (2026-03-25) (&lt;code&gt;e1f5e55d&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;silence content pipeline monitoring — tasks already disabled (&lt;code&gt;c161a482&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;add @libsql/client dependency for Turso backup script (&lt;code&gt;60bb66e8&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;database resilience — backups, migration tracking, health monitoring, replica fix (&lt;code&gt;0d509fc0&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;remove 65 false-negative stderr calls from hooks, add statusMessage spinners (&lt;code&gt;1cd5bf5a&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Saturday, March 14, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-14/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-14/</guid><description>Summary of 12 changes across 45 files on Saturday, March 14, 2026.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Saturday, March 14, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;12 commits&lt;/strong&gt; touched &lt;strong&gt;45 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Maintenance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;add 30-day Two-Door audit reminder to CoS follow-ups (&lt;code&gt;1678c304&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Phase 3 — cross-skill integration (CRM ↔ CareerSearch) (&lt;code&gt;a065131a&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Professional CRM — Phase 2 council-approved plan (&lt;code&gt;0d1f0a59&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Home Maintenance Tracker — Phase 1 council-approved plan (&lt;code&gt;2b782f33&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Household Knowledge skill — Turso + MCP + CoS integration (&lt;code&gt;e186d239&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Finnhub fallback for FMP 402 paywalled endpoints (&lt;code&gt;8d529bcd&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;MediaLibrary → website sync + fix alexblood.dev → ablood.me (&lt;code&gt;f690aa27&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;add TV shows and book series to MediaLibrary (&lt;code&gt;ca1b698c&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;dynamic Telos file generation from MediaLibrary DB (&lt;code&gt;1962ebce&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;eliminate silent 5.0 defaults in company financial scoring (&lt;code&gt;b1494c72&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;FMP API endpoint /search → /search-name (&lt;code&gt;d2b2ea90&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;cos): follow-up date comparison + expanded status tags (&lt;code&gt;3c1236a6&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Friday, March 13, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-13/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-13/</guid><description>Summary of 4 changes across 7 files on Friday, March 13, 2026.</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Friday, March 13, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;4 commits&lt;/strong&gt; touched &lt;strong&gt;7 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;cos): add follow-ups system to morning briefing (&lt;code&gt;09b58d07&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;CoS email links to draft.ablood.me for preview (&lt;code&gt;06a743a2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;include full blog post content + review links in CoS email (&lt;code&gt;9fa1544a&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CoS blog post — eliminate Mac dependency, use git mirror + website repo on Linux (&lt;code&gt;47f36298&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Daily Update: Thursday, March 12, 2026</title><link>https://ablood.me/blog/daily-update-2026-03-12/</link><guid isPermaLink="true">https://ablood.me/blog/daily-update-2026-03-12/</guid><description>Summary of 8 changes across 0 files on Thursday, March 12, 2026.</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;What Changed on Thursday, March 12, 2026&lt;/h1&gt;
&lt;p&gt;A total of &lt;strong&gt;8 commits&lt;/strong&gt; touched &lt;strong&gt;0 files&lt;/strong&gt; across the PAI infrastructure.&lt;/p&gt;
&lt;h2&gt;Refactoring&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;consolidate persistence systems — remove duplication, merge hooks (&lt;code&gt;00996ccf&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Option B + services extraction — MANIFEST.yaml, origin metadata, service consolidation (&lt;code&gt;fb940d2f&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;daily blog post generation from overnight CoS briefing (&lt;code&gt;6d05c69d&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;self-assessment, flywheel closure, LoadContext + CLAUDE.md template (&lt;code&gt;60f5edc6&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;API cost tracking — metering, CoS integration, Phase 4 spec (&lt;code&gt;bc6da543&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Maintenance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;pre-push size guard + broader .gitignore patterns (&lt;code&gt;5a041af4&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;session state — learning signals, reflections, memory updates, PRD finalization (&lt;code&gt;d545f64a&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;gitignore vector DB, SQLite, subagent transcripts + history rotation (&lt;code&gt;eb6bb950&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files Changed&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributors&lt;/td&gt;
&lt;td&gt;Alex Blood&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content:encoded><category>Daily Update</category><category>Development</category></item><item><title>Welcome to My Blog</title><link>https://ablood.me/blog/welcome-to-my-blog/</link><guid isPermaLink="true">https://ablood.me/blog/welcome-to-my-blog/</guid><description>An introduction to my new personal website and what I plan to write about here.</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;Welcome!&lt;/h1&gt;
&lt;p&gt;With the help of my personal AI assistant, I&apos;m excited to launch my new personal website and blog. This space will serve as my corner of the internet where I can share my thoughts and chart my way through the creative process of building things.&lt;/p&gt;
&lt;h2&gt;What to Expect&lt;/h2&gt;
&lt;p&gt;I plan to write about a variety of topics that interest me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Development&lt;/strong&gt;: Deep dives into frameworks, tools, and best practices both in the digital and physical worlds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI and Automation&lt;/strong&gt;: Exploring how AI is changing the way we build and use software&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: Thoughts on building/ supporting secure systems and how to support blue teams &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personal Projects&lt;/strong&gt;: Updates on what I&apos;m building and learning&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Tech Stack&lt;/h2&gt;
&lt;p&gt;This site is built with some neat technologies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Astro&lt;/strong&gt; - A modern static site generator that ships minimal JavaScript&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keystatic&lt;/strong&gt; - A Git-based CMS for managing content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Pages&lt;/strong&gt; - Fast, global edge deployment (and free)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&apos;s a simple code example showing how I set up the content collections:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;import { defineCollection, z } from &apos;astro:content&apos;;

const blog = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    description: z.string(),
    publishedDate: z.coerce.date(),
    tags: z.array(z.string()).default([]),
    draft: z.boolean().default(false),
  }),
});
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Stay Tuned&lt;/h2&gt;
&lt;p&gt;I&apos;m looking forward to sharing more content here. Feel free to explore the &lt;a href=&quot;/projects&quot;&gt;projects&lt;/a&gt; section to see what I&apos;ve been working on, or check out the &lt;a href=&quot;/about&quot;&gt;about&lt;/a&gt; page to learn more about me.&lt;/p&gt;
&lt;p&gt;Thanks for stopping by!&lt;/p&gt;
</content:encoded><category>Personal</category><category>Web Development</category></item></channel></rss>