RAILSHOT.
Επιστροφή στην αίθουσα

Railshot

AI deployment & operations platform

Ανάπτυξη μιας τοπικά φτιαγμένης web εφαρμογής σε έτοιμα περιβάλλοντα cloud και on-premises, και έπειτα λειτουργία της.

Πλατφόρμα ανάπτυξης και λειτουργίας με AI που μεταφέρει μια τοπικά φτιαγμένη web εφαρμογή σε έτοιμα περιβάλλοντα cloud ή on-premises και συνεχίζει να τη λειτουργεί.

2026.09.28 — 2026.10.04 · Ολοκληρώθηκε

Ομαδικό έργο · η συμβολή μου: σχεδιασμός και υλοποίηση CI, συστοιχίες CSP και διεπαφή Ansible, λειτουργία, αναθεώρηση κώδικα της ομάδας και ενοποίηση

SoftBank Hackathon 2026 powered by KOREC & ProgateΣυμμετοχή στην προκριματική φάση · η επιλογή για τον τελικό ανακοινώνεται στις 2026.10.26 (κατάσταση στις 2026.10.07)

  • WebΥλοποιημένο · hackathon
  • Διακομιστής MCPΥλοποιημένο · απομακρυσμένο · τοπικό

Railshot vocabulary

Lens
Deployment
Delivery
Endpoint Verification
Evidence
Artifact Identity
Reconciliation
  1. intake
  2. checks
  3. repair
  4. publish
  5. rollout
  1. route
  2. probe
  1. source commit
  2. digest
  3. binding
  1. unknown
  2. resume
  3. observation

Intake: deploy_repository · deploy_local_project · OAUTH MCP · Idempotency-Key · IDEMPOTENCY_CONFLICT · 202 ACCEPTED · EXECUTOR_BUSY · CAPACITY_EXCEEDED · maxConcurrentDeployments · workflow_dispatch · TARGET ALLOWLIST · reconciliation_required · CI_DISPATCH_UNCONFIRMEDChecks: package.policy · package.spec · source.quality · image.build · image.runtime · image.scan · GATE_ORDER · verdict.json · release_eligible · GATE VERDICT · SECRET SCAN · --cap-drop=ALL · source_change_allowed · verify_imagesAI Repair: GATE VERDICT · FIXABLE · give_up · PROMPT INJECTION · FAILURE SIGNATURE · REPAIR_SCOPE · MAX_REPAIR_ATTEMPTS · claude-agent-sdk · openai-codex · fixer · lessons.md · source_change_allowed · SDK_OUTCOME_UNKNOWNPublish: release_eligible · GHCR · images.json · EXACT TESTED BUNDLE · GITHUB-HOSTED RELEASE · published · publication_unverified · MANIFEST INSPECT · REGISTRY_VISIBILITY · publish-journal · railshot-release · containerd-snapshotter · images.tar · handoff.jsonRollout: bridge.py · workload.json · CONFIG GIT · pushing · REMOTE READBACK · ARGO CD · Synced · Healthy · targetRevision · sync_requested · NO PRUNE, NO FORCE · NetworkPolicy · readinessProbe · observed_images · NEVER BLINDLY RETRYPublic Route: routing · SHARED ALB · aws_lb_listener_rule · aws_lb_target_group · aws_route53_record · NodePort · LISTENER OWNERSHIP · GCP_ROUTE_APPLY_TIMEOUT · GCP_CERTIFICATE_DNS_FAILED · WireGuardHealth Probe: public_probe · site_probe · railshot-health/1 · NO PROXY, NO REDIRECT · expected_json · HTTPS 200 · verified_at · public_http · health_path · readinessProbe · probe_successSource Commit: workflow_dispatch · targetRevision · Railshot-Request · Railshot-Target · source_commit · source_parent · force: false · source_digest · snapshot.json · GITHUB_SHA · PLATFORM_REF · harness_sha256 · SUBMITTED SOURCE CHANGED · source_preparedImage Digest: GHCR · images.json · MANIFEST INSPECT · source_digest · IMMUTABLE GHCR DIGEST · images_sha256 · observed_images · PULL BY DIGEST · imagePullSecrets · containerd-snapshotter · RESUME_PUBLICATION_CHANGED · verify_images · images.tarRun Binding: Idempotency-Key · published · Railshot-Request · Railshot-Target · handoff.json · producer_attempt · bundle_artifact_id · run_id · state.bindings · CI_BINDING_MISMATCH · DEPLOYMENT BINDING CONFLICT · config_sha256 · TARGET ALLOWLIST · registered_applicationUnknown Outcome: publication_unverified · pushing · GCP_ROUTE_APPLY_TIMEOUT · outcome_unknown · CD_RECONCILE_REQUIRED · reconciliation_required · CD_OUTCOME_UNKNOWN · SDK_OUTCOME_UNKNOWN · unknown_timeout · CI_DISPATCH_UNCONFIRMED · NEVER BLINDLY RETRY · after_reconcile · reconcile_remote · CI_DISPATCH_NOT_IDENTIFIED · READ-ONLY OBSERVEResume: publish-journal · source_parent · RESUME_PUBLICATION_CHANGED · --resume · state.sqlite3 · resumePrepared · findDeployment · recoverDispatch · source_prepared · CI_DISPATCH_NOT_IDENTIFIED · resume_count · SAME WORKFLOW RUN · INTERRUPTEDObservation: observationRetry · next_retry_at · consecutive_failures · no_data · stale · collection_failed · NOT A SUCCESS GATE · probe_success · PROMETHEUS · BLACKBOX EXPORTER · READ-ONLY OBSERVE

