Source: product/BRD.md. Projection: recipe-public-business-v3.

Source SHA-256: 4cb25477f73e834658dfd7946e9d980648f33e9e9277967f3957ecc511b2b2e5

Deployed source revision: cb5a47d1720f7fc87e5d0e4582b8f408f7bb3c14

Is the Best Recipe — business requirements

Current business and acceptance requirements. Operational source packets, implementation instructions and historical appendices are excluded from this public view.

Accepted progress percentages and working dashboard — October 6, 2026

Latest Michael direction through PO: each canonical site provides /status.html, keeps /status working, and shows meaningful automatically derived progress from maintained product/TASKS.md. Functional demo login must lead to a working /dashboard, not merely a logged-in badge. This finite amendment extends PUB-DOC and the existing account/book/activity requirements; all original recipes, articles, no-ads and full journeys remain in scope. Existing no-database/static public demo identity and local persistence remain; this is not secure production authentication or real customer storage. NEVER merge main and Mac alternate branches in either direction; multiple independent versions may run simultaneously. Delivery's separately scoped document propagation preserves branch authorship and is not a branch merge.

Common progress definitions for all five sites

The common comparison denominator is scope edition PROGRESS-GROUPS-1: ten groups, D=10. Use these exact IDs across all five sites:

IDCommon accepted requirement group
G01100 distinct complete original Recipe-engine/common-intake outputs, retained provenance and required review, actually integrated as static content
G02Complete articles, ingredient/technique/resource libraries, supporting guidance and relationships
G03Search/category/collection/classification, canonical routes/metadata, filtering/back/error/empty-state discovery
G04Own public identity and distinct accurate dish/ingredient/step imagery, rights, captions and responsive presentation
G05Find/decide/shop/cook/print/adapt activities, supported quantities/units/substitutions, timers/placekeeping and recovery
G06Demo login/session/dashboard, My Recipe Book/save/collections/notes/versions, persistence/reset/logout and supported sharing/return
G07Existing bounded real-email contract, consent/status, authorized transport/inbox and exact campaign return
G08NO ADS EVER, accessibility/phone/desktop quality, honest limitations and dated evidence/independent repair-recheck requirements
G09Public /BRD.HTML and /status plus /status.html, safe complete business projection, task traceability, discoverable responsive reading and independent branches
G10Derived honest progress metrics, explicit source/deployed identities, freshness and meaningful-update/coverage validation

Every applicable accepted criterion maps to one primary group, with secondary cross-references allowed but no extra denominator votes. Site-specific visual/detail criteria live under the relevant common group. A group is complete at a state only when all its applicable accepted children meet that state with evidence. Show child criterion counts for diagnosis, clearly labeled as site-specific and not comparable headline completion. Raw 61/76/121/145 row totals, headings, metadata and finding duplicates never determine the headline percentage. These equal-group percentages are coarse requirement-coverage measures, not effort-weighted estimates; display that limitation. New accepted criteria may reopen a group and reduce its percentage without regression in older work; explain the scope/evidence change and preserve the history. A genuinely new group requires an explicit new common denominator edition, not an unannounced site-local denominator change.

Let D be the number of common accepted groups in that edition (10 for PROGRESS-GROUPS-1). I counts groups fully implemented in source with relevant source evidence; H counts groups whose complete implementation is evidenced on an identified hosted candidate; V counts groups with an independently observed passing recheck of that hosted implementation. Show Implemented = 100 × I/D, Deployed = 100 × H/D, Verified = 100 × V/D, each to one decimal place alongside its exact count and D. For a given assessed candidate, V ≤ H ≤ I ≤ D. Unknown, partially complete and blocked requirements never count as complete. D=0 is “not assessed”, not 100%. Verified percentage is requirement coverage, not Michael's final acceptance, product quality score or effort/time estimate.

Show open groups = D − V and blocked groups as the explicitly blocked subset of open, plus unknown/unassessed group count. Also show labeled detailed open/blocked criterion counts without using them as the cross-site percentage denominator. Blocked and unknown are subsets, not additional denominator entries. A changed affected implementation invalidates stale passing evidence until rechecked; unaffected evidence can carry only with explicit unchanged-scope binding. Source progress may describe a newer candidate than the live site, but label both identities and compare metrics within each candidate; never mix incompatible numerator evidence silently.

Generate the numbers from TASKS data, never manually type a second status percentage. Display denominator edition, updated timestamp, source revision/content digest, deployed identity and evidence time (or unknown). No self-referential containing commit hash. Static status changes become visible after the corresponding deployment and refresh; describe this honestly, with usable navigation/reload and no claim of real-time synchronization.

Traceable acceptance delta

CriterionWorking finish and required hosted proof
PROG-01 — Status paths/status.html and /status both resolve to the current status experience, with the same source data; a redirect is acceptable if it preserves the destination. Homepage/footer status navigation remains visible and usable on phone/desktop, with direct navigation, revisit/back and refresh exercised. Keep /BRD.HTML working.
PROG-02 — Derived metricsImplement the D/I/H/V definitions, denominator edition, exact counts and blocked/open/unknown values above from TASKS. Demonstrate a known incomplete/blocked row stays out of completed counts, changed evidence is invalidated appropriately and percentages update deterministically. No invented current progress values.
PROG-03 — Freshness and validationHosted checks catch missing/duplicate denominator IDs, uncovered accepted requirements, inconsistent states/evidence, stale projection and meaningful changes without task updates. Display source versus deployed identity and update times clearly. Verify the hosted page against the exact assessed TASKS revision, including refresh after a real new deployment; do not promise automatic live updates before deploy.
DASH-01 — Working login entryThe existing public disposable demo account validates correct/incorrect credentials and establishes the scoped local demo session. Ordinary successful sign-in opens /dashboard with a clear account entry. Preserve existing same-origin pending-save/campaign return exactly once when login originated there, and provide a direct dashboard link; the new default dashboard must not break accepted intended-action return. Incorrect credentials never create a session.
DASH-02 — Session-gated routeDirect /dashboard access without a valid demo session redirects to the existing login flow with safe intended return; successful login returns to the dashboard. Refresh/back/history and logout cannot expose an active dashboard session after logout. Client-side demo route gating is a usability state, not secure protection for private data. No real customer data or server identity claims.
DASH-03 — Useful dashboardProvide actual functioning saved-recipe access, collection create/rename/delete/organization and supported notes/personal-version entry using existing browser-local data. Reflect the same data as My Recipe Book without a divergent store. Show useful empty states and clear ways back to browse and manage collections; do not fabricate saved recipes or the missing 100-recipe corpus. Recipe-dependent acceptance remains open until real reviewed content is available.
DASH-04 — Persistence and recoveryExercise save/organize/note update and refresh/back/reopen, logout and subsequent login, deliberate local clear/reset and unavailable/corrupt storage. Preserve existing logout-versus-book-clearing meaning and give truthful local-only/device-origin limits. No cloud synchronization, paid service, production authentication or new backend follows. If real identity is later wanted, retain it as a separate decision.
DASH-05 — End-to-end proofAssigned QA performs real hosted clicks: guest dashboard redirect → incorrect login → correct login → working dashboard → collections/notes/saved-item interactions where real data permits → refresh/back → logout → denied dashboard access. Record exact URL/deployment/source, viewport, screenshot, result, missing-content limits and fix/recheck. Source or logged-in badge alone cannot pass.

Assigned builders maintain TASKS and implement within their file ownership; Software validates contracts/metric mechanics, Delivery deploys and supplies identity, QA independently verifies real flows. Solutions defines this delta and acceptance only. PO routes all changes. New criteria begin unverified until their actual owner evidence is bound; preserve existing source/hosted facts rather than resetting unrelated progress. Do not wait for broad research or restart the complete brief.

Accepted public BRD and implementation status — October 6, 2026

Michael's explicit request, relayed by active V4 PO, applies to each of the five independent sites. Provide the actual current product/BRD.md business requirements as readable HTML at root /BRD.HTML (case exact), plus an on-site /status page derived from product/TASKS.md. A /brd.html alias is useful but does not replace the exact required path. Homepage/footer links must make both pages easy to find. This work supplements, and never replaces or pauses, the complete Recipe experience and ACT-UX requirements below.

