MolinoPro

README

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

Default Index
Open README.md
Root: README.mdsession-stacks
Milestones
H1Session Stacks

Status: hub for session-stack planning and composition notes.

H2Current staged use
  • studio/craft and studio/practice now read their public skill catalogue through seeded SessionStack records when available.
  • The previous hardcoded lib/data/skills.ts catalogue remains the fallback and the seed source.
  • Seeded skill stacks use the public skill id as the SessionStack.id, so /studio/craft/{skill-id} and /session-stacks/{skill-id} refer to the same skill session.
  • The complete original skill JSON is stored in SessionStack.data.skill. Public craft/practice rendering reads that seeded JSON first so the cards can display exactly as before.
  • Commercial display fields that are not native SessionStack columns are also mirrored in SessionStack.data: source, category, specialty, priceEUR, location, catalogOrder, and public route hints.
  • Composition remains pending in the existing /session-stacks interface through concept groups and concept cards.
H2Travel journey stacks
  • studio/travel now follows the same projection pattern for lib/data/sessions.ts.
  • Current city tour sessions are seeded as SessionStack records with type: GROUP.
  • The current full Córdoba to Granada journey is seeded as a SessionPath, composed from the current city tour session stacks in catalogue order.
  • The complete original journey JSON is stored under SessionStack.data.journeySession for city sessions and SessionPath.data.journeySession for bundle/session-path records.
  • FareHarbor metadata remains in that JSON and is also mirrored in the open data object for later marketing, booking-stage, guide-note, and trip-content workflows.
  • Arrival, departure, and extension options should be added later as more journey session-stack JSON records, then included in the relevant session path when they become part of the commercial trip structure.
H2Maintenance
  • Run npm run seed:studio-skills after editing lib/data/skills.ts or when a database needs the skill session-stack records.
  • GET /api/studio/skill-session-stacks returns the current fallback skill JSON.
  • POST /api/studio/skill-session-stacks accepts either Skill[] or { "skills": Skill[] } from a Google Sheet or Apps Script sync. Set STUDIO_SKILL_STACKS_INGEST_SECRET and send it as x-studio-seed-secret.
  • Run npm run seed:studio-journeys after editing lib/data/sessions.ts or when a database needs the travel session-stack/session-path records.
  • GET /api/studio/journey-session-stacks returns the current fallback journey JSON.
  • POST /api/studio/journey-session-stacks accepts either JourneySession[] or { "sessions": JourneySession[] } from a Google Sheet or Apps Script sync. Set STUDIO_JOURNEY_STACKS_INGEST_SECRET and send it as x-studio-seed-secret.
  • Do not delete attached concept groups when reseeding; the seed script only upserts stack metadata and leaves composition relations intact.
H2Archive notes
  • older session-stack notes live in archive/
H2Folder rule
  • Keep session composition and roadmap notes here.
  • Move superseded variants into archive/.