Η οθόνη web και ο προσωπικός πράκτορας ζητούν ανάπτυξη μέσω του ίδιου API του προϊόντος.

Το προϊόν από ένα αποδεκτό αίτημα ανάπτυξης, μέσω ελέγχων CI και δημοσίευσης image, ως τη ρύθμιση Git και τη διάθεση με Argo CD σε καταχωρισμένο στόχο και την επαλήθευση του δημόσιου HTTPS. Η επιτυχία καταγράφεται μόνο με εφαρμοσμένο revision και δημόσιο έλεγχο μαζί, και ένα αποτέλεσμα που δεν μπορεί να γίνει γνωστό μένει unknown.

Ένα έργο υποβάλλεται από την οθόνη web ή από έναν προσωπικό πράκτορα AI συνδεδεμένο μέσω MCP, και η πλατφόρμα προχωρά από την προετοιμασία αρχείων ανάπτυξης και την επιδιόρθωση αποτυχιών ως τη δημοσίευση image, τη διάθεση στο περιβάλλον και την επαλήθευση του δημόσιου URL. Μετά την ανάπτυξη, η ίδια οθόνη δείχνει ιστορικό και αρχεία καταγραφής και διαχειρίζεται ενημερώσεις, διακοπές, συνεχίσεις και διαγραφή. Ομαδικό έργο.

Περίοδος υλοποίησης του διαγωνισμού September 28, 2026 to October 4, 2026

Η οθόνη web και ο διακομιστής MCP που φτιάχτηκαν στο hackathon. Το απομακρυσμένο MCP συνδέεται με OAuth για την υποβολή, ενώ οι τοπικοί φάκελοι υποβάλλονται μέσω του τοπικού MCP.