product/TASKS.md is this repository's implementation checklist, linked to the existing Planning task authority; it is not a new company tracker or a source of assignment authority. Use the actual inherited Planning reference, never manufacture a new task ID. Builders maintain their assigned main source; Delivery owns hosted deployment and branch transport. Independent Mac writers retain their branch and authorship. Solutions owns requirement/acceptance integration only; creating app renderers, TASKS implementation and per-repo instruction changes remain with their assigned owners through PO.

Public documentation and status acceptance

CriterionRequired result and verification
PUB-DOC-01 — Exact BRD routeHosted /BRD.HTML renders the current BRD business content as readable HTML rather than a raw download, missing route or homepage fallback. Preserve requirement meaning, headings and traceable identifiers, including latest accepted deltas. Record actual URL, deployed source identity, date, viewport and screenshot. Verify /brd.html if implemented.
PUB-DOC-02 — Safe public scopeDo not copy this full internal source file or doctrine directory blindly into public assets. Render an explicit public business-content projection from the current BRD: retain all accepted business requirements and honest implementation limits while excluding private operational records, credentials, private .env values, internal sensitive records and nonpublic personal information. Do not expose raw private appendices through HTML comments, downloadable sources, source maps or bundled data. Record the projection rule and any excluded internal sections for owner review without reproducing sensitive values. Privacy exclusions cannot hide an unmet business requirement or fabricate a pass.
PUB-DOC-03 — Full checklistproduct/TASKS.md maps every currently accepted BRD requirement/criterion and applicable coverage-map obligation to an implementation row, using stable existing requirement IDs or section/anchor references. Group rows only when individual obligations and their different states remain traceable. Preserve superseded history as history, not duplicate active obligations. Include ACT-UX-01–12 and PUB-DOC-01–10. Missing work stays visible; a finished shell is not completion of its content or journeys.
PUB-DOC-04 — Honest status fieldsEach row records actual assigned owner, source progress, hosted proof, independent review proof, gap, next action, last-updated timestamp and candidate identity. Separate planned/in progress/source complete/deployed/reviewed/accepted; use not verified or awaiting owner when appropriate, never invent an assignment or evidence. Link public-safe evidence; retain sensitive proof privately with a truthful public summary. Display meaningful status, not a cosmetic percentage inferred from checkbox count.
PUB-DOC-05 — Deterministic sourceGenerate/render BRD business content from product/BRD.md and status from product/TASKS.md through a documented deterministic transformation. Avoid a separately maintained HTML requirements copy. Identify the source revision/content digest and transformation so reviewer can compare actual source to published output and detect staleness. A generated projection is not permission to omit business scope.
PUB-DOC-06 — Update disciplineEvery implementation commit by Codex or Mac updates relevant task progress/evidence, next action and timestamp. Meaningful changes require matching task updates; nonfunctional changes record an explicit justified no-impact disposition where applicable. Assigned instruction owner places this rule in the existing per-repo Codex/Mac entries. Preserve other writers and separate branch state; main evidence is not proof of Mac preview behavior or vice versa.
PUB-DOC-07 — Scoped validationHosted prebuild/CI validation must catch missing checklist coverage, required fields, stale generated output and meaningful implementation changes without task updates. Demonstrate both a rejected deliberately stale/missing update case and a corrected passing case in the approved hosted workflow. Check actual changed paths and task references; a changed timestamp alone does not demonstrate meaningful progress. No local application tests/builds/servers/loopback are authorized.
PUB-DOC-08 — Candidate identityAvoid a document embedding the hash of the commit that contains itself. Use content digests or a prior verified source revision with explicit meaning; inject the actual deployment/source revision through CI/deployment metadata for the served candidate. Keep document update time, source identity and hosted verification time distinct. Unknown deployed identity stays unknown until Delivery supplies it.
PUB-DOC-09 — Readable discoveryHomepage/footer expose clearly labeled BRD and Status links. Both pages work on mobile and desktop with readable headings, wrapping tables/long links, keyboard navigation and meaningful link text. Status links to the repository product/TASKS.md at an identified source revision; a private repository link is labeled as requiring authorized access while the public status remains readable. Verify exact-case route, refresh/direct navigation, all links and privacy-safe content on the hosted candidate.
PUB-DOC-10 — Completion and handoffSource or CI success alone cannot close this delta. Delivery supplies exact hosted /BRD.HTML and /status URLs, source/deployment identity and route/content proof; assigned QA independently verifies source parity, public-safe scope, checklist coverage, mobile/desktop readability and update behavior. Record finite defects and recheck repairs. Only after those exact deployed paths/proofs return does Solutions prepare the subsequent Mac prompt; no deployment or acceptance is presumed now.

Mandatory checklist coverage to preserve

The following is a coverage floor, not a substitute for enumerating the complete accepted BRD. Owners below identify existing responsibilities, not new dispatches; each repo checklist must bind the actual assigned actor from PO's existing assignment.

CoverageExisting responsible scope and required separation
100 original reviewed recipesExisting Recipe writer/common-intake owner, Batch, Content and reviewers; distinguish 100 retained inputs from 100 distinct complete reviewed output recipes, export/lineage and actual per-site static consumption. No handmade substitute or count inflation.
Articles and learningContent/Recipe and builder: complete articles, ingredient/technique/resource libraries, before-cook/help content, useful relationships and return to the originating step.
Discovery and classificationBuilder/UIUX with Batch/Content: home, search, category/collection/filter flows, all nine classification groups where supported, occasion placements, related browsing, canonical recipe identities/routes, metadata, empty/error/back states.
Identity and imageryVisual, Content and builder: Is the Best Recipe own branding, distinct exact-dish home/major-category features, rights/alt/caption and responsive fallback; no generic illustration passed off as verified dish imagery.
Real activity and adaptationUIUX, builder and domain/technical reviewers: find, assess time/effort/ingredients/equipment, shop, mobile cook/placekeeping/checkoffs/timers/screen behavior, clean complete print, supported scaling/units/substitutions/preferences/notes/own versions and recovery. Unsupported mechanisms remain explicit gaps/proposals.
Keeping and sharingBuilder/CRM and QA: demo login/logout, local My Recipe Book/save/organize/made-state, share/return, persistence/reset limitations and truthful privacy; no database or implied cloud account.
Bounded real emailCRM/Software, existing mail owner and Delivery: fixed authorized recipient, existing finite cap/deduplication contract, actual sent/received proof and exact campaign landing return; UI simulation is not transport completion.
Ad-free quality and evidenceAll assigned implementers and independent reviewers: NO ADS EVER; accessibility/keyboard, phone/desktop, print, error/recovery, dated real user/research evidence, labeled opinions, supported alternatives and hosted screenshots/reproduction.
Public docs/status and deliveryAssigned builder/instruction owner, Delivery and QA: PUB-DOC-01–10, full per-requirement task mapping, deterministic safe projection, update validation, exact deployment/source evidence, independent Mac branch continuity and finite repair/recheck.

Accepted activity UX correction — October 6, 2026

The activities and evidence obligations below are accepted requirements. Particular layouts, gestures, hardware/browser mechanisms, persistence models or advanced features proposed by Claude or another reviewer remain proposed design solutions until support and evidence are verified. Do not describe an unimplemented feature as working, remove an unmet requirement by calling it optional, or invent culinary transformations. Existing no-database architecture, original engine/common-intake content, owner review, public identity and finite real-email contract remain in force.

Traceable acceptance delta

Each ACT-UX-* criterion applies separately to this repository's exact hosted candidate and supplements the complete contract below. Each result records pass/fail/not verified, source/deployment identity, dated evidence, observed result and finite next owner/action. Source amendment alone passes none of these interaction criteria.

