<?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 MCP General Abilities	</title>
	<atom:link href="https://lhero.org/portfolio/lh-mcp-general-abilities/feed/" rel="self" type="application/rss+xml" />
	<link>https://lhero.org/portfolio/lh-mcp-general-abilities/</link>
	<description>Digital Sovereignty for everyone</description>
	<lastBuildDate>Wed, 28 Oct 2026 22:38:39 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: Peter Shaw		</title>
		<link>https://lhero.org/portfolio/lh-mcp-general-abilities/#comment-1537756</link>

		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 22:38:39 +0000</pubDate>
		<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=147448#comment-1537756</guid>

					<description><![CDATA[list-user-sites is now offered on the main site only (lh-tasks #152727). It reads any user&#039;s memberships across the network and needs install_plugins, so registering it on every sub-site only duplicated it on each sub-site&#039;s MCP connector. On a multisite network it is now neither registered nor permitted anywhere but the main site, and its description ends with &quot;Requires install_plugins; main site only.&quot; list-my-sites and set-primary-site are unchanged.]]></description>
			<content:encoded><![CDATA[<p>list-user-sites is now offered on the main site only (lh-tasks #152727). It reads any user&#8217;s memberships across the network and needs install_plugins, so registering it on every sub-site only duplicated it on each sub-site&#8217;s MCP connector. On a multisite network it is now neither registered nor permitted anywhere but the main site, and its description ends with &#8220;Requires install_plugins; main site only.&#8221; list-my-sites and set-primary-site are unchanged.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Peter Shaw		</title>
		<link>https://lhero.org/portfolio/lh-mcp-general-abilities/#comment-1537753</link>

		<dc:creator><![CDATA[Peter Shaw]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 22:14:49 +0000</pubDate>
		<guid isPermaLink="false">https://lhero.org/?post_type=lh-portfolio&#038;p=147448#comment-1537753</guid>

					<description><![CDATA[New trash-post and untrash-post abilities, so an agent can remove a draft it no longer needs, such as a superseded reply draft, and undo that itself (lh-tasks #152762). trash-post moves a post to the trash and never deletes it permanently; it refuses outright if the site has the trash switched off, since WordPress would then delete. It reaches the same posts update-post can revise, read from the same per-post-type rules: posts, pages and other content types while draft, pending or auto-draft. Published, scheduled and private posts are refused, and so are menus, template parts and synced patterns in any status. Both need delete_post on the post and take site_id. Trashing a post already in the trash succeeds with a notice; the response gives the post&#039;s previous status and how to restore it. untrash-post restores only what trash-post could have trashed, back to the status it had (an auto-draft comes back as a draft), so a post that was live before it was trashed stays a human restore. Both are recorded in LH Audit Trail as content.post_trashed and content.post_restored. The post type rules gain a trash key, defaulting to the update list. A plugin can give its own type a trash-only rule (empty create and update lists) so its drafts can be trashed without the type becoming writable through create-post or update-post; such types are no longer reported as writable.]]></description>
			<content:encoded><![CDATA[<p>New trash-post and untrash-post abilities, so an agent can remove a draft it no longer needs, such as a superseded reply draft, and undo that itself (lh-tasks #152762). trash-post moves a post to the trash and never deletes it permanently; it refuses outright if the site has the trash switched off, since WordPress would then delete. It reaches the same posts update-post can revise, read from the same per-post-type rules: posts, pages and other content types while draft, pending or auto-draft. Published, scheduled and private posts are refused, and so are menus, template parts and synced patterns in any status. Both need delete_post on the post and take site_id. Trashing a post already in the trash succeeds with a notice; the response gives the post&#8217;s previous status and how to restore it. untrash-post restores only what trash-post could have trashed, back to the status it had (an auto-draft comes back as a draft), so a post that was live before it was trashed stays a human restore. Both are recorded in LH Audit Trail as content.post_trashed and content.post_restored. The post type rules gain a trash key, defaulting to the update list. A plugin can give its own type a trash-only rule (empty create and update lists) so its drafts can be trashed without the type becoming writable through create-post or update-post; such types are no longer reported as writable.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