Αρχιτεκτονική προϊόντος · σχεδιασμένη από τις διαδρομές κώδικα στο δημόσιο commit 645e28a
Αρχιτεκτονική προϊόντος RailshotΣτοιχεία και συνδέσεις του προϊόντος Railshot. Η οθόνη web, το απομακρυσμένο OAuth MCP και ένα τοπικό MCP στον υπολογιστή του χρήστη ζητούν ανάπτυξη μέσω του ίδιου API του προϊόντος, που καταχωρίζει ένα commit πηγής και μια εκτέλεση CI. Το CI αποφασίζει με σταθερούς ελέγχους και δημοσιεύει τα ελεγμένα images στο GHCR. Ο adapter CD εφαρμόζει μέσω config Git και Argo CD μόνο όταν ο καταχωρισμένος στόχος ταιριάζει με την καταγραφή δημοσίευσης, και έπειτα ελέγχει την καταχωρισμένη δημόσια διεύθυνση HTTPS και καταγράφει το αποτέλεσμα. Οι μετρικές είναι παρατήρηση, χωριστή από την ετυμηγορία.Χρήστης προγράμματος περιήγησηςφάκελος · ZIP · GitHub URLΠελάτης MCPChatGPT · Codex · Clauderailshot-local MCPυπολογιστής του χρήστη · stdioGHCRimages ανά digestAI SDK providerCodex · Claude SDKΑποθετήριο config Gitκαταχωρισμένο workload.jsonΔημόσιο HTTPS URLκαταχωρισμένη διαδρομή healthPrometheusVM ελέγχου λειτουργίας · ανάγνωσηapps/dashboardοθόνη web · ιστορικό · Insightsagent/remote-mcp.jsOAuth MCP · deploy_repositoryapps/apiεπικύρωση · στόχος · αποδοχή 202ουρά ανάπτυξης · 3 ταυτόχρονασύνδεση εκτέλεσης CI · παρατήρησηcd.js · deployPublishedmetrics observerapi/product-store.jsκατάσταση operation · σύνδεση rungitops/bridge.pyέμπιστο config · καταχωρισμένος στόχοςcommit · push · απομακρυσμένη επανανάγνωσηArgo sync · παρατήρησηprobe δημόσιου HTTPSArgo CDΈλεγχος Application · AppProjectapps/<tenant>/<app>commit πηγής · trailersrailshot-deploy.ymlloop · βασικοί έλεγχοι L0–L3Επιδιόρθωση SDK · μόνο διορθώσιμες αποτυχίεςίδιοι έλεγχοι → ελεγμένο bundlerelease · δημοσίευση GHCR · σύνδεσηΣυστοιχία εφαρμογών K3sworkload · ServiceΠλατφόρμα Railshotσυστοιχία λειτουργίας · AWSGitHubιδιωτικό αποθετήριο apps · ActionsΚαταχωρισμένος στόχοςδημόσια διαδρομή ανά πάροχο1 φάκελος · ZIP · GitHub URL · Χρήστης προγράμματος περιήγησης → οθόνη web · ιστορικό · Insights12ίδιο API προϊόντος · /api/v13 OAuth · deploy_repository · Πελάτης MCP → OAuth MCP · deploy_repository34ίδιο API προϊόντος5 Ανέβασμα ZIP · deploy_local_project · railshot-local MCP → επικύρωση · στόχος · αποδοχή 20256 καταγραφή queued · 202 · επικύρωση · στόχος · αποδοχή 202 → κατάσταση operation · σύνδεση run67 σειρά ουράς · κατάσταση operation · σύνδεση run → ουρά ανάπτυξης · 3 ταυτόχρονα78κατάσταση ανάπτυξης · ιστορικό1source commit2workflow_dispatch3υποβληθέν commit4αίτημα επιδιόρθωσης · υπό όρους5δημοσίευση ελεγμένων images6εκτέλεση · ανάγνωση δημοσίευσης7 failed · publication_unverified · σύνδεση εκτέλεσης CI · παρατήρηση → κατάσταση operation · σύνδεση run71images.json · spec · verdict · manifest2apply · καταχωρισμένος στόχος3workload commit · push4revision5sync · παρατήρηση6εφαρμογή7image pull · digest8HTTPS health9 δημόσια διαδρομή · Δημόσιο HTTPS URL → workload · Service910 succeeded · revision · URL · cd.js · deployPublished → κατάσταση operation · σύνδεση run1011 unknown · απαιτείται εναρμόνιση · cd.js · deployPublished → κατάσταση operation · σύνδεση run111Ερώτημα PromQL2scrape · probe3κατάσταση ανάπτυξης · ιστορικό4HTTPS health

Υποβολή → αποδοχή