CriterionAccepted activity and required proof
ACT-UX-01 — Ad-freeNo advertising anywhere in the recipe experience, including browsing, detail, cooking, printing and account/campaign return. Inspect rendered states and relevant source/integrations for ad slots, ad content and advertising scripts. Approved user-requested signup/campaign communication is governed by the existing finite mail contract; it does not authorize third-party advertising.
ACT-UX-02 — FindA person can find relevant recipes through the specified search, categories and collections, understand results, recover from no results and return without unnecessarily repeating choices. Demonstrate a realistic task across the real reviewed corpus, on phone and desktop.
ACT-UX-03 — DecideBefore committing to cooking, the person can assess time, effort, ingredients and equipment using actual recipe information. Distinguish total/active/wait time where the source supports it; do not invent effort scores or equipment/time facts. Demonstrate a choice and the ability to inspect needed information without losing the candidate recipe. Missing source fields become precise content/schema gaps.
ACT-UX-04 — ShopSupport the transition from choosing a recipe to obtaining its ingredients: understandable quantities, units and needed items, with a usable shopping workflow and return to the recipe. Demonstrate the implemented route and limits. Combined lists, pantry inference, ordering, retailer integrations or synchronizing lists are proposals unless separately supported and assigned; do not silently promise them.
ACT-UX-05 — Cook on mobileDemonstrate readable ingredients and steps, placekeeping, checkoffs, timers and the specified screen behavior in a realistic cooking flow with messy hands in mind. Record viewport, interaction burden and interruption/resume behavior. UI/UX must specify and verify the chosen mechanisms; no hands-free, voice, wake-lock, background-timer or cross-device guarantee follows from this requirement alone. If a browser capability is unsupported or denied, expose its actual limit and usable recovery rather than claiming success. Step/timer completion never certifies food safety.
ACT-UX-06 — PrintPrint a complete clean recipe with necessary ingredients, quantities, equipment and full instructions, readable pagination and no ads, navigation clutter or clipped steps. Inspect the actual print output/preview for the candidate, including long recipes and current supported servings/units; do not count a print button alone.
ACT-UX-07 — ModifyDemonstrate supported scaling, unit conversion, substitutions, notes and own versions with clear distinction between the original and personal changes. Preserve original source and explain persistence/reset limits. Use supported culinary data: do not automatically scale cooking time/temperature or invent safe substitutions/conversions. Unsupported cases need explicit boundaries and an owner gap; generalized AI rewriting, cloud accounts and publishing personal versions are not implied.
ACT-UX-08 — Keep, organize, shareDemonstrate keeping and finding a recipe in My Recipe Book, organization, notes/version retrieval, supported sharing and return. Exercise refresh, logout/reset and an unavailable share mechanism as applicable; identify actual device-local persistence and a truthful fallback. Do not imply private cloud storage, synchronization or that private local notes travel with a shared public URL.
ACT-UX-09 — Evidence and alternativesEvery user-behavior claim cites actual dated feedback or research and a usable source link, including scope/limitations. Label design opinions, hypotheses and untested recommendations. Explain the evidence and expected activity improvement behind recommendations; when implemented, demonstrate alternatives in hosted previews and retain the comparison evidence. No fabricated interviews, invented study results or universal conclusions from one opinion.
ACT-UX-10 — Live defect proofFor a claimed live defect, retain exact URL, observation date/time, viewport and screenshot, plus reproduction, expected/observed behavior and deployment/source identity when available. Tool failures are labeled separately from product defects. Recheck the repaired hosted candidate against the same criterion. Do not present old screenshots as current live proof.
ACT-UX-11 — Independent Mac reviewMac Claude records gaps/recommendations and evidence under this repository's product/ on mac-claude-qa, preserving its assigned branch and authorship. Windows owners consume the scoped evidence through PO and actual writer handoff; neither side silently replaces the other's implementation or declares the other's acceptance.
ACT-UX-12 — Parallel progressResearch and current live inspection may proceed alongside the five builds. No new research gate, forced strongest-site-first sequence or cross-site completion dependency is introduced. Record missing evidence and continue independent authorized implementation; final acceptance still requires the applicable evidence.

Ownership and result handling for this delta

UI/UX owns activity-flow specifications, dated user/research evidence and supported alternatives; builders implement within their existing file assignments. Recipe/Content owners resolve culinary facts and transformations; Software owns necessary technical contracts; Delivery supplies hosted candidate identity and approved effects; assigned QA independently exercises the criteria. Solutions maintains this BRD; PO integrates returns and unresolved decisions. None of these sentences dispatches another role or grants new provider, credential, publication or local execution authority.

Mac proposals remain proposals until evaluated against these accepted outcomes and actual support. Preserve their author/date/source, chosen or rejected alternative and reason in the existing product evidence. No minimum new research programme or new tracker is required. Current acceptance remains unverified until the actual hosted proof is supplied.

Expanded complete product contract — October 6, current

This amendment supersedes earlier optional-account, unrestricted suitable-recipe-fixture and blanket no-send wording. Builders continue now against the static architecture; missing engine output or exact mail binding is an explicit owning dependency, never permission for a substitute.

Required journeyWorking finish and recovery
100-recipe libraryAt least 100 complete distinct engine-produced recipes in this site's static artifact, with stable IDs and source/output lineage. The same reviewed dataset can be copied into each repository. Category/search/filter and collection results link to actual recipes; empty/reset/back work. Count real recipes, not duplicate cards/routes or placeholders.
Editorial learningArticles and ingredient/technique/resource pages contain useful coherent content and links to the applicable recipes and back. Technique/help returns to the exact originating cooking step without losing work. Retain provenance and rights; no empty navigation stubs.
Guest cookingBrowse, read ingredients/equipment, follow steps, use supported servings/units/help/timers, then print/share/return. Scaling does not invent culinary rules or proportionally scale time/temperature. Checked steps/timer end do not prove safety.
Demo login/logoutSame (authorized verification recipient) and newly generated mock-only password across all five. Correct/incorrect login, logout, expired/missing local demo state and return to intended recipe/book/campaign work. The public demo is not secure authentication and never validates company credentials.
My Recipe BookSave/unsave, list/open, create/rename/remove collections, move/organize saved recipes and reopen supported notes/progress in browser-local storage. Explain device-only persistence concisely. Handle first-use empty book, duplicate save, storage denial/corrupt state and removal without deleting source recipes. Login return retains a pending save once; logout handling is explicit and does not falsely imply server deletion.
Sharing/printingReal browser clipboard/share/print where supported, with cancellation/denial paths and useful fallbacks. Public URLs never include local notes, credentials or email data. Printed quantities/units agree with the selected supported screen state; return preserves context.
Campaign/signup/email/returnReach a real static campaign landing, explicitly request its signup email, obtain an honest receipt state, open the delivered designed email and follow its button back to that exact site's campaign landing. Useful landing content survives fresh browser or local logout. Signup does not silently create a production account or enroll marketing.

Engine output → static consumer acceptance

The producer is the existing Recipe engine under its actual owner and agreed common-intake method; the consumer is this site's hard-coded dataset. The owner handoff must name the admitted method/input revisions, invocation/receipt, output edition/hash, actual recipe IDs/count, content/rights disposition, qualified reviewer and allowed mockup use. Include supporting article/ingredient/technique/resource relationships and asset provenance; do not imply those records are engine-authored without evidence. Reject missing/duplicate IDs, incomplete ingredient/step/yield records, unsupported qualifications and broken references. Copy the reviewed dataset into each repo independently; no shared remote content runtime or database. Intermediate wireframes may use clearly identified placeholders but cannot pass the 100-recipe finish. Recipe/Editorial/Software review remains separate from a static manifest/count check.

Bounded real mail contract

The actual existing mail-service owner supplies the authorized Gateway path/caller, existing approved provider, sender/template, exact recipient restriction, campaign identity and return binding. Do not invent endpoint names or deploy a new provider. Server-side enforcement fixes the allowed recipient to (authorized verification recipient); reject other recipients and caller-supplied sender/template/URL overrides. Restrict return destinations to the five approved hosts and their actual static campaign routes; preserve the originating host/path/campaign. No arbitrary redirect or credential-bearing return URL. Demo login is not authorization to operate the service.

Keep provider secrets out of frontend code, static data, logs and URLs. Use owner-enforced bounded send/rate/deduplication controls so a public caller cannot turn the named-recipient route into spam. Record the exact existing control and its configured bound rather than inventing a policy value. Reuse request identity on retry; reconcile unknown delivery before another send. Handle refused, failed, pending and delivered outcomes honestly: queue/provider acceptance is not inbox delivery. The permitted verification is one named Michael recipient, not bulk/public-recipient mail testing. Existing service-side receipts are allowed; no new mockup database is introduced to satisfy this flow.

Scope and evidence

All listed journeys are required; visual treatment and supported optional cooking variants follow UI/UX. A competitor's missing My Recipe Book or campaign flow does not erase Michael's explicit full-site requirements. Show concise contextual demo/device-only labels; keep internal implementation explanations out of ordinary user flow. This is a full interactive static prototype with one bounded real email service, not a live production account system.

Full Recipe coverage map — builders, Batch and reviewers

