# Η διαδρομή χωρίς απώλειες *Κατασκευή μετα-μοντέλου · ενότητα 3 από 6 · ~15 λεπτά* ## Τι θα μάθετε Το συμβόλαιο διαδρομής (ARCH-017): πώς ένα μοντέλο εγγυάται ότι κάθε αναγνώστης μπορεί να επισκεφθεί κάθε αρχείο, να ξέρει τι σημαίνει το καθένα, και να αποδείξει ότι δεν του ξέφυγε τίποτα. ## Γιατί το "διάβασέ τα όλα" χρειάζεται συμβόλαιο Ένα μοντέλο είναι αξιόπιστο μόνο στον βαθμό που ο αναγνώστης μπορεί να ξέρει ότι το είδε ολόκληρο. Χωρίς συμβόλαιο, κάθε αναγνώστης αυτοσχεδιάζει: ξεφυλλίζει κάποιους καταλόγους, προσπερνά άλλους, μαντεύει το νόημα των αρχείων. Με τους πράκτορες είναι χειρότερα: ένας πράκτορας που προσπέρασε σιωπηλά έναν κατάλογο θα απαντήσει με σιγουριά σαν να μην το είχε κάνει. Το ARCH-017 μετατρέπει την επιμέλεια σε μηχανισμό. ## Η δήλωση της διαδρομής Η σειρά διάσχισης είναι δεδομένα, δηλωμένα από πάνω προς τα κάτω: - Το manifest του αποθετηρίου δηλώνει την **διατεταγμένη λίστα πακέτων** (σε σειρά εξαρτήσεων, πρώτα τα θεμέλια· οι κύκλοι δεν συμμορφώνονται). - Κάθε πακέτο δηλώνει τα διατεταγμένα επίπεδά του· κάθε επίπεδο απαριθμεί το περιεχόμενό του με ένα **είδος** και ένα νόημα μιας γραμμής. - Αποθετήρια των οποίων τα ονόματα αρχείων φέρουν το είδος εκ συμβάσεως μπορούν αντ' αυτού να δηλώσουν **κεντρικοποιημένους κανόνες** στο manifest: διατεταγμένα μοτίβα glob που αντιστοιχίζονται σε είδη, κερδίζει η πρώτη αντιστοίχιση, με έναν δείκτη `{prefix}` ώστε ένας κανόνας όπως `kind: "object/{prefix}"` να ταξινομεί μια ολόκληρη σύμβαση ονοματοδοσίας. Δύο διασχιστές που παίρνουν την ίδια έκδοση αποθετηρίου οφείλουν να επισκεφθούν τα ίδια αρχεία με την ίδια σειρά: η κανονική διαδρομή είναι ντετερμινιστική. ## Ο κανόνας πληρότητας Κάθε αρχείο στο αποθετήριο πέφτει σε ακριβώς μία από τρεις κλάσεις: 1. **Απαριθμημένο**: ταιριάζει με μια δήλωση ή έναν κανόνα ταξινόμησης· 2. **Γνωστής θέσης**: ζει σε δεσμευμένη θέση (canon/, raw/, artifacts/, bootstrap) και κληρονομεί το νόημά της· 3. **Εξαιρεμένο**: ρητά καταγεγραμμένο ως χωρίς νόημα για το μοντέλο (εσωτερικά του συστήματος εκδόσεων, ρυθμίσεις επεξεργαστή). Ένας διασχιστής συγκρίνει την πλήρη αναδρομική λίστα αρχείων με την ένωση των τριών κλάσεων. Αρχείο σε καμία κλάση είναι **ορφανό**· αρχείο σε δύο είναι διφορούμενο· και τα δύο αποτελούν αποτυχία δομικής επικύρωσης. Η εξαίρεση σημασιολογικού περιεχομένου για να περάσει ο έλεγχος δεν συμμορφώνεται: η λίστα εξαιρέσεων είναι δήλωση, όχι σκουπιδότοπος. ## Είδη και προελεύσεις Κάθε ταξινομημένο αρχείο φέρει ένα **είδος** (τι είναι *μέσα στο μοντέλο*: αντικείμενο, συμβάν, συμβόλαιο, κανόνας, ακατέργαστο, τεκμήριο, έγγραφο, εργαλείο...) και μια **προέλευση**: συγγραφικό, συλλεγμένο ή παραγόμενο. Η προέλευση κρίνει την επεξεργασιμότητα: τα συγγραφικά αρχεία επεξεργάζονται επιτόπου· τα συλλεγμένα και τα παραγόμενα ποτέ: η διόρθωση ανήκει στην πηγή ή στη γεννήτρια. Αυτή η μία διάκριση είναι που αργότερα καθιστά επιβλητή την κυριότητα δεδομένων. ## Πώς είναι να τρέχεις τον διασχιστή Και τα δύο μοντέλα παραγωγής παρέχουν διασχιστή (`tools/mu-walk.ps1`) που εκτελεί την κανονική διαδρομή και γράφει αναφορά στο `artifacts/`. Από το πεδίο: - Μοντέλο Orkestron.AI: 613 αρχεία, 0 ορφανά. Η πρώτη εκτέλεση δεν ανέδειξε τίποτα: ένα μικρό, πειθαρχημένο αποθετήριο. - Μοντέλο DevTeam.Games: 2613 αρχεία στον δίσκο, μαζί με τεκμήρια που αγνοεί το git και 146 MB συνημμένων κατόπτρων πηγαίου κώδικα. Η πρώτη εκτέλεση βρήκε **47 πραγματικά ορφανά**: πρωτότυπα σχεδίασης και υλικό διεπαφής που κανείς δεν είχε δηλώσει, και μία εγγραφή της οποίας το πρόθεμα είδους (`i18n`) έσπαγε μια αφελή κανονική έκφραση ταξινόμησης. Κάθε ορφανό έγινε *κανόνας*, όχι εξαίρεση: ο χάρτης έγινε πιο αληθινός. - Και οι δύο διασχιστές έχουν ελεγχθεί και αρνητικά: φυτέψτε ένα αδέσποτο αρχείο και η διαδρομή αποτυγχάνει με κωδικό 1 και το κατονομάζει. Αυτό είναι το κέρδος: το "τίποτα δεν χάθηκε" παύει να είναι ελπίδα και γίνεται ένα πράσινο τικ που μπορείτε να απαιτήσετε πριν εμπιστευτείτε ένα μοντέλο, και να παραδώσετε πράσινο στην επόμενη συνεδρία. ## Βασικά σημεία - Η σειρά δηλώνεται, η ταξινόμηση είναι ολική, η κάλυψη ελέγχεται: τα ορφανά ρίχνουν το build. - Το είδος λέει τι είναι ένα αρχείο· η προέλευση (συγγραφικό/συλλεγμένο/παραγόμενο) λέει αν επιτρέπεται να το επεξεργαστείτε. - Τα πραγματικά αποθετήρια περνούν: παλαιές διατάξεις, δυαδικό υλικό και γιγαντιαία κάτοπτρα ταξινομούνται με μια χούφτα κανόνες. ## Πηγαίνετε βαθύτερα - [Διαδρομή μοντέλου και γνωστές θέσεις (ARCH-017)](/spec/#02-architecture/Model-Traversal-and-Layout.md) - [Επίπεδα επικύρωσης V0-V5](/spec/#02-architecture/Validation.md) Επόμενο: [Κυριότητα δεδομένων](04-mastership.md)