MolinoPro

README

Master Codebase Guidebook
Markdown + HTML Dev-Docs Renderer - Frontend Client Module

Default Index
Open README.md
Root: README.mdstudio
Milestones
H1Studio PRD - Molino App

version: 2026.04 status: active owner: Molino scope: /studio last_updated: 2026-04-29

H2Focus Strip
NowLockDo Not BreakNext Closure
Authored entry + booking bridgeHome, Skills, Practice, Experience navStudio stays entry layer, Trips owns executionReduce /studio/travel to intended cards/exits after commerce lock
StateMeaning
built/lockedprimary header shape, FareHarbor lightframe button mechanism
built/partial/studio/travel booking cards plus legacy session sections
docs-aheadexact one city tour + one featured trip + planner + collaboration layout
H10. Implementation Snapshot
H2Current goal
H3Keep Studio as the authored top-layer entry

Use clear paths into Skills, Practice, Experience, and the travel-derived branch, and use /studio/travel as the first revenue-capable booking surface.

H2Remaining features
H3Lock the primary header to Home, Skills, Practice, and Experience

Keep the top nav focused on the authored entry surface.

H3Keep Writing secondary

Treat Writing as a secondary reference, not a primary path.

H3Make Experience branch into Travel, Trips, and Collaborations

Keep the derived branch explicit.

H3Refactor `/studio/travel` around one city tour card, one featured trip card, plus planner and collaboration exits

Use the booking bridge as the first commercial surface.

H2Next build steps
H3Inspect Studio navigation and route components before editing copy or layout

Check the current structure before changing the authored entry surface.

H3Remove primary-nav exposure for Writing, Travel, and Trips where present

Keep the primary header limited to the main Studio menu.

H3Wire `/studio/travel` cards to FareHarbor button execution for lane 1 and lane 2

Make the booking cards use the same button behavior as the commercial surface.

H3Keep lane 3 and lane 4 as in-app exits, not generic enquiry fallbacks

Preserve explicit planning and collaboration paths.

H3Keep the travel surface aligned with the commercial booking lane in Trips

Keep the Studio bridge in sync with the Trips execution root.

H2Prompt starter summary
H3Keep Studio as the authored entry layer for Home, Skills, Practice, and Experience

Use /studio/travel as the first revenue-capable booking surface built from native booking cards and clear in-app exits.

H2Prompt starter
Implement the next Studio PRD slice. Use _PRD/studio/README.md as source of truth. Keep Studio as the authored entry layer for Home, Skills, Practice, and Experience. Lock the primary nav to those four items. Writing remains secondary. Experience branches into Travel, Trips, and Collaborations. /studio/travel should use native Molino booking cards for ready-made tours and the featured group trip with FareHarbor button/modal execution only, plus clear in-app exits for flexible planning and collaborations. Do not add deep booking logic or full /trips planner behavior to Studio routes.
H21. Product Identity
H3Name

Studio

H3One-line Definition

Studio is the authored, editorial, and entry-layer umbrella for Molino's Skills, Practice, Experience, and the derived travel/trips branch.

H3User-facing Purpose

This feature exists so users can:

  • enter the authored Molino surface
  • browse practical capabilities
  • follow weekly or continuity support
  • move into experience, travel, or trips when relevant
H3Internal Platform Purpose

Inside Molino App, this feature exists to:

  • keep the top-level editorial IA clean
  • separate authored surfaces from commercial booking surfaces
  • expose a controlled branch into travel-derived flows
H22. Global IA / Navigation
H3Main Studio Menu
  • Home
  • Skills
  • Practice
  • Experience
H3Not in Top Menu for Now
  • Writing
  • Journey
  • Travel
  • Trips
H3Derived From Experience
  • Travel
  • Trips
  • Collaborations
H3Writing Rule
  • keep Writing as a Home card or secondary reference
  • use it for articles, portfolio, campaigns, or enquiry-led specialty
  • do not make it a primary nav item yet
H23. Route Contracts
H3`/studio`

Role:

  • studio home
  • philosophical / authored / portfolio-style umbrella
  • branch into Skills, Practice, and Experience
  • include Writing as a secondary card or reference
  • optionally surface a travel or trips teaser card

Must contain:

  • clear entry to Skills
  • clear entry to Practice
  • clear entry to Experience
  • optional Writing card
  • optional travel highlight card

Must avoid:

  • deep booking logic
  • full travel planner behavior
H3`/studio/skills`

Role:

  • practical capabilities
  • modular one-off service surface