Coverage area / sourceRequired static-site behavior or explicit scoped dispositionInput and hosted proof
Original 100 / COLL-01, J22Select 100 retained ingredient sets; existing writer produces full English original recipe and companion records using established pattern; Content reviews/refines through correct owner loop.Batch binds retained source identities, method/run/output/review/export. No 35-item slice, duplicate member, handmade recipe or invented qualification fills the count.
Classification / COLL-03–05/09, HOME-01One primary canonical recipe URL, many ordered collections/category memberships, evidence-backed tags/filters, “Also in” and related browsing. Category membership never duplicates a recipe. Category page exists for its first included recipe; ad-hoc filter state is not a second canonical recipe.Batch supplies actual memberships/primary category/evidence, builders render one registry across home/hubs/detail. Test multi-category recipe, filters, zero result, back and canonical consistency.
Full vocabulary / r2 working setUse the nine groups and exact vocabulary below. Provide meaningful coverage for relevant meal/dish/ingredient/method/effort/cuisine/occasion/style; diet only with evidence. Named collections and seasonal placements are distinct from ad-hoc filters.Batch/Content disposition all relevant terms against the 100 retained inputs; do not create unsupported tags, certifications or empty “complete” categories. Latest explicit holiday, potluck, comfort-food and breakfast coverage must be represented in the input/selection map.
Home and features / HOME-01Distinct actual featured recipe for home and every major section/category, suitable context and image; categories share registry. Occasion windows/order from existing accepted records, ordinary collections remain reachable.Per-site placement→recipe ID/revision→category/occasion→asset/alt/caption mapping. Visually inspect different dishes and accurate images; no generic dish identity or universal repeated hero.
Identity/discovery / COLL-02/03/06/08Canonical primary-category/item route, correct breadcrumbs, title/description and factual Recipe/CollectionPage/ItemList/BreadcrumbList data; useful crawlable HTML. Wrong/moved addresses give honest not-found, no fake home success.Inspect metadata/HTML/routes and stable back/return. Preserve study noindex while retaining correct metadata; no production SEO/indexing claim. Current owner types now include primaryCategoryId, tagIds and tags; bind real reviewed values, never guess primary from array order.
Complete recipe / public parts 1–5,10–17Identity/tradition wording without unsupported authenticity; description; yield/prep/cook/total; exact dish hero; 2–5 practice techniques; fixed versus judgment; supported quantities/units; grouped ingredient check-off; equipment by yield; before-you-cook article; full ordered step cards with primary required actions, cues, why/recovery, seasoning and safe parallel cues.Writer/Content provide all fields and ingredient/step references. Do not hide missing fields behind decorative cards. Inspect full recipe, unsupported quantity, units and image fallback. Companion material uses reviewed source, not missing-data invention.
Familiar cooking / parts 7–9,18–23Jump controls, keep-awake opt-in where supported, check-only timers, substitutions/job/stand-ins/step changes/not-a-swap, preferences with supported changes, variations, “Make it the best”, “My best”, “Why it's the best”, “Best for [place or situation]”, local made-state and correction/parent-version meaning.Demonstrate supported local state and return; fixed safety endpoints cannot be edited. No invented community aggregates, public member publication or unprovided AI effect. Current CRM book shape only IDs/collection labels: Batch/Software/CRM must bind additive local My-best/preferences state rather than silently omit feature or overload credentials/book shape.
Book and account / ITEM-01, current CRMGuest value first; disposable demo login/logout, same-origin intended-action return, device-local book save/organize/reopen/remove. Local personal versions remain truthful, never secure company accounts or cloud sync.Correct/incorrect login, refresh, denied/corrupt storage, duplicate save, collection edits, logout/clear behavior; data does not cross origins.
Libraries/articles / LIB-01Ingredient identity/forms/prep/choose/store/jobs/allergen evidence with references; technique what/why/cues/recovery/fixed/judgment/tips; Shawn's applicable teaching retained; full related articles/resources and bidirectional recipe links. Ingredient reference pages remain distinct from main-ingredient collections; reserve ingredient/technique routes.Reviewed companion records and actual bindings; no empty stubs. Inspect recipe→help/reference→same cooking step return. Safety claims and public/private evidence boundaries preserved.
Full print / CARD-01, PAGE-01Chosen supported servings/units, full ingredients/equipment/instructions, primary safety, substitutions, practice/fixed guidance, check-at table and canonical return. Complete text preset remains; illustrated card needs its required matched ingredient/hero/every-step assets, tips/fixes and QR, never a partial card called complete.Hosted print preview/PDF, text and illustrated applicable states, page breaks, no clipped content, image correspondence, cancel/return. No local application execution.
Signup/campaign/email / SIGNUP-01, CRMPromised useful item on screen immediately; existing bounded real mail to Michael; exact campaign return without login wall; duplicate request still offers useful item without duplicate send. Brand is Is the Best Recipe throughout message.Record actual request/receipt/inbox timestamps against BRD's 60-second welcome criterion; do not claim timing without measurement. Preserve fixed-recipient finite attempt ceiling and uncertainty reconciliation. Designed email/landing source branding needs CRM/Frontend update, not only documentation.
Other public parts / 24,26–30Ordinary related recipes and publication facts remain. Ads stay off. Assistant invitation/WebMCP requirements retained in coverage with exact available capability/refusal, no invented live assistant integration. Part27 transformers/cross-family integrations excluded by latest instruction.No fake AI/counters/awards/earned badges. Record any unsupported non-transformer feature as a concrete owner gap, not silently dropped scope. Production staff CRUD, public community publishing and real identity remain outside this static demo's effect grant.
English/brand/QA supersessionEnglish-only; five distinct own visual styles, same exact public name/logo; no competitor/mockup naming on public site/email identity. QA explicitly loads doctrine/method, traces this map, reviews pixels and interactions on hosted phone/desktop, repairs and rechecks.Candidate/ref/source versions, actual visual evidence and case disposition. Concise truthful demo-control notices remain. No local builds/tests/servers.

Classification vocabulary carried from the BRD-linked r2 working set

These are the existing vocabulary entries, not new research, newly minted production categories or permission to assert unsupported claims. Main-category eligible groups are meal, dish-type, main-ingredient and method; remaining groups are changing tags/filters. Comfort-food remains a style collection, not an inferred address migration. One recipe can occur in many without being counted twice.

GroupIts questionCategories (starting set)Search field
A. MealWhen do you eat it?breakfast · brunch · lunch · dinner · appetizers · snacks · sides · desserts · drinksrecipeCategory
B. Dish typeWhat kind of dish is it?soups · stews-and-chili · salads · sandwiches · tacos · pasta · noodles · rice-dishes · grain-bowls · casseroles · curries · stir-fries · pizza · breads · cakes · cookies · pies · sauces · dipsrecipeCategory
C. Main ingredientWhat is it made from?chicken · beef · pork · lamb · turkey · fish · shrimp · eggs · beans-and-lentils · tofu · vegetables · potatoes · mushrooms · cheese · fruit · chocolatekeywords
D. Method and equipmentHow is it cooked?one-pot · sheet-pan · skillet · slow-cooker · instant-pot · air-fryer · grill · smoker · dutch-oven · cast-iron · no-cook · baked · campfirecookingMethod
E. Quick and easyHow much time and effort?15-minute · 30-minute · 5-ingredient · 7-ingredient · make-ahead · freezer-friendly · batch-cooking · weeknight · beginnertotalTime (computed)
F. DietWho can eat it?vegetarian · vegan · gluten-free · dairy-free · egg-free · nut-free · low-carb · high-protein · kosher · halalsuitableForDiet (evidence required)
G. CuisineWhere is it from? It is grouped by region, as reference publisher and reference publisher do.Americas: american · southern · cajun-and-creole · tex-mex · mexican · caribbean · brazilian; Europe: italian · french · spanish · greek · german · polish · british-and-irish; Middle East and Africa: middle-eastern · north-african · west-african; Asia: indian · chinese · japanese · korean · thai · vietnamese · filipinorecipeCuisine
H. Occasion and seasonWhat is it for?game-day · thanksgiving · christmas · hanukkah · passover · easter · ramadan-and-eid · diwali · lunar-new-year · fourth-of-july · halloween · valentines-day · birthday · potluck · picnic · camping · date-night · feeding-a-crowd · cooking-for-two · spring · summer · fall · winterkeywords
I. StyleWhat mood is it?comfort-food · budget · family-friendly · copycat · leftovers · lunchbox · light-and-freshkeywords