Η οθόνη web, το απομακρυσμένο MCP και το τοπικό MCP καλούν το ίδιο API του προϊόντος, που καταγράφει ένα ελεγμένο αίτημα ως queued και απαντά 202.

  1. Χρήστης προγράμματος περιήγησηςδεδομένα: φάκελος · ZIP · GitHub URLοθόνη web · ιστορικό · Insightsapps/dashboard

    Η πηγή και ένα καταχωρισμένο περιβάλλον επιλέγονται στην οθόνη web.

  2. οθόνη web · ιστορικό · Insightsapps/dashboardδεδομένα: ίδιο API προϊόντος · /api/v1επικύρωση · στόχος · αποδοχή 202apps/api

    Η οθόνη web καλεί το API του προϊόντος από την ίδια προέλευση.

  3. Πελάτης MCPδεδομένα: OAuth · deploy_repositoryOAuth MCP · deploy_repositoryagent/remote-mcp.js

    Το απομακρυσμένο MCP συνδέεται μέσω OAuth και δέχεται ως είσοδο ένα δημόσιο αποθετήριο GitHub.

  4. OAuth MCP · deploy_repositoryagent/remote-mcp.jsδεδομένα: ίδιο API προϊόντοςεπικύρωση · στόχος · αποδοχή 202apps/api

    Ο απομακρυσμένος διακομιστής MCP καλεί το ίδιο API ανάπτυξης μέσω του εσωτερικού του πελάτη API.

  5. railshot-local MCPδεδομένα: Ανέβασμα ZIP · deploy_local_projectεπικύρωση · στόχος · αποδοχή 202apps/api

    Το stdio MCP στον υπολογιστή του χρήστη συμπιέζει έναν φάκελο σε ZIP και τον ανεβάζει. Η συνεδρία του δεν μοιράζεται με την απομακρυσμένη συνεδρία OAuth.

  6. επικύρωση · στόχος · αποδοχή 202apps/apiδεδομένα: καταγραφή queued · 202κατάσταση operation · σύνδεση runapi/product-store.js

    Ελέγχονται η είσοδος, ο καταχωρισμένος στόχος, η χωρητικότητα και το κλειδί idempotency. Η operation καταγράφεται ως queued και η απάντηση είναι 202. Το 202 σημαίνει αποδοχή, όχι ανάπτυξη.

  7. κατάσταση operation · σύνδεση runapi/product-store.jsδεδομένα: σειρά ουράςουρά ανάπτυξης · 3 ταυτόχροναapps/api

    Λαμβάνονται με τη σειρά αποδοχής, μέσα στο όριο ταυτόχρονων αναπτύξεων (3 από προεπιλογή).

  8. κατάσταση operation · σύνδεση runapi/product-store.jsπαρατήρηση: κατάσταση ανάπτυξης · ιστορικόοθόνη web · ιστορικό · Insightsapps/dashboard

    Η οθόνη web και τα εργαλεία MCP διαβάζουν τις ίδιες καταγραφές operation. Η πιο πρόσφατη προσπάθεια και η τρέχουσα επαληθευμένη ανάπτυξη εμφανίζονται χωριστά, και μια ολοκληρωμένη εργασία AI δεν είναι επιτυχία ανάπτυξης.

Έλεγχοι CI → δημοσίευση image

Ο σταθεροποιημένος κώδικας πλατφόρμας ελέγχει το υποβληθέν commit, αναθέτει στην AI μόνο αποτυχίες που διορθώνονται και δημοσιεύει μόνο images που πέρασαν ξανά τους ίδιους ελέγχους.

  1. ουρά ανάπτυξης · 3 ταυτόχροναapps/apiδεδομένα: source commitcommit πηγής · trailersapps/<tenant>/<app>

    Η υποβληθείσα πηγή γίνεται commit στο ιδιωτικό αποθετήριο apps (με τα trailers Railshot-Request και Railshot-Target), και ο κλάδος ενημερώνεται χωρίς force.

  2. ουρά ανάπτυξης · 3 ταυτόχροναapps/apiεκτέλεση · εφαρμογή: workflow_dispatchloop · βασικοί έλεγχοι L0–L3railshot-deploy.yml

    Ζητά εκτέλεση με tenant, app, source_commit και target_id. Αν χαθεί η απάντηση, δεν στέλνεται ξανά, αλλά αναζητούνται οι εκτελέσεις για το ίδιο commit.

  3. commit πηγής · trailersapps/<tenant>/<app>δεδομένα: υποβληθέν commitloop · βασικοί έλεγχοι L0–L3railshot-deploy.yml

    Γίνεται checkout μόνο του υποβληθέντος commit και του σταθεροποιημένου κώδικα πλατφόρμας (PLATFORM_REF).

  4. Επιδιόρθωση SDK · μόνο διορθώσιμες αποτυχίεςrailshot-deploy.ymlδεδομένα: αίτημα επιδιόρθωσης · υπό όρουςAI SDK provider

    Καλείται μόνο για κατηγορίες αποτυχιών που διορθώνονται, και σταματά όταν η ίδια αποτυχία επαναλαμβάνεται ή όταν εξαντλείται το όριο προσπαθειών. Επιτυχία ή αποτυχία αποφασίζουν οι έλεγχοι, όχι το LLM.

  5. release · δημοσίευση GHCR · σύνδεσηrailshot-deploy.ymlδεδομένα: δημοσίευση ελεγμένων imagesGHCR

    Αφού επαληθευτεί το bundle που πέρασε τους ελέγχους, τα ίδια images δημοσιεύονται στο GHCR. Τίποτα δεν ξαναχτίζεται.

  6. σύνδεση εκτέλεσης CI · παρατήρησηapps/apiπαρατήρηση: εκτέλεση · ανάγνωση δημοσίευσηςrailshot-deploy.yml

    Μια δημοσίευση μετρά μόνο όταν τα run id, source commit, target και app ταιριάζουν με την αποδεκτή καταγραφή.

  7. σύνδεση εκτέλεσης CI · παρατήρησηapps/apiαποτυχία · άγνωστο αποτέλεσμα: failed · publication_unverifiedκατάσταση operation · σύνδεση runapi/product-store.js

    Μια αποτυχία CI ή μια μη επαληθευμένη δημοσίευση καταγράφεται με διαγνωστικά και δεν περνά στο CD.