Must contain:

  • clear cards for practical initiations or capabilities
  • up to 3 downstream actions
  • clean enquiry or service CTA structure

Must avoid:

  • blending with Practice continuity logic
  • travel or trip detail overload
H3`/studio/practice`

Role:

  • continuity, support, and weekly rhythm

Must contain:

  • weekly support framing
  • cadence options
  • up to 3 downstream actions
  • enquiry or support CTA

Must avoid:

  • acting like a one-off skills catalog
  • travel or trips overlap
H3`/studio/experience`

Role:

  • broad experiential and cultural gateway
  • parent entry to the travel-derived branch

Main exits:

  • Travel
  • Trips
  • Collaborations

Must contain:

  • broad cultural, educational, or guided framing
  • concise explanation of the branch
  • the three exits above

Must avoid:

  • detailed booking catalog
  • full planner behavior
  • too many product cards
H3`/studio/travel`

Role:

  • curated travel bridge
  • route-family explainer
  • editorial-commercial handoff into booking and trips planning
  • first revenue-capable booking surface

Must contain:

  • short contextual intro
  • one city tour card and one featured trip card
  • direct FareHarbor booking buttons for:
    • Lane 1 city tours
    • Lane 2 featured guided group trip
  • non-booking CTA for:
    • Lane 3 flexible trip planning
    • Lane 4 collaborations

Must avoid:

  • generic inquiry form as the default outcome for all clicks
  • embedded FareHarbor grids or calendars
  • duplicating full /trips planner logic

Naming note:

  • Lane 1 city tours, ready-made city tours, and city highlight tours are the same commercial lane family as the Trips featured-experiences surface.
  • Lane 2 featured guided group trip maps to the Trips featured guided trip lane.
  • Lane 3 flexible trip planning, trip plan, trip planner, and plans are the same planning / intent family that feeds Trips.
H24. Commercial Lane Behavior
H3Lane 1 - Book Ready-Made City Tours
  • use app-native cards
  • use FareHarbor booking button only
  • open booking in Lightframe modal
  • surface in /studio/travel and /trips
H3Lane 2 - Join the Featured Guided Group Trip
  • use app-native premium featured-trip card
  • use FareHarbor booking button only
  • open booking in Lightframe modal
  • surface in /studio/travel and /trips
H3Lane 3 - Plan a Flexible Trip
  • use in-app planner
  • use quote or assisted planning
  • use Molino trip-building logic
  • surface in /trips
H3Lane 4 - Collaborations
  • use dedicated intake flow
  • use a dedicated application or request path
  • do not use retail booking
  • do not use a generic contact form
  • surface in /studio/experience, /studio/travel, and /trips
H25. CTA Map
H3`/studio/experience`
  • Explore Travel
  • Go to Trips
  • Collaborations
H3`/studio/travel`
  • Book City Tour
  • Join Featured Guided Trip
  • Plan a Flexible Trip
  • Collaborations
H3`/trips`
  • Book Ready-Made Tours
  • Join Featured Guided Trip
  • Start Planning
  • Collaborations
H26. Implementation Order
H3Phase 1
  • lock header to Home | Skills | Practice | Experience
  • remove Writing from primary nav
  • keep Travel and Trips derived from Experience
H3Phase 2
  • build FareHarborBookAction
  • create local FH link config
  • wire one working city-tour booking card
  • wire one featured-trip booking card
H3Phase 3
  • refactor /studio/travel around booking cards plus planner and collaboration exits
  • remove generic inquiry as default outcome
H27. Acceptance Criteria
  • Studio header uses the locked menu
  • Writing stays secondary
  • Experience branches into Travel, Trips, and Collaborations
  • Travel uses native cards with FareHarbor button execution only
  • no production FH calendar or grid widgets are required
  • planner and collaboration flows stay in-app
H27.1 Code Audit - 2026-04-26
H3Built / locked
  • EditorialHeader exposes the primary Studio path as Home, Skills, Practice, and Experience; Writing, Journey, and Tourism links are currently commented out.
  • /studio/travel renders FareHarbor booking cards through FHBookingCard and fareHarborPresets.
  • FHLightframeButton loads the FareHarbor autolightframe script and builds booking hrefs from explicit href, account, item, and flow values.
H3Built / partial
  • /studio/travel currently shows a featured guided group trip card plus Córdoba and Granada city tour cards.
  • The travel page still includes older session/bundle sections from SESSIONS, so it is a bridge plus legacy route-family content rather than a fully reduced four-lane surface.
  • FareHarbor presets still include grid/calendar presets, but the active travel page is using lightframe booking cards.
