Wiki Schema

Domain

Travel and trips: destinations, trip planning, logistics (visas, transport, lodging), food & culture notes, itineraries, budgets, and lessons learned from past trips.

Conventions

  • File names: lowercase, hyphens, no spaces (e.g. kyoto-itinerary.md)
  • Every wiki page starts with YAML frontmatter (see below)
  • Use [[wikilinks]] to link between pages (minimum 2 outbound links per page)
  • When updating a page, always bump the updated date
  • Every new page must be added to index.md under the correct section
  • Every action must be appended to log.md
  • Provenance markers: On pages that synthesize 3+ sources, append ^[raw/articles/source-file.md] at the end of paragraphs whose claims come from a specific source. Optional on single-source pages where the sources: frontmatter is enough.
  • Volatility: travel facts (prices, visa rules, opening hours, seasonal advice) go stale fast. Any page containing time-sensitive facts must set confidence and an updated date that is honored — re-verify before acting on anything older than 6 months.

Frontmatter

---
title: Page Title
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: entity | concept | comparison | query | summary
tags: [from taxonomy below]
sources: [raw/articles/source-name.md]
# Optional quality signals:
confidence: high | medium | low        # how well-supported the claims are
contested: true                        # set when the page has unresolved contradictions
contradictions: [other-page-slug]      # pages this one conflicts with
visited: YYYY-MM                       # for destination pages: when we went (if applicable)
---

raw/ Frontmatter

Raw sources ALSO get a small frontmatter block so re-ingests can detect drift:

---
source_url: https://example.com/article   # original URL, if applicable
ingested: YYYY-MM-DD
sha256: <hex digest of the raw content below the frontmatter>
---

The sha256: lets a future re-ingest of the same URL skip processing when content is unchanged, and flag drift when it has changed. Compute over the body only (everything after the closing ---), not the frontmatter itself.

Tag Taxonomy

  • Places: destination, country, city, region, neighborhood
  • Lodging & food: hotel, restaurant, cafe, accommodation
  • Transport: airline, train, ferry, road-trip, airport, transit
  • Logistics: visa, passport, insurance, packing, money, sim-card, booking
  • Experience: food, culture, nature, hiking, museum, nightlife, beach
  • Planning: itinerary, budget, season, booking-window, lesson-learned
  • Meta: comparison, query, list

Rule: every tag on a page must appear in this taxonomy. If a new tag is needed, add it here first, then use it. This prevents tag sprawl.

Page Types (travel-specific)

Entity Pages

One page per notable entity. In this domain that means: destinations (countries, cities, neighborhoods), airlines, hotel chains, specific hotels/restaurants worth remembering, and travel services. Include:

  • Overview / what it is
  • Key facts (best season, visa requirements, currency, language)
  • Relationships to other entities (wikilinks)
  • Source references

Concept Pages

One page per concept or topic: packing strategies, visa rules by passport, points/loyalty strategy, booking-window research, regional food guides, trip-planning checklists. Include:

  • Definition / explanation
  • Current state of knowledge
  • Open questions or debates
  • Related concepts (wikilinks)

Comparison Pages

Side-by-side analyses: destination A vs B for a given trip type, airline vs airline on a route, rail pass vs point-to-point tickets. Include dimensions in table form, a verdict, and sources.

Trip Summaries (type: summary)

After each trip, one summary page under queries/ or concepts/: itinerary, what worked, what didn’t, lessons-learned. Link to every destination and service page involved.

Page Thresholds

  • Create a page when an entity/concept appears in 2+ sources OR is central to one source
  • Add to existing page when a source mentions something already covered
  • DON’T create a page for passing mentions (a restaurant named once in a list)
  • Split a page when it exceeds ~200 lines — break into sub-topics with cross-links
  • Archive a page when its content is fully superseded — move to _archive/, remove from index

Update Policy

When new information conflicts with existing content:

  1. Check the dates — newer sources generally supersede older ones
  2. If genuinely contradictory, note both positions with dates and sources
  3. Mark the contradiction in frontmatter: contradictions: [page-name]
  4. Flag for user review in the lint report