Documentation Index
Fetch the complete documentation index at: https://docs.tattoo.dev/llms.txt
Use this file to discover all available pages before exploring further.
Data Hydration Source Packs
TattooAPI hydrates real-world tattoo data through source packs first, then review, then canonical Convex promotion. The current rule is:- source data is evidence
- reviewed candidates are promotion inputs
- Convex canonical tables are runtime truth
- raw exports do not rename ontology nouns
Current Inputs
| Source | Current posture | What it can affect |
|---|---|---|
| Google Workspace sheets | Row extraction and directory hydration are staged and verified | Studio, ArtistProfile, source references, promotion links, law/compliance staging |
| Sanity managed studios | Connection registry exists, extraction is blocked until real project IDs and token aliases are configured | PortfolioAsset, Design, linked artist/studio evidence |
| Existing local creative packs | Canary promotion is active for a small reviewed cohort | PortfolioAsset, Design, creative source lineage |
| Ontology refinery law canaries | HI/NV and CA/TX/NY/FL/WA source packs are staged/review-ready | Jurisdiction, law, citation, and bloodborne-pathogen requirement review inputs |
| Law sync diff reports | Same-cohort diffing is active for refresh detection | Review warnings for new, changed, missing, and unchanged citation units |
| Firecrawl, SERP, Perplexity | Delayed for broad import | Named gap-filling only after reviewed cohorts exist |
Current Counts
The current checked-in hydration reports show:71,080Google Workspace rows extracted63,209promotable Google directory rows28,894expected canonical studio profiles from Google directory sync3,996expected canonical artist profiles from Google directory sync5promoted creative canary candidates3Sanity managed-studio connections scaffolded0Sanity tokens stored in reports or git27HI/NV law-compliance canary rows in the current refresh candidate26CA/TX/NY/FL/WA law-compliance canary rows staged from official sources
Promotion Rules
Google directory hydration is non-destructive:- non-empty incoming fields can improve canonical records
- blank incoming values must not erase existing canonical values
- every promoted record needs an
externalSourceReference - every promoted record needs a
canonicalPromotionLink
- tokens live only in local env aliases such as
SANITY_TOKEN_ALOHA_TATTOO - registry files store the alias name, not the token value
- published Sanity records can promote only when studio and artist identities resolve
- drafts, unresolved artists, and missing rights/consent posture stay staging-only
- external acquisition nodes produce official-source records and run manifests
- the Ontology Guidance MCP can validate lane, noun, required field, and review-queue posture
- staging uploads write source-pack files only
- diff reports show new, changed, missing, and unchanged citation units
- missing rows are review warnings, not deletion instructions
- public legal advice and Convex canonical promotion remain disabled until operator approval gates exist
Commands
What Not To Do Yet
- Do not broad-scrape the market into canonical Convex tables.
- Do not promote Sanity records when artist identity is unresolved.
- Do not expose Sanity tokens through API responses, docs, reports, or Convex.
- Do not activate public writes or public SEO pages from staged evidence.
- Do not treat law sync diffs as automatic legal updates.
- Do not let external scraping apps write directly to Convex.
project-context/ontology/governed-hydration-sprint.md.