<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>FULSTK</title><description>Analysis and craft writing on the full stack — search, structured data, static delivery, agentic systems, and the operational decisions behind them.</description><link>https://fulstk.com</link><language>en-us</language><item><title>Zero JavaScript Is a Product Decision, Not a Performance Trick</title><link>https://fulstk.com/news/zero-javascript-is-a-product-decision</link><guid isPermaLink="true">https://fulstk.com/news/zero-javascript-is-a-product-decision</guid><description>Shipping no client-side script is usually sold as a speed optimisation. The speed is the smallest thing you get. What actually changes is the set of failures your site is capable of having.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>Development</category><category>static sites</category><category>performance</category><category>build gates</category></item><item><title>The Canonical Tag Is a Claim About Identity</title><link>https://fulstk.com/news/the-canonical-tag-is-a-claim-about-identity</link><guid isPermaLink="true">https://fulstk.com/news/the-canonical-tag-is-a-claim-about-identity</guid><description>Most canonical bugs are not tagging mistakes. They are a site accidentally telling search engines that all of its pages are the same page — and the defaults in every framework make that the easy thing to do.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate><category>SEO</category><category>canonicals</category><category>indexing</category><category>build gates</category></item><item><title>Structured Data Is a Contract, Not a Checkbox</title><link>https://fulstk.com/news/structured-data-is-a-contract-not-a-checkbox</link><guid isPermaLink="true">https://fulstk.com/news/structured-data-is-a-contract-not-a-checkbox</guid><description>Schema.org markup is usually treated as an SEO garnish you add at the end. It is better understood as a set of machine-readable promises about a page — which means the interesting question is what happens when the page stops keeping them.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>SEO</category><category>structured data</category><category>schema.org</category><category>indexing</category></item><item><title>What an Agent Needs Before It Will Quote You</title><link>https://fulstk.com/news/what-an-agent-needs-before-it-will-quote-you</link><guid isPermaLink="true">https://fulstk.com/news/what-an-agent-needs-before-it-will-quote-you</guid><description>Optimising for language models is mostly framed as writing for a new kind of reader. The more useful frame is that you are now writing for a reader that has to decide whether to stake its answer on you.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>AI</category><category>AI agents</category><category>provenance</category><category>structured data</category></item><item><title>Content in Git Is a Database Decision</title><link>https://fulstk.com/news/content-in-git-is-a-database-decision</link><guid isPermaLink="true">https://fulstk.com/news/content-in-git-is-a-database-decision</guid><description>Putting your content in a repository looks like a tooling preference. It is actually a choice about consistency, history and who is allowed to write — and it has a specific expiry date you should decide in advance.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>Development</category><category>static sites</category><category>git</category><category>content models</category></item><item><title>The Dependency You Did Not Choose</title><link>https://fulstk.com/news/the-dependency-you-did-not-choose</link><guid isPermaLink="true">https://fulstk.com/news/the-dependency-you-did-not-choose</guid><description>Your direct dependencies are a decision. Everything underneath them is a consequence — and on a typical install, the consequences outnumber the decisions by two orders of magnitude.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>SecOps</category><category>supply chain</category><category>dependencies</category><category>build gates</category></item><item><title>A Design System Is a Refusal</title><link>https://fulstk.com/news/a-design-system-is-a-refusal</link><guid isPermaLink="true">https://fulstk.com/news/a-design-system-is-a-refusal</guid><description>The value of a component library is not the components. It is the set of decisions it takes off the table — and a system that keeps saying yes to variants has given that value away.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>Design</category><category>design systems</category><category>components</category></item><item><title>The Bill Is the Architecture</title><link>https://fulstk.com/news/the-bill-is-the-architecture</link><guid isPermaLink="true">https://fulstk.com/news/the-bill-is-the-architecture</guid><description>Cloud cost is usually treated as an optimisation problem to be solved after the fact. It is more honest to read the invoice as a description of the system you actually built, including the parts you did not mean to.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>Cloud</category><category>cloud cost</category><category>infrastructure</category></item><item><title>RSS Is Still the Best API You Can Ship</title><link>https://fulstk.com/news/rss-is-still-the-best-api-you-can-ship</link><guid isPermaLink="true">https://fulstk.com/news/rss-is-still-the-best-api-you-can-ship</guid><description>A feed costs a few dozen lines, requires no keys, no versioning and no support, and gives every consumer — reader, aggregator, script or agent — the same view of your archive. Almost nobody ships one properly.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>Writing &amp; Content</category><category>RSS</category><category>syndication</category><category>content models</category></item><item><title>A Taxonomy Is a Commitment, Not a Filing Convenience</title><link>https://fulstk.com/news/a-taxonomy-is-a-commitment</link><guid isPermaLink="true">https://fulstk.com/news/a-taxonomy-is-a-commitment</guid><description>Categories, subcategories and tags look like three flavours of the same idea. They are three different promises about permanence, and confusing them is how a site ends up with two answers to what a page is about.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate><category>SEO</category><category>content models</category><category>information architecture</category><category>indexing</category></item><item><title>Timezones Are Not a Formatting Problem</title><link>https://fulstk.com/news/timezones-are-not-a-formatting-problem</link><guid isPermaLink="true">https://fulstk.com/news/timezones-are-not-a-formatting-problem</guid><description>A calendar day and an instant in time are different types, and most date bugs are the moment one is silently converted into the other. The fix is not better formatting — it is refusing the conversion.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate><category>Development</category><category>dates</category><category>content models</category><category>build gates</category></item><item><title>An Agent With Write Access Is an Outage Waiting for a Schedule</title><link>https://fulstk.com/news/an-agent-with-write-access-is-an-outage</link><guid isPermaLink="true">https://fulstk.com/news/an-agent-with-write-access-is-an-outage</guid><description>Autonomous agents are good at proposing changes and bad at being trusted with them. The whole design problem is putting a reviewable boundary between the two, and most setups skip it because the boundary is inconvenient.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate><category>AI</category><category>AI agents</category><category>provenance</category><category>build gates</category></item></channel></rss>