Named combinations in the retained source: weeknight-chicken, one-pot-pasta, sheet-pan-vegetarian, camping-one-pot. Ingredient pages and ingredient collections do not merge. Do not use “healthy” as a generic evidence-free tag; r2 deliberately uses light-and-fresh. Diet claims/certifications require actual evidence.

Occasion placement rules retained from BRD-HOME-01: en-US America/New_York calendar days, inclusive annual windows; Game Day September 1–February 15, Halloween October 1–31, Holiday table November 1–January 1 (thanksgiving/christmas/hanukkah). Active placement order Halloween → Holiday table → Game Day. Other named occasions retain their actual applicable record/date rules; no invented dates. Collections may remain browsable outside promotional placement windows. No localization work follows.

Consumer schema and handoff consequence

Batch's v1 static corpus is an existing baseline, not permission to truncate this BRD. Current types include categoryIds/collectionIds, primaryCategoryId, tagIds and grouped tags. Featured-placement and detailed recipe-companion coverage still require their exact owner bindings. Batch/Software must publish the smallest additive typed projection or exact existing companion-file binding for those obligations, retaining stable owner identities and full reviewed data. Solutions specifies the meaning here, not an invented runtime schema. Builders can continue rendering/interaction work while that finite mapping is returned. Visual can prepare slots once selected ingredient/recipe IDs and facts exist; prose completion is not required to assign correct dish imagery. Content review and refinement remain through the actual writer owner.

October 6 Michael correction — controlling public identity and content requirements

This amendment supersedes conflicting language below in its named scope. Public brand on all five sites is Is the Best Recipe, with an original creative logo bearing that name and each site's independent visual style. Competitor names and design references remain internal. Remove public Mock, Recipe Mock N, design-study, mockup or competitor-copy identity from page titles, metadata, logo/navigation/footer, campaigns and email. Do not inherit the current Network brand system. Keep concise truthful demo-account, device-storage and actual send limitations beside relevant controls; no development banners or prototype footer identity.

Content finish: retain all 100 ingredient sets, not 35. The existing Recipe writer must produce complete original instructions and required companion fields using the established Recipe method; Content reviews/refines through the proper owner loop. English only. No translation/localization or transformer/cross-family integration requirement gates these sites. Preserve no-database, reviewed static intake, demo login and requested real-email scope.

Classification and featured dishes: cover the full existing Recipe BRD vocabulary and accepted coverage, including multi-category membership, tags and collections such as holidays, potlucks, comfort food and breakfast; this list is not exhaustive. Assign a different actual recipe/dish to the homepage and each major section/category. Each feature must bind its recipe ID, exact title, corresponding permitted dish image and correct local detail destination. Generic editorial images may support a separately identified editorial story; they cannot stand in as an exact featured dish or repeat as the universal hero. Earlier Visual v2 hero assignments remain interim composition references until suitable dish-bound replacements are admitted. Do not invent a dish-image match.

Rendered acceptance: trace actual BRD requirements to page, state, hosted candidate and observed phone/desktop evidence. Inspect pixels and interactions using browser/Vision, return finite defects to the builder, and inspect the corrected hosted deployment. Source review or a planned checklist does not prove acceptance. No local Windows app build/test/server. Unavailable corpus or mail remains incomplete while layout review proceeds. Do not consume the limited real-email attempts during visual inspection; Delivery owns those verification sends.

Complete isolated interaction contract for every chosen direction

The implementation is independently copied/local in each repository. No runtime package, state, import or service from another mock or production Network. Components may be reusable *inside their own repository*: Header/Nav, SearchResults, CategoryListing, RecipeIdentity, IngredientList, Equipment, Step, HelpDisclosure, CookMode, LocalCookbook, ShareDialog, PrintView, LocalGathering.

ActionVisible transition/resultRecovery and scope
Menu/search/categoryMenu opens; query and selected category produce actual fixture results/count; card opens its own detailEmpty state offers clear/reset. Escape/backdrop close preserves input and returns focus. Back restores query/filter, scroll and selected item where supported
Ingredient and methodToggle/untoggle exact ingredient IDs; open complete help; choose previous/next/full methodReset only ingredient marks, not recipe or entire session. Help close returns to its step; first/last steps have honest boundaries. Source text stays complete
Portions/unitsSelect explicit supplied fixture output; update all relevant ingredient/equipment text and print selectionUnsupported sets unavailable with reason; never infer culinary rules or present fake network loading. Returning to base restores exact values
Save/cookbookSave/unsave local item; named collection lists correct items and opens themLabel at action “Saved on this device.” Handle unavailable/quota/malformed storage with session-only fallback. Refresh persistence only claimed where observed
Account demonstrationOptional clearly identified demo profile signs in/out and returns to intended item/actionNo personal email/password collection or sends. Signing out visibly clears demo session; do not silently destroy local cookbook. Not production auth
SharePreview recipe/title and actual isolated URL; native share where supported or copy linkCancel returns; clipboard failure offers selectable URL. No invitation or email success claim
Cook mode/timerFull step, ingredients and reversible controls; a timer only for a supplied demonstration durationPause/reset explicit; expiry says timer ended, never food safe/done. Background behavior and restored state reported accurately. No external alert promise
Local gathering/checklistSelect real fixture ingredients → preview named list → add once → check/remove → return to originSimulation remains local; no purchase, calendar, poll or guest send. Duplicate action doesn't duplicate list rows. Preserve recipe state
Personal note/versionEnter local text, preview/save, reopen/removeLocal-only scope at action; no publication or culinary approval. Don't allow safety facts to be silently replaced. Unsaved transition warns only when work would actually be lost
PrintPreview complete recipe and selected supplied quantities; print or cancelHeader/buttons/private marks removed, required text complete; return retains working state; meaningful alternative if print unavailable

Every visible control needs rest/hover/focus/pressed/selected/open/disabled state where relevant, with equivalent touch use. Dialogs have accessible names and contained focus; close returns focus. Errors are adjacent and announced. No fake ratings/counters, stock-photo claims, external sends, telemetry or account effects. Reference commercial framing may be adapted to the useful Recipe action without hiding the design-study nature.

Content, assets and operating evidence

Frontend must bind a complete explicit fixture pack: unique recipe IDs/titles, coherent ingredients/equipment/steps, supplied quantity/unit variants, matching hero/ingredient/step assets and original/licensed usage provenance. The same dataset supplies screen, save, share and print. A fixture is never labelled engine-qualified or kitchen-tested. Images must depict their named dish/ingredient/action; don't relabel one White Bean image as several meals. Public assets exclude captured competitor images, doctrine/internal reports, .env and private manifests. Reference screenshots are inspection evidence only.

Image focal points and source dimensions are reviewed at actual intended sizes; don't enlarge a small hero and call it sharp. Use each selected reference's appropriate treatment rather than one universal image ratio. Byte/latency/cost caps are not established by this spec: Delivery/Software report actual hosted measurements, affected limits and material failures. Existing no-local-execution holds persist. No new analytics or benchmark threshold is invented.

Acceptance observations to collect

1. First-front-page receipt: exact repository/commit/deployment/domain; phone 320 and 390, desktop 1440; original reference and candidate side by side. Check real above-fold hierarchy, hero focal point, typography, navigation and lower content/footer, not only colors.

2. Phone before desktop: no document overflow, clipped text, overlay obstruction or essential hover-only controls; usable touch targets, keyboard focus, zoom, reduced motion and native reading. Reference defects are corrected, not imitated.

3. Exercise full browse → recipe → cook/help → save/reopen → share/print → Back loop, including empty search, reset, storage refusal and canceled actions. Distinguish local simulation from owner-backed behavior.

4. Actual print preview/PDF on hosted source: all steps and ingredients, selected supplied amounts, no blank/chrome-only pages or clipped rows; correct isolated return URL; color and monochrome readable.

5. Independent UI/UX and technical review record actual evidence/failures separately from Michael's selection. A successful build alone is not design/interaction acceptance. First-front-page finish does not close full-prototype finish.

Latest Michael correction — October 6: full Recipe scope and public identity