H3Docs-ahead / pending
  • The Studio travel page is not yet reduced to exactly one city tour card, one featured trip card, planner exit, and collaboration exit.
  • Trips and Studio booking cards should be audited together so FareHarbor behavior stays consistent across both entry points.
H3Critical next step

After the commercial Offer -> Order snapshot path is locked, align /studio/travel with /trips by keeping only the intended booking cards and explicit planner/collaboration exits.

H27.2 EditorialHeader iPad Logo Diagnosis - 2026-04-29
H3Built / checked
  • Checked EditorialHeader at desktop, narrow desktop, iPad Mini portrait, and iPad Mini landscape dimensions.
  • The logo DOM was not duplicated: probes found one .qr-img link and one /qr-w.svg image.
  • The iPad-only visual fuzz came from two nearby causes: the Next.js development indicator defaulted to bottom-left, visually colliding with the bottom-docked tablet header, and the logo inherited old global .qr-img styling from styles/themes/editorial.css.
H3Staged fix
  • next.config.ts moves the development indicator to top-right.
  • styles/qr.css now scopes the EditorialHeader logo box and image size, opacity, and overflow under body[data-layout="editorial"].
H27.3 Skills Catalog Audit - 2026-04-28
H3Built / partial
  • lib/data/skills.ts is the current first-list skills catalog for /studio/practice.
  • The public order is now: personal systems, tools and execution, travel and experience, travel professional and sustainable tourism, systems and automation, then AI-assisted workflows.
  • The order starts with human and practical one-to-one sessions, makes travel the main commercial field, then moves into professional tourism onboarding, systems, and AI as the final support layer.
  • Travel & Experience is for regular travellers, trip planning, city walks, and cultural routes.
  • Travel Professional & Sustainable Tourism is for Al-Andalus Experience onboarding, local tourism professionals, incoming operators, booking channels, guide scripts, group operations, and custom tourism/project development.
  • AI has its own category at the end, framed as an assisted workflow layer that supports and accelerates the previous skills rather than replacing the human layer.
  • Business and monetization support is intentionally not advertised as a standalone public category; it remains implicit inside travel professional, systems, tools, and custom project sessions when needed.
  • The catalog uses a simple two-tier price shape for now: core personal/creative/document sessions at EUR 50, and higher-leverage systems, travel, AI, and technical setup sessions at EUR 60.
H3Catalog rule

Keep the first-list skills narrow enough for a new visitor to scan. Add new items only when they represent a distinct session a person could book or request, not every possible tool or internal capability.

H3Next content step

Decide whether the free Travel Planner Onboarding item should remain inside the public skills list or become a separate help/onboarding card linked from /trips/new.

H3Deferred mission - sheet-driven skills and sessions

A later staging mission is to replace the current hardcoded skills and sessions sources with a sheet-driven items pipeline.

Keep this as a parallel pipeline, not a getIndex() extension:

  • spreadsheet input via new skills and sessions tabs in the existing registry spreadsheet
  • separate sync-items.ts flow
  • IndexCache reused with section = "skills" and section = "sessions"
  • getSkills() and getSessions() server actions
  • read-only projection components only

Do not touch the currently working Molino Docs Apps Script just to start this mission. If script support is later needed for item ingestion, prefer a separate deployment and separate env var such as MOLINO_ITEMS_API.

This is deferred by development order. Reach it after the current Google Doc sequence and nearer ship-path work are complete.

H27.4 Craft QR Base URL Fix - 2026-04-29
H3Built / checked
  • /studio/craft/api/qr/[id] now resolves QR target origins from configured app/site URL env vars or request deployment headers before falling back to localhost.
  • The shared resolver also covers /concept-cards/api/qr/[id], which had the same image-request origin gap.
  • Local development still resolves to http://localhost:3000; deployed requests should encode the current public host such as the custom domain or Vercel preview host.
H28. Locked Summary

Studio is the authored top-layer entry point for Molino. It keeps the navigation clean, routes users into Skills, Practice, and Experience, and hands off to the travel and trips branch without collapsing into booking logic.

H28.1 Session Note - 2026-04-28

Documented and deferred a parallel skills and sessions items pipeline for staging. The main decisions are now locked:

  • do not mix skills and sessions into getIndex()
  • do not destabilize the current working Molino Docs Apps Script
  • if later needed, use a separate Apps Script deployment or trigger lane for item ingestion
  • replace lib/data/skills.ts and lib/data/sessions.ts only when the parallel cache path is ready