Εφαρμογή → δημόσιος έλεγχος

Εφαρμόζει μέσω config Git και Argo CD μόνο όταν η δημοσίευση ταιριάζει με τον καταχωρισμένο στόχο, και καταγράφει επιτυχία μόνο αφού περάσει τον έλεγχο η καταχωρισμένη δημόσια διεύθυνση HTTPS.

  1. release · δημοσίευση GHCR · σύνδεσηrailshot-deploy.ymlδεδομένα: images.json · spec · verdict · manifestcd.js · deployPublishedapps/api

    Το CD διαβάζει τα αρχεία της καταγραφής δημοσίευσης μέσω έμπιστου loader. Το ίδιο το CI δεν δημιουργεί πόρο συστοιχίας, URL ή επιτυχία ανάπτυξης.

  2. cd.js · deployPublishedapps/apiεκτέλεση · εφαρμογή: apply · καταχωρισμένος στόχοςέμπιστο config · καταχωρισμένος στόχοςgitops/bridge.py

    Εκτελεί το gitops/bridge.py με το έμπιστο config μόνο όταν το καταχωρισμένο app και ο tenant ταιριάζουν με την καταγραφή δημοσίευσης.

  3. commit · push · απομακρυσμένη επανανάγνωσηgitops/bridge.pyδεδομένα: workload commit · pushΑποθετήριο config Git

    Κάνει commit μόνο το workload.json στην καταχωρισμένη διαδρομή ενός αποκλειστικού κλάδου, καταγράφει πρώτα την πρόθεση push, κάνει push και ξαναδιαβάζει το απομακρυσμένο revision. Ένα αβέβαιο push δεν επαναλαμβάνεται.

  4. Αποθετήριο config Gitδεδομένα: revisionΈλεγχος Application · AppProjectArgo CD

    Το revision του αποθετηρίου config στο οποίο δείχνει το Argo CD Application.

  5. Argo sync · παρατήρησηgitops/bridge.pyεκτέλεση · εφαρμογή: sync · παρατήρησηΈλεγχος Application · AppProjectArgo CD

    Ζητά sync αφού ελέγξει το AppProject. Η παρατήρηση μόνο διαβάζει, χωρίς sync.

  6. Έλεγχος Application · AppProjectArgo CDεκτέλεση · εφαρμογή: εφαρμογήworkload · ServiceΣυστοιχία εφαρμογών K3s

    Εφαρμόζει το workload στη συστοιχία του καταχωρισμένου στόχου.

  7. workload · ServiceΣυστοιχία εφαρμογών K3sδεδομένα: image pull · digestGHCR

    Τραβά το δημοσιευμένο digest. Ένα ιδιωτικό GHCR χρειάζεται αποκλειστικό διαπιστευτήριο pull.

  8. probe δημόσιου HTTPSgitops/bridge.pyπαρατήρηση: HTTPS healthΔημόσιο HTTPS URL

    Ελέγχει μόνο τη διεύθυνση HTTPS health που καταχώρισε ο χειριστής, χωρίς ανακατευθύνσεις, για 200 (και το αναμενόμενο JSON αν έχει οριστεί).

  9. Δημόσιο HTTPS URLδεδομένα: δημόσια διαδρομήworkload · ServiceΣυστοιχία εφαρμογών K3s

    Η δημόσια διαδρομή (LB, NodePort, πιστοποιητικό) διαφέρει ανά πάροχο και καταχωρισμένο στόχο.

  10. cd.js · deployPublishedapps/apiδεδομένα: succeeded · revision · URLκατάσταση operation · σύνδεση runapi/product-store.js

    Καταγράφεται ως succeeded μόνο με cd.deployed, revision, επιτυχή δημόσιο έλεγχο HTTPS, τον χρόνο του και έγκυρο URL.

  11. cd.js · deployPublishedapps/apiαποτυχία · άγνωστο αποτέλεσμα: unknown · απαιτείται εναρμόνισηκατάσταση operation · σύνδεση runapi/product-store.js

    Ένα αποτέλεσμα που δεν μπορεί να γίνει γνωστό μένει unknown, και η ίδια εφαρμογή ούτε ξαναστέλνεται ούτε αναιρείται.

