> Η μετάφραση παρέχεται για διευκόλυνση. Κανονιστικό είναι το αγγλικό πρωτότυπο. # Διαδρομή μοντέλου και δεσμευμένες θέσεις **Προδιαγραφή του Μετα-Σύμπαντος** **Αναγνωριστικό εγγράφου:** MU-V2-ARCH-017 **Τίτλος:** Πρότυπο αρχιτεκτονικής μετα-μοντέλων - διαδρομή χωρίς απώλειες και δεσμευμένες θέσεις **Κατηγορία εγγράφου:** κανονιστικό **Έκδοση:** 2.0 (προσχέδιο) **Κατάσταση:** προσχέδιο εργασίας **Κανονιστικές αναφορές:** MMAS-Core, MMAS-Package, Versioning, Validation, Data-Mastership **Πληροφοριακές αναφορές:** Traceability, AI-Agent-Guide, Repository-Structure **Πνευματικά δικαιώματα:** © Orkestron.AI **Άδεια:** Apache-2.0 --- # 1. Σκοπός Το [MMAS-Package](MMAS-Package.md) ορίζει *πού βρίσκεται το καθετί* σε ένα αποθετήριο Μετα-Μοντέλου. Το παρόν έγγραφο ορίζει τις δύο εγγυήσεις που η διάταξη από μόνη της δεν μπορεί να δώσει: 1. **Διαδρομή χωρίς απώλειες.** Ένας αναγνώστης (άνθρωπος ή πράκτορας τεχνητής νοημοσύνης) ΟΦΕΙΛΕΙ να μπορεί να διατρέξει ολόκληρο το μοντέλο δέσμη προς δέσμη, στρώμα προς στρώμα, επισκεπτόμενος **κάθε αρχείο ακριβώς μία φορά**, γνωρίζοντας **τι σημαίνει κάθε αρχείο** και **αποδεικνύοντας ότι τίποτα δεν παραλείφθηκε**. 2. **Δεσμευμένες θέσεις.** Περιεχόμενο που δεν αποτελεί σημασιολογικό ορισμό (ακατέργαστα πηγαία δεδομένα, κανονικά πηγαία κείμενα, παραγόμενα τεχνουργήματα, οδηγίες λειτουργίας) ΟΦΕΙΛΕΙ να βρίσκεται σε δεσμευμένες θέσεις με προκαθορισμένη σημασία, ώστε ο αναγνώστης να μη χρειάζεται ποτέ να μαντεύει τι είναι ένα αρχείο. Μαζί με το [Data-Mastership](Data-Mastership.md), που δηλώνει *ποιος κατέχει την αλήθεια* για κάθε σύνολο δεδομένων, αυτό καθιστά ένα Μετα-Μοντέλο πλήρως μηχανικά αναγνώσιμο: τίποτα χαμένο, τίποτα διφορούμενο, τίποτα αγνώστου κύρους. --- # 2. Πεδίο εφαρμογής Η προδιαγραφή αυτή εφαρμόζεται σε: - αποθετήρια Μετα-Μοντέλων και Σημασιολογικά πακέτα διανομής, - μανιφέστα επιπέδου αποθετηρίου, δέσμης και στρώματος, - όλα τα αρχεία που περιέχει ένα αποθετήριο μοντέλου, χωρίς εξαίρεση, - διατρέχοντες: κάθε εργαλείο ή πράκτορα που απαριθμεί περιεχόμενο μοντέλου. Δεν επαναπροσδιορίζει τη σημασιολογία Αντικειμένων, Σχέσεων, Γεγονότων, Συμβολαίων ή Προβολών· διέπει τον τρόπο με τον οποίο εντοπίζονται, ταξινομούνται και σειροθετούνται τα αρχεία που τα φέρουν. --- # 3. Αρχές σχεδίασης - **Ένα σημείο εισόδου.** Κάθε διαδρομή ξεκινά από το ίδιο σημείο· δεν υπάρχει άτυπη γνώση για το πού αρχίζει κανείς. - **Δηλωμένη σειρά.** Η σειρά ανάγνωσης είναι δεδομένα, όχι σύμβαση: τα μανιφέστα τη δηλώνουν, οι διατρέχοντες την ακολουθούν. - **Πλήρης ταξινόμηση.** Κάθε αρχείο ταξινομείται. Αρχείο του οποίου η σημασία δεν προκύπτει από τα μανιφέστα και την προδιαγραφή αυτή είναι ελάττωμα, όχι περιέργεια. - **Το νόημα ταξιδεύει μαζί με τη δομή.** Κάθε απαριθμημένη μονάδα φέρει δηλωμένη σημασία· ο αναγνώστης δεν θα έπρεπε ποτέ να χρειάζεται να ανοίξει ένα αρχείο για να ανακαλύψει τι είδους πράγμα είναι. - **Το γραμμένο, το συλλεγμένο και το παραγόμενο δεν ανακατεύονται ποτέ.** Οι κανόνες κύκλου ζωής τους διαφέρουν, άρα διαφέρουν και οι θέσεις τους. --- # 4. Το σημείο εισόδου Ένα συμμορφούμενο αποθετήριο ΟΦΕΙΛΕΙ να είναι αναγνώσιμο ξεκινώντας από ακριβώς δύο αρχεία στη ρίζα του: 1. **`BOOTSTRAP.md`** - οι οδηγίες λειτουργίας: πώς διαβάζεται αυτό το μοντέλο, με ποια σειρά, με ποια εργαλεία, και τι αναμένεται να κάνει και να μην κάνει εδώ ένας πράκτορας. Ο διατρέχων ΟΦΕΙΛΕΙ να το διαβάσει πρώτο. Το `BOOTSTRAP.md` ΜΠΟΡΕΙ να παραπέμπει σε κατάλογο `bootstrap/` για εκτενέστερες οδηγίες (προτροπές πρακτόρων, εισαγωγή, λίστες ελέγχου). Το περιεχόμενο bootstrap ΔΕΝ ΠΡΕΠΕΙ να ορίζει σημασιολογία· εξηγεί, ποτέ δεν δηλώνει. 2. **`manifest.yaml`** - το μηχανικό σημείο εισόδου που ορίζεται στο [MMAS-Package](MMAS-Package.md) §5, διευρυμένο από το παρόν έγγραφο με τη δήλωση διαδρομής (§5) και τη λίστα εξαιρέσεων (§7). Αν λείπει το `BOOTSTRAP.md`, ο διατρέχων προχωρά μόνο με το μανιφέστο· η απουσία του μανιφέστου καθιστά το αποθετήριο μη συμμορφούμενο. Τα αποθετήρια που ήδη χρησιμοποιούν αρχείο εισόδου του οικοσυστήματός τους (για παράδειγμα `README.md`, `AGENTS.md` ή `CLAUDE.md`) ΟΦΕΙΛΟΥΝ να το κάνουν λεπτό δείκτη προς το `BOOTSTRAP.md` και το `manifest.yaml`, και όχι δεύτερη πηγή αλήθειας. --- # 5. Η δήλωση διαδρομής Η σειρά διαδρομής δηλώνεται από πάνω προς τα κάτω: - Το **μανιφέστο αποθετηρίου** ΟΦΕΙΛΕΙ να δηλώνει τη διατεταγμένη λίστα δεσμών (`bundles:` με σειρά ανάγνωσης). - Κάθε **μανιφέστο δέσμης** (`bundle.yaml`) ΟΦΕΙΛΕΙ να δηλώνει τη μία σημασιολογική ευθύνη της δέσμης και τη διατεταγμένη λίστα των στρωμάτων της. - Κάθε **μανιφέστο στρώματος** (`layer.yaml`) ΟΦΕΙΛΕΙ να απαριθμεί το περιεχόμενο του στρώματος: αρχεία ή μοτίβα glob, καθένα με ένα **είδος** (§8) και μια μονόγραμμη **σημασία**. Η απαρίθμηση ΜΠΟΡΕΙ να είναι **κεντρική αντί για ανά στρώμα**: αποθετήριο του οποίου τα ονόματα αρχείων φέρουν το είδος κατά σύμβαση (για παράδειγμα `{kind}-{id}-{memo}.md`) ΜΠΟΡΕΙ να δηλώσει την ταξινόμηση μία φορά, ως διατεταγμένη λίστα κανόνων αντιστοίχισης στο μανιφέστο αποθετηρίου (`kind_rules`): κάθε κανόνας αντιστοιχεί ένα μοτίβο glob σε είδος και προέλευση (§9)· νικά ο πρώτος κανόνας που ταιριάζει. Σε τέτοιους κανόνες ο δείκτης θέσης `{prefix}` δηλώνει το τμήμα του ονόματος αρχείου πριν από τον πρώτο διαχωριστή, ώστε ένας μόνο κανόνας όπως `kind: "object/{prefix}"` να ταξινομεί μια ολόκληρη σύμβαση ονοματοδοσίας. Οι κεντρικοί κανόνες ισοδυναμούν με απαρίθμηση ανά στρώμα για τον έλεγχο κάλυψης (§7)· αρχείο που δεν ταιριάζει με κανέναν κανόνα είναι ορφανό έτσι κι αλλιώς. Κανόνες σειροθέτησης: - Οι δέσμες ΟΦΕΙΛΟΥΝ να διατάσσονται ώστε μια δέσμη να εμφανίζεται **μετά** από κάθε δέσμη από την οποία εξαρτάται (πρώτα το θεμέλιο). Οι κυκλικές εξαρτήσεις δεσμών δεν συμμορφώνονται. - Τα στρώματα εντός μιας δέσμης ΟΦΕΙΛΟΥΝ να διατάσσονται με τον ίδιο τρόπο. - Οι εμπρόσθιες αναφορές (αρχείο που αναφέρει έννοια οριζόμενη αργότερα στη διαδρομή) επιτρέπονται, αλλά η σειρά *δήλωσης* ΟΦΕΙΛΕΙ να παραμένει «πρώτα οι εξαρτήσεις», ώστε μία σειριακή διέλευση να διαβάζει τους ορισμούς πριν από την εκτενή χρήση τους. Ένας διατρέχων που επισκέπτεται δέσμες, μετά στρώματα, μετά απαριθμημένα αρχεία, καθένα με τη δηλωμένη σειρά, εκτελεί την **κανονική διαδρομή**. Δύο διατρέχοντες που εκτελούν την κανονική διαδρομή στην ίδια έκδοση αποθετηρίου ΟΦΕΙΛΟΥΝ να επισκεφθούν τα ίδια αρχεία με την ίδια σειρά. --- # 6. Δεσμευμένες θέσεις Πέραν των δομικών καταλόγων του [MMAS-Package](MMAS-Package.md) §4 (`bundles/`, `imports/`, `mappings/`, `schemas/`, `examples/`, `diagrams/`, `docs/`, `tools/`), το παρόν έγγραφο δεσμεύει τις ακόλουθες θέσεις. Καθεμιά έχει σταθερή προεπιλεγμένη σημασία· ο διατρέχων ΜΠΟΡΕΙ να στηριχθεί σε αυτήν χωρίς περαιτέρω δήλωση. | Θέση | Σημασία | Κύκλος ζωής | |----------|---------|-----------| | `BOOTSTRAP.md`, `bootstrap/` | Οδηγίες λειτουργίας για αναγνώστες και πράκτορες: πώς διαβάζεται, ενημερώνεται και επικυρώνεται αυτό το μοντέλο | Γραμμένο | | `canon/` | Κανονικά πηγαία κείμενα που το μοντέλο θεωρεί βάση αλήθειας: δόγμα, υιοθετημένες αποφάσεις, κανονιστικές εισροές, πηγαίες προδιαγραφές | Γραμμένο ή υιοθετημένο· εκδεδομένο· ποτέ παραγόμενο | | `raw/` | Ανεπεξέργαστες λήψεις από εξωτερικά συστήματα: εξαγωγές, αποτυπώσεις, απομαγνητοφωνήσεις, αποτελέσματα σάρωσης | Συλλεγμένο· ΠΟΤΕ χειροκίνητα επεξεργασμένο | | `artifacts/` | Παράγωγα, αναπαραγώγιμα αποτελέσματα: μεταγλωττισμένες όψεις, αποδοσμένα έγγραφα, υπολογισμένα ευρετήρια, αναφορές | Παραγόμενο· ΠΟΤΕ γραμμένο | | `sources.yaml` | Το Μητρώο κυριαρχίας δεδομένων: το σύστημα καταγραφής κάθε συνόλου δεδομένων (βλ. [Data-Mastership](Data-Mastership.md)) | Γραμμένο | Κανόνες: - Το **`canon/`** περιέχει τα κείμενα *για τα οποία* μιλά το μοντέλο ή *από τα οποία δεσμεύεται*, όταν αυτά πρέπει να ταξιδεύουν μαζί του. Τα στρώματα ΟΦΕΙΛΟΥΝ να παραπέμπουν στα αρχεία canon αντί να τα παραφράζουν· αν μια διατύπωση στρώματος και ένα κείμενο canon συγκρούονται, μέσα σε αυτό το μοντέλο νικά το κείμενο canon. - Το **`raw/`** ΟΦΕΙΛΕΙ να οργανώνεται ως `raw/<σύστημα-πηγή>/<σύνολο-δεδομένων>/...`. Κάθε κατάλογος συνόλου δεδομένων ΟΦΕΙΛΕΙ να φέρει παράπλευρο αρχείο προέλευσης (`_provenance.yaml`: σύστημα πηγή, εύρος, χρόνος εξαγωγής, εργαλείο εξαγωγής, πλήθος εγγραφών). Το ακατέργαστο περιεχόμενο είναι τεκμήριο· η χειροκίνητη διόρθωσή του καταστρέφει την αποδεικτική του αξία και δεν συμμορφώνεται. Οι διορθώσεις γίνονται στο σύστημα-πηγή (και ακολουθεί νέα συλλογή) ή στο σημασιολογικό στρώμα (ως σχολιασμένη απόκλιση). - Οι εγγραφές στο **`artifacts/`** ΟΦΕΙΛΟΥΝ να δηλώνουν τον γεννήτορα και τις εισόδους τους (αρκεί παράπλευρο αρχείο ή γραμμή κεφαλίδας). Ένα συμμορφούμενο αποθετήριο μπορεί να διαγράψει ολόκληρο το `artifacts/` και να το ξαναχτίσει· αν δεν μπορεί, κάτι είναι λάθος τοποθετημένο. - Ένα αποθετήριο ΔΕΝ ΟΦΕΙΛΕΙ να επινοεί παράλληλες θέσεις για τους σκοπούς αυτούς (`_raw/`, `generated/`, `sources/` και παρόμοια). Όπου υπάρχουν παλαιότερες διατάξεις, το μανιφέστο ΟΦΕΙΛΕΙ να τις αντιστοιχίσει στις δεσμευμένες σημασίες. --- # 7. Ο κανόνας πληρότητας (κανένα αρχείο δεν μένει πίσω) Κάθε αρχείο του αποθετηρίου ΟΦΕΙΛΕΙ να εμπίπτει σε ακριβώς μία από τρεις κατηγορίες: 1. **Απαριθμημένο** - ταιριάζει με τη δήλωση περιεχομένου ενός μανιφέστου στρώματος (§5) ή είναι δομικός κατάλογος του MMAS-Package §4 με τον καθορισμένο του ρόλο, 2. **Δεσμευμένο** - βρίσκεται σε δεσμευμένη θέση της §6 και κληρονομεί την προεπιλεγμένη της σημασία, 3. **Εξαιρεμένο** - ταιριάζει με τη λίστα εξαιρέσεων του μανιφέστου (`exclude:`), που κατονομάζει αρχεία υποδομής χωρίς σημασιολογικό περιεχόμενο (εσωτερικά του συστήματος εκδόσεων, ρυθμίσεις CI, ρυθμίσεις επεξεργαστή, κρυφές μνήμες μεταγλώττισης). Ο **έλεγχος κάλυψης**: ο διατρέχων ΟΦΕΙΛΕΙ να μπορεί να συγκρίνει την πλήρη αναδρομική λίστα αρχείων του αποθετηρίου με την ένωση των τριών κατηγοριών. Αρχεία σε καμία κατηγορία («ορφανά») και αρχεία σε περισσότερες από μία («διφορούμενα») αποτελούν αποτυχίες επικύρωσης. Ο έλεγχος κάλυψης εντάσσεται στη **δομική επικύρωση (V1)** του [Validation](Validation.md). Η λίστα εξαιρέσεων είναι δήλωση, όχι σκουπιδότοπος: η εξαίρεση ενός αρχείου βεβαιώνει ότι **δεν φέρει σημασία μοντέλου**. Η εξαίρεση σημασιολογικού περιεχομένου για να περάσει ο έλεγχος κάλυψης δεν συμμορφώνεται. --- # 8. Είδη αρχείων Κάθε απαριθμημένο αρχείο ΟΦΕΙΛΕΙ να φέρει ένα είδος. Το βασικό λεξιλόγιο: `object` · `relationship` · `event` · `contract` · `projection` · `canon` · `raw` · `artifact` · `mapping` · `import` · `schema` · `example` · `diagram` · `doc` · `tool` · `bootstrap` · `manifest` Τα είδη απαντούν στο «τι είναι αυτό το αρχείο *μέσα στο μοντέλο*», όχι στο «τι μορφή έχει». Ένα CSV μπορεί να είναι `raw` (εξαγωγή), `artifact` (υπολογισμένο ευρετήριο) ή `object` (πίνακας ορισμών)· αυτό που καθορίζει πώς το αντιμετωπίζει ο αναγνώστης είναι το είδος, όχι η επέκταση. Τα οικοσυστήματα ΜΠΟΡΟΥΝ να εξειδικεύσουν το λεξιλόγιο με υποείδη (`object/policy`, `doc/adr`) αλλά ΟΦΕΙΛΟΥΝ να διατηρούν το βασικό είδος ως πρόθεμα. Τα υποείδη ΜΠΟΡΟΥΝ να παράγονται μηχανικά από δηλωμένες συμβάσεις ονοματοδοσίας μέσω του δείκτη `{prefix}` της §5. --- # 9. Γραμμένο, συλλεγμένο, παραγόμενο Ορθογώνια προς το είδος, κάθε αρχείο έχει ακριβώς μία **προέλευση**: - **Γραμμένο** - συντάχθηκε από άνθρωπο ή από πράκτορα που ενεργεί ως συγγραφέας· επεξεργάζεται επιτόπου· ελέγχεται σαν κώδικας. - **Συλλεγμένο** - καταγράφηκε από εξωτερικό σύστημα μέσω αγωγού· αντικαθίσταται με νέα συλλογή· ποτέ δεν επεξεργάζεται επιτόπου. - **Παραγόμενο** - υπολογίστηκε από άλλα αρχεία του αποθετηρίου· αντικαθίσταται με νέα παραγωγή· ποτέ δεν επεξεργάζεται επιτόπου. Η προέλευση υπονοείται από τη θέση για τους δεσμευμένους καταλόγους (§6) και ΟΦΕΙΛΕΙ να δηλώνεται στο μανιφέστο στρώματος αλλού. Η επιτόπου επεξεργασία συλλεγμένων ή παραγόμενων αρχείων δεν συμμορφώνεται: η διόρθωση ανήκει στο σύστημα-πηγή ή στον γεννήτορα. Αυτή ακριβώς η διάκριση καθιστά την κυριαρχία (βλ. [Data-Mastership](Data-Mastership.md)) πρακτικά επιβλητέα: η προέλευση ενός αρχείου λέει αμέσως στον αναγνώστη αν *αυτό* το αντίγραφο μπορεί ποτέ να είναι η αλήθεια. --- # 10. Η κανονική διαδρομή (πληροφοριακό) Ένας συμμορφούμενος διατρέχων: 1. Διαβάζει το `BOOTSTRAP.md` (πλαίσιο, περιορισμοί, τοπικές συμβάσεις). 2. Διαβάζει το `manifest.yaml`: ταυτότητα, εκδόσεις, σειρά δεσμών, λίστα εξαιρέσεων. 3. Διαβάζει το `sources.yaml`: ποια σύνολα δεδομένων κυριαρχούνται εδώ και ποια είναι κάτοπτρα (με τη φρεσκάδα τους). 4. Επισκέπτεται το `canon/` όπως δηλώνεται ή αναφέρεται, ώστε η βάση αλήθειας να φορτωθεί πριν από την ερμηνεία. 5. Διατρέχει τις δέσμες με τη δηλωμένη σειρά· μέσα σε καθεμιά, τα στρώματα με τη δηλωμένη σειρά· μέσα σε καθένα, τα απαριθμημένα αρχεία, διαβάζοντας είδος και σημασία πριν από το περιεχόμενο. 6. Επιλύει τα `imports/` και `mappings/` όταν ένα στρώμα τα αναφέρει. 7. Αντιμετωπίζει το `raw/` ως τεκμήριο (συμβουλεύεται, δεν απαγγέλλει) και το `artifacts/` ως αναλώσιμες όψεις. 8. Εκτελεί τον έλεγχο κάλυψης (§7) και αναφέρει ορφανά, ασάφειες και μπαγιάτικα κάτοπτρα. Η διαδρομή ολοκληρώνεται όταν κάθε αρχείο έχει καταγραφεί και είναι γνωστό το κύρος κάθε συνόλου δεδομένων. --- # 11. Απαιτήσεις για εγγενή χρήση από τεχνητή νοημοσύνη Ένα συμμορφούμενο αποθετήριο ΟΦΕΙΛΕΙ να επιτρέπει σε πράκτορα τεχνητής νοημοσύνης, χωρίς εξωτερική γνώση: - να βρίσκει το σημείο εισόδου και τις οδηγίες λειτουργίας, - να απαριθμεί όλο το περιεχόμενο με ντετερμινιστική σειρά, - να δηλώνει, για οποιοδήποτε αρχείο, το είδος, την προέλευση και τη μονόγραμμη σημασία του, - να αποδεικνύει κάλυψη: να κατονομάζει κάθε αρχείο που δεν διάβασε και γιατί (εξαιρεμένο, παραγόμενο, ακατέργαστο τεκμήριο), - να διακρίνει τι επιτρέπεται να επεξεργαστεί (γραμμένο, υπό την κυριαρχία του μοντέλου) από αυτό που δεν πρέπει (συλλεγμένο, παραγόμενο, εξωτερικά κυριαρχούμενο). Πράκτορας που δεν μπορεί να ικανοποιήσει το τελευταίο σημείο ΟΦΕΙΛΕΙ να αρνείται λειτουργίες εγγραφής στο μοντέλο. --- # 12. Αρχιτεκτονικά αναλλοίωτα Η διαδρομή και η διάταξη ΟΦΕΙΛΟΥΝ να διατηρούν: - τη σημασιολογική ταυτότητα και ιδιοκτησία, - την προέλευση συλλεγμένου και παραγόμενου περιεχομένου, - την ιδιότητα του ενιαίου σημείου εισόδου, - τον ντετερμινισμό της κανονικής διαδρομής, - τη συνταγματική συμμόρφωση. Η διάταξη και η διαδρομή ΔΕΝ ΠΡΕΠΕΙ ΠΟΤΕ να επαναπροσδιορίζουν σημασιολογικό νόημα· απλώς το καθιστούν προσιτό. --- # 13. Μελλοντικές κατευθύνσεις Ένας διατρέχων αναφοράς (`mu-walk`) είναι φυσικός σύντροφος των υπαρχόντων εργαλείων: θα εκτελούσε την κανονική διαδρομή, θα εξέδιδε μηχανικά αναγνώσιμη αναφορά διαδρομής (αρχεία, είδη, προελεύσεις, αποτέλεσμα κάλυψης, φρεσκάδα κατόπτρων) και θα λειτουργούσε ως ο εκτελέσιμος ορισμός του παρόντος εγγράφου. Μια αναφορά διαδρομής θα μπορούσε να γίνει μέρος του Σημασιολογικού πακέτου διανομής, επιτρέποντας στους καταναλωτές να επαληθεύουν την πληρότητα πριν εμπιστευθούν ένα πακέτο. --- # Τελική δήλωση Ένα Μετα-Μοντέλο είναι τόσο αξιόπιστο όσο η δυνατότητα ενός αναγνώστη να ξέρει ότι το είδε ολόκληρο και κατάλαβε τι είναι το κάθε μέρος του. Το πρότυπο αυτό μετατρέπει τη δυνατότητα αυτή από επιμέλεια σε συμβόλαιο: ένα σημείο εισόδου, δηλωμένη σειρά, πλήρης ταξινόμηση αρχείων, δεσμευμένες θέσεις για οδηγίες, canon, ακατέργαστα τεκμήρια και παράγωγα τεχνουργήματα, και ένας έλεγχος κάλυψης που καθιστά αδύνατη τη σιωπηλή απώλεια.