{"name":"tmatic FWM","slug":"tmatic-fwm","version":"0.3.0","homepage":"https://tmatic.postplatforms.com","platform":{"eName":"@76a4be27-29c7-5964-b7d7-782cc00540bd","note":"Free walking mode: audio stories about what is around you — by voice, camera or geolocation. AI guide plus the tmatic.travel audio-guide library."},"updatedAt":"2026-08-30T07:40:33.000Z","storage":{"summary":"Canonical generated content (stories, their provenance, narrated audio) lives on the company vault. Personal records (requests, listens, taste preferences) live on each person's own vault. A local server database is a cache/copy for speed, never the original. Stories from the tmatic.travel library are NOT mirrored to vaults; they are referenced by their native tmatic UUID until tmatic itself moves to W3DS.","audioNote":"Narrated audio is uploaded via eVault uploadFile and is effectively public on the storage CDN regardless of ACL; we only upload audio of stories that are themselves public (acl [\"*\"])."},"crossVaultModel":{"addressableUnit":"one MetaEnvelope per record; one TravelStory envelope per language version","canonical":"TravelStory + StoryProvenance on the company vault (see platform.eName)","personal":"StoryRequest + StoryListen + TravelStoryPreferences on the person's vault","linkFormat":"w3ds://envelope?id=@<ownerEName>/<metaEnvelopeId> — the owner eName is REQUIRED in every cross-vault link: vault hosting can change, the entity's eName cannot; resolve the current vault via the registry","access":"ACL on each envelope; public content uses [\"*\"]. Personal records carry acl [person]. Note the prototype-stage caveat: ACL governs display convention, platforms with a developer key can read regardless."},"ontologies":{"authored":[{"schemaId":"06025631-8e24-4d74-94d5-c7e99bc9f263","title":"StoryListen","what":"One playback of a story by a person.","kind":"personal","labelField":null,"textFields":["feedbackText"],"peopleFields":["listenerEName"],"relations":[{"field":"storyRef","predicate":"listened_to","target":"TravelStory on the company vault (w3ds://envelope URI)"},{"field":"tmaticStoryId","predicate":"listened_to","target":"tmatic.travel library story (native UUID; pair with tmaticLanguage)"},{"field":"requestRef","predicate":"answers","target":"StoryRequest (w3ds://envelope URI, same vault)"}],"writtenTo":"the listener's own vault; acl [listener]","registered":false,"fields":["id","listenerEName","storyRef","tmaticStoryId","tmaticLanguage","requestRef","startedAt","completionRate","rating","feedbackText","createdAt"]},{"schemaId":"52662185-59c1-44e5-8519-685796c70a96","title":"StoryProvenance","what":"How one TravelStory version came to be: who it was made for, where it was requested, which models produced it, and what it was translated or derived from.","kind":"canonical","labelField":null,"textFields":[],"peopleFields":["requestedForEName"],"relations":[{"field":"storyRef","predicate":"describes","target":"TravelStory (w3ds://envelope URI)"},{"field":"requestRef","predicate":"caused_by","target":"StoryRequest on the person's vault (w3ds://envelope URI)"},{"field":"originalStoryRef","predicate":"translated_from","target":"TravelStory (w3ds://envelope URI)"},{"field":"sourceTmaticStoryId","predicate":"derived_from","target":"tmatic.travel library story (native UUID, not on vaults yet)"}],"writtenTo":"the company vault (Minstrel Technologies), next to the story; acl [\"*\"]","registered":false,"fields":["id","storyRef","requestedForEName","requestRef","requestLocation","textModel","voiceModel","promptVersion","sourceTmaticStoryId","originalStoryRef","extractionRefs","createdAt"]},{"schemaId":"d40d3da4-0999-444a-b23a-9f964a96c964","title":"StoryRequest","what":"The context of one story request: a person pressed geo/camera/microphone (or accepted a suggestion) at a place and moment.","kind":"personal","labelField":"queryText","textFields":["queryText"],"peopleFields":["requesterEName"],"relations":[{"field":"photoFileRef","predicate":"captured","target":"file (w3ds://file URI)"},{"field":"extractionRefs","predicate":"read_as","target":"FileExtraction (w3ds://envelope URI)"}],"writtenTo":"the requester's own vault; acl [requester]","registered":false,"fields":["id","requesterEName","entryMode","location","modality","queryText","photoFileRef","extractionRefs","requestedAt"]},{"schemaId":"5a27dd19-8c2a-4b55-9be5-c7fae8e74530","title":"TravelStoryPreferences","what":"A person's taste profile for travel STORIES specifically: content languages, topics, depth and narration style, learned affinity to content providers.","kind":"personal","labelField":null,"textFields":["narrationStyle","interests","avoidTopics"],"peopleFields":["ownerEName"],"relations":[{"field":"providerAffinity[].spaceId","predicate":"affinity_for","target":"tmatic.travel content provider (native UUID)"}],"writtenTo":"the person's own vault, one envelope updated in place; acl [person]","registered":false,"fields":["id","ownerEName","contentLanguages","interests","avoidTopics","storyDepth","narrationStyle","providerAffinity","createdAt","updatedAt"]},{"schemaId":"ba56d2d3-e6bf-4bfd-ac75-6436c56be76f","title":"TravelStory","what":"One language version of a location-bound story for travellers.","kind":"canonical","labelField":"title","textFields":["title","text","subjectName"],"peopleFields":[],"peopleNote":"Deliberately carries NO fields pointing to people: the link to the person it was generated for lives only in StoryProvenance.requestedForEName. An empty peopleFields here is a statement, not an omission.","relations":[{"field":"provenanceRef","predicate":"described_by","target":"StoryProvenance (w3ds://envelope URI, same vault)"},{"field":"audioUri","predicate":"narrated_as","target":"file (w3ds://file URI)"},{"field":"imageUris","predicate":"illustrated_by","target":"file (w3ds://file URI)"}],"writtenTo":"the company vault (Minstrel Technologies); acl [\"*\"]","registered":false,"fields":["id","title","text","language","subjectName","location","triggerZones","modality","audioUri","audioDuration","imageUris","sourceType","license","provenanceRef","createdAt","updatedAt","isArchived"]}],"reused":[{"schemaId":"550e8400-e29b-41d4-a716-446655440000","title":"User","use":"We READ displayName/avatarUrl/inLanguage from the person's profile (with consent implied by login) and WRITE our platform profile (platformName marker) to the company vault. We plan to write inLanguage after explicit user confirmation; we never modify other fields of a person's profile."},{"title":"File (uploadFile / w3ds-file-v1)","use":"We upload narrated mp3 audio (and later photos) via the standard uploadFile mutation; our envelopes reference the returned w3ds://file URIs."},{"schemaId":"3d5b71e2-9c84-4a16-b0f3-6e28d95a7c41","title":"FileExtraction","use":"PLANNED, not written yet: vision readings of user photos and voice transcripts will be stored as FileExtraction records referenced from StoryRequest.extractionRefs. Declared here as intent; we currently keep these ephemeral."}]},"principles":["No copies across ontologies: every fact lives in exactly one envelope; everything else links to it.","The tenant of a write is the record's owner (person or company), never the platform.","Provenance is honest: the model that actually produced a text is the one recorded."]}