Παρατήρηση · όχι ετυμηγορία

Οι μετρικές και τα probes δεν αποφασίζουν την επιτυχία της ανάπτυξης. Τιμές που λείπουν, παλιές και αποτυχημένες εμφανίζονται όπως είναι.

  1. metrics observerapps/apiπαρατήρηση: Ερώτημα PromQLPrometheus

    Διαβάζει τις σειρές up, probe_success και Pod. Τιμές που λείπουν, είναι παλιές ή απέτυχαν εμφανίζονται σε αυτή την κατάσταση και ποτέ δεν μετατρέπονται σε 0.

  2. Prometheusπαρατήρηση: scrape · probeworkload · ServiceΣυστοιχία εφαρμογών K3s

    Scrape exporter και HTTP probe. Αυτές οι μετρικές δεν χρησιμοποιούνται για να κριθεί η επιτυχία της ανάπτυξης.

  3. κατάσταση operation · σύνδεση runapi/product-store.jsπαρατήρηση: κατάσταση ανάπτυξης · ιστορικόοθόνη web · ιστορικό · Insightsapps/dashboard

    Η οθόνη web και τα εργαλεία MCP διαβάζουν τις ίδιες καταγραφές operation. Η πιο πρόσφατη προσπάθεια και η τρέχουσα επαληθευμένη ανάπτυξη εμφανίζονται χωριστά, και μια ολοκληρωμένη εργασία AI δεν είναι επιτυχία ανάπτυξης.

  4. probe δημόσιου HTTPSgitops/bridge.pyπαρατήρηση: HTTPS healthΔημόσιο HTTPS URL

    Ελέγχει μόνο τη διεύθυνση HTTPS health που καταχώρισε ο χειριστής, χωρίς ανακατευθύνσεις, για 200 (και το αναμενόμενο JSON αν έχει οριστεί).

Κάθε σύνδεση με το ίδιο πάχος. Επιλέξτε μια ροή για να επισημανθεί μόνο η διαδρομή της, με αριθμημένα βήματα.

  • Συνεχής · η κατεύθυνση ροής πηγής, images και αιτημάτων
  • Διακεκομμένη · αίτημα εκτέλεσης, εφαρμογή ή sync
  • Μακριά παύλα-τελεία · αναγνώσεις κατάστασης, probes και μετρικές, χωριστά από την ετυμηγορία
  • Κοντή παύλα · καταγεγραμμένη αποτυχία ή unknown αποτέλεσμα
  • Παχιά μαύρη γραμμή · η επιλεγμένη ροή, οι αριθμοί δίνουν τη σειρά
  • Κουτί · όριο ιδιοκτησίας, με τη διαδρομή πηγής στην κεφαλίδα
  • Εσωτερικό τσιπ · στοιχείο μέσα σε αυτό το όριο
  • Διακεκομμένο κουτί · εκτός της πλατφόρμας
  • Πορτοκαλί περίγραμμα · σημείο όπου αποφασίζει ένα μοντέλο
  • API προϊόντος
  • Καταγραφές ανάπτυξης
  • Όριο εκτέλεσης CD
  • Είσοδος · CI · στόχος

Η εικόνα της October 2 (bc61a5a) στο docs/architecture/README.md είναι ιστορικό υλοποίησης, ενώ αυτή η αρχιτεκτονική ακολουθεί τον κώδικα του 645e28a. Οι πάροχοι και οι διαδρομές δικτύου διαφέρουν ανά καταχωρισμένο στόχο, και αυτό δεν σημαίνει ότι κάθε πάροχος είναι πάντα ενεργός.