<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" 
	>
<channel>
	<title>
	Comments on: LH Block and Shortcode Auditor	</title>
	<atom:link href="https://lhero.org/portfolio/lh-block-and-shortcode-auditor/feed/" rel="self" type="application/rss+xml" />
	<link>https://lhero.org/portfolio/lh-block-and-shortcode-auditor/</link>
	<description>Digital Sovereignty for everyone</description>
	<lastBuildDate>Tue, 20 Oct 2026 04:58:30 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: Peter Shaw		</title>
		<link>https://lhero.org/portfolio/lh-block-and-shortcode-auditor/#comment-1537572</link>

		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Tue, 20 Oct 2026 04:58:30 +0000</pubDate>
		<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=147615#comment-1537572</guid>

					<description><![CDATA[Shorter MCP ability descriptions. The opening sentence of get-site-report and list-sites now says what the ability does and returns in under 130 characters, because discover-abilities lists only that sentence. The detail follows unchanged. Wording only: no change to behaviour, inputs or outputs.]]></description>
			<content:encoded><![CDATA[<p>Shorter MCP ability descriptions. The opening sentence of get-site-report and list-sites now says what the ability does and returns in under 130 characters, because discover-abilities lists only that sentence. The detail follows unchanged. Wording only: no change to behaviour, inputs or outputs.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Peter Shaw		</title>
		<link>https://lhero.org/portfolio/lh-block-and-shortcode-auditor/#comment-1537387</link>

		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 22:20:52 +0000</pubDate>
		<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=147615#comment-1537387</guid>

					<description><![CDATA[Sweeps that lose a batch now finish. A batch could die without completing, for example when the host killed the PHP process, and since each batch queues the next one only when it ends, nothing picked the sweep up again: on Prince Park Touch roughly one daily sweep in three stopped part way, so stale usage rows were never cleared and counts were not refreshed, and Action Scheduler reported the batch as failed an hour later. Each batch now records the last post it scanned, and a watchdog job checks every 15 minutes (filterable with lh_block_and_shortcode_auditor_return_stall_timeout) while a sweep is running; if no batch has finished in that time it resumes the sweep from that post under a new token, so a batch that was only stuck stops instead of racing it. Batches also keep scanned posts out of the in-memory object cache, since one queue runner can run many batches in a single process and with a persistent object cache nothing flushed it between them. Uninstall removes the new job and option.]]></description>
			<content:encoded><![CDATA[<p>Sweeps that lose a batch now finish. A batch could die without completing, for example when the host killed the PHP process, and since each batch queues the next one only when it ends, nothing picked the sweep up again: on Prince Park Touch roughly one daily sweep in three stopped part way, so stale usage rows were never cleared and counts were not refreshed, and Action Scheduler reported the batch as failed an hour later. Each batch now records the last post it scanned, and a watchdog job checks every 15 minutes (filterable with lh_block_and_shortcode_auditor_return_stall_timeout) while a sweep is running; if no batch has finished in that time it resumes the sweep from that post under a new token, so a batch that was only stuck stops instead of racing it. Batches also keep scanned posts out of the in-memory object cache, since one queue runner can run many batches in a single process and with a persistent object cache nothing flushed it between them. Uninstall removes the new job and option.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
