Γλωσσάρι
Βασικές οντότητες
Ενότητα με τίτλο «Βασικές οντότητες»Πράκτορας: Ένας εργάτης AI με ταυτότητα, ρόλο, δεξιότητες και προσαρμογέα. Ανήκει σε ακριβώς έναν χώρο εργασίας. Ο κύριος δρων του συστήματος.
Προσαρμογέας: Ο εκτελεστής που εκτελεί τη στροφή ενός πράκτορα. Δύο αποστέλλονται: το Control Center (ενσωματωμένο) — ο βρόχος εντός της διεργασίας που μιλά στους παρόχους μοντέλων — και το Claude Code μέσω claude -p. Το Cursor, το Codex, η Anthropic, η OpenAI και τα υπόλοιπα είναι πάροχοι πάνω στον ενσωματωμένο προσαρμογέα, όχι ξεχωριστά CLI. Δείτε Διαχείριση προσαρμογέων και μοντέλων.
Χώρος εργασίας: Ο κορυφαίος μισθωτής απομόνωσης. Ομαδοποιεί πράκτορες, αποθετήρια, χώρους, εισιτήρια, μνήμη και pipelines. Η απομόνωση είναι δομική, όχι συμβατική: κάθε χώρος εργασίας έχει το δικό του αρχείο SQLite (<dataDir>/<workspaceId>/workspace.db), οπότε μια ανάγνωση από άλλον χώρο εργασίας δεν μεταγλωττίζεται. Κάθε διαδρομή εντός της εφαρμογής έχει πρόθεμα /workspaces/:workspaceId — δείτε τον χάρτη διαδρομών.
Κεντρικός υπολογιστής κώδικα: Ένας κεντρικός υπολογιστής κώδικα — GitHub, GitLab ή Bitbucket Cloud. Ο κεντρικός υπολογιστής κώδικα είναι ιδιότητα κάθε αποθετηρίου, που διαβάζεται από το απομακρυσμένο origin κατά την καταχώριση, και επιλέγει τον προσαρμογέα API και τα διαπιστευτήρια αυτού του αποθετηρίου. Ένας χώρος εργασίας μπορεί να έχει αποθετήρια και στους τρεις· οι συγκεντρωτικές επιφάνειες (τα εισερχόμενα, η ουρά PR) απλώνονται σε κάθε κεντρικό υπολογιστή κώδικα που εκπροσωπείται και συγχωνεύουν τα αποτελέσματα, απομονώνοντας τις αποτυχίες ώστε ένας μη προσβάσιμος κεντρικός υπολογιστής κώδικα να μην αδειάζει ποτέ τους άλλους. Οι κεντρικοί υπολογιστές κώδικα διαφέρουν σε αυτά που υποστηρίζουν — δείτε τον πίνακα δυνατοτήτων στο Σύνδεση κεντρικού υπολογιστή κώδικα.
Αποθετήριο: Ένα αποθετήριο Git καταχωρισμένο μέσα σε έναν χώρο εργασίας. Με εμβέλεια χώρου εργασίας — το ίδιο checkout καταχωρισμένο σε δύο χώρους εργασίας είναι δύο ανεξάρτητες γραμμές με δύο αναγνωριστικά· η ταυτότητα ενός αποθετηρίου μεταξύ χώρων εργασίας καθορίζεται από τη διαδρομή στο σύστημα αρχείων, ποτέ από το αναγνωριστικό. Η καταχώριση απαιτεί ένα δέντρο εργασίας Git του οποίου το απομακρυσμένο origin δείχνει σε υποστηριζόμενο κεντρικό υπολογιστή κώδικα. Κάθε αποθετήριο φέρει αυτόν τον κεντρικό υπολογιστή κώδικα (github / gitlab / bitbucket), που επιλέγει τον προσαρμογέα API και τα διαπιστευτήρια που χρησιμοποιούνται για αυτό.
Απομονωμένο αποθετήριο: Ένα worktree με εμβέλεια χώρου εργασίας ενός καταχωρισμένου αποθετηρίου. Copy-on-write μέσω rift όπου αποστέλλεται αυτό το native· git worktree στα Windows. Παρέχεται ανά χώρο — κάθε συνομιλία σε αυτόν τον χώρο μοιράζεται ένα checkout — ώστε οι πράκτορες να μην μεταβάλλουν ποτέ την πηγή.
Χώρος: Ένας χώρος συνεργασίας με εμβέλεια χώρου εργασίας, με ανθρώπινους συμμετέχοντες και συμμετέχοντες πράκτορες, μια αποθηκευμένη Mode, κατάσταση παροχής και ένα SpaceKind (topic / agentPeer / system / pr / slack) που καθορίζει πώς χωρίζεται σε ενότητες, πώς σιγεί, πώς σημαίνεται και πώς καθαρίζεται. Κατέχει τα απομονωμένα worktree που μοιράζονται οι συνομιλίες του (copy-on-write μέσω rift· git worktree στα Windows).
Συνομιλία: Μία ροή μηνυμάτων μέσα σε έναν Χώρο, με δικό της αναγνωριστικό, ιστορικό και πλαίσιο εκτέλεσης πράκτορα. Οι συνομιλίες σε έναν χώρο είναι ισότιμες χωρίς ιεραρχία — δεν υπάρχει κύρια ή «κεντρική» ροή. Κάθε μία ανοίγει ως καρτέλα επεξεργαστή· η κατάσταση μη αναγνωσμένων ενός χώρου συναθροίζει όλες τους.
Νήμα: Μια Συνομιλία της οποίας το anchorMessageId έχει οριστεί: αγκυρωμένη σε ένα μήνυμα μιας αδελφής συνομιλίας στον ίδιο Χώρο, με φρέσκο πλαίσιο πράκτορα που το τροφοδοτεί εκείνο το μήνυμα-άγκυρα. Ένα μόνο επίπεδο βάθος — τα νήματα δεν αγκυρώνονται ποτέ σε νήματα.
Εισιτήριο: Το συγκρότημα της μονάδας εργασίας. Ουδέτερο ως προς τον πάροχο: local από προεπιλογή, με προσαρμογείς συγχρονισμού για Linear, GitHub Issues, Jira Cloud και ClickUp — αν και καμία επιφάνεια εντός της εφαρμογής δεν δημιουργεί σύνδεση συγχρονισμού. Υποστηρίζει ιεραρχία, συνδέσμους και ανάθεση. Η ανάθεση σε έναν πράκτορα καταγράφει την κυριότητα και δεν στέλνει τίποτα· η ανάθεση σε μια ομάδα είναι η εξαίρεση (το TeamRoutingService στέλνει τον επικεφαλής).
Pipeline: Μια ροή εργασίας βασισμένη σε DAG που αλυσιδώνει βήματα (αποστολή πράκτορα, σενάρια, συνθήκες). Ορίζεται από πρότυπα· εκτελείται ως εκτελέσεις.
Αντικείμενα τιμών
Ενότητα με τίτλο «Αντικείμενα τιμών»AgentRole: Απαριθμημένος ρόλος (CEO, coder, reviewer, QA, designer, security, devops, PM, general). Καθορίζει persona, πρόσβαση στη μνήμη και ιεραρχία.
AgentSkills: Σύνολο αναγνωριστικών δεξιοτήτων χωρίς διάκριση πεζών-κεφαλαίων που εισάγει σχετικό πλαίσιο στις προτροπές τη στιγμή της αποστολής.
Πηγή δεξιότητας: Ένα αποθετήριο GitHub που καταχωρίζεται ανά χώρο εργασίας ως κατάλογος δεξιοτήτων. Αναξιόπιστο εξ ορισμού: τα μεταδεδομένα του αποθετηρίου είναι μόνο για προβολή και κάθε εγκατάσταση περνά από την πύλη σάρωσης που κλείνει σε περίπτωση σφάλματος, προτού φτάσει οποιοδήποτε περιεχόμενο στον δίσκο ή σε μια προτροπή. Δείτε εγκατάσταση και διαχείριση δεξιοτήτων.
skills-lock.json: Το μανιφέστο ανά χώρο εργασίας των εγκατεστημένων δεξιοτήτων: για καθεμία, το αποθετήριο προέλευσης, η διαδρομή μέσα στο αποθετήριο, το commit στο οποίο είναι καρφιτσωμένη και ένα συγκεντρωτικό hash περιεχομένου. Οι εγκαταστάσεις, οι ενημερώσεις και οι απεγκαταστάσεις το κρατούν επίκαιρο· το verify_skills το ελέγχει έναντι του δίσκου.
Πύλη εκτελέσεων πρακτόρων: Ένα τελικό σημείο loopback στο cc_server που εφαρμόζει την πολιτική ενεργειών μέσα στο sandbox ενός πράκτορα. Κάθε push προς το GitHub που κάνει ένας πράκτορας δρομολογείται εκεί, ελέγχεται με τον κανόνα Push σε απομακρυσμένο και προωθείται με ένα token εγγραφής που ο πράκτορας δεν κατέχει ποτέ· οι εντολές Bash του Claude Code ελέγχονται μέσω ενός hook στο ίδιο τελικό σημείο. Δείτε το Sandbox και ασφάλεια.
Λειτουργία: chat, plan, review ή orchestrate. Αποθηκεύεται ανά χώρο, ώστε ένας πράκτορας να μπορεί να βρίσκεται σε διαφορετικές λειτουργίες σε διαφορετικούς χώρους· κάθε συνομιλία σε έναν χώρο τη μοιράζεται. Περιορίζει την προτροπή συστήματος, τους κανόνες εγγραφής του sandbox και τη λίστα επιτρεπόμενων εργαλείων MCP. Το πεδίο σύνταξης μηνύματος προσφέρει μόνο chat, plan και orchestrate· το chat φέρει την ετικέτα «Πράκτορας».
SandboxBackend: microvm (μια κλειστή VM — το μόνο υποσύστημα με όριο πυρήνα, που εφαρμόζεται σε διαδραστικά τερματικά), native (Seatbelt στο macOS, bubblewrap σε Linux και WSL2) ή none. Ανιχνεύεται μία φορά κατά την εκκίνηση· το native εφαρμόζεται στην αποστολή πράκτορα όταν είναι διαθέσιμο, περιβάλλοντας το CLI του Claude Code και το εργαλείο bash του μηχανισμού. Τα Windows δεν έχουν εγγενές υποσύστημα και το Linux χρειάζεται bwrap και socat, οπότε οι εκτελέσεις εκεί γίνονται χωρίς περιβολή· το --sandbox off εξαιρεί σκόπιμα.
Σταθμός: Μια αναλώσιμη μηχανή που οδηγεί ένας πράκτορας σε πραγματικό χρόνο — ένας κλειστός περιηγητής ή επιφάνεια εργασίας Linux, ένας διαχειριζόμενος από τον κεντρικό υπολογιστή εξομοιωτής Android ή Simulator iOS, ή ένα κλειστό τερματικό. Παρακολουθείται ζωντανά μέσω δικής του λωρίδας πλήρους ανάλυσης, με την ανάληψη να επιβάλλεται στην πλευρά του διακομιστή. Με εμβέλεια συνομιλίας, ώστε η καρτέλα του ανθρώπου και οι κλήσεις browser_use / computer_use / mobile_use / ios_use του πράκτορα να απευθύνονται σε μία προεπιλεγμένη μηχανή. Δείτε Σταθμοί και περιβλήματα.
Περίβλημα: Το ισχυρότερο όριο σταθμού με υποστήριξη VM — όριο πυρήνα, αναλώσιμος δίσκος επικάλυψης, πύλη δικτύου που αρνείται εξ ορισμού και μεσίτης διαπιστευτηρίων. Οι σταθμοί Android και iOS είναι αναλώσιμοι αλλά χρησιμοποιούν δίκτυο διαχειριζόμενο από τον κεντρικό υπολογιστή και δεν διεκδικούν αυτό το όριο. Η οδήγηση οποιουδήποτε σταθμού χρησιμοποιεί την κλάση περιορισμών enclosureControl.
RunCost: Καταγραφή tokens/κόστους (tokens εισόδου, tokens εξόδου, εκτιμώμενο κόστος σε λεπτά) για μία μεμονωμένη εκτέλεση πράκτορα.
WakeReason: Γιατί στάλθηκε ένας πράκτορας. Έξι τιμές: μήνυμα χρήστη, ανάθεση εισιτηρίου, εκ νέου αποστολή αποκατάστασης μετά από αποτυχία, ολοκληρωμένο θυγατρικό εισιτήριο, προγραμματισμένος παλμός συνέχειας και βήμα pipeline.
SandboxPort: Διαχειρίζεται τον κύκλο ζωής του sandbox (probe, launch, events, exec, destroy).
CredentialBrokerPort: Εκδίδει διαπιστευτήρια με εμβέλεια για την εκκίνηση του sandbox — μόνο για ανάγνωση στο περιβάλλον ενός πράκτορα, εγγραφής μόνο για τη διαδρομή push στον διακομιστή — και τα ανακαλεί κατά τον τερματισμό.
GitRepoInspectorPort: Εξάγει μεταδεδομένα (ιδιοκτήτη, αποθετήριο, κλάδο) από μια τοπική διαδρομή αποθετηρίου Git.
EmbeddingPort: Παράγει διανύσματα ενσωμάτωσης κειμένου μοναδιαίου μέτρου για σημασιολογική αναζήτηση.
NotificationPort: Εμφανίζει εγγενείς ειδοποιήσεις επιφάνειας εργασίας σεβόμενο τη διάκριση κατηγορίας/διαδρομής.
TicketProviderPort: Ουδέτερο ως προς τον πάροχο όριο προς ένα σύστημα εισιτηρίων (create, get, list, update, transition, assign).
PipelineEnginePort: Ξεκινά μια εκτέλεση pipeline από ένα πρότυπο, αποσυνδέοντας τους καλούντες από τη συγκεκριμένη μηχανή.
Υπηρεσίες τομέα
Ενότητα με τίτλο «Υπηρεσίες τομέα»AgentDispatchService: Ξεκινά εκτελέσεις πρακτόρων: παρέχει απομονωμένα αποθετήρια, χτίζει προτροπές, δημιουργεί αρχεία καταγραφής εκτέλεσης και επιστρέφει ζωντανές ροές γεγονότων.
TicketWorkflowService: Μηχανή κύκλου ζωής εισιτηρίων καθαρού τομέα, με μοναδικό σημείο διέλευσης μεταβολών υπό αισιόδοξη ταυτοχρονικότητα και επιβολή απομόνωσης χώρου εργασίας. Το γράφημα μεταβάσεων που επιβάλλει δεσμεύει μόνο πράκτορες και αυτοματισμούς· οι αλλαγές από το περιβάλλον χρήστη περνούν force: true και το παρακάμπτουν. Δεν υπάρχει αποστολέας εισιτηρίων για αναθέτη πράκτορα — το AgentDispatchService κατέχει την αποστολή, και η ανάθεση ενός εισιτηρίου σε έναν πράκτορα δεν ξεκινά καμία εκτέλεση. Η ανάθεση ενός εισιτηρίου σε μια ομάδα είναι η εξαίρεση (το TeamRoutingService στέλνει τον επικεφαλής).
PipelineEngine: Ενορχηστρώνει την εκτέλεση: ξεκινά εκτελέσεις, προγραμματίζει βήματα, αποθηκεύει κατάσταση, χειρίζεται routers/joins/continue-on-fail, επαναφέρει εκτελέσεις σε εξέλιξη μετά από επανεκκίνηση.
PipelineTriggerDispatcher: Εγγράφεται σε γεγονότα τομέα και ξεκινά αυτόματα εκτελέσεις pipeline που ταιριάζουν για ενεργοποιημένους ενεργοποιητές.
MemoryAccessPolicy: Επιλύει και επιβάλλει τα δικαιώματα μνήμης των ρόλων πράκτορα σε τομείς.
HarnessCostCalculator: Τιμολογεί τη χρήση tokens του ενσωματωμένου μηχανισμού σε ένα RunCost από τον κατάλογο του models.dev. Η αποστολή αποθηκεύει αυτή την καταγραφή στο αρχείο καταγραφής εκτέλεσης.
BudgetEnforcementService: Υπολογίζει τη μηνιαία δαπάνη ανά πράκτορα και έναν αποκλεισμό πριν από την αποστολή (checkInvocationBlock). Αυτός ο αποκλεισμός συμβουλεύεται μόνο από τους ανακτητές συμβιβασμού (OrphanRunReaper, StrandedTicketReconciler), ποτέ από τη συνήθη αποστολή χρήστη ή πράκτορα.
BudgetGovernanceService: Αξιολογεί τη μηνιαία δαπάνη ανά πράκτορα μετά από κάθε εκτέλεση — ένα μαλακό κατώφλι καταγράφει περιστατικό προειδοποίησης· η εξάντληση καταγράφει σκληρό περιστατικό και γυρίζει τον κύκλο ζωής του πράκτορα σε paused.
Γεγονότα
Ενότητα με τίτλο «Γεγονότα»DomainEventBus: Δίαυλος δημοσίευσης/εγγραφής μετάδοσης εντός της διεργασίας για επικοινωνία μεταξύ χαρακτηριστικών. Τα γεγονότα είναι τυποποιημένα· οι συνδρομητές καταναλώνουν ροές on<T>().
DomainEvent: Βασική διεπαφή. Κάθε γεγονός έχει occurredAt. Βασικές κατηγορίες: χώρος εργασίας/πράκτορας, PR/έλεγχος, μηνύματα, εισιτήρια, pipeline, συσκέψεις/ημερολόγιο, ταυτότητα, σταθμοί, παρατηρησιμότητα.
Συσκέψεις και ημερολόγιο
Ενότητα με τίτλο «Συσκέψεις και ημερολόγιο»Σύσκεψη: Μια τοπικά καταγεγραμμένη, μεταγραμμένη σύσκεψη. Συλλαμβάνει μικρόφωνο και ήχο συστήματος, μεταγράφει στη συσκευή με επιλέξιμο μοντέλο ASR (Parakeet TDT v3 από προεπιλογή· τα Parakeet TDT v2, Whisper large-v3-turbo και Whisper base.en είναι εναλλακτικές), διαχωρίζει ομιλητές και συνοψίζει σε σημειώσεις, εκκρεμείς ενέργειες και αποφάσεις. Το επιλεγμένο μοντέλο ASR εγκαθίσταται υποχρεωτικά κατά την εκκίνηση και οι λειτουργίες εγγραφής ενεργοποιούνται μετά από μία επανεκκίνηση. Με εμβέλεια χώρου εργασίας· μένει στη μηχανή.
MeetingSegment: Ένα μεταγραμμένο παράθυρο ήχου, με ετικέτα ομιλητή (me/them), με ετικέτα διαχωρισμού ομιλητών και αποκλίσεις σε χιλιοστά του δευτερολέπτου.
MeetingActionItem / MeetingDecision: Δομημένες έξοδοι που εξάγονται από το pipeline σύνοψης και αποθηκεύονται ως διακριτές γραμμές. Οι εκκρεμείς ενέργειες μπορούν να συνδεθούν με ένα εισιτήριο.
CalendarEvent: Μια συγχρονισμένη καταχώριση Google Calendar με εμβέλεια χώρου εργασίας και συνδεδεμένου λογαριασμού. Διακριτή από μια Σύσκεψη: μια καταχώριση είναι προγραμματισμένη δέσμευση· μια Σύσκεψη είναι καταγεγραμμένη συνεδρία. Συνδέονται ένα προς ένα μέσω ενός MeetingCalendarLink.
CalendarAccount: Ένας συνδεδεμένος λογαριασμός Google, ανά χώρο εργασίας και email. Τα OAuth refresh tokens αποθηκεύονται στην πλευρά του διακομιστή ως κλειδιά google_* στο <dataDir>/secrets.json και δεν φτάνουν ποτέ σε πελάτη· η ροή κωδικού συσκευής ολοκληρώνεται στον διακομιστή. Μια σημαία authExpiredAt οδηγεί το πλαίσιο επανασύνδεσης.
Όροι αρχιτεκτονικής
Ενότητα με τίτλο «Όροι αρχιτεκτονικής»Καθαρή Αρχιτεκτονική: Κανόνας εξαρτήσεων: Presentation → Application/Providers → Domain ← Infrastructure. Ο τομέας δεν έχει καμία εισαγωγή υποδομής.
Θύρες και προσαρμογείς: Ο τομέας ορίζει αφηρημένες διεπαφές (θύρες)· η υποδομή παρέχει συγκεκριμένες υλοποιήσεις (προσαρμογείς). Η ρίζα σύνθεσης τα δένει.
Κοινός πυρήνας: Οντότητες, αντικείμενα τιμών, θύρες και υπηρεσίες στο core/domain/ που μοιράζονται 3+ χαρακτηριστικά.
Προτεραιότητα στα χαρακτηριστικά: Ο κώδικας οργανώνεται κατά επιχειρηματικό τομέα (πράκτορες, pipelines, μηνύματα) και όχι κατά τεχνικό επίπεδο.
Συνεργασία, ταυτότητα και ταχύτητα
Ενότητα με τίτλο «Συνεργασία, ταυτότητα και ταχύτητα»Εντολέας: Μια σφραγισμένη τιμή που ενοποιεί ανθρώπους και πράκτορες στην ενιαία αφαίρεση δρώντος — UserPrincipal(userId) ή AgentPrincipal(agentId). Κάθε μήνυμα, εισιτήριο, έλεγχος, σχέδιο και αρχείο καταγραφής εκτέλεσης αποδίδεται μέσω ενός Εντολέα.
Χρήστης: Μια ανθρώπινη ταυτότητα, αποθηκευμένη στο global.db και επομένως καθολική σε όλους τους χώρους εργασίας. Ο εντολέας που δημιουργεί έναν χώρο εργασίας γίνεται ιδιοκτήτης του — καταγεγραμμένος στο Workspace.ownerUserId με γραμμή ιδιότητας μέλους ρόλου ιδιοκτήτη στην ίδια πράξη. Οι άλλοι συμμετέχουν με πρόσκληση ή SSO.
WorkspaceMember / WorkspaceRole: Μια γραμμή ιδιότητας μέλους που δεσμεύει έναν Χρήστη σε έναν Χώρο εργασίας με κάποιον ρόλο (owner / admin / member / viewer / guest). Η ιδιότητα μέλους — όχι ένα κλειδί σύζευξης — είναι το όριο πρόσβασης. Οι εκχωρήσεις ανά αποθετήριο εμποδίζουν την ιδιότητα μέλους να υπερβεί σε προνόμια τον κεντρικό υπολογιστή κώδικα.
ParticipantPresence: Εφήμερη επίγνωση για έναν Εντολέα (κατάσταση, θέση, δρομέας, πληκτρολόγηση, ζωντανή κατάσταση και τρέχον κόστος ενός πράκτορα). Δεν αποθηκεύεται ποτέ· συγκεντρώνεται στον διακομιστή· φιλτράρεται κατά την εκχώρηση αποθετηρίου πριν από τη διανομή.
Λειτουργία παρακολούθησης: Κάντε κλικ σε ένα avatar για να ακολουθήσετε το viewport του μέχρι να ενεργήσετε, και μετά αποσυνδεθείτε. Λειτουργεί για ανθρώπους και για πράκτορες («δείτε έναν πράκτορα να δουλεύει»).
Δείκτης αυτονομίας: Έλεγχος ανά χώρο και ανά πράκτορα — propose-only / act-with-approval / act-freely — υλοποιημένος ως επώνυμο προφίλ πάνω από τον χώρο αποθήκευσης περιορισμών ενεργειών.
ActionClass: Ένα κλειστό σύνολο 13 κλάσεων επιρροής (fileDelete, gitPush, prCreate, networkEgress, processSpawn, enclosureControl, …). Κάθε εργαλείο που μεταβάλλει δηλώνει τις κλάσεις του· η μηχανή περιορισμών επιλύει allow / prompt / deny ανά εμβέλεια (χώρος > πράκτορας > χώρος εργασίας > προεπιλογή λειτουργίας > ενσωματωμένη προεπιλογή).
WriteLedger / κλειδί ιδιοδυναμικότητας: Κάθε μεταβολή φέρει ένα κλειδί ιδιοδυναμικότητας που παράγεται από τον πελάτη (UUIDv7, ανά λογική ενέργεια). Το καθολικό με εμβέλεια χώρου εργασίας αφαιρεί τα διπλότυπα προτού εκτελεστεί ο χειριστής· μια επανάληψη επιστρέφει το byte-identical αρχικό αποτέλεσμα. Κάνει την επανασύνδεση και τη χρήση από πολλούς πελάτες ασφαλή εξ ορισμού.
Εισερχόμενα που με χρειάζονται: Μια ουρά που διαπερνά όλους τους πυλώνες με αυστηρό κανόνα — ένα στοιχείο εμφανίζεται μόνο αν μπλοκάρει κάτι (έναν πράκτορα, ένα merge, έναν συγχρονισμό) ή ζητά ρητά τον χειριστή.
Plan Studio: Η διαδραστική επιφάνεια σχεδιασμού — επεξεργάσιμα σχέδια τυποποιημένου DAG με κόστος, χρόνο και κίνδυνο ανά βήμα, και μερική έγκριση.
Υπολογισμός ελέγχου: Υπολογισμός ελέγχου PR στην πλευρά του διακομιστή (κοόρτες από το γράφημα, τυποποιημένα διαγράμματα, οπτικά diff, diff συμβολαίου API, πύλες πολλαπλών αξόνων) που σερβίρεται μέσω review_studio.* και ενσωματώνεται στην καρτέλα Ανασκόπηση.
Χώρος ελέγχου: Ο ένας χώρος υποστήριξης ενός PR (λειτουργία review, είδος pr), που δημιουργείται ιδιοδυναμικά και συνδέεται με το PR μέσω μιας ReviewSpaceAssociation. Κάθε ελεγκτής καταχωρίζει τα ευρήματά του εκεί, και αυτό είναι που τα κάνει συγκρίσιμα· το απομονωμένο worktree του έχει το PR σε checkout στο head του.
Κόμβος ελέγχου: Η δομημένη μονάδα ενός ευρήματος ελέγχου AI: είδος (bug, suggestion, recommendation, question, ticket), προτεραιότητα P0–P3, τριάδα διαλογής κατηγορίας/σοβαρότητας/κόπου, άγκυρα αρχείου και γραμμής, προαιρετική προτεινόμενη διόρθωση και βαθμολογία βεβαιότητας. Καταχωρίζεται με add_review_node· η ετυμηγορία υπολογίζεται από κόμβους, όχι από πρόζα.
Έτοιμο για συναίνεση: Η κατάσταση κόμβου ελέγχου που επιτυγχάνεται μόνο όταν ένας ομότιμος ελεγκτής επιβεβαιώσει ένα εύρημα — ένας πράκτορας δεν μπορεί να επιβεβαιώσει το δικό του. Το κουμπί Δημοσίευση στο GitHub της καρτέλας Ανασκόπηση στέλνει κάθε εναπομείναν εύρημα σε εκκρεμότητα (selection: all_open)· το εργαλείο MCP publish_review_to_github εξακολουθεί να προεπιλέγει μόνο ευρήματα που έχουν επιβεβαιωθεί από ομότιμο.
Επίπεδο ελέγχου: Πολιτική χώρου εργασίας (light, balanced, thorough) που ρυθμίζει ποιοι ελεγκτές εξαπλώνονται (μόνο engineer· +qa+architect· +security+perf) και πού εμφανίζονται τα ευρήματα κάτω από το κατώφλι. Δεν διαγράφει ποτέ ένα εύρημα.
Άξονας ελέγχου: Μία από πέντε λωρίδες βαθμολόγησης ανά έλεγχο: correctness, security και testGap από τα ευρήματα των ελεγκτών· visual και apiContract ντετερμινιστικές. Οι πυλωμένες λωρίδες ενσωματώνονται στην ετυμηγορία και μπορούν μόνο να την κάνουν πιο αυστηρή — μια πύλη partial ή unavailable κρατά την ετυμηγορία αντί να την αφήνει να περάσει.
Ετυμηγορία ελέγχου: ship, hold ή block. Κάθε εύρημα P0 με βεβαιότητα ≥ 0,7 μπλοκάρει· κάθε άλλο P0 ή οποιοδήποτε P1 κρατά· αλλιώς ship. Ένας πυλωμένος άξονας που αποτυγχάνει επιβάλλει block και δεν μπορεί να υπερψηφιστεί από ευρήματα.
Στόλος και αξιολογήσεις
Ενότητα με τίτλο «Στόλος και αξιολογήσεις»cc_worker: Ένα δυαδικό εκτελεστή στόλου χωρίς κεφαλή, σε καθαρό Dart. Συνεργάζεται με έναν cc_server, δηλώνει τις δυνατότητες του κεντρικού υπολογιστή του, τραβά ενοικιασμένες εργασίες, τις εκτελεί και στέλνει γεγονότα διεργασίας πίσω. Δεν κρατά καμία μόνιμη κατάσταση — ένας έγκυρος διακομιστής, N χαζά άκρα.
JobSpec: Η τυποποιημένη προδιαγραφή για καθετί εκτελέσιμο (εκτέλεση πράκτορα, βήμα pipeline, ευρετηρίαση κώδικα, golden-render, benchmark, παρτίδα αξιολόγησης).
Σουίτα αξιολόγησης: Ένας ορισμός αξιολόγησης με εμβέλεια χώρου εργασίας (προτροπή, πράκτορας-στόχος και λειτουργία, βαθμολογητές). Πέντε αρχικές τροφοδοτούνται κατά τη δημιουργία του χώρου εργασίας· η διαδρομή Παρατηρησιμότητα → Ποιότητα τις απαριθμεί.
Ανάπτυξη και πελάτες
Ενότητα με τίτλο «Ανάπτυξη και πελάτες»Αρχιτεκτονική λεπτού πελάτη: Κανένας πελάτης δεν ανοίγει τη βάση δεδομένων· μια διεργασία cc_server χωρίς κεφαλή κατέχει τα δεδομένα και τα σερβίρει μέσω RPC over WebSocket. Κάθε πελάτης (επιφάνεια εργασίας, web, τηλέφωνο) είναι ένας αποδίδων πάνω σε αυτή τη μία σύνδεση RPC.
cc_server: Το δυαδικό του διακομιστή χωρίς κεφαλή (καθαρό Dart, χωρίς μηχανή Flutter). Κατέχει τη βάση δεδομένων Drift/SQLite, σερβίρει repo-RPC μέσω WebSocket και εκτελεί τις υπηρεσίες παρασκηνίου (pipelines, MCP, ανακτητές).
ServerConnectionMode: Πώς φτάνει η επιφάνεια εργασίας στον διακομιστή της — local (ξεκινά ένα cc_server σε αυτή τη μηχανή, η προεπιλογή) ή remote (καλεί έναν αλλού). Ο web πελάτης είναι πάντα remote.
RemoteRpcClient: Ο πελάτης JSON-RPC ανεξάρτητος από το μεταφορικό μέσο που χρησιμοποιεί κάθε λεπτός πελάτης για να μιλήσει στον διακομιστή του — μέσω WSS, loopback ή του διαμεσολαβημένου relay.
Χώρος εργασίας ανά κλήση: Ο διακομιστής είναι χωρίς κατάσταση — δεν υπάρχει δέσμευση χώρου εργασίας ανά συνεδρία, οπότε πολλοί πελάτες σε έναν διακομιστή δεν μοιράζονται ποτέ έναν «τρέχοντα χώρο εργασίας». Κάθε repo/call και sub/subscribe με εμβέλεια χώρου εργασίας πρέπει να φέρει workspace_id στα ορίσματά του· ένα αναγνωριστικό που λείπει ή δεν είναι καταχωρισμένο απορρίπτεται προτού ανοίξει οποιαδήποτε βάση δεδομένων. Η πρόσβαση στη συνέχεια ελέγχεται από την ιδιότητα μέλους και τον ρόλο στον χώρο εργασίας, όχι από τη συνεδρία.
cc_remote: Ο λεπτός πελάτης του τηλεφώνου — ένα PWA web σε Flutter που ελέγχει εξ αποστάσεως τον στόλο μέσω του διαμεσολαβημένου relay, με πολιτική εργαλείων που αρνείται εξ ορισμού.
cc_signaling_server: Ένας μεσίτης relay WebSocket χωρίς κατάσταση που φιλοξενεί δωμάτια με πρόσκληση — ένα χαζό relay που προωθεί μόνο πλαίσια σφραγισμένα από άκρο σε άκρο, δεν κρατά δεδομένα εφαρμογής και δεν βλέπει ποτέ το PSK σύζευξης.