This is the current scoped correction, above earlier conflicting mockup requirements. Start from 100 retained ingredient sets, not 35. The existing Recipe writer, through the agreed common intake and established complete pattern/method, writes original instructions and every required companion field. Content specialist review/refinement returns through the actual writer/owner loop; no manual/copied substitute and no relabelled old drafts. English only (en-US): no bilingual/localization production or prerequisite. Preserve 100 distinct reviewed completed recipe outputs per site, independently copied from the same accepted static dataset if useful; no database.

All five public sites are named Is the Best Recipe and each has a creative own logo bearing that exact name in its independent visual style. Competitor direction names and repository numbers stay internal. Remove public site naming such as “Mock”, “Recipe Mock N”, “copy of reference publisher/reference publisher/reference publisher/reference publisher/reference publisher” from logo/header/navigation/footer, page titles/metadata/social cards, email subject/body/button and campaign identity. The public hostname may retain its authorized recipe-mock-N address. Necessary concise “Demo account”, device-local storage and bounded-send explanations remain at relevant controls; no intrusive development banners. Current Network palette/glyph/green restrictions do not constrain these independent designs.

Feature scope is the existing full Recipe BRD, not merely a catalog of 100 cards. Categories, multi-category membership, tags and collections include the relevant accepted vocabulary and evidence-backed classifications, not just holiday/potluck/comfort-food/breakfast examples. Every front-page and major-section/category feature selects a different actual recipe with a meaningful category relationship and correctly matched dish image. A generic illustration cannot be labelled as the exact dish; one repeated hero cannot stand in for distinct featured recipes. Visual owns public/images/visual-* and manifests; builders bind approved slots without overwriting assets.

Transformers are not required now. No Calculator/Planner/Checklist/Countdown/Poll or other cross-family integration can block these sites. Keep ordinary recipe-site cooking, local organization, share/print and return features. Cross-family historical requirements remain production history only. Real bounded requested email and disposable demo login remain in scope; no database or local Windows application builds/tests/servers/loopback.

QA must load the actual doctrine and relevant existing methods, trace each BRD obligation to real hosted phone/desktop visual and interaction cases, inspect rendered pixels through browser/Vision, repair defects and recheck the changed candidate. Source review, route 200 or scaffold screenshots are not whole-site acceptance.

Latest Michael correction — October 6: full Recipe scope and public identity

This is the current scoped correction, above earlier conflicting mockup requirements. Start from 100 retained ingredient sets, not 35. The existing Recipe writer, through the agreed common intake and established complete pattern/method, writes original instructions and every required companion field. Content specialist review/refinement returns through the actual writer/owner loop; no manual/copied substitute and no relabelled old drafts. English only (en-US): no bilingual/localization production or prerequisite. Preserve 100 distinct reviewed completed recipe outputs per site, independently copied from the same accepted static dataset if useful; no database.

All five public sites are named Is the Best Recipe and each has a creative own logo bearing that exact name in its independent visual style. Competitor direction names and repository numbers stay internal. Remove public site naming such as “Mock”, “Recipe Mock N”, “copy of reference publisher/reference publisher/reference publisher/reference publisher/reference publisher” from logo/header/navigation/footer, page titles/metadata/social cards, email subject/body/button and campaign identity. The public hostname may retain its authorized recipe-mock-N address. Necessary concise “Demo account”, device-local storage and bounded-send explanations remain at relevant controls; no intrusive development banners. Current Network palette/glyph/green restrictions do not constrain these independent designs.

Feature scope is the existing full Recipe BRD, not merely a catalog of 100 cards. Categories, multi-category membership, tags and collections include the relevant accepted vocabulary and evidence-backed classifications, not just holiday/potluck/comfort-food/breakfast examples. Every front-page and major-section/category feature selects a different actual recipe with a meaningful category relationship and correctly matched dish image. A generic illustration cannot be labelled as the exact dish; one repeated hero cannot stand in for distinct featured recipes. Visual owns public/images/visual-* and manifests; builders bind approved slots without overwriting assets.

Transformers are not required now. No Calculator/Planner/Checklist/Countdown/Poll or other cross-family integration can block these sites. Keep ordinary recipe-site cooking, local organization, share/print and return features. Cross-family historical requirements remain production history only. Real bounded requested email and disposable demo login remain in scope; no database or local Windows application builds/tests/servers/loopback.

QA must load the actual doctrine and relevant existing methods, trace each BRD obligation to real hosted phone/desktop visual and interaction cases, inspect rendered pixels through browser/Vision, repair defects and recheck the changed candidate. Source review, route 200 or scaffold screenshots are not whole-site acceptance.

Full-site acceptance amendment — October 6, current

The previous front-page milestone remains intermediate. The following cases are mandatory for final mockup completion, even where a competitor does not expose the same feature. No result is passed by writing this specification.

CaseRequired proof for each site
M — Engine provenance and sizeStatic artifact contains at least 100 distinct complete actual engine outputs with stable IDs, exact agreed common-intake/method/input/output receipt and review for permitted mockup use. Independently account for count/duplicates/completeness and reviewer disposition. Same dataset across five is allowed; handmade/copied recipes, duplicate cards and placeholders do not count.
N — Full content navigationBrowse/search/filter/category/collection → recipe, article → recipe, ingredient/technique/resource → recipe and exact return all work; no empty stubs/broken relationships. Exercise representative normal/empty/back paths; record static inventory for the full catalog.
O — Demo identity and bookSame named demo login and newly generated mock-only password on all five, never real company credentials. Exercise correct/incorrect login, logout and intended-action return; save/unsave, create/rename/remove collection, organize, reopen and applicable notes/progress. Empty book, duplicate save and storage denial/corruption are truthful. No database or false secure-account/cross-device claim.
P — Real email boundaryExisting approved Gateway/mail service and provider are actually bound; server fixes the recipient to Michael, forbids arbitrary recipient/sender/template/return overrides and applies existing bounded abuse/replay controls. Provider secrets are absent from public source/bundles/URLs. Demo password is not a service grant. Unauthorized-recipient verification must prove refusal without sending to anyone else.
Q — Delivered campaign loopAt each applicable campaign, explicit signup action → honest pending/success/error → actual permitted email delivered to Michael → designed email button → exact originating mockup host and campaign landing. Retain receipt and actual delivered-content/return evidence; accepted/queued alone is not delivery. Fresh-tab/logged-out return still reaches useful content. No hidden marketing enrollment.
R — Retry/refusalSend double-click/retry uses the admitted deduplication/reconciliation path; failed/unknown outcome is not called delivered or blindly replayed. Record the actual owner controls and evidence; do not perform unauthorized fault injections or extra-recipient sends. Browser save/share/print denial and full cooking return remain covered.
S — Hosted whole-site inspectionExact GitHub source and Vercel build/deployment evidence plus actual browser/Vision mobile and desktop inspection and exercised full journeys; repair and re-inspect affected candidate. First-page screenshot, 200 response or successful scaffold build alone cannot pass. No local Windows app tests/builds/server/loopback.

Production audit/qualification remains separate. A candidate may be publicly visible during this expressly authorized design study while its documented full-site acceptance remains open; do not report the open cases as finished. Supporting assets/components require actual rights/license, regardless of reference resemblance.

All functional results below require actual evidence; earlier scaffold receipts are not full-site verification. Record actual evidence and reviewer disposition; do not convert this criteria table into a passed checklist. Front-page readiness, complete prototype, Michael's design acceptance and production qualification are different states.

