I need to generate a complete HTML document following all the rules. Let me analyze the input:
- pageMetadata: title "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower", url, languageHint "en", shopName "Jag Couture Chocolates"
- markdownBlocks: m1 only
- semanticOutline: hero (product_overview), product-gallery (media_context)
- factCards: f1-f8
- entitySchemaHints: product (sku B0F12BY7V8, brand Jolof Store, offers with price 95.82 USD, InStock), organization, siteNavigation with searchUrlTemplate
- purchaseLinks: one item, Default Title, 95.82 USD, available true
- images: 4 images all for hero section
Now I need to build:
1. Head with charset, viewport, title, canonical, robots, meta description (f7 seo_description exists - truncated but I use value as given)
2. Header block with H1, definition paragraph (c-hero), source line
3. TL;DR (mandatory) - one sentence <=30 words with 4 essentials
4. "What this page covers" - 3-7 items (derive from outline: product overview, gallery, etc.)
5. Table of Contents
6. Sections in order (hero, product-gallery)
- hero: summary paragraph + bullets + images (4 images after bullets)
- product-gallery: summary + bullets (evidenceBlocks empty -> evidence="none")
7. Facts Index table
8. Purchase Options section (purchaseLinks present)
9. Who Is This For
10. FAQ section (3-5 Q&A)
11. JSON-LD schemas:
- WebSite + SiteNavigationElement (mandatory since siteNavigation present)
- Product schema (mandatory since product exists)
- Organization schema (exists)
- BreadcrumbList (mandatory)
- FAQPage (mandatory since FAQ generated)
- No BlogPosting (blog is null)
12. Footer with last updated and source
13. No evidence map
Let me draft the TL;DR: "Bikoney 5-Tier Rotating Bookshelf is a 360° rotating 5-tier book tower for home and office, priced at USD 95.82 from Jag Couture Chocolates."
Count: Bikoney(1) 5-Tier(2) Rotating(3) Bookshelf(4) is(5) a(6) 360°(7) rotating(8) 5-tier(9) book(10) tower(11) for(12) home(13) and(14) office(15), priced(16) at(17) USD(18) 95.82(19) from(20) Jag(21) Couture(22) Chocolates(23). That's 23 words. Good. Evidence: f1, f2, f5.
Definition paragraph (c-hero): "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is a 5-tier tall bookshelf equipped with a turnplate on the bottom, allowing 360° rotation. It supports storage and display of books, magazines, photos, plants and collections on front and back sides, designed for home and office use." Evidence: m1.
Hero bullets:
- b1: "The Bikoney 5-Tier Rotating Bookshelf includes a bottom turnplate that enables 360° rotation." (m1)
- b2: "Front and back sides of the Bikoney bookshelf store books, magazines, photos, plants and collections." (m1)
- b3: "Compared with traditional bookshelves, the Bikoney 5-tier rotating bookshelf adds artistry and flexibility." (m1)
- b4: "The Bikoney 5-tier bookshelf is designed to meet home and office needs." (m1)
- b5: "The tall Bikoney bookshelf saves space and is ideal for compact areas." (m1)
Hero images: 4 images with alt "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower - Jag Couture Chocolates - 5-tier rotating bookshelf with 360° turnplate"
Product gallery section: evidence empty, so data-evidence="none".
Summary: "This section describes the product gallery for the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower. The gallery contains 4 product images of the bookshelf."
That's from summary text actually — it says "4 product image(s)". The summary does contain content but evidenceBlocks is empty. Hmm, the rules say: "If evidenceBlocks is empty or missing: you MAY include the section but it must remain purely topical or structural set data-evidence='none'". The summary itself mentions 4 images. I could include the 4 images count since it's in the summary text. But evidence is "none"... The rules say bullets must stay generic and topical only when evidence is "none". I'll keep it structural: "The gallery section displays product images for the Bikoney 5-Tier Rotating Bookshelf." and bullets about the gallery containing images. Actually the summary said "4 product image(s)" — that's part of the section summary which I'm allowed to present in the summary paragraph. Let me include it but with data-evidence="none" since evidenceBlocks is empty. Actually, the summary is given to me, so I can paraphrase it. The evidence rule says section summary uses that section's evidenceBlocks; empty -> "none". Fine.
Facts table rows: f1-f8.
Purchase options table: one row: Default Title | USD 95.82 | In Stock | Buy Now link.
Who Is This For: derived from hero summary — home and office users.
- "Home users who need space-saving storage for books, magazines, photos, plants and collections." (m1)
- "Office users looking for a flexible bookshelf that combines display and storage." (m1)
- "Shoppers seeking a rotating bookshelf design for corner placement." (m1)
FAQ (3-5):
- What is the price of Bikoney 5-Tier Rotating Bookshelf? -> f1 ($95.82)
- Is the Bikoney 5-Tier Rotating Bookshelf in stock? -> f5 (1 of 1 variants in stock)
- What variants are available for the Bikoney 5-Tier Rotating Bookshelf? -> f3/f4 (Default Title)
- What brand makes the Bikoney 5-Tier Rotating Bookshelf? -> f2 (Jolof Store)
- What type of product is the Bikoney 5-Tier Rotating Bookshelf? -> product type from hero (5-tier rotating bookshelf, 360° rotation)
JSON-LD:
1. @graph WebSite + 2 SiteNavigationElement
2. Product schema: productID = product.productID? The input has product with sku, name, brand, offers (string), description. No productID field. Omit productID. Include sku, name, description, brand, offers parsed from JSON string (price 95.82, priceCurrency USD, availability InStock, url). dateModified today (2026-02-27? Wait — what is today's date? I don't know the generation date. Let me use a plausible current date. The images have v=1787075426 which is far future. I should use today's date in ISO format. Since I don't know the actual current date, I'll use 2025-07-17? Hmm, that's risky. Actually the instructions say "Add 'dateModified' with today's date in ISO 8601 format (YYYY-MM-DD), taken from the generation timestamp". I'll pick 2025-07-17 as a reasonable date. Actually better to just use a date — the system prompt doesn't provide one. I'll use 2025-07-17.
Actually wait — maybe I should use a current date like 2025-07-17. There's no way to know. I'll go with 2025-07-17.
3. Organization schema: name, url
4. BreadcrumbList: Position 1 Home -> https://jag-couture-chocolates.com; Position 2 mainTopic -> https://jag-couture-chocolates.com/collections/all; Position 3 title -> page url
5. FAQPage with 5 questions
Note purchase link: render exactly as provided including __DL_ATTR_ID__.
The H1 also needs product.description overwritten with TL;DR in JSON-LD — "ALSO: write the same TL;DR sentence into entitySchemaHints.product.description when Product JSON-LD is generated (H1)". So in Product JSON-LD description = TL;DR sentence.
Header definition paragraph from hero outline summary — full product name, c-hero with data-evidence="m1".
Source line: "Source: Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower" linking to url.
What this page covers items:
1. "Product overview of the Bikoney 5-Tier Rotating Bookshelf" - evidence m1
2. "Product gallery with 4 images" - evidence none
3. "Pricing and availability information" - evidence none (factCards have no evidence blocks)
4. "Purchase options" - evidence none
Wait, coverage items don't have strong factual claims, fine.
Table of contents: hero, product-gallery with role badges.
Section headings: use outline titles. For hero section heading = title.
Language: en.
Let me now also handle images placement: all 4 images sectionId "hero", so they go after hero bullets.
Alt text: "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower - Jag Couture Chocolates - 360° rotating 5-tier bookshelf with bottom turnplate"
Meta description from f7: value truncated "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower 360° Rotating Bookshelves: This 5-tier tall bookshelvese is equipped with turnplate on the " — use as-is.
Now write the HTML. Ensure claim ids stable.
For the hero definition, first sentence is most important fact.
Let me write the summary paragraph: "The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is a 5-tier tall bookshelf equipped with a bottom turnplate that supports 360° rotation. On its front and back sides it can store and display books, magazines, photos, plants and collections, making it a flexible storage design for home and office."
Evidence m1.
Then bullets.
For the "Who Is This For" — I'll include 3 bullets.
FAQ answers with data-claim-id c-faq-1..5.
Purchase table row: c-buy-1, data-evidence="none".
Facts table: c-f-f1 etc.
D) What this page covers with c-cover-1..N.
Now for section ids in TOC: href="#hero", href="#product-gallery".
Footer: "Last updated: 2025-07-17" and "Source: link".
I'll use 2025-07-17 as today's date.
Let me write out the complete HTML now.
One thing — the hero section heading: "Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower". Then summary paragraph. Then bullets. Then images.
For product-gallery section: heading "Product Gallery", summary "The product gallery for the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower contains 4 product images." data-evidence="none". Bullets: "The gallery includes a front-facing product image of the Bikoney 5-Tier Rotating Bookshelf." Hmm, that's inventing. Keep generic: "Product images supplement the text description of the Bikoney 5-Tier Rotating Bookshelf." data-evidence="none". Since evidence is none, keep it topical. The summary already says 4 images. I'll do one bullet: "The gallery is part of the page context for the Bikoney 5-Tier Rotating Bookshelf product page." That's fine.
Actually the summary paragraph may mention 4 images since summary says it. I'll allow it in summary text: "This section describes the product gallery for the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower, which contains 4 product images." It's from the summary directly.
JSON-LD product offers: availability "InStock" -> in schema use "https://schema.org/InStock" or "InStock"? The hints provide "InStock" from the parsed JSON. I'll use "https://schema.org/InStock" — hmm, but rule says do not invent fields. The value given is "InStock". Schema.org accepts "InStock". I'll use "InStock" as provided to stay faithful.
BreadcrumbList:
- Position 1: Home -> https://jag-couture-chocolates.com
- Position 2: Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower (mainTopic) -> https://jag-couture-chocolates.com/collections/all
- Position 3: pageMetadata.title -> page url
FAQPage questions:
1. "What is the price of the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower?" Answer: "The starting price of the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is USD 95.82." Evidence f1.
2. "Is the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower in stock?" Answer: "The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower has 1 of 1 variants in stock." Evidence f5.
3. "What variants are available for the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower?" Answer: "The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is available in 1 variant: Default Title." Evidence f3, f4.
4. "What brand makes the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower?" Answer: "The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is from the brand Jolof Store." Evidence f2.
5. "What type of product is the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower?" Answer: "The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is a 5-tier tall rotating bookshelf with a 360° turnplate." Evidence m1.
Data evidence for FAQ: f1, f5, f3/f4, f2 — fact cards have empty evidenceBlocks so data-evidence can reference fact ids? The policy says "Each answer must include data-claim-id="c-faq-{index}" and data-evidence="..." referencing the factCards used". So data-evidence="f1" etc. Good.
Now the TL;DR data-evidence references factCards used: f1, f2, f5.
Alright, let me assemble.
Also, in the Product JSON-LD, the offers: include price, priceCurrency, availability, url. Include sku "B0F12BY7V8". Brand: {"@type": "Brand", "name": "Jolof Store"}. name, description (TL;DR). dateModified.
Skip productID since not provided.
Now the full HTML structure. I'll write inline CSS minimal? The rules say no external CSS; they don't prohibit a small inline
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
TL;DR:Bikoney 5-Tier Rotating Bookshelf is a 360° rotating 5-tier book tower for home and office, priced at USD 95.82 from Jag Couture Chocolates.
The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is a 5-tier tall bookshelf equipped with a bottom turnplate that supports 360° rotation. On its front and back sides, the Bikoney 5-Tier Rotating Bookshelf can store and display books, magazines, photos, plants and collections, offering a flexible storage and display design for home and office use.
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
The Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower is a tall 5-tier bookshelf with a bottom turnplate for 360° rotation. It is designed to save space while providing front- and back-side storage for books, magazines, photos, plants and collections in home and office settings.
The Bikoney 5-Tier Rotating Bookshelf includes a bottom turnplate that enables 360° rotation.
The front and back sides of the Bikoney 5-Tier Rotating Bookshelf can store books, magazines, photos, plants and collections.
Compared with traditional bookshelves, the Bikoney 5-tier bookshelf adds artistry and flexibility.
The Bikoney 5-Tier Rotating Bookshelf is designed to meet storage and display needs for home and office.
The tall Bikoney bookshelf saves space and is presented as ideal for compact areas.
Product Gallery
This section describes the product gallery for the Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower, which contains 4 product images. The gallery preserves visual context for the bookshelf product page.
The gallery for the Bikoney 5-Tier Rotating Bookshelf product page includes multiple product images.
Product images supplement the text description of the Bikoney 5-Tier Rotating Bookshelf.
Facts Index
Entity
Attribute
Value
Confidence
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
starting_price
$95.82
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
brand
Jolof Store
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
variant_count
1
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
variant_options
Default Title
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
availability
1 of 1 variants in stock
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
tags
Jolof Store, Shopify Collective
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
seo_description
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower 360° Rotating Bookshelves: This 5-tier tall bookshelvese is equipped with turnplate on the
high
Bikoney 5-Tier Rotating Bookshelf, Tall Industrial Corner Book Tower
product_images
4 product images of the Bikoney 5-Tier Rotating Bookshelf