Publicatie en discovery
Een machine moet de representatie vinden voordat ze begint te gokken.
Een ESFI-standaard wordt gepubliceerd als een contract dat mensen kunnen lezen en implementaties kunnen produceren. De specificatie is de gezaghebbende beschrijving van dat contract; de machineleesbare artefacten laten het in gebruik zien. Deze pagina beschrijft wat een MPF-uitgever online zet, hoe een machine het vindt en wat elk mechanisme wel en niet vaststelt.
Elk mechanisme is gemarkeerd als Specificatie 0.7, Referentie-implementatie of ESFI-praktijk. De markers worden uitgelegd in het Overzicht.
Wat een uitgever online zet
| Artefact | Publiek | Rol | Status |
|---|---|---|---|
| Specificatiepagina | Mensen, implementeerders | Het gepubliceerde contract voor een formaatversie | Specificatie 0.7 |
.mpf-bestand van een pagina |
Machines | Machinerepresentatie van één menselijke pagina | Specificatie 0.7 |
llms.mpf |
Machines | MPF-index van alle geïndexeerde pagina’s op de site | Specificatie 0.7 |
llms.txt |
Machines, mensen | Lichtgewicht entry point met een MPF-sectie | Specificatie 0.7 |
llms-full.txt |
Machines | Bodies van geïndexeerde pagina’s in de standaardtaal, aaneengevoegd | Specificatie 0.7 |
.sig-bestanden |
Machines | Signatures van MPF-bestanden wanneer de uitgever ondertekent | Specificatie 0.7 |
/.well-known/mpf |
Machines | MPF-declaratie op siteniveau via HTTPS | ESFI-praktijk |
DNS TXT _mpf.<domain> |
Machines | MPF-declaratie op siteniveau vóór elk HTTP-request | ESFI-praktijk |
<link rel="alternate"> |
Machines | Page-level verwijzing van HTML naar de companion | ESFI-praktijk |
Hoe een machine MPF vindt
De mechanismen zijn gelaagd van het goedkoopste signaal tot het meest specifieke. Een lezer kan bij elk ervan beginnen; ze zijn ontworpen om met elkaar overeen te stemmen.
1. DNS TXT — vóór het eerste request
ESFI-praktijk
Een lezer kan met één DNS-query leren dat een domein MPF publiceert, waar de index staat en wat de site-level scope is:
_mpf.example.org TXT "v=0.7;index=https://example.org/llms.mpf;scope=cite:1,summarize:1,train:0,index:1,relay:0;contact=mailto:web@example.org"
| Parameter | Betekenis |
|---|---|
v |
MPF-versie |
index |
Absolute URL van llms.mpf |
scope |
Site-level standaard companion-scope, als flag:1 of flag:0 |
contact |
Contact voor machinelezers |
Het record is kort genoeg voor één DNS-response. De builder maakt het niet; de uitgever voegt het aan de zone toe.
2. /.well-known/mpf — dezelfde declaratie via HTTPS
ESFI-praktijk
Dezelfde string, geserveerd als platte tekst:
GET /.well-known/mpf
v=0.7;index=https://example.org/llms.mpf;scope=cite:1,summarize:1,train:0,index:1,relay:0;contact=mailto:web@example.org
Lever hem als statisch bestand (bijvoorbeeld in public/.well-known/mpf) en zorg dat de server hem als text/plain terugstuurt. De builder maakt hem niet. mpf is nog geen geregistreerde well-known URI; ESFI gebruikt het pad als conventie.
3. llms.txt — het conventionele entry point
Specificatie 0.7
De builder maakt llms.txt als het niet bestaat, of vervangt de MPF-sectie terwijl al het andere behouden blijft. De sectie bevat altijd:
MPF: 0.7
MPF-spec: https://docs.esfi.eu/spec/mpf/0.7
MPF-index: /llms.mpf
## Pages
- [Page title](https://example.org/page/index.mpf): summary
MPF-spec verschijnt wanneer spec-url is geconfigureerd en laat een lezer de canonieke specificatie voor de gedeclareerde versie bereiken zonder te gokken. De inleidende zin die de builder boven deze regels schrijft is formulering van de Referentie-implementatie.
4. llms.mpf — de site-index
Specificatie 0.7
llms.mpf is zelf een MPF-document. De body vermeldt elke pagina met index: true, gesorteerd op MPF-URL, elk met een samenvatting waar die bestaat. De frontmatter declareert een vaste identiteit (<prefix>:page:llms), content-type: reference en verborgen, niet-HTML-pariteit, omdat er geen menselijke pagina achter zit.
5. De pagina zelf
Specificatie 0.7 voor het pad en mpf-url; ESFI-praktijk voor de alternate link.
Elke pagina heeft haar companion op hetzelfde pad, met .mpf in plaats van .html:
/about/index.html → /about/index.mpf
Elk MPF-bestand adresseert zichzelf via mpf-url en wijst via url terug naar zijn menselijke pagina.
Een HTML-pagina kan vanuit haar <head> ook naar de companion wijzen:
<link rel="alternate" type="text/mpf" href="/about/index.mpf" title="Machine Page Format">
text/mpf is geen geregistreerd mediatype; ESFI gebruikt het als conventie zodat lezers de link kunnen herkennen. De builder voegt de link niet toe; het sitetemplate doet dat.
Wanneer site en pagina verschillen
Het DNS-record en /.well-known/mpf vermelden defaults op siteniveau. De frontmatter van een pagina vermeldt wat op die pagina van toepassing is, inclusief elke override per pagina. ESFI-praktijk: op ESFI-sites vermelden alle drie dezelfde site-level waarden, en een lezer moet de page frontmatter behandelen als de declaratie voor die pagina. Als een site-level declaratie en een pagina zonder verklarende override verschillen, is dat een publicatiefout, geen signaal om tussen beide te kiezen.
Menselijk canoniek en machinecompanion
De menselijke pagina en haar MPF-bestand zijn twee representaties van gerelateerde content, geen uitwisselbare autoriteiten.
urlidentificeert de canonieke menselijke pagina.mpf-urlidentificeert de machinerepresentatie.content-parityvermeldt hoe beide zich tot elkaar verhouden.source-hashidentificeert de exacte HTML waarmee het MPF-bestand is gegenereerd.mpf-ididentificeert het gegenereerde MPF-bestand zelf.
Door deze scheiding kan een machine de machinerepresentatie citeren of verwerken zonder het adres van de menselijke bron te verliezen. Voor vertalingen vermeldt language-variants de verwachte MPF-adressen van dezelfde logische content in andere geconfigureerde talen; de builder genereert deze adressen en controleert niet of de bestanden bestaan.
Open formaat, ESFI-referentiepraktijk
MPF is een open formaat. Iedereen kan conforme MPF produceren en consumeren zonder ergens te worden vermeld, zonder registratie en zonder een ESFI-service te gebruiken.
De eigen sites van ESFI zijn een inspecteerbare referentiepraktijk: ze emitten MPF, publiceren de site-indexen en de practice-level discoverydeclaraties, en stellen alles beschikbaar om tegen de specificatie te controleren. Het Implementatieregister registreert emitters waarvan de output is geverifieerd. Het is bewijs van implementatie, geen toestemming om te implementeren.
Specificatie, implementatie en praktijk
- De specificatie is het canonieke, voor mensen leesbare contract voor een gepubliceerde versie. Een gepubliceerde versie blijft bereikbaar; correcties die het contract niet veranderen worden behandeld onder het beleid voor Versiebeheer.
- De referentie-implementatie zet de specificatie om in observeerbare output. Ze is geen tweede specificatie. Wanneer tekst en implementatie voor een gepubliceerde versie verschillen, worden ze weer in overeenstemming gebracht; lezers hoeven geen derde contract uit voorbeelden af te leiden.
- Praktijk is hoe ESFI MPF deployt buiten wat de builder produceert. Ze wordt gedocumenteerd zodat anderen haar kunnen reproduceren. Ze wordt alleen via een nieuwe specificatieversie onderdeel van het contract.
Een draft, voorstel of gepland mechanisme maakt pas deel uit van deze conventies wanneer het is gepubliceerd en verifieerbaar is.
Wat publicatie niet impliceert
Een veld of declaratie publiceren creëert geen service erachter. Provenance, confidence, scope en language variants zijn beschrijvend tenzij de specificatie verder gedrag definieert. Discoverymechanismen helpen een lezer de declaraties van de uitgever te vinden; ze maken die declaraties niet waar, bindend of afdwingbaar.
De specificatie definieert het contract; de referentie-implementatie demonstreert het; praktijk breidt uit hoe het wordt gevonden; gepubliceerde artefacten maken alle drie inspecteerbaar.