CaseObservable acceptanceRequired evidence
A — Reference binding and distinctionSelected reference/order is explicit; this front page's structure, typography, imagery, spacing, navigation and responsive composition match the intended adaptation. Own-brand scope is respected.UI/UX source capture/locator and side-by-side phone then desktop review; unresolved reference identity cannot pass.
B — First useful actionA guest understands the Recipe promise and can reach a useful fixture without forced account, contact capture or internal implementation clutter.Hosted first-page interaction and exact destination.
C — Discovery and returnApplicable search/filter/category/detail controls produce real fixture results; empty/reset and back preserve useful context.Normal and empty-result flow, back/return evidence; explicit applicability disposition if absent from the reference.
D — Content and assetsComplete coherent yield, ingredients, equipment and ordered instructions; required hero/ingredient/step imagery is meaningful and source-suitable. No unsupported qualification/testing/endorsement claims.Fixture/asset review plus rendered full recipe, including image failure behavior.
E — Cooking stateApplicable checks, steps, help and timers work; view/disclosure changes preserve work. Clear/reset has scoped effect. Timer end makes no safety claim.Before/after and refusal/recovery evidence; no silent restart/duplicate alert on return.
F — Quantity and unitsAll presented selections resolve to supported meaningful fixture states; invalid input retains correct last valid state. Time/temperature do not scale proportionally.Supported/unsupported/invalid examples, meaning review; no unapproved production-engine call.
G — Connected local flowApplicable cooking/shopping/gathering views transfer selected meaning without losing progress or forcing navigation.Forward and return flow with exact local/demo boundary; no external plan or invite effect.
H — PrintPrinted recipe is readable, unclipped, complete and uses current supported servings/units. Required safety remains; QR/return points to this mockup's recipe.Hosted browser print-preview/PDF evidence and cancel/return state, as applicable.
I — Save/share/account truthBrowser-local saving/sharing either works in its stated scope or reports denial. Demo account/payment behavior never claims production success. Real signup email is restricted to the named recipient and requires actual delivery evidence; no arbitrary personal-data collection or hidden subscription.Storage/clipboard denied and normal states; observed network/effect boundary.
J — Phone and accessibilityPhone layout/touch/readability and reduced motion work; keyboard order/focus, accessible names and dialog return are coherent; desktop independently works.Actual viewport dimensions, browser, input mode/emulation, screenshots and interaction notes. A phone failure holds affected readiness.
K — Isolation and exposureNo shared runtime imports/state or unapproved production bindings with Network or other mocks; no credentials, doctrine or internal documents in public assets/routes.Assigned source inspection and hosted request/route inspection; Delivery reports env protection without secret values.
L — Deployment and decisionExact candidate builds and is served at https://recipe-mock-2.isthebestrecipe.com; failures are retained and replacement checked. Independent review and Michael's decision are recorded separately.Commit, deployment URL/ID, build result, canonical host readback, reviewer and actual acceptance disposition.

Each optional area needs explicit applicability evidence tied to the reference/brief; unsupported visible controls cannot be silently excluded. Initial front-page milestone requires applicable A/B/D/J/K/L first-page evidence and truthful incomplete-interaction status. Full prototype completion requires all applicable cases through the entire journey. Production audit and qualification are outside both claims.

Reviewer return includes the person's outcome, exact candidate and reference, phone result first, desktop result, passed/failed/not-applicable/unrun cases, concrete defects and owner, actual operations versus simulation, and next action through PO. Source preparation is not independent verification. No local application tests/builds/server/loopback are authorized by these criteria.

Latest correction acceptance additions

Verify 100 retained-input→existing-writer→complete English-output→Content review/refinement traces, not 35, manual substitutes or a bare card count. Use PRD's full Recipe coverage map and disposition every row/feature and applicable classification; no silent omissions. Verify the front page and each major section/category have different actual featured dish IDs with appropriate memberships and correctly matched imagery. Verify “Is the Best Recipe” and a creative logo with that name on every public surface, metadata, campaign and designed email; competitor/reference/mockup names stay internal. Preserve concise truthful demo notices at controls.

English only; no bilingual/localization acceptance work. Transformers/cross-family integration are explicitly not required now and cannot hold acceptance. Other unsupported familiar Recipe features are named finite gaps, not silently dropped. QA loads actual doctrine and relevant established method, binds BRD→hosted cases, inspects rendered phone/desktop pixels with browser/Vision, exercises flows, repairs and rechecks. No local Windows builds/tests/server. Existing noDB/demo login/bounded real mail and full-site-not-front-page finish remain.

October 6 public-brand and content correction

This revision supersedes revision 1 public subjects, email title/preheader/wordmark/headline/button/body and campaign identification. Every public site and email uses Is the Best Recipe, with that site's own creative logo and independent style. Mock IDs, template IDs and exact route bindings remain internal implementation identifiers; do not expose them as site names, navigation labels, page metadata or email branding. Competitor references stay in internal design specifications. Do not inherit Network branding or add development banners. Keep only concise truthful demo-account, device-storage and send limitations at the relevant controls.

The content source is now 100 retained ingredient sets, with complete original English instructions and required companion fields written by the existing Recipe writer using the established pattern/method and reviewed/refined by Content through the correct owner loop. No bilingual/localization work or substitute hand-authored dataset. Campaign selection must trace the full existing Recipe BRD vocabulary for categories, multi-category membership, tags and collections; examples such as holidays, potlucks, comfort food and breakfast are not exhaustive taxonomy authority. Select different actual dishes for the front page and each major section/category; do not reuse one hero everywhere or label generic art as the exact dish. Transformers and cross-family integration are not prerequisites for this scope. This CRM artifact propagates the correction to email/campaign consumers; it does not claim to perform Recipe writing or Content acceptance.

Shared login — implement now in all five

• Username: (authorized verification recipient)

The public demo credential is supplied at its sign-in control. It is not a real account credential.

• Both values may be public in these five mock sources and shown by a “Demo login details” disclosure. This password was selected for this contract; it is not sourced from any real credential store and must never be used against real identity services.

• Trim and lowercase username for this comparison; compare password exactly. Other input returns “Use the demo login shown here.” Never transmit password or retain typed passwords. No real signup, identity verification, password reset, grant or private-content protection results from this login.

• A successful comparison sets per-origin sessionStorage['recipe-mock:session:v1'] to { "version": 1, "mockId": "recipe-mock-N", "demo": true }. Validate exact mockId/version when restoring; malformed values are discarded. No credentials in storage. Session lasts for the browser page session, survives refresh, and ends on logout or browser session closure subject to normal browser restore behavior. Do not promise secure expiry. No cross-domain shared session or cookie is needed: identical login works independently on all five.

• If session storage fails, keep an in-memory demo session for this page and explain that a refresh ends it. Display “Demo account” by the account control. Never gate guest recipe reading/cooking on login.

• My Recipe Book stores only fixture recipe IDs and user-selected local collection labels under per-origin localStorage['recipe-mock:book:v1'], with version/mockId validation. Show “Saved on this device.” Do not store email, password or mail receipts there. Storage failure returns an honest unsaved/in-memory state; no account-sync claim.

• Logout removes only this mock's session key and in-memory session, clears password fields and hides account controls. It preserves device-local recipes and cooking progress; say so at logout. A separate “Clear saved recipes on this device” action removes only this mock's book key after an explicit user action. Never call storage.clear().

• After login return to the exact same-origin recipe/collection/campaign route that initiated it, preserving usable local state. Accept only known mock routes/fixture IDs, never a supplied absolute return URL. Cancel returns to the initiating view. No silent jump to production or another mock.

Fixed campaign bindings — build these exact routes

These are contract targets on Delivery's live canonical domains. The campaign pages themselves have not been verified live. Bind the target in server configuration, never from request input.

Mock IDCampaign IDExact designed-email button targetSubject
recipe-mock-1welcome-1https://recipe-mock-1.isthebestrecipe.com/campaigns/welcome-1Your recipe collection from Is the Best Recipe
recipe-mock-2welcome-2https://recipe-mock-2.isthebestrecipe.com/campaigns/welcome-2Your recipe collection from Is the Best Recipe
recipe-mock-3welcome-3https://recipe-mock-3.isthebestrecipe.com/campaigns/welcome-3Your recipe collection from Is the Best Recipe
recipe-mock-4welcome-4https://recipe-mock-4.isthebestrecipe.com/campaigns/welcome-4Your recipe collection from Is the Best Recipe
recipe-mock-5welcome-5https://recipe-mock-5.isthebestrecipe.com/campaigns/welcome-5Your recipe collection from Is the Best Recipe

Each landing is publicly branded Is the Best Recipe, uses its own assigned creative logo and visual direction, and presents its campaign recipe selection from the accepted engine/intake dataset. Internal mock identity must not become visible site branding. Its recipe links open real local fixture details; its My Recipe Book action follows the shared demo login flow. No invented recipe data or campaign claims are needed for the email. A fresh browser must reach the exact campaign without login, losing neither the campaign identity nor the route after optional login. Missing campaign returns a truthful unavailable state, never a home-page redirect masquerading as success. GET, mail scanning and page refresh create no send, enrollment, identity or save effect. Do not embed recipient, credentials, bearer tokens or tracking pixels in the link/body.

