Repository navigation
feat(renderer): collections stage 3 in the renderer (RFC-0042 step 3) - #105
Merged
Merged
Conversation
- Derived expiry gates: unlist keeps the entry URL and leaves listings, feeds, sitemap, llms.txt, archives and search; hide is a 404. The gate index caps the edge cache at derived instants and at list-field dates used with `now`. Previews show "Ended on" / "Expired on". - Site Worker features report gates: 2; the store refuses a new or changed expiry (gates_unsupported, 409) until then. - Auto mode holds a publish or release that adds or advances a live derived gate (`expires`). - queryEntries on live and snapshot sources, ContentList where/orderBy (old themes passing source lists through get them too), withStructuredData for the Event, JobPosting, Product and Recipe presets. - Starter uses both; output unchanged without the new settings. - Compat test with frozen v0.3.10, v0.4.0 and v0.5.0 themes; opt-in 10k-entry benchmark (bench:lists). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
…field lists Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
This was referenced Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 3 of RFC-0042's rollout (ADR-0044), built on #103 and #104.
Derived gates (
min(availability.until, expiry))unlistpast the gatehidepast the gatecontentList, relatedllms.txt, searchnow.Guards
gates: 2. Until it does, the store refuses a new or changedexpirywithgates_unsupported(409); removing one is always allowed. The API, MCP and imports go through this check.expires).Theme API (additive)
./queries:queryEntries,contentListEntriesand friends.GraphSource.queryEntries?/routableEntries?.withStructuredData/entryStructuredData: the preset JSON-LD in place ofBlogPosting.entryHeadis unchanged.ContentListsupportswhereandorderBy. Old themes that pass a source's list through get field listings too; the compat test checks this for v0.3.10, v0.4.0 and v0.5.0.Starter: uses
contentListEntriesandwithStructuredData. Output is unchanged for sites without the new settings.Benchmark (10,000 entries, median of 10 runs,
bench:lists, opt-in)wherequeryContentEntriesThe published site is well under the 50 ms threshold. The store, API and MCP path reads the whole collection by construction and is over it. Under RFC-0042 open question 10 that argues for an
entry_list_valuesside table on that path, a separate decision.Not done
expiresreason yet (step 5).renderSectionHtmlpreviews ignorewhere, as they already ignorefilter.Tests
EADDRNOTAVAIL.Changeset: minor.
🤖 Generated with Claude Code