Use the signup treatment required by the visual design, with accurate action text “Email my demo link.” Explain at the action: “Verification is available only for Michael. This sends one requested demo link; it does not subscribe you to updates or create a real account.” The public page may display the authorized address without accepting arbitrary recipient input. If a design requires an input, the server still admits only the exact allowlisted address; do not send refusal mail. Never infer marketing consent from login, viewing a campaign, saving a recipe, or this requested message. No drip, reminder, acquisition, production CRM mutation or third-party tracking follows.

The following is the proposed mock-facing adapter contract, not a claim that an existing Gateway operation already implements it. Builders can implement presentation against these states now. Delivery binds its server side to the exact approved existing owner operation.

POST /api/demo-email on each mock's own canonical origin; JSON only, maximum body 1 KiB, exact Origin validation and no wildcard CORS. GET refuses without effects. The deployment, not the client, binds mockId, campaignId, recipient, sender and target.

Reject extra fields, incorrect content type/version/purpose, or false/missing confirmation. Never accept client recipient, From, Reply-To, HTML, subject, callback/return URL, provider credentials, reset flags or idempotency overrides. Same-origin validation is defense in depth, not user authentication; the public demo password/session provides no mail authority. Mail is separately authorized by Michael's bounded verification instruction and Delivery's private server-side enablement.

Every response is Cache-Control: no-store with a stable enum and opaque non-secret receipt where available. Never return provider payloads, credentials, raw recipient/suppression diagnostics or claim inbox delivery from transport acceptance.

HTTPstatusUI meaning
202accepted“Your demo link was accepted for sending. Check your inbox.”
200already_accepted“This demo link was already requested. Check your inbox.” No second send.
202pending“Your request is being checked. Please do not submit again.” No automatic POST retry.
400invalid_request“The request could not be submitted.” Preserve page context.
403not_available“Email verification is not available for this request.” No effect.
429limit_reached“This demo's verification limit has been reached.” No countdown implying automatic reset.
503unavailable“Email is temporarily unavailable. Your demo session is unchanged.” No simulated success.

Example accepted response: { "version": 1, "status": "accepted", "receiptId": "opaque-owner-receipt" }. Duplicate returns the prior logical receipt. If status is unknown after provider handoff, return pending where possible and reconcile with the owner; a network error in the browser is not proof of failure and must not cause a new effect. No background retries or additional status route are required by this contract.

Mail owner enforcement and finite verification budget

Delivery must bind an existing appropriate Gateway/service operation and approved Recipe/EverIntent sender, envelope domain and Reply-To. Existing Alturion/Fishflix mailbox proof establishes that mail service exists; it does not authorize their sender identities or credentials for Recipe. Do not provision another mail system, select GHL by assumption, or reopen unrelated reputation-engine work to do this bounded verification.

1. Recipient is server-fixed (authorized verification recipient), no CC/BCC, aliases, plus-address substitutions, additional recipients or client-controlled headers. Check the existing owner's current applicable suppression/permission immediately before dispatch. Suppressed/unknown permission is no-send, with restricted reason retained by owner. This requested verification is not newsletter consent.

2. Private server enablement defaults off until Delivery binds the appropriate approved operation and landing routes. Public source contains no provider secret or enable/reset privilege. Only Delivery manages server environment/credentials; frontend variables and static bundles never contain them. Local .env stays ignored and excluded from artifacts/context.

3. Contract verification ceiling: one provider dispatch attempt per mock and recipient for this review round; five attempts total across all five, with at most one in flight overall. There is no time-based reset or autonomous resend. Transport-unknown counts as consumed until reconciled. Cap the attempt before external handoff, not after a success response. This finite ceiling limits effects even if a public visitor triggers the exposed control during the enabled window; it is not proof that the visitor is Michael.

4. Use the existing mail owner's durable atomic claim/receipt facility across deployments and all five mocks. The internal operation identity is retained privately. Bind canonical payload hash (template revision, target, recipient, sender, purpose) to it. Same key/same payload replays status; changed payload conflicts and refuses. New browser UUID, clearing storage, redeploying or altering client input must never reset the limit. Do not add a mock database or rely on browser state/server memory for effect safety.

5. Immediately disable the window when complete. Retries after a proven pre-handoff failure require Delivery reconciliation within the same logical request and retained ceiling; no hidden fresh-key bypass. Any additional verification round needs its explicit scope recorded through PO.

6. If the existing owner cannot enforce the fixed recipient, suppression, durable claim and shared ceiling, retain unavailable for the real effect and return that exact missing capability through PO. Do not expose a generic mail relay as an interim implementation. Builder work on login, campaign pages and states continues independently.

Email logo binding — October 6, revision 3

PO reports each site's original Is the Best Recipe wordmark at public/images/visual-brand-wordmark-v1-preview.png, with SVG available for the web. Email uses the PNG fallback below, not SVG. These are exact contract bindings derived from that supplied path; publication, actual pixel suitability and mail-client rendering remain Delivery/QA verification, not proof established by this document.

Internal site IDLOGO_PNG_URL
recipe-mock-1https://recipe-mock-1.isthebestrecipe.com/images/visual-brand-wordmark-v1-preview.png
recipe-mock-2https://recipe-mock-2.isthebestrecipe.com/images/visual-brand-wordmark-v1-preview.png
recipe-mock-3https://recipe-mock-3.isthebestrecipe.com/images/visual-brand-wordmark-v1-preview.png
recipe-mock-4https://recipe-mock-4.isthebestrecipe.com/images/visual-brand-wordmark-v1-preview.png
recipe-mock-5https://recipe-mock-5.isthebestrecipe.com/images/visual-brand-wordmark-v1-preview.png

Bind LOGO_PNG_URL from the same internal site row as TARGET. Never fetch another site's logo, construct this from client input or replace it with the Network/competitor brand. Delivery verifies each deployed PNG is public HTTPS, returns image/png, shows the correct original wordmark, has no numbered/mock branding, and is legible at the chosen email width. Inspect actual aspect ratio and transparency against that site's email background; preserve proportions, do not stretch or crop. Use the PNG only when these suitability checks pass. Delivery owns image publication and sending.

The HTML below keeps a visible text wordmark in addition to descriptive alt text. This deliberately remains readable when remote images are blocked, return an error, are stripped by a mail client, or load slowly. No SVG, JavaScript/onerror handler, CSS background image or external font is required for brand identification. If the PNG is unsuitable/unavailable before send, omit the image element and retain the same visible text wordmark, body and exact campaign button. Do not substitute a generic logo or report an image load failure as a send failure. Plain text mail already retains the brand. QA checks images-enabled, images-blocked and unavailable-image rendering; no additional verification email or resend is authorized by this asset correction.

Designed email — template recipe-mock-welcome-v3

Use English HTML plus text alternatives and the public subject from the table. The template below defines public wording and semantic structure; each site applies its own creative Is the Best Recipe logo, typography, color, spacing and campaign dish composition. A single inherited Network skin or five identical email designs does not satisfy the brief. Preserve accessibility, email-client readability, one exact fixed campaign destination, and the concise footer. From/display-name authorization and Reply-To remain Delivery's approved bindings; the visible brand name does not authorize a new sender identity.

Before rendering, bind TARGET from the exact campaign table and FEATURED_DISH_TITLE from that campaign's actual accepted recipe record. Record its recipe ID/content revision, approved matching image/alt text and the site's design revision in the internal campaign manifest; no invented title, dish claim or generic-image substitution. The selected dish must actually appear on the linked landing and open its matching recipe. Use the accepted classification memberships for campaign grouping. No recipe selection is asserted in this contract because Content's accepted output has not been supplied here. Builders bind that output through the owner loop, not by fabricating a sample recipe.

HTML-escape text substitutions. Logo/image URLs and style tokens come only from each site's vetted static asset/design manifest, never the request body. If adding a dish image, use the approved actual-dish asset with accurate alt text and a responsive email-safe presentation; the message must remain useful when images are blocked. Do not ship unresolved placeholders. The neutral colors below illustrate a readable structure only; each site's final email must match its actual independent design.

Use the site's own PNG logo binding above with the exact alt text Is the Best Recipe, and retain the visible text wordmark as the reliable image-failure fallback. No “Mock”, numbered site label or competitor-copy claim belongs in logo, subject, preheader, title, heading, button or message body. Canonical hostnames remain exactly as routed; they are not display names.

Plain text alternative:

Changing to this template revision does not create a fresh send authorization or reset an existing idempotency receipt/verification ceiling. If a prior payload has already been claimed, Delivery reconciles that receipt and records the content revision; do not bypass a payload conflict with a new key.