# TenderSense — έκδοση 3.2 — Εγχειρίδιο Χρήστη

> **AI-driven invisible employee για ελληνικές B2G προμήθειες — για προμηθευτές ΚΑΙ δημόσιους φορείς.**
> Προμηθευτής: μαθαίνει τι πουλάς · παρακολουθεί όλα τα portals · βρίσκει τι ταιριάζει · σου δίνει ό,τι χρειάζεσαι για να κερδίσεις.
> Δημόσιος φορέας: όλα τα έργα σου, οι συμβάσεις, οι λήξεις και οι προθεσμίες σου — σε μία ενιαία, τεκμηριωμένη εικόνα (Authority Command Center).

---

## Περιεχόμενα

1. [Τι είναι το TenderSense](#1-τι-είναι-το-tendersense)
2. [Πρώτα βήματα — λογαριασμός & άδεια χρήσης](#2-πρώτα-βήματα--λογαριασμός--άδεια-χρήσης)
   - [Εγγραφή](#21-εγγραφή)
   - [Σύνδεση](#22-σύνδεση)
   - [Αγορά συνδρομής](#23-αγορά-συνδρομής)
   - [Ενεργοποίηση κλειδιού](#24-ενεργοποίηση-κλειδιού)
   - [Επαναφορά κωδικού](#25-επαναφορά-κωδικού)
3. [Onboarding — πες μας τι πουλάς](#3-onboarding--πες-μας-τι-πουλάς)
   - [Τρόπος Α: PDF](#31-τρόπος-α-pdf-ανέβασμα-αρχείων)
   - [Τρόπος Β: Ιστοσελίδα](#32-τρόπος-β-ιστοσελίδα-εταιρείας)
   - [Τρόπος Γ: Συνομιλία με τον agent](#33-τρόπος-γ-συνομιλία-με-τον-agent)
   - [Έλεγχος & έγκριση προϊόντων](#34-έλεγχος--έγκριση-προϊόντων)
4. [Ο Κατάλογός σου](#4-ο-κατάλογός-σου)
   - [Πλοήγηση & αναζήτηση](#41-πλοήγηση--αναζήτηση)
   - [Επεξεργασία προϊόντος](#42-επεξεργασία-προϊόντος)
   - [Μαζικές ενέργειες](#43-μαζικές-ενέργειες)
   - [Κατώφλια (persist / display threshold)](#44-κατώφλια-persist--display-threshold)
5. [Knowledge Base — τα έγγραφα των προϊόντων σου](#5-knowledge-base--τα-έγγραφα-των-προϊόντων-σου)
6. [Διαγωνισμοί](#6-διαγωνισμοί)
   - [Η λίστα και τα φίλτρα](#61-η-λίστα-και-τα-φίλτρα)
   - [Η σελίδα διαγωνισμού](#62-η-σελίδα-διαγωνισμού)
7. [Matches — το inbox σου](#7-matches--το-inbox-σου)
   - [Τι σημαίνει το score](#71-τι-σημαίνει-το-score)
   - [Γιατί ταιριάζει (explainability)](#72-γιατί-ταιριάζει-explainability)
   - [Feedback & statuses](#73-feedback--statuses)
   - [Re-match](#74-re-match)
   - [Σήμα ραντάρ λήξης](#75-σήμα-ραντάρ-λήξης)
8. [Opportunities — το κέντρο αποφάσεων](#8-opportunities--το-κέντρο-αποφάσεων)
9. [Drafts — οι προσφορές σου](#9-drafts--οι-προσφορές-σου)
10. [Οι 8 AI Agents](#10-οι-8-ai-agents)
    - [Analyzer](#101-tender-analyzer)
    - [Pricing](#102-price-intelligence)
    - [Compliance Matrix](#103-compliance-matrix)
    - [Draft Package](#104-draft-package)
    - [Bid / No-Bid](#105-bid--no-bid)
    - [Competitors](#106-competitor-intelligence)
    - [Deep Research](#107-deep-competitor-research)
    - [Proposal Drafter](#108-proposal-drafter)
11. [Insights — Business Intelligence (ΚΗΜΔΗΣ)](#11-insights--business-intelligence-κημδης)
     - [Πλοήγηση & ο κανόνας των τριών ερωτήσεων](#πλοήγηση--ο-κανόνας-των-τριών-ερωτήσεων)
     - [Ραντάρ λήξης συμβάσεων](#111-ραντάρ-λήξης-συμβάσεων)
     - [Περιοδικές προμήθειες (recurrence)](#112-περιοδικές-προμήθειες-recurrence)
     - [Πληρωμές φορέων](#113-πληρωμές-φορέων)
     - [Εκπτώσεις νικητών](#114-εκπτώσεις-νικητών)
     - [Ισχύς κατόχου](#115-ισχύς-κατόχου)
     - [Λευκά σημεία](#116-λευκά-σημεία)
     - [Κοινοπραξίες](#117-κοινοπραξίες)
     - [Προδιαγραφές](#118-προδιαγραφές)
     - [Τιμές ανά μονάδα](#119-τιμές-ανά-μονάδα)
     - [Μερίδια αγοράς](#1110-μερίδια-αγοράς)
     - [Προφίλ ανταγωνιστών](#1111-προφίλ-ανταγωνιστών)
12. [Ο Πράκτορας Πελάτη](#12-ο-πράκτορας-πελάτη)
     - [Τι είναι ο πράκτορας](#121-τι-είναι-ο-πράκτορας)
     - [Παλμός Αγοράς — το πρωινό brief](#122-παλμός-αγοράς--το-πρωινό-brief)
     - [Για Εσένα — ειδοποιήσεις με νόημα](#123-για-εσένα--ειδοποιήσεις-με-νόημα)
     - [Τα τρία επίπεδα πρότασης](#124-τα-τρία-επίπεδα-πρότασης)
     - [Προβλέψεις με ορίζοντα & βαθμολογία Brier](#125-προβλέψεις-με-ορίζοντα--βαθμολογία-brier)
     - [Καταχώριση αποτελέσματος & benchmark κατηγορίας](#126-καταχώριση-αποτελέσματος--benchmark-κατηγορίας)
     - [Έκθεση PDF](#127-έκθεση-pdf)
13. [Command Center — το κέντρο διοίκησης](#13-command-center--το-κέντρο-διοίκησης)
     - [Οι τρεις στήλες](#131-οι-τρεις-στήλες)
     - [Opportunity Twin](#132-opportunity-twin)
     - [Indicative Opportunity Value](#133-indicative-opportunity-value--το-μοντέλο-αξίας)
     - [Win Plan με αντίκτυπο](#134-win-plan--εκτελεστικές-ενέργειες-με-αντίκτυπο)
     - [Ο σφόνδυλος δεδομένων](#135-ο-σφόνδυλος-δεδομένων)
     - [Μελλοντικές ευκαιρίες (pre-tender)](#136-μελλοντικές-ευκαιρίες-pre-tender)
     - [Supplier Twin & Buyer Twin](#137-supplier-twin--buyer-twin)
     - [Win Simulator](#138-win-simulator)
14. [Η Συνομιλία με την ΤΝ](#14-η-συνομιλία-με-την-τν)
15. [Διαύγεια — ιστορικές κατακυρώσεις](#15-διαύγεια--ιστορικές-κατακυρώσεις)
16. [Overview — οι αριθμοί σου](#16-overview--οι-αριθμοί-σου)
17. [Ρυθμίσεις](#17-ρυθμίσεις)
    - [Ειδοποιήσεις](#171-ειδοποιήσεις)
    - [Priority alerts](#172-priority-alerts)
    - [Κατώφλια matching](#173-κατώφλια-matching)
    - [Ημερολόγιο](#174-ημερολόγιο-ical)
    - [Εξαγωγές](#175-εξαγωγές-xlsx--csv)
18. [Διαχείριση (Admin)](#18-διαχείριση-admin)
    - [Χρήστες](#181-χρήστες)
    - [Κλειδιά άδειας](#182-κλειδιά-άδειας)
    - [Αγορές](#183-αγορές)
    - [Λειτουργίες συστήματος](#184-λειτουργίες-συστήματος)
    - [Ποιότητα matcher](#185-ποιότητα-matcher)
19. [Συχνές ερωτήσεις](#19-συχνές-ερωτήσεις)
20. [Τεχνικό παράρτημα](#20-τεχνικό-παράρτημα)
21. [Τι άλλαξε στην έκδοση 2.0 — ΒΙ & νέες πηγές](#21-τι-άλλαξε-στην-έκδοση-20--βι--νέες-πηγές)
22. [Τι άλλαξε στην έκδοση 2.5 — Future Tender Twin](#22-τι-άλλαξε-στην-έκδοση-25--future-tender-twin)
23. [Τι άλλαξε στις 31/8–1/9 — ποιότητα CPV, domain παντού, ταχύτητα](#23-τι-άλλαξε-στις-31819--ποιότητα-cpv-domain-παντού-ταχύτητα)
24. [Έκδοση 3.0 — Authority Command Center για Δημόσιους Φορείς](#24-έκδοση-30--authority-command-center-για-δημόσιους-φορείς)
    - [Δύο ρόλοι, μία πλατφόρμα](#241-δύο-ρόλοι-μία-πλατφόρμα)
    - [Το Authority Command Center](#242-το-authority-command-center)
    - [Οι εξαγωγές (Word / Excel / PDF)](#243-οι-εξαγωγές-word--excel--pdf)
    - [«Απαιτεί την προσοχή μου» & Διορθώσεις γράφου](#244-απαιτεί-την-προσοχή-μου--διορθώσεις-γράφου)
    - [Στοιχεία φορέα](#245-στοιχεία-φορέα)
    - [Αρχές & όρια](#246-αρχές--όρια)
25. [Έκδοση 3.1 — Το B2G OS](#25-έκδοση-31--το-b2g-os)
    - [Η αναλογία — γιατί «OS»](#251-η-αναλογία--γιατί-os)
    - [Ο κύκλος εσόδου του προμηθευτή](#252-ο-κύκλος-εσόδου-του-προμηθευτή)
    - [Το οικοσύστημα — για developers](#253-το-οικοσύστημα--για-developers)
    - [Οι δύο κόσμοι](#254-οι-δύο-κόσμοι)
26. [Έκδοση 3.2 — Φίλτρα, Ικανότητες & Έργα](#26-έκδοση-32--φίλτρα-ικανότητες--έργα)
    - [Advanced φίλτρα & presets](#261-advanced-φίλτρα--presets)
    - [Εταιρικές Ικανότητες (/capabilities)](#262-εταιρικές-ικανότητες-capabilities)
    - [Έλεγχος προϋποθέσεων & εταίροι](#263-έλεγχος-προϋποθέσεων--εταίροι)
    - [Έργα (/projects)](#264-έργα-projects)
    - [«Πίσω από τις λέξεις» & νέα εργαλεία πράκτορα](#265-πίσω-από-τις-λέξεις--νέα-εργαλεία-πράκτορα)

---

## 1. Τι είναι το TenderSense

Το TenderSense είναι ένας **AI co-pilot πωλήσεων δημοσίου τομέα** για εταιρείες που πουλάνε στο ελληνικό Δημόσιο (νοσοκομεία, δήμους, περιφέρειες, ΔΕΚΟ). Δεν είναι απλός aggregator αναζήτησης λέξεων:

| Κάνει | Πώς |
|---|---|
| **Μαθαίνει τι πουλάς** | Onboarding σε 5–15 λεπτά (PDF / ιστοσελίδα / συνομιλία) |
| **Παρακολουθεί 24/7** | iSupplies (30+ νοσοκομεία), ΕΣΗΔΗΣ, Διαύγεια, ΚΗΜΔΗΣ |
| **Σκέφτεται σημασιολογικά** | AI gate ελέγχει αν το προϊόν σου καλύπτει ΠΡΑΓΜΑΤΙΚΑ τη διακήρυξη |
| **Ειδοποιεί μόνο για relevant** | Score κατώφλι, quiet hours, όχι spam |
| **Δουλεύει για σένα** | Αναλύσεις διακηρύξεων, τιμές κατακύρωσης, drafts προσφορών, bid/no-bid |
| **Γνωρίζει την αγορά** | Ραντάρ λήξης συμβάσεων, περιοδικότητα, πληρωμές φορέων, εκπτώσεις νικητών, ισχύς κατόχου, λευκά σημεία, κοινοπραξίες (ΚΗΜΔΗΣ Open Data) |

**Ακλόνητοι κανόνες:** ποτέ δεν υποβάλλει τίποτα αυτόματα. Κάθε draft, κάθε τιμή, κάθε απόφαση περνάει από ΕΣΕΝΑ.

---

## 2. Πρώτα βήματα — λογαριασμός & άδεια χρήσης

### 2.1 Εγγραφή

1. Άνοιξε τη σελίδα εισόδου (`/` ή `/login`).
2. Πάτα **Εγγραφή** και δώσε: email, κωδικό (τουλάχιστον 8 χαρακτήρες), επωνυμία.
3. Προαιρετικά: ΑΦΜ, τηλέφωνο, υπεύθυνο επικοινωνίας — βοηθούν στο τιμολόγιο αργότερα.

Με την εγγραφή ο λογαριασμός είναι **pending**: μπορείς να μπεις, αλλά τα κύρια μενού επιστρέφουν **402 Payment Required** μέχρι να ενεργοποιηθεί η συνδρομή.

### 2.2 Σύνδεση

Email + κωδικός → το σύστημα εκδίδει token που ισχύει **7 ημέρες** (δεν θα σε πετάξει έξω κατά τη διάρκεια μεγάλων ροών εργασίας). Αν ξεχάσεις τον κωδικό, βλ. [2.5](#25-επαναφορά-κωδικού).

**Ασφάλεια:** μετά από 5 αποτυχημένες προσπάθειες/λεπτό από την ίδια IP ή 10 αποτυχημένες/15 λεπτά για το ίδιο email, το login μπλοκάρεται προσωρινά (429).

### 2.3 Αγορά συνδρομής

1. Πήγαινε στο **/buy** και διάλεξε πακέτο: 1, 2, 4 μήνες στην τιμή βάσης · **6 μήνες −10%** · **12 μήνες −15%**.
2. Ολοκλήρωσε την **κατάθεση** στα στοιχεία που εμφανίζονται (IBAN, τράπεζα) — δεν υπάρχει πάροχος πληρωμών, είναι τραπεζική κατάθεση.
3. Ο διαχειριστής βλέπει το αίτημά σου, εκδίδει το κλειδί και στο στέλνει (email/τηλέφωνο).

### 2.4 Ενεργοποίηση κλειδιού

1. Στο **/activate** πληκτρολόγησε το κλειδί της μορφής `TS-XXXX-XXXX-XXXX-XXXX`.
2. Η συνδρομή ενεργοποιείται ΑΜΕΣΩΣ και ισχύει από εκείνη τη στιγμή (όχι από την έκδοση του κλειδιού).
3. **Ανανέωση:** αν εξαργυρώσεις νέο κλειδί πριν λήξει το τρέχον, ο χρόνος **προστίθεται** στο υπόλοιπο — δεν χάνεις μέρες.

Τα status της άδειας: **pending** (χωρίς πρόσβαση) → **active** (πλήρης) → **expired** (login OK, δεδομένα ορατά, λειτουργίες μπλοκαρισμένες με 402) → **revoked** (ακύρωση από διαχειριστή).

### 2.5 Επαναφορά κωδικού

Στο `/forgot-password` δώσε το email σου. Θα λάβεις (όταν το email σου είναι επιβεβαιωμένο) link επαναφοράς που ισχύει 24 ώρες. Το σύστημα δεν αποκαλύπτει αν ένα email υπάρχει ή όχι (anti-enumeration).

---

## 3. Onboarding — πες μας τι πουλάς

Το πιο κρίσιμο βήμα: **χωρίς κατάλογο δεν υπάρχουν matches**. Υπάρχουν 3 τρόποι — όλοι καταλήγουν στο ίδιο: structured κατάλογος με AI συνώνυμα, CPV κωδικούς και keywords.

### 3.1 Τρόπος Α: PDF ανέβασμα

1. Στο `/onboarding` επίλεξε **PDF** και ανέβασε καταλόγους, price lists, datasheets (έως 50 MB/αρχείο).
2. Εξαγωγή σε 3 επίπεδα: pdfplumber → pypdf → **Tesseract OCR** για σαρωμένα PDF (ελληνικά+αγγλικά).
3. Η τεχνητή νοημοσύνη μας κανονικοποιεί κάθε προϊόν: SKU, όνομα, κατηγορία, κατασκευαστής, περιγραφή, τεχνικά.

### 3.2 Τρόπος Β: Ιστοσελίδα εταιρείας

1. Δώσε το URL του site σου (π.χ. `mycompany.gr/products`).
2. Ο crawler βρίσκει sitemap.xml (γρήγορος δρόμος), αλλιώς σκανάρει έως 1.000 σελίδες με 8 παράλληλα requests — και Playwright για JS-heavy σελίδες.
3. Στο τέλος: τα προϊόντα σου εξαγμένα από τη δική σου online παρουσία.

### 3.3 Τρόπος Γ: Συνομιλία με τον agent

Γράψε μια πρόταση: *«Πουλάμε servers HP/Dell, switches Cisco, UPS APC, καλωδιώσεις, racks»*. Ο agent (ο ίδιος που σε συνοδεύει καθημερινά στο Command Center — κεφ. 13) παράγει draft κατάλογο. Ιδανικό για γρήγορο ξεκίνημα.

### 3.4 Έλεγχος & έγκριση προϊόντων

Μετά την εξαγωγή, βλέπεις **preview πίνακα** με drafts:
- **Επεξεργασία inline** (όνομα, κατηγορία, συνώνυμα, CPV) — οι αλλαγές σου αποθηκεύονται.
- **Έγκριση επιλεγμένων** ή όλων με ένα κλικ.
- Κάθε εγκεκριμένο προϊόν αποκτά `ai_generation_metadata` (πηγή, μοντέλο, ώρα, `user_approved=true`) — πλήρες audit trail.

Μόλις εγκρίνεις, το σύστημα **αυτόματα**: υπολογίζει το domain προφίλ σου (CPV firewall), σκανάρει τις πηγές και κάνει re-match — τα αποτελέσματα σε περιμένουν στο inbox.

---

## 4. Ο Κατάλογός σου

Σελίδα **/app** (Catalog).

### 4.1 Πλοήγηση & αναζήτηση

- Πεδίο αναζήτησης πάνω δεξιά (φιλτράρει τοπικά).
- Κουμπί «μόνο ενεργά» — κρύβει ανενεργά προϊόντα.
- Κάθε κάρτα δείχνει: SKU, όνομα, κατηγορία, κατασκευαστή, AI συνώνυμα, CPV, pricing, κατάσταση.

### 4.2 Επεξεργασία προϊόντος

Μπορείς να αλλάξεις: όνομα, κατηγορία, κατασκευαστή, περιγραφή, τεχνικά χαρακτηριστικά, **συνώνυμα** (τα χρησιμοποιεί το matching — πρόσθεσε εναλλακτικούς όρους!), τιμές (list/floor/target/last won), και να ενεργοποιήσεις/απενεργοποιήσεις.

**Νέο: διόρθωση CPV.** Διαφωνείς με τα CPV που πρότεινε ο AI; Στο **✎ Επεξεργασία** υπάρχει πεδίο «CPV» — γράψε τους σωστούς 8ψήφιους κωδικούς (comma-separated) και Αποθήκευση. Οι κωδικοί επικυρώνονται (μόνο 8ψήφιοι) και τα νέα CPV επιβεβαιώνονται αυτόματα.

Κάθε αποθήκευση: επανυπολογίζει τα ενεργά συνώνυμα, κάνει **re-index στο vector store (Qdrant)** και ξεκινάει background re-match.

### 4.3 Μαζικές ενέργειες

Επίλεξε πολλά SKU με τα checkboxes → **Ενεργοποίηση / Απενεργοποίηση / Διαγραφή / Επαναφορά** μαζικά. Η διαγραφή είναι **soft**: το προϊόν κρύβεται και τα matches του αποκρύπτονται, αλλά μπορείς να το επαναφέρεις με ένα κλικ.

### 4.4 Κατώφλια (persist / display threshold)

- **Display threshold**: το slider στο inbox — απλώς φιλτράρει τι ΒΛΕΠΕΙΣ.
- **Persist threshold** (0.45–1.00): αποθηκεύεται στο προφίλ σου και ισχύει server-side — matches κάτω από αυτό το score **δεν αποθηκεύονται καθόλου**. Ανεβάζοντάς το μειώνεις τον θόρυβο· κατεβάζοντάς το πιάνεις περισσότερες ευκαιρίες.

### 4.5 ✓ Επιβεβαίωση CPV (στήλη «✓ CPV»)

Κάθε προϊόν έχει κουμπί στη στήλη **«✓ CPV»**:

- **Γκρι «—»** = δεν έχεις επιβεβαιώσει τα προτεινόμενα CPV. Κλικ → επιβεβαίωση (πράσινο «✓»).
- **Πράσινο «✓»** = επιβεβαιωμένο. Κλικ → **ο AI ξανατρέχει την αντιστοίχιση** για αυτό το προϊόν (⏳ όσο τρέχει) και σου προτείνει νέα CPV — η στήλη CPV ενημερώνεται μόνη της.

Η επιβεβαίωση είναι **μη υποχρεωτική** — δηλώνει εμπιστοσύνη και διαφάνεια. Τα CPV πίσω από τα φίλτρα, το matching και το ραντάρ είναι πάντα τα τρέχοντα `ai_generated_cpv` — αυτά που βλέπεις στη στήλη CPV.

---

## 5. Knowledge Base — τα έγγραφα των προϊόντων σου

Σελίδα **/knowledge**. Ανέβασε: datasheets, πιστοποιητικά (CE, ISO), δηλώσεις συμμόρφωσης, manuals, price lists.

**Γιατί έχει σημασία:** τα έγγραφα αυτά γίνονται **τεκμήρια (evidence)**:
- Το σύστημα εξάγει facts & certifications (AI ή deterministic parser για γάντια κλπ).
- Κάθε έγγραφο **αυτόματα συνδέεται** με το σχετικό SKU (lexical + σημασιολογικό ταίριασμα με το τοπικό μοντέλο) — πάνω από 0.88 confidence γίνεται linked μόνο του, αλλιώς σε ρωτάει.
- Τα linked docs τροφοδοτούν: το Compliance Matrix (ο AI δικαστής μπορεί να επικαλεστεί ΜΟΝΟ αυτά τα evidence), τα match explanations, τα drafts με citations («σελ. 3 του πιστοποιητικού ISO 13485»), **και το embedding του προϊόντος** (knowledge_summary/attributes) — δηλαδή κάνουν και το semantic matching πιο ακριβές.

Οι καταστάσεις: **uploaded → extracting → analyzing → matching → linked / review / failed**.

---

## 6. Διαγωνισμοί

### 6.1 Η λίστα και τα φίλτρα

Σελίδα **/tenders** — όλοι οι διαγωνισμοί που έχει μαζέψει το σύστημα από τις 4 πηγές:

| Πηγή | Τι δίνει |
|---|---|
| **iSupplies** | 30+ νοσοκομειακά portals (ΠΑΓΝΗ, Αττικόν, Ευαγγελισμός…) — ενεργοί & ολοκληρωμένοι |
| **ΕΣΗΔΗΣ** | Δημόσιοι διαγωνισμοί (μέσω ΚΗΜΔΗΣ Open Data) |
| **Διαύγεια** | Περιλήψεις διακηρύξεων όλης της χώρας |
| **ΚΗΜΔΗΣ** | Προκηρύξεις-προσκλήσεις με ΑΔΑΜ |

Φίλτρα: αναζήτηση τίτλου, status (ενεργοί/ολοκληρωμένοι/ακυρωμένοι), πηγή. Οι ενεργοί σαρώνονται κάθε **15 λεπτά**, οι ολοκληρωμένοι κάθε **24 ώρες**.

### 6.2 Η σελίδα διαγωνισμού

Ανά διαγωνισμό βλέπεις: φορέα, προϋπολογισμό, CPV, ημερομηνίες, περιγραφή, items, attachments (PDF) και το **AI summary** (4–6 προτάσεις). Το κουμπί «Ανανέωση summary» ξαναπαράγει με force.

---

## 7. Matches — το inbox σου

Σελίδα **/matches** — εδώ γίνεται η δουλειά.

### 7.1 Τι σημαίνει το score

`final = 0.15·embed + 0.15·rerank + 0.20·keyword + 0.25·CPV + 0.25·calibrated AI`

- **embed**: σημασιολογική ομοιότητα (self-hosted πολύγλωσσο μοντέλο) του προϊόντος με το tender
- **rerank**: AI reranker — ποιοτικό φιλτράρισμα
- **keyword**: λεκτική επικάλυψη (ελληνικά, fuzzy — ανέχεται λάθη στα PDF)
- **CPV**: ιεραρχική ταξινομία — 8ψήφιο ταυτόσημο = 100%
- **AI confidence**: το AI gate — η **αυθεντία** συμβατότητας (min 0.72 για αποδοχή). Το numeric score είναι μόνο ranking.

**Παράδειγμα πραγματικού match:** «59% · EMB 36 · RR 13 · KW 17 · CPV 100 · AI 95». Η πράξη: `0.15·36 + 0.15·13 + 0.20·17 + 0.25·100 + 0.25·95 = 59.5%`. Το **59%** είναι ο σταθμισμένος συνδυασμός όλων των σημάτων (ranking)· το **AI 95%** είναι η εμπιστοσύνη του μοντέλου ότι το προϊόν καλύπτει πραγματικά τη διακήρυξη (κρίση). Γιατί πέφτει στο 59%; γιατί τα υπόλοιπα σήματα (embedding/rerank/keywords) ήταν αδύναμα — το «Χαμηλή συμφωνία σημάτων» warning δείχνει ακριβώς αυτή την ασυμφωνία.

**Πώς δουλεύει το AI gate:** αφού το deterministic scoring βγάλει shortlist, η τεχνητή νοημοσύνη μας αποφασίζει για κάθε ζεύγος: `compatible` / `possible_equivalent` / `incompatible`. Αμφίβολες περιπτώσεις (0.50–0.85) περνάνε **δεύτερη γνώμη με βήμα-βήμα reasoning**. Μαθαίνει από τις αποφάσεις ΣΟΥ: αν απορρίπτεις συστηματικά κάτι, το gate το θυμάται (ειδικά τα **won/lost** — το ισχυρότερο σήμα).

### 7.2 Γιατί ταιριάζει (explainability)

Πάτα το match για να ανοίξει το πλήρες πάνελ:
- **AI αιτιολόγηση** (reason) + ταιριαστές έννοιες + τυχόν ελλείψεις
- **Matched CPV codes** και **matched keywords** — τι ακριβώς ταίριαξε
- **Agent reports** — Analyzer / Pricing / Compliance / Draft / Bid-No-Bid / Competitors (τρέχουν on-demand)
- **Evidence** — αποσπάσματα από τη διακήρυξη, τα Knowledge docs (με σελίδες!) και τον κατάλογο

### 7.3 Feedback & statuses

Κάθε match έχει status: **νέο → ενδιαφέρον / απορρίφθηκε → draft → υποβλήθηκε → κερδήθηκε / χάθηκε**. Άλλαξέ το από το dropdown της σειράς — αυτό εκπαιδεύει το AI gate και τροφοδοτεί το Overview.

### 7.4 Re-match

Το κουμπί **Re-match catalog** ξανατρέχει όλο το matching (retrieval → domain firewall → AI gate batches) για τον κατάλογό σου σε όλους τους ενεργούς διαγωνισμούς, στο background. Χρήσιμο μετά από μεγάλες αλλαγές καταλόγου.

Όσο τρέχει, βλέπεις **ζωντανή πρόοδο**: «AI re-match σε εξέλιξη: προϊόν MF-GLV-7501 (AI έλεγχος συμβατότητας) — 14 matches μέχρι στιγμής» και η λίστα **ανανεώνεται μόνη της κάθε ~15 δευτερόλεπτα** — τα matches γεμίζουν μπροστά στα μάτια σου, δεν περιμένεις το τέλος.

### 7.5 Σήμα ραντάρ λήξης

Πράσινο badge **«📡 ραντάρ: λήγουν Χ μέρες»** σε ένα match σημαίνει: ο ίδιος φορέας έχει **συμβάσεις ίδιας κατηγορίας που λήγουν σύντομα** (δεδομένα ΚΗΜΔΗΣ) — το tender είναι πιθανή ανανέωση. Κάνε hover για κάτοχο και τιμή.

---

## 8. Opportunities — το κέντρο αποφάσεων

Σελίδα **/opportunities** — **διαφορετικό επίπεδο από τα Matches**: τα matches είναι ζεύγη «προϊόν × διαγωνισμός» (πρώτη ύλη)· τα opportunities είναι προβολή **ανά διαγωνισμό** (το καλύτερο match του tender) με στρατηγική βαθμολόγηση:

`opportunity_score = 0.62·bid-decision + 0.12·match + 0.12·budget + 0.10·urgency + 0.04·compliance` μείον ποινές.

Το **match score** απαντά «πόσο ταιριάζει»· το **opportunity score** απαντά «πόσο αξίζει να ασχοληθώ». Αν βλέπεις match 58% και opportunity 39%, ο λόγος είναι το bucket «Missing decision»: δεν έχουν τρέξει ακόμα οι agents (Analyzer→Compliance→Pricing→Bid) — το 39% είναι εκτίμηση. Πάτα **Refresh** και θα ανέβει (bid) ή θα μηδενιστεί (no_bid).

| Bucket | Τι σημαίνει |
|---|---|
| 🔴 deadline_risk | Λήγει σύντομα — δράσε τώρα |
| 🟢 ready | Ανάλυση, compliance και τιμές έτοιμα — μπορείς να πας σε draft |
| 🟡 action_needed | Λείπουν reports — πάτα refresh |
| 🔵 high_value | ≥ €20.000 — δες το πρώτα |
| ⚫ blocked | Κiller clause ή ελλιπή evidence — δύσκολη περίπτωση |
| ⚪ missing_decision | Δεν έχει βγει ακόμα bid/no-bid |

Κουμπί **Refresh** → τρέχει την πεντάδα Analyzer → Compliance → Pricing → Draft Package → Bid/No-Bid για τα νέα tenders (background, με progress).

---

## 9. Drafts — οι προσφορές σου

Σελίδα **/drafts**. Δύο δρόμοι για draft:

1. **Ανά match**: «Σύνταξε draft» στο inbox → πλήρες draft για το συγκεκριμένο προϊόν (σύνοψη, τιμή με rationale, checklist).
2. **Ανά διαγωνισμό**: μέσα στο match πάνελ, Proposal Drafter → ολοκληρωμένη προσφορά (cover letter, συμμόρφωση, προϊόντα, τιμολόγηση).

Μέσα στο draft editor:
- **Επεξεργασία** όλων των sections (αποθηκεύεται ως `user_edited_content` — το AI δεν θα σου το σβήσει σε επόμενη αναγέννηση)
- **Δική σου τιμή** (user_price_eur) — κρατάει το δικό σου νούμερο
- **Checklist** δικαιολογητικών — τσέκαρέ τα ένα-ένα
- Status: draft → edited → approved → **submitted** → discarded

**Υπενθύμιση:** κανένα draft δεν υποβάλλεται ποτέ αυτόματα. Το κουμπί «submitted» το πατάς εσύ ΑΦΟΥ υποβάλεις πραγματικά στο portal.

---

## 10. Οι 8 AI Agents

Όλοι αποθηκεύουν reports με audit (model, tokens, κόστος, fingerprint εισόδων) και κάνουν cache — αν δεν άλλαξαν τα δεδομένα, παίρνεις το cached αποτέλεσμα άμεσα.

### 10.1 Tender Analyzer
Διαβάζει ΟΛΗ τη διακήρυξη (PDF έως 700.000 χαρακτήρες στο 1Μ context του μοντέλου μας) και εξάγει: περίληψη, ζητούμενα items με ποσότητες, **killer clauses** (προδιαγραφές που σε αποκλείουν: τζίρος, εμπειρία, αποκλειστικότητα), απαιτούμενα δικαιολογητικά, εγγυητικές, όρους παράδοσης/πληρωμής, **participation score 0–1** (0.85 = μεγάλη ευκαιρία) και win-probability hint. Αν η πλήρης ανάλυση αποτύχει, βγάζει lightweight εκτίμηση από τα metadata.

### 10.2 Price Intelligence
Ψάχνει Διαύγεια (ιστορικό φορέα + ανά item + ανά CPV κατηγορία) **και ΚΗΜΔΗΣ** (πραγματικές μοναδιαίες τιμές από συμβόλαια) και βγάζει: συνιστώμενη τιμή ανά item, συνολικό ποσό, προτεινόμενη έκπτωση (0–15%), top ανταγωνιστές, μοτίβα φορέα. Αν τα ιστορικά είναι λίγα (<3), το λέει με `confidence: low` και ΔΕΝ εφευρίσκει τιμές.

### 10.3 Compliance Matrix
Χτίζει πίνακα συμμόρφωσης απαίτηση-προς-απαίτηση: ξεκινά **deterministic** (κανόνες για πρότυπα EN/ISO/CE, υλικά, συσκευασία κλπ), μετά **AI δικαστής** που μπορεί να επικαλεστεί ΜΟΝΟ τα evidence των Knowledge docs σου (server-side validation των citations). Αποτέλεσμα: coverage score + status (blocked / needs_review / ready) + gaps.

### 10.4 Draft Package
Συγκεντρώνει (χωρίς AI, χωρίς εφευρέσεις): executive brief, πρόταση προϊόντων, φύλλο συμμόρφωσης, παράρτημα τεκμηρίων με σελίδες, gaps/actions, checklist. Το «πακέτο εργασίας» για την ομάδα σου.

### 10.5 Bid / No-Bid
Σκορ απόφασης με 7 σταθμισμένους παράγοντες (compliance 26%, fit 18%, match 14%, εμπορικό 14%, ανταγωνισμός 10%, ετοιμότητα 10%, χρόνος 8%): **bid ≥ 0.72 · bid_with_conditions ≥ 0.48 · defer ≥ 0.32 · no_bid**. Οποιοδήποτε blocker → αυτόματο cap — δεν θα σου πει «bid» με killer clause.

### 10.6 Competitor Intelligence
Ποιος κερδίζει στον φορέα: top winners, συγκέντρωση αγοράς (monopoly/oligopoly/fragmented), loyalty patterns + **στοιχεία ΚΗΜΔΗΣ** (συμβάσεις, αξίες, φορείς εγκατάστασης). Σου λέει: «ο φορέας προτιμά lowest-price → ανταγωνίσου στην τιμή».

### 10.7 Deep Competitor Research
Live έρευνα στο web: έως 8 ανταγωνιστές με links, πρόσφατες κατακυρώσεις, πιστοποιήσεις, 5 συστάσεις συμμετοχής. Αργό (60–180 δευτ.) αλλά «φρέσκο» — το τρέχεις όταν θέλεις πραγματική έρευνα αγοράς.

### 10.8 Proposal Drafter
Το ολοκληρωμένο draft προσφοράς: cover letter, σύσταση εταιρείας, συμμόρφωση, πρόταση προϊόντων, τιμολόγηση, παράδοση, απάντηση στα δικαιολογητικά. Ποτέ δεν εφευρίσκει πιστοποιητικά/εμπειρία — τα κενά τα σημαδεύει.

---

## 11. Insights — Business Intelligence (ΚΗΜΔΗΣ)

Σελίδα **/insights**. Πραγματικά δημόσια δεδομένα (ΚΗΜΔΗΣ Open Data, CC BY 4.0), ενημερωμένα καθημερινά — **αυτή είναι η δύναμη του TenderSense**: νούμερα που κανένα άλλο εργαλείο στην Ελλάδα δεν δείχνει.

### Πλοήγηση & ο κανόνας των τριών ερωτήσεων

Η εφαρμογή πλοηγείται από **πλευρικό μενού (sidebar)**. Τα BI reports βρίσκονται όλα κάτω από το **«BI Insights»** — ανοιγόμενο δέντρο με κάθε report ξεχωριστά (μπορείς να το ανοίξεις/κλείσεις, η κατάσταση θυμάται).

**Κάθε νούμερο απαντάει σε μία από τρεις ερωτήσεις του πωλητή:** *να κατέβω; σε τι τιμή; εναντίον ποιου;* Αν ένα νούμερο δεν απαντάει σε αυτά, δεν υπάρχει στο Insights.

Σε κάθε γραμμή των πινάκων υπάρχει το κουμπί **✨ (AI ερμηνεία)** — η τεχνητή νοημοσύνη αναλύει τα ΠΡΑΓΜΑΤΙΚΑ στοιχεία της συγκεκριμένης γραμμής (ονομαστικά τον φορέα, τα ακριβή νούμερά του, τη σύγκριση με την αγορά) και γράφουν 2-3 προτάσεις. Δεν είναι πρότυπα κείμενα — είναι ανάλυση που τρέχει εκείνη τη στιγμή και κρατιέται σε cache.

**Fail-closed:** αν για κάποιον φορέα/κατηγορία δεν υπάρχουν αρκετά δεδομένα, το σύστημα δείχνει «ανεπαρκή δεδομένα» — ΠΟΤΕ δεν εφευρίσκει αριθμούς.

**Ποιοτικοί κανόνες στα δεδομένα:** οι τροποποιητικές πράξεις (παρατάσεις, ΑΠΕ, ορθές επαναλήψεις) ΔΕΝ μετράνε σαν νέες συμβάσεις — αλλιώς θα τριπλασιάζονταν οι τζίροι.

### 11.1 Ραντάρ λήξης συμβάσεων
Ποιες δημόσιες συμβάσεις λήγουν σε εύρος που επιλέγεις (**0–30 / 31–90 / 91–180 / 181–365 ημέρες**): τίτλος, φορέας, **κάτοχος**, αξία. **Μόνο ανανεώσιμες συμβάσεις** — ποιοτικά φίλτρα: διάρκεια ≥ 90 ημέρες (οι εφάπαξ απευθείας αναθέσεις έχουν διάρκεια ~0), αξία ≥ €30.000 (κάτω από αυτό δεν υπάρχει διαγωνιστική διαδικασία), χωρίς πολιτιστικά/εκδηλώσεις (CPV 92xx, 7995xx). Τα αποτελέσματα σκοπεύονται στον κλάδο σου (CPV roots του καταλόγου σου).

### 11.2 Περιοδικές προμήθειες (recurrence)
Η πραγματική δύναμη του BI: **η ημερομηνία λήξης είναι proxy — η αλήθεια είναι η περιοδικότητα.** Το σύστημα εντοπίζει μοτίβα «ίδιος φορέας + ίδια οικογένεια CPV που επανεμφανίζεται» (με **τουλάχιστον 3 εμφανίσεις** — οι δύο είναι σύμπτωση) και προβλέπει: *«ο φορέας Χ προκηρύσσει καθαριότητα κάθε 12 μήνες εδώ και 4 χρόνια, κάτοχος ο Ψ, μέση αξία €180.000 — επόμενη σε ~5 μήνες»*. Το πιο πολύτιμο δεδομένο για προληπτικό selling: ξέρεις ΠΟΤΕ θα βγει η προκήρυξη πριν καν βγει. Οι τροποποιητικές πράξεις δεν μετράνε σαν νέες εμφανίσεις.

### 11.3 Πληρωμές φορέων
**Πόσες μέρες κάνει πραγματικά ο κάθε φορέας να πληρώσει;** Μέτρηση από 1,3 εκατ. εντολές πληρωμών ΚΗΜΔΗΣ συνδεδεμένες με τις συμβάσεις τους: διάμεσος, P90, % εντός 60/90 ημερών, τάση 6μήνου. Παράδειγμα: *«το νοσοκομείο Χ πληρώνει σε 371 μέρες διάμεσο, το Ψ σε 1»*. Για ΜμΕ είναι ζωή ή θάνατος — κανένα εργαλείο στην Ελλάδα δεν το δείχνει. Το ✨ εξηγεί τι σημαίνει για την τιμή σου (ρίσκο ρευστότητας).

### 11.4 Εκπτώσεις νικητών
**Πόσο κάτω από τον προϋπολογισμό κλείνει ο νικητής;** Ανά φορέα × κατηγορία CPV × έτος: μέση έκπτωση, εύρος, μέσο budget vs τελική αξία. Βάλε τον **προϋπολογισμό του νέου διαγωνισμού** και το ✨ σου δίνει **εύρος τιμής-στόχου** για την προσφορά σου — το νούμερο που σήμερα όλοι μαντεύουν.

### 11.5 Ισχύς κατόχου
**Πόσο πολιορκήσιμο είναι το φέουδο;** Συνεχόμενες νίκες του ίδιου κατόχου ανά φορέα × κατηγορία. 3+ συνεχόμενα = **Φρούριο** (μην ξοδέψεις τρεις μέρες), 2 = **Δύσκολο**, 1 ή εναλλαγή = **Διεκδικήσιμο** (ρίξου). Το bid/no-bid γίνεται αριθμός, όχι προαίσθημα.

### 11.6 Λευκά σημεία
**Πιστοποιημένος αλλά απών.** Φορείς που αγόρασαν τις κατηγορίες του καταλόγου σου τους τελευταίους 24 μήνες και ΠΟΤΕ από εσένα: *«11 διαγωνισμοί €340.000 σε φορείς όπου δεν κατέβηκες»*. Καθαρή αριθμητική συνόλων — χαμένα δικά σου λεφτά. **Προϋποθέσεις:** το ΑΦΜ της εταιρείας στο προφίλ σου και ενεργός κατάλογος με CPV.

### 11.7 Κοινοπραξίες
**Ποιος συμπράττει με ποιον;** Από τις κοινές αναθέσεις του ΚΗΜΔΗΣ (πάνω από 10.500 συμβάσεις με πολλαπλούς αναδόχους): βάλε μια εταιρεία και δες τους συστηματικούς εταίρους της, σε ποιους φορείς και σε ποιες κατηγορίες. *«Για να μπεις στον φορέα Χ, οι πιθανοί σου εταίροι είναι οι Α και Β»*. Πουλάει συνεργασίες, όχι μόνο πληροφορία.

### 11.8 Προδιαγραφές
**Πόσο στενές είναι οι προδιαγραφές;** Βάλε το ΑΔΑΜ μιας σύμβασης: η τεχνητή νοημοσύνη διαβάζει το κείμενο της διακήρυξης, εντοπίζουν αναφορές σε συγκεκριμένες επωνυμίες/μοντέλα, και μετράμε πόσοι προμηθευτές έχουν **ιστορικά** κερδίσει με αντίστοιχα CPV (πλάτος ανταγωνισμού 0–100). Ίδια πληροφορία, **ουδέτερη διατύπωση** — το συμπέρασμα το βγάζεις εσύ.

### 11.9 Τιμές ανά μονάδα
Ψάξε «γάντια», «επίδεσμος», «server» → όλες οι ιστορικές συμβάσεις με **ποσότητα, μονάδα, τιμή ανά μονάδα, ανάδοχο, ημερομηνία**. Το benchmark που χρειάζεσαι για να κοστολογήσεις.

### 11.10 Μερίδια αγοράς
Φίλτρο CPV / φορέας / έτος → ποιος προμηθευτής κρατάει τι, με πόσες συμβάσεις και πόση αξία. Δες ποιος είναι ο βασιλιάς της κατηγορίας σου.

### 11.11 Προφίλ ανταγωνιστών
Επωνυμία ή ΑΦΜ → πλήρες προφίλ: συμβάσεις, συνολική αξία, **φορείς εγκατάστασης**, κατηγορίες CPV, χρονικό εύρος + στοιχεία ΓΕΜΗ (νομική μορφή, έδρα).


---

## 12. Ο Πράκτορας Πελάτη

> Ο πράκτορας **δεν είναι chatbot** που περιμένει ερώτηση. Είναι μια διεργασία που
> τρέχει συνέχεια γύρω από τα δεδομένα σου και την αγορά σου — και σου μιλάει
> **μόνο όταν έχει κάτι να πει**.

### 12.1 Τι είναι ο πράκτορας

Κάθε πρωί διαβάζει **~5.700 ενεργούς διαγωνισμούς, τις κατακυρώσεις, τις τιμές
και τους ανταγωνιστές σου** — ώστε να μη χρειαστεί να τους διαβάσεις εσύ. Η
αξία δεν είναι η πληροφορία (είναι δημόσια)· η αξία είναι η **σύνθεση και η
σιωπή**. Αν δεν συμβεί τίποτα σχετικό, δεν εμφανίζεται τίποτα — και αυτή η
απουσία είναι χαρακτηριστικό, όχι έλλειψη.

Τον βρίσκεις στο **κουδούνι 🔔** (κάτω δεξιά σε κάθε σελίδα). Ο αριθμός δείχνει
πόσες ενημερώσεις δεν έχεις διαβάσει.

### 12.2 Παλμός Αγοράς — το πρωινό brief

Κάθε πρωί (07:00), μία οθόνη που διαβάζεται σε 60 δευτερόλεπτα:

- **Νέες προκηρύξεις 24ώρου** στον κλάδο σου + οι μεγαλύτερες (με ΑΔΑΜ)
- **Φορείς με ασυνήθιστη δραστηριότητα** (στατιστικό z-score 12μήνου)
- **Πρώτες ύλες & δείκτες** με mini-γραφήματα 30 ημερών: Brent, WTI, φυσικό
  αέριο, χαλκός, αλουμίνιο, σιτάρι, χρυσός, πληθωρισμός, EUR/USD
- **Γεωπολιτικό πλαίσιο** (UCDP — με ρητή περίοδο δεδομένων)
- **Πιθανές αιτίες** από πηγές ειδήσεων (με URL) — πάντα με επιφύλαξη

Πηγές: ΚΗΜΔΗΣ Open Data (CC BY 4.0), FRED (St. Louis Fed), UCDP (Uppsala),
δημόσιες ειδήσεις. Κάθε νούμερο έχει πηγή — ποτέ εφεύρεση.

### 12.3 Για Εσένα — ειδοποιήσεις με νόημα

Ξεχωριστή ροή, event-driven: πυροδοτείται μόνο όταν συμβαίνει κάτι, ποτέ με
πρόγραμμα:

- 🎯 **Νέο match** πάνω από το κατώφλι σου
- ⏰ **Deadline σε 1–7 μέρες** για match που δεν έχεις κλείσει
- 📈 **Πρόβλεψη** όταν υπάρχει ισχυρό σήμα αγοράς

### 12.4 Τα τρία επίπεδα πρότασης

Κάθε πρόταση του πράκτορα δηλώνει ρητά τι είναι — με χρώμα:

| Επίπεδο | Χρώμα | Τι είναι | Απαίτηση |
|---|---|---|---|
| **Ενημέρωση** | μπλε | Μετρημένο από τα δικά μας δεδομένα | ≥1 ΑΔΑΜ |
| **Πλαίσιο** | γκρι | Εξωτερική πηγή | URL |
| **Πρόβλεψη** | πορτοκαλί | Υπόθεση | ορίζοντας + βεβαιότητα |

Το φίλτρο επιβάλλεται **από τον κώδικα**, όχι από οδηγία στο μοντέλο: πρόταση
χωρίς πηγή δεν φτάνει ποτέ στην οθόνη σου.

### 12.5 Προβλέψεις με ορίζοντα & βαθμολογία Brier

Κάθε πρόβλεψη έχει **βεβαιότητα (0–100%)** και **ορίζοντα (μέρες)**. Όταν ο
ορίζοντας λήξει, το σύστημα την επιλύει αυτόματα με μετρήσιμα δεδομένα και
βαθμολογεί τον εαυτό του με **Brier score** (0 = τέλεια, 0.25 = τυχαίο).

Το σκορ δημοσιεύεται **δημόσια** — γιατί μόνο ό,τι μετράται βελτιώνεται, και
μια εταιρεία που δημοσιεύει την ακρίβεια των προβλέψεών της είναι εταιρεία
που μπορείς να εμπιστευτείς.

### 12.6 Καταχώριση αποτελέσματος & benchmark κατηγορίας

Σε κάθε match υπάρχει το κουμπί **«📊 Αποτέλεσμα»**: καταγράφεις αν κέρδισες ή
έχασες και τις τιμές (δική σου / νικητή). Με αυτό:

- Ξεκλειδώνεις το **benchmark της κατηγορίας**: μέσες τιμές νικητών και
  ηττημένων από τα αποτελέσματα των πελατών — ανώνυμα.
- Δίνεις στο σύστημα τον **παρονομαστή** που λείπει από τα δημόσια δεδομένα
  (το ΚΗΜΔΗΣ δημοσιεύει μόνο νικητές). Όσο περισσότεροι πελάτες καταγράφουν,
  τόσο καλύτερες γίνονται οι προβλέψεις για όλους. Δίκαιη ανταλλαγή.

### 12.7 Έκθεση PDF & μηνιαία ενημέρωση

Κάθε ενημέρωση εξάγεται σε **PDF έκθεση** (κουμπί 📄) — για να την προωθήσεις
στον εμπορικό διευθυντή ή στην ομάδα σου.

Κάθε **1η του μήνα (07:30)** ο πράκτορας στέλνει την **προσωποποιημένη μηνιαία ενημέρωση**: νέα matches του μήνα με αξία, τα αποτελέσματα που δήλωσες, εκκρεμότητες Win Plan και τι έρχεται (pre-tender). Τη βλέπεις στο 🔔 και στην Έκθεση PDF — όλα με n, ποτέ εφεύρεση.


## 13. Command Center — το κέντρο διοίκησης

Σελίδα **/command** — η καρδιά του προϊόντος. Μία οθόνη, τρεις στήλες: **ό,τι αξίζει να κυνηγήσεις**, **ό,τι θες να ρωτήσεις** και **ό,τι ξέρει το σύστημα για την ευκαιρία που διάλεξες**. Δεν χρειάζεσαι άλλη σελίδα για την καθημερινή δουλειά: από εδώ παρακολουθείς, αποφασίζεις και εκτελείς.

### 13.1 Οι τρεις στήλες

| Στήλη | Τι κάνει |
|---|---|
| 🎯 **Προτεραιότητες** (αριστερά) | Τα 6 κορυφαία matches σου, ταξινομημένα κατά score. Κάθε κάρτα δείχνει: τίτλο διαγωνισμού, φορέα, πηγή, score %, αξία, λήξη (κόκκινη όταν ≤14 μέρες). Κλικ σε κάρτα = επιλογή για ανάλυση. |
| 💬 **Συνομιλία** (μέση) | Ο πλήρης agent με τα **28 εργαλεία** — η ίδια δύναμη με κάθε συνομιλία του προϊόντος, τώρα δίπλα στα δεδομένα. Η συνομιλία επιβιώνει reload (session log) και θυμάται το τελευταίο tender που συζητήσατε. |
| 🧬 **Live Twin** (δεξιά) | Η πλήρης ανάλυση της επιλεγμένης ευκαιρίας: twin, αξία, πλάνο ενεργειών. |

**Κουμπιά κάθε κάρτας:**
- **«👁 Live Twin»** — φορτώνει την πλήρη ανάλυση στη δεξιά στήλη (δεν αφήνεις ποτέ την οθόνη).
- **«💬 Συζήτησέ το»** — επιλέγει την ευκαιρία ΚΑΙ στέλνει αυτόματα έτοιμη ερώτηση στην ενσωματωμένη συνομιλία: *«Ανάλυσέ μου τον διαγωνισμό…»*. Ένα κλικ, και ο agent σου γράφει την ανάλυση ενώ βλέπεις το twin.

### 13.2 Opportunity Twin — ο ψηφιακός δίδυμος της ευκαιρίας

Οι τρεις στήλες δεν είναι απλώς τακτοποίηση — είναι σύνθεση. Το Live Twin ενώνει ΟΛΑ τα BI views σε ένα αντικείμενο απόφασης:

| Στοιχείο | Πηγή | n |
|---|---|---|
| 🔁 Επαναπροκήρυξη | Περιοδικές προμήθειες ΚΗΜΔΗΣ | εμφανίσεις |
| 👑 Κάτοχος & σερί | Συμβάσεις ΚΗΜΔΗΣ | έτη παρατήρησης |
| 💶 Πληρωμές φορέα | Πληρωμές οφειλετών | πληρωμές |
| 📦 Σχετικά προϊόντα | Ο κατάλογός σου × matches | προϊόντα |
| 🚧 Blockers | Compliance matrix + KB | — |
| Readiness | Πληρότητα KB − blockers (0–100%) | — |

**Κανόνας: κάθε νούμερο έχει n.** Όπου δεν υπάρχουν δεδομένα, το πεδίο είναι κενό — ποτέ εφεύρεση.

### 13.3 Indicative Opportunity Value — το μοντέλο αξίας

> EV = P(publication) × E[P(win|eligible)] × gross profit − bid cost − financing cost − execution risk

- **P(δημοσίευσης)** = 1,0 — η προκήρυξη υπάρχει ήδη (δεδομένο). Για ευκαιρίες ΠΡΙΝ τη δημοσίευση βλ. 13.6.
- **Επιλεξιμότητα**: τριών επιπέδων (✓ eligible / ⚠ uncertain / ✕ ineligible) από το compliance matrix και τα πιστοποιητικά — ΟΧΙ από την πληρότητα του KB. Ξεχωριστά δείχνονται το **evidence coverage** (κάλυψη KB) και το **operational readiness**.
- **P(νίκης)**: Bayesian posterior με prior αγνωσίας Beta(1,1) + συχνότητες νικών της οικογένειας CPV από τον σφόνδυλο — **με 95% διάστημα εμπιστοσύνης**. Μέχρι ≥5 αποτελέσματα: κλειδωμένο.
- **Οικονομικά**: εισάγονται ΑΠΟ ΕΣΕΝΑ (κουμπί 🎛 Οικονομικά): περιθώριο, κόστος προσφοράς, κόστος χρηματοδότησης (από τη μέση καθυστέρηση πληρωμής του φορέα), ρίσκο εκτέλεσης. Ό,τι δεν έχεις ορίσει παίρνει default **με ρητή σήμανση ⚠**.

**Indicative σημαίνει**: το νούμερο συνοδεύεται από εύρος αβεβαιότητας και βαθμονομείται με δεδομένα. Όταν η επιλεξιμότητα είναι αβέβαιη ή ineligible, το EV **αρνείται να υπολογιστεί** και σου λέει τι πρέπει να λυθεί πρώτα.

### 13.4 Win Plan — εκτελεστικές ενέργειες με αντίκτυπο

Πες στον agent *«φτιάξε μου πλάνο»* — δημιουργεί πραγματικές ενέργειες (τίτλος, ιδιοκτήτης, προθεσμία) και **κάθε ενέργεια έχει μετρητό αποτέλεσμα**: ▸ +Χ% readiness ή ▸ αφαιρεί blocker. Στο Live Twin βλέπεις τον προβολή: *readiness 90% → 100% με τις ενέργειες*. *«Έκανα το Χ»* → ✅ done και το projected readiness αναπροσαρμόζεται.

### 13.5 Ο σφόνδυλος δεδομένων

Κάθε καταχώριση αποτελέσματος (κεφ. 12.6) τροφοδοτεί το benchmark της κατηγορίας. Με **≥5 αποτελέσματα** σε μία οικογένεια CPV ξεκλειδώνεται η **P(νίκης)** για ΟΛΟΥΣ — και το Indicative Opportunity Value αρχίζει να παράγει EV. Δηλαδή: όσο περισσότερο χρησιμοποιείς το προϊόν, τόσο ακριβέστερο γίνεται για όλους.

### 13.6 Μελλοντικές ευκαιρίες (pre-tender)

Στην αριστερή στήλη, κάτω από τα matches: **🔮 Μελλοντικές** — ευκαιρίες ΠΡΙΝ δημοσιευθούν:
- **Περιοδικότητα**: «η CPV Χ του φορέα Υ ξαναβγαίνει σε ~5 μήνες» — με n εμφανίσεις και κύκλο.
- **Λήξεις συμβάσεων**: «η σύμβαση Ζ λήγει σε 3 μήνες» — το ισχυρότερο σήμα επαναπροκήρυξης.

Η πιθανότητα δημοσίευσης δεν είναι γυμνό ποσοστό — είναι ιστορική συχνότητα με n ή γεγονός. Πάτα 💬 για να ρωτήσεις τον agent «τι να προετοιμάσω».

### 13.7 Supplier Twin & Buyer Twin

- **🏭 Supplier Twin (εσύ)**: προϊόντα, KB κάλυψη, **ομάδες ΚΗΜΔΗΣ** (χειροκίνητες κερδίζουν του αυτόματου detection), **ΚΑΔ από ΑΑΔΕ**, πιστοποιητικά με ημερομηνίες λήξης (ΕΛΗΞΕ κόκκινο), track record από τις δικές σου καταχωρήσεις (νίκες/προσφορές), τα οικονομικά σου. Ό,τι δεν δηλώθηκε είναι null — ποτέ εφεύρεση. Το κουμπί **✎ Προφίλ** τα δηλώνει όλα: ΚΑΔ (π.χ. 72), ομάδες CPV (π.χ. 33, 18), προσωπικό, έτη στο Δημόσιο, δυναμικότητα, χρηματοδότηση. Όταν αλλάζεις ομάδες ΚΗΜΔΗΣ, τρέχει **αυτόματα re-match**.
- **🏛 Buyer Twin (ο φορέας)**: πληρωμές (μέσος χρόνος, n), ακυρώσεις προκηρύξεων, κυρίαρχος κάτοχος/σερί, συμβάσεις σε φάση λήξης.

### 13.8 Win Simulator

**🎮 Προσομοίωση τι-εάν** πάνω στο Indicative μοντέλο: έκπτωση τιμής, απόκτηση πιστοποίησης, κοινοπραξία, χρόνος παράδοσης. Μετράμε ΟΣΑ μετριούνται (περιθώριο, επιλεξιμότητα, EV) και **δηλώνουμε ρητά όσα δεν μπορούμε ακόμα** (π.χ. επίδραση της τιμής στο P(νίκης) — χρειάζεται δεδομένα ανταγωνισμού από τον σφόνδυλο). Το P(νίκης) μένει σταθερό σε κάθε σενάριο μέχρι να βαθμονομηθεί — τίμιο, όχι εντυπωσιασμός.

---

## 14. Η Συνομιλία με την ΤΝ — πλήρης λειτουργία

Η συνομιλία ζει στη **μεσαία στήλη του Command Center** (/command) και διαθέτει **28 εργαλεία** με πρόσβαση σε ΟΛΑ τα δεδομένα σου. (Το ξεχωριστό /chat δεν εμφανίζεται πια στο μενού — όλη η συνομιλία γίνεται μέσα από το Command Center.) Δοκίμασε:

- *«Τι πρέπει να κάνω σήμερα;»* → ανάλυση των top matches με Opportunity Twin και πλάνο ενεργειών
- *«Τι έρχεται τους επόμενους 12 μήνες;»* → pre-tender ευκαιρίες (recurrence + λήξεις) με n
- *«Τι γίνεται αν μειώσω την τιμή 5%;»* → Win Simulator: μόνο οι μετρήσιμες επιδράσεις, με ρητές δηλώσεις για το τι ΔΕΝ μπορεί να ποσοτικοποιήσει ακόμα
- *«Πότε λήγουν συμβάσεις σύντομα;»* → ραντάρ ΚΗΜΔΗΣ με κατόχους
- *«Πόσο πήρε ο δήμος Χ το Υ ανά τεμάχιο;»* → ιστορικές τιμές
- *«Τι προφίλ έχει ο ανταγωνιστής Ζ;»* → συμβάσεις + φορείς + ΓΕΜΗ
- *«Ψάξε στο Αττικόν για αναπνευστήρες»* → search + lookup + summary
- *«Τι εγγυητικές ζητάει ο διαγωνισμός 24PROC…;»* → citations από το πλήρες κείμενο
- *«Φτιάξε μου το draft για το match Χ»* → draft + υπενθύμιση ανθρώπινου ελέγχου
- *«Έκανα την ανάλυση της διακήρυξης»* → ο agent ενημερώνει το Win Plan σου

Κάθε κλήση εργαλείου φαίνεται ως γραμμή με το όνομα του εργαλείου και περίληψη (κλικ για πλήρη αποτελέσματα) — έτσι **βλέπεις πάντα από πού προέρχεται κάθε αριθμός**. Η συνομιλία **επιβιώνει reload** (session log) και ο agent **θυμάται το τελευταίο tender** που συζητήσατε. Όλες οι απαντήσεις βασίζονται σε πραγματικά δεδομένα — ποτέ εφευρέσεις.

**Πότε να ρωτάς:** όταν θέλεις να δουλέψεις χωρίς να αφήσεις το Command Center, πάτα «💬 Συζήτησέ το» σε μια κάρτα — ο agent αναλύει την ευκαιρία που βλέπεις δίπλα, με πλήρη ορατότητα στις πηγές.

---

## 15. Διαύγεια — ιστορικές κατακυρώσεις

Σελίδα **/awards**: ψάξε στη Διαύγεια κατακυρώσεις/αναθέσεις με ανάδοχο, ποσό και ημερομηνία. Σκέψου το σαν «πόσο πλήρωσε τελικά ο φορέας;». Αναζήτηση cached 24 ώρες (refresh on demand).

---

## 16. Overview — οι αριθμοί σου

Σελίδα **/overview**: pipeline funnel (matches → ενδιαφέρον → drafts → υποβολές → νίκες/ήττες), **win rate**, μηνιαία τάση 12 μηνών, συνολική αξία κερδισμένων, κορυφαίοι φορείς. Το 90ήμερο snapshot για εσένα και το αφεντικό σου. Η σελίδα **ανανεώνεται αυτόματα κάθε 15 δευτερόλεπτα** — τα νούμερα ανεβαίνουν ζωντανά όσο τρέχει re-match.

---

## 17. Ρυθμίσεις

Σελίδα **/settings**.

### 17.1 Ειδοποιήσεις
- **Telegram**: bot token (από @BotFather) + chat id → κάθε νέο match ≥ 0.65 σε προσωπικό μήνυμα
- **Email**: ημερήσιο/ωριαίο digest (πίνακας με score, τίτλο, φορέα, προϊόν, αξία, λήξη)
- **Quiet hours** (προεπιλογή 22:00–08:00): ειδοποιήσεις μόνο όταν δεν κοιμάσαι
- **max ανά κύκλο**: δεν σε πνίγουμε ποτέ

### 17.2 Priority alerts
Ξεχωριστό κανάλι για τα επείγοντα (ΠΑΡΑΚΑΜΠΤΕΙ τα quiet hours): νέο match ≥ 0.75 με λήξη ≤ 7 μέρες, ή analyzer score ≥ 0.7. Διαμόρφωση των ορίων από τις ρυθμίσεις.

### 17.3 Κατώφλια matching
Τα ίδια με το [4.4](#44-κατώφλια-persist--display-threshold).

### 17.4 Ημερολόγιο (iCal)
`/api/calendar/deadlines.ics` — κάνε subscribe στο Google/Outlook Calendar: όλες οι λήξεις των matches σου με υπενθυμίσεις 3 και 1 ημέρας πριν.

### 17.5 Εξαγωγές (XLSX / CSV)
`/api/exports/matches` και `/api/exports/tenders` — με φίλτρα (status, min score). CSV με BOM για σωστά ελληνικά στο Excel.

---

## 18. Διαχείριση (Admin)

Σελίδα **/admin** (μόνο για διαχειριστές — bootstrap μέσω `ADMIN_EMAILS` στο .env).

### 18.1 Χρήστες
Λίστα με αναζήτηση email/επωνυμία/ΑΦΜ. Ανά χρήστη: αλλαγή status, **παράταση ημερών**, προαγωγή σε admin, σημειώσεις.

### 18.2 Κλειδιά άδειας
Έκδοση κλειδιού (διάρκεια, email, τιμολόγιο, ποσό), λίστα, **ανάκληση** (μόνο αχρησιμοποίητων).

### 18.3 Αγορές
Τα αιτήματα αγοράς (pending) → **fulfill** (εκδίδεται το κλειδί με το πακέτο) ή ακύρωση. Το κλειδί αποθηκεύεται στο αίτημα.

### 18.4 Λειτουργίες συστήματος
- **Operations health**: scheduler snapshot, υγεία πηγών (τελευταία επιτυχία, αποτυχίες 24ώρου), ledger εκτελέσεων
- **Password resets**: λίστα pending με έτοιμα links (αν δεν έχει ρυθμιστεί SMTP)
- **Χειροκίνητα jobs**: discovery, dedup, priority sweep, crawler triggers

### 18.5 Ποιότητα matcher
`/api/admin/matcher-quality` — **precision** από τα feedback των χρηστών + **gate agreement** (πόσο συχνά το AI συμφώνησε με την τελική ανθρώπινη κρίση) + μηνιαία ανάλυση. Αυτό το νούμερο μας λέει αν ο matcher βελτιώνεται.

---

## 19. Συχνές ερωτήσεις

**«Βλέπω 402 Payment Required»** — η συνδρομή είναι pending/expired. Ενεργοποίησε κλειδί στο /activate ή ανανέωσε. (Ο admin δεν βλέπει ποτέ 402.)

**«Δεν έχω matches»** — (1) Ο κατάλογος είναι άδειος → onboarding. (2) Χαμήλωσε το display threshold. (3) Τα matches θέλουν λίγα λεπτά μετά το onboarding (re-match τρέχει στο background — φαίνεται η πρόοδος στο πάνω μέρος του inbox).

**«Βλέπω λίγα matches ενώ ξέρω ότι υπάρχουν διαγωνισμοί»** — το AI gate (min 0.72) απορρίπτει σκόπιμα same-domain-but-wrong-product. Δες το σήμα «Χαμηλή συμφωνία σημάτων» και το persist threshold.

**«Πόσο κοστίζουν τα AI calls;»** — τίποτα επιπλέον: το κόστος είναι μέσα στη συνδρομή. Κάθε report δείχνει το ακριβές κόστος του (για διαφάνεια).

**«Τα δεδομένα μου είναι ασφαλή;»** — κάθε χρήστης βλέπει ΜΟΝΟ τα δικά του δεδομένα (multi-tenant isolation, ελεγμένο με αυτοματοποιημένα τεστ). Τα BI δεδομένα είναι δημόσια (ΚΗΜΔΗΣ CC BY 4.0).

**«Το draft είναι σωστό να το υποβάλω ως έχει;»** — ΟΧΙ. Είναι draft: έλεγξέ το, επεξεργάσου το, και υποβάλλεις ΕΣΥ στο portal.

**«Γιατί δεν βλέπω λευκά σημεία;»** — τα λευκά σημεία χρειάζονται: (1) το **ΑΦΜ της εταιρείας σου** στο προφίλ (/settings), και (2) **ενεργό κατάλογο** με CPV. Χωρίς αυτά το σύστημα δεν μπορεί να ξέρει «τι πουλάς» και «ποιος είσαι» στα δεδομένα.

**«Τι γίνεται όταν λείπουν δεδομένα για έναν φορέα;»** — fail-closed: το σύστημα δεν εφευρίσκει νούμερα. Βλέπεις «ανεπαρκή δεδομένα» αντί για ψεύτικο αριθμό. Αν λείπει, λείπει.

---

## 20. Τεχνικό παράρτημα

| Θέμα | Λεπτομέρεια |
|---|---|
| Πυρήνας | FastAPI + MongoDB + Qdrant (vector store) + APScheduler |
| AI | Το μοντέλο μας (1Μ context, έως 384Κ output) — όλα τα agents. Deep analysis με ενεργό συλλογισμό, σύντομες εξαγωγές χωρίς (thinking mode) |
| Embeddings | Self-hosted πολύγλωσσο μοντέλο (intfloat/multilingual-e5-large, 1024d) στον δικό μας server — δωρεάν, χωρίς όρια API, χωρίς εξωτερική εξάρτηση |
| Πηγές | ΚΗΜΔΗΣ Open Data (notices: ΕΣΗΔΗΣ + όλες οι ενεργές προκηρύξεις, sync + PDF διακηρύξεων) · Διαύγεια · iSupplies · ΚΗΜΔΗΣ ιστορικά |
| BI | ΚΗΜΔΗΣ Open Data (CC BY 4.0) + ΓΕΜΗ |
| Perception Layer | FRED (πρώτες ύλες/δείκτες) · UCDP (συγκρούσεις) · Brave Search (ειδησεογραφικές πηγές) — όλα με ρητή περίοδο και URL |
| Κάλυψη | Benchmark κάλυψης ενεργών διαγωνισμών vs Διαύγεια Δ.2.1 — δείκτης στο Admin |
| Dedup | ΑΔΑ/ΑΔΑΜ κλειδιά + sweep |
| Ασφάλεια | JWT, bcrypt, rate limiting, security headers, SSRF/XSS guards, atomic license redemption |
| Αξιοπιστία | Fail-closed AI gate · two-pass reasoning · LLM triage · server-side validation προτάσεων πράκτορα · health με ανίχνευση stale jobs · targeted rematch |
| Backup/restore | Mongo dump + Qdrant snapshots (cron) |


---

## 21. Τι νέο στην έκδοση 2.0 — το σύστημα που βλέπει ΠΡΙΝ την προκήρυξη

*Όλα τα παρακάτω προστέθηκαν τον Αύγουστο 2026. Ο στόχος ένας: ο χρήστης δεν
ψάχνει — ρωτάει. Και όπου δεν έχουμε αρκετά δεδομένα, το σύστημα το λέει τίμια.*

### 21.1 🔮 Pre-Tender Radar (`/radar`)

Μία οθόνη με **όλα τα σήματα πριν τον διαγωνισμό**:

| Τμήμα | Τι δείχνει |
|---|---|
| 🇪🇺 **TED** | Προκηρύξεις άνω των ευρωπαϊκών ορίων — **δημοσιεύονται ΠΡΙΝ το ΕΣΗΔΗΣ** (άρθρο 52 Οδηγίας 2014/24/ΕΕ: ο φορέας απαγορεύεται να δημοσιεύσει εθνικά πριν την ΕΕ). Κάθε κάρτα έχει link στο TED + **PDF στα ελληνικά**. Φιλτράρεται αυστηρά από το domain σου (CPV roots) — δεν βλέπεις ξένα αντικείμενα. |
| 💬 **Διαβουλεύσεις ΕΣΗΔΗΣ** | Τεχνικές προδιαγραφές σε ανοιχτή διαβούλευση — η τελευταία ευκαιρία επιρροής πριν βγει η διακήρυξη. |
| 📡 **Σήματα Διαύγειας** | Σκοπιμότητα, ανάληψη υποχρέωσης, προγραμματικές, τροποποιήσεις — οι κινήσεις του φορέα πριν βγει ο διαγωνισμός. |
| 💰 **ΕΣΠΑ / Ελλάδα 2.0** | Προσκλήσεις χρηματοδότησης + αποφάσεις ένταξης — «το χρήμα δεσμεύτηκε, άρα θα προκηρυχθεί». |
| 🔮 **Future Tender Twins** | Οι προβλεπόμενες διακηρύξεις — ΜΟΝΟ όσες τεκμηριωμένα αφορούν το αντικείμενό σου (βλ. κεφ. 22). |
| 🕸 **Γράφος Έργου** | Βλ. 21.2. |
| 🔁 **Μελλοντικές** | Περιοδικοί διαγωνισμοί που ξαναβγαίνουν + λήξεις συμβάσεων. |
| 🌐 **Sites φορέων** | «Η σελίδα του φορέα άλλαξε» — όποτε ο φορέας αναρτά κάτι νέο. |

**Domain φίλτρο σε ΟΛΑ τα τμήματα** (όχι μόνο το TED): κάθε σήμα κρίνεται με
απόδειξη — CPV στο κείμενο/πεδίο ή λέξεις-κλειδιά του κλάδου σου (ICT,
ιατρικά, οικοδομικά, ενέργεια, τρόφιμα, γραφική ύλη). Ό,τι τεκμηριωμένα
ΔΕΝ είναι του αντικειμένου σου **κόβεται**· ό,τι δεν έχει κανένα σήμα
(αποχή) δεν γεμίζει τα κύρια τμήματα — μπαίνει στο συμπτυγμένο
**«📦 Λοιπά εκτός αντικειμένου»** στο κάτω μέρος της σελίδας (κουμπί
εμφάνισης/απόκρυψης, ομαδοποιημένα). Τίποτα δεν χάνεται — απλώς δεν κάνει
θόρυβο. Αν δεν έχεις ακόμα domain προφίλ (κενός κατάλογος), το ραντάρ
δείχνει τα πάντα και ο matcher κρίνει.

Πάνω από το TED, όταν υπάρχει αρκετό δείγμα, εμφανίζεται το **μετρημένο
lead-time**: «Δημοσιεύτηκε TED → ιστορικά εμφανίζεται ΕΣΗΔΗΣ σε ~Χ μέρες
(εύρος, n=…)». Μετριέται από πραγματικά ζεύγη TED→ΕΣΗΔΗΣ — όσο δεν υπάρχουν
αρκετά ζεύγη, η γραμμή **δεν εμφανίζεται καθόλου** (ποτέ εικασία).

### 21.2 🕸 Γράφος Έργου — η αλυσίδα χρηματοδότησης

Το πιο ισχυρό νέο εργαλείο. Συνδέει ντετερμινιστικά έγγραφα που αφορούν **το
ίδιο έργο**:

```
Πρόσκληση ΕΣΠΑ → Απόφαση ένταξης → Τεχνικό δελτίο → Ανάληψη υποχρέωσης
→ Διαβούλευση → ΠΡΟΚΗΡΥΞΗ (TED → ΕΣΗΔΗΣ) → Κατακύρωση → Σύμβαση → Πληρωμές
```

- **Πώς συνδέονται:** κωδικοί **ΟΠΣ/MIS**, ενάριθμοι **ΣΑ/ΣΑΕ**, αναφορές
  **ΑΔΑ** και **ΑΔΑΜ** — θαμμένοι μέσα στα κείμενα των αποφάσεων. Ο
  εξαγωγέας τους διαβάζει ΚΑΘΕ εισερχόμενο έγγραφο (11.000+ ήδη) και ο
  γράφος κάνει τις συνδέσεις. **Confidence 1.0** — δεν είναι εκτίμηση.
- **Κάθε κάρτα** δείχνει χρονολόγιο σταδίων με ημερομηνίες + το επόμενο
  αναμενόμενο στάδιο («⏳ Προκήρυξη — αναμένεται»).
- **«176 χρηματοδοτήθηκαν και δεν προκηρύχθηκαν ακόμα»** — αυτή είναι η
  χρυσή λίστα: έργα με λεφτά που ψάχνουν προμηθευτή.
- **Προστασία από υπερ-συγχώνευση:** προσκλήσεις-κατάλογοι που αναφέρουν
  δεκάδες έργα ΔΕΝ ενώνουν τίποτα (κανόνας: >5 κωδικοί ανά έγγραφο =
  κατάλογος, όχι πράξη).

### 21.3 📊 Πίνακας Μεταβάσεων — μετρημένες διάρκειες

Από τις **κλειστές αλυσίδες** (έργα που πήγαν από την ένταξη μέχρι την
προκήρυξη) το σύστημα μετράει πόσο κάνει κάθε μετάβαση:

> «Πρόσκληση → Ένταξη: διάμεσος 17 μέρες (P25–P75: 7–26, n=11)»

- **P(προκήρυξη)** με **αρνητικά δείγματα**: πόσα έργα εντάχθηκαν και
  προκηρύχθηκαν vs πόσα εντάχθηκαν και ΔΕΝ προκηρύχθηκαν — ο παρονομαστής
  που δεν έχει κανένας άλλος. Με Wilson 95% διάστημα.
- **Αναμενόμενες προκηρύξεις**: για κάθε μισή αλυσίδα, παράθυρο προκήρυξης
  από τη μετρημένη διάμεσο.
- **Κανόνας τιμιότητας (n≥10):** αν οι κλειστές αλυσίδες είναι λιγότερες
  από 10, το σύστημα **δεν δίνει αριθμό** — λέει ρητά «δεν έχουμε ακόμα
  μετρημένο δείγμα» και μαζεύει. Ο πίνακας ακριβαίνει κάθε μήνα — αυτό
  είναι και το πλεονέκτημα που δεν αντιγράφεται.

### 21.4 ✨ Ανάλυση προκήρυξης με ένα κλικ

Σε **Διαγωνισμούς, Opportunities και Matches**, το κουμπί **✨** αριστερά
από κάθε προκήρυξη ανοίγει popup συνομιλίας: ο πράκτορας διαβάζει την
προκήρυξη, τον κατάλογό σου και τα ιστορικά, και σου λέει **τι είναι, αν
ταιριάζει σε σένα, τι να κάνεις** — και μπορείς να συνεχίσεις τη συζήτηση
μέσα στο popup.

### 21.5 💬 «Τι σημαίνει για μένα;» — στον Γράφο Έργου

Σε κάθε έργο του γράφου, το κουμπί **💬** στέλνει ΟΛΗ την αλυσίδα στον
πράκτορα μαζί με **τον κατάλογό σου και τα matches σου** — και παίρνεις
σύνθεση σε φυσική γλώσσα: τι είναι το έργο, γιατί σε αφορά (ή γιατί ΟΧΙ),
τι ξέρουμε vs τι λείπει, 2–3 συγκεκριμένες κινήσεις, πότε αναμένεται
προκήρυξη. Ο πράκτορας λέει την αλήθεια: αν το έργο δεν κολλάει στο
αντικείμενό σου, στο λέει και σου δείχνει τα πραγματικά σου matches.

### 21.6 🤖 Πράκτορας Πελάτη — νέο κανάλι, 29 εργαλεία

- Το κουδούνι 🔔 τώρα δείχνει **δύο τμήματα**: «🔮 Προβλέψεις & Αγορά»
  (παλμός αγοράς με τσαρτς πρώτων υλών, προβλέψεις) και «📄 Διαγωνισμοί &
  Matches» — τα σπάνια σήματα δεν χάνονται πια μέσα στα πολλά.
- Στη **Συνομιλία** (Command Center ή popups), ο πράκτορας έχει 29
  εργαλεία και απαντά σε φυσική γλώσσα για ΟΛΑ: «τι έρχεται;» (radar),
  «ποια έργα εντάχθηκαν και δεν προκηρύχθηκαν;» (γράφος), «πόσο κάνει από
  ένταξη σε προκήρυξη;» (μεταβάσεις), «τι σημαίνει αυτό το έργο για
  μένα;» (analyze_project) — συνδυάζοντας μόνος του όσα εργαλεία
  χρειαστεί. Κάθε αριθμός με n και πηγή.

### 21.7 🔎 ΠΑΝΟΠΤΗΣ — εσωτερικά αρχεία (Knowledge)

Στη σελίδα Knowledge, νέα ενότητα **ΠΑΝΟΠΤΗΣ**: ανεβάζεις PDF/DOCX/XLSX με
εσωτερικές πληροφορίες (εγκύκλιοι, προγράμματα, εσωτερικές αναλύσεις) και
τα ψάχνεις **σημασιολογικά** — όχι με λέξεις-κλειδιά. Ξεχωριστή βάση,
εντελώς απομονωμένη από τα δημόσια δεδομένα.

### 21.8 🛡 Admin — Κόστος LLM

Νέο tab **«💰 Κόστος LLM»** στο /admin: συνολικό κόστος, 7/30 ημέρες και
**€/ημέρα ανά χρήστη** — η τίμια μέτρηση του πόσο καίει κάθε λογαριασμός.

### 21.9 Τι σημαίνει «τίμια αποχή»

Όπου το δείγμα δεν αντέχει (lead-time, μεταβάσεις, P(προκήρυξη)), το
σύστημα **δεν δείχνει αριθμό** — δείχνει ρητά «δεν έχουμε ακόμα δείγμα».
Αυτό δεν είναι έλλειψη· είναι η υπόσχεση: όποιο νούμερο βλέπεις, συνέβη.

---


---

## 22. Τι νέο στην έκδοση 2.5 — Future Tender Twin: ο διαγωνισμός πριν βγει

*Η μεγαλύτερη εξέλιξη του προϊόντος: δεν βρίσκει μόνο τον επόμενο
διαγωνισμό — κατασκευάζει την πιθανότερη μελλοντική διακήρυξη ΠΡΙΝ
δημοσιευθεί, και σου λέει τι πρέπει να κάνεις ΣΗΜΕΡΑ για να είσαι
έτοιμος αύριο.*

### 22.1 Τι είναι το Future Tender Twin

Για κάθε έργο του Γράφου (χρηματοδοτήθηκε, δεν προκηρύχθηκε ακόμα), το
σύστημα φτιάχνει έναν «δίδυμο» — την πιθανότερη διακήρυξη που θα γίνει:

| Πεδίο | Πώς προβλέπεται |
|---|---|
| 📅 Παράθυρο δημοσίευσης | Τελευταίο στάδιο του έργου + **μετρημένη διάρκεια** ένταξη→προκήρυξη (P25–P75, n κλειστές αλυσίδες) |
| 💰 Προϋπολογισμός | Τα ποσά από τις αποφάσεις ένταξης/ανάληψης του ίδιου έργου (εύρος + ιστορικό) |
| 🏷 CPV οικογένειες | Τα CPV των συνδεδεμένων εγγράφων **+ των ΠΡΟΚΗΡΥΞΕΩΝ του έργου** — ο γράφος ξέρει τους αριθμούς διακήρυξης (proclamations), η ΤΝ πάει εκεί και τραβάει τα αξιόπιστα CPV των tenders |
| 📦 Τμήματα (lots) | Μέσος αριθμός ειδών από **ανάλογες** διακηρύξεις του ίδιου CPV |
| 📋 Απαιτήσεις επιλεξιμότητας | Από αναλυμένα ανάλογα ιστορικά (required documents) |

**Κάθε πεδίο** φέρει: τιμή, βεβαιότητα, μέθοδο παραγωγής, υποθέσεις,
αναφορές τεκμηρίων — και **ρήτρα αποχής**: όπου το δείγμα δεν αντέχει
(n<10), το πεδίο λέει ρητά «ΑΠΟΧΗ — δεν έχουμε αρκετά στοιχεία» αντί να
μαντέψει. Αυτό δεν είναι έλλειψη — είναι η υπόσχεση.

### 22.2 Πού το βλέπεις

- **Pre-Tender Radar → 🔮 Future Tender Twins**: τα κύρια κουτάκια δείχνουν
  **ΜΟΝΟ twins που τεκμηριωμένα αφορούν το αντικείμενό σου** (CPV εντός
  των κλάδων σου). Twins χωρίς ακόμα CPV σήμα ή ξένου αντικειμένου πάνε
  στο συμπτυγμένο «📦 Λοιπά» — τίμια αποχή, όχι θόρυβος.
- **Γράφος Έργου**: κάθε κάρτα έχει **«🔮 Future Twin»**.
  Άνοιγμα → όλα τα πεδία με βεβαιότητα/μέθοδο/αποχές.
- **«💪 Ανάλυση για μένα»**: ο Capability Compiler συγκρίνει το twin με
  τον ΔΙΚΟ ΣΟΥ κατάλογο και ιστορικό → κενά ικανότητας με σοβαρότητα
  (BLOCKER / HIGH / MEDIUM / LOW / **UNKNOWN**). Άγνωστο ≠ λείπει: αν δεν
  έχουμε στοιχεία σου, το λέμε — δεν σε κατηγορούμε.
- **«📋 Δράσεις»**: τα κενά γίνονται προτεινόμενες δράσεις με deadline
  (από το παράθυρο δημοσίευσης), εκτίμηση κόπου/κόστους, αναμενόμενη
  βελτίωση ετοιμότητας. Καμία δράση δεν ενεργοποιείται χωρίς **δική σου
  έγκριση** (κουμπί ✓ Έγκριση). Δράσεις που συμπληρώνονται (π.χ. βάζεις
  ΑΦΜ) ακυρώνονται μόνες τους στον επόμενο υπολογισμό.
- **«💬 Ρώτα»**: όλο το twin στον πράκτορα — «τι σημαίνει για μένα;». Το
  κουμπί «→ Πήγαινε» στις χρηματοοικονομικές δράσεις σε πάει στον
  πράκτορα με ΟΛΟ το context του έργου έτοιμο (όχι άδεια συζήτηση).

### 22.3 🧠 Portfolio Brain — πού να επενδύσεις τους περιορισμένους πόρους

Κουμπί **«🧠 Portfolio Brain»** πάνω δεξιά στο Radar. Δίνεις:
προϋπολογισμό προετοιμασίας + μέγιστο αριθμό ενεργών bids — και ο
**ντετερμινιστικός optimizer** (ακριβής αλγόριθμος σακιδίου) σου
επιστρέφει:

- **Επιλεγμένα**: ποια έργα αξίζουν προετοιμασία, με αναμενόμενη αξία
  και κόστος το καθένα.
- **Αναμονή**: τα υπόλοιπα — με τον λόγο. Έργα με ανεπαρκή δεδομένα
  μπαίνουν ρητά σε «αναμονή: ανεπαρκή δεδομένα» — ποτέ αριθμητική βία.
- Σύνολο αναμενόμενης αξίας + κόστος.

Οι υποθέσεις (περιθώριο %, τύπος win-probability, κόστος προετοιμασίας %)
είναι **δηλωμένες** — όχι κρυμμένες.

### 22.4 Απόδοση και μάθηση

- Κάθε twin κρατάει **immutable στιγμιότυπα** (snapshots) — το ιστορικό
  των προβλέψεων δεν αλλάζει ποτέ.
- Όταν το έργο προκηρυχθεί, το twin **επιλύεται**: σύγκριση πρόβλεψης vs
  πραγματικότητας (παράθυρο / budget / CPV) — και το αποτέλεσμα μπαίνει
  στο δημόσιο ταμπλό. Προοπτικές προβλέψεις ΔΕΝ αλλάζουν εκ των υστέρων.
- Το backtest τρέχει leave-one-out πάνω στις κλειστές αλυσίδες — ό,τι
  δείχνει το δείχνει με n.

### 22.5 Ο πράκτορας τα ξέρει

Ρώτησε στο chat: «πώς θα μοιάζει ο διαγωνισμός αυτού του έργου;» — ο
πράκτορας καλεί το twin, σου δείχνει τα πεδία ΜΕ τις αποχές τους, και
απαντά τίμια: ό,τι είναι abstained, το λέει — δεν το στολίζει.

---

## 23. Τι άλλαξε στις 31/8–1/9 — ποιότητα CPV, domain παντού, ταχύτητα

*Αυτό το κεφάλαιο καταγράφει τις διορθώσεις «κάτω από το καπό» που δεν
φαίνονται ως νέα κουμπιά, αλλά αλλάζουν το τι ΒΛΕΠΕΙΣ. Όλες ισχύουν ήδη.*

### 23.1 🏷 Η αντιστοίχιση CPV διορθώθηκε στη ρίζα

Το πρόβλημα: ο CPV suggester έβαζε μερικές φορές άσχετα CPV (π.χ. ιατρικά
σε λογισμικό). Η διόρθωση:

- **Semantic-first**: ο ταξινομητής εμπιστεύεται πρώτα το vector store
  του πλήρους κωδικολογίου CPV (που είναι ακριβές) — τα λεκτικά
  αποτελέσματα που μπέρδευαν (π.χ. «υποστήριξη» → «ιατρικές συσκευές
  υποστήριξης») πήγαν στο τέλος.
- **Guardrails για ΟΛΑ τα domains**: προϊόν Τεχνολογίας → μόνο ICT CPV
  roots· ιατρικό → 33/38· οικοδομικό → 44/45/71· ενέργεια → 09/31/50/65·
  τρόφιμα → 15/55· γραφική ύλη → 22/30/39. Άγνωστο αντικείμενο → κανένα
  στενό φίλτρο (τίμια αποχή).
- **Eval tests ποιότητας** — τα CPV πλέον τεστάρονται (7+ tests) όπως
  τεστάρεται και όλη η υπόλοιπη λογική.

### 23.2 🧭 Ένα domain παντού (DomainScope)

Πριν: τέσσερις διαφορετικές «απόψεις» του ποιος είσαι (cpv_roots,
primary_label, χειροκίνητες ομάδες, LLM policy) — κάθε οθόνη διάβαζε
διαφορετική. Τώρα: **μία πηγή αλήθειας** με προτεραιότητα
**χειροκίνητες ομάδες > LLM policy > αυτόματο detection** — και όλα τα
σημεία (matching, ραντάρ, feed, opportunities, capability) διαβάζουν
από εκεί.

### 23.3 ⚖️ Το AI κρίνει — δεν κόβουμε πριν από αυτό

Το domain firewall έκανε «βέτο» πριν δει το ζεύγος ο AI. Αλλάξαμε σχεδίαση:
ο DeepSeek βλέπει **κάθε** υποψήφιο ζεύγος (με τα CPV του στο context) και
κρίνει — ας κοστίζει λίγο παραπάνω, αλλά κανένα σχετικό match δεν χάνεται
από πρόωρο κόψιμο. Μόνη εξαίρεση βέτο: η **δική σου δήλωση** (περιοχές /
χειροκίνητες ομάδες).

Επιπλέον: όταν αλλάζεις ομάδες ή περιοχές, τα παλιά matches που πλέον
αποδεδειγμένα είναι εκτός του scope σου **καθαρίζονται μόνα τους** (μόνο
όσα δεν έχεις δει — ποτέ δικές σου αποφάσεις).

### 23.4 🔮 Twins: μόνο σχετικά στα κύρια + CPV από τις προκηρύξεις

- Τα κύρια κουτάκια των Future Tender Twins δείχνουν **μόνο
  τεκμηριωμένα σχετικά** twins — τα υπόλοιπα στο «Λοιπά».
- Τα twins αντλούν CPV **και από τις προκηρύξεις του γράφου**
  (αριθμοί διακήρυξης → τα αξιόπιστα CPV των tenders) — όχι μόνο από
  αποφάσεις χωρίς CPV.
- **Change detection**: το twin αυξάνει έκδοση και γράφει στιγμιότυπο
  ΜΟΝΟ όταν άλλαξαν πραγματικά τα δεδομένα του — όχι σε κάθε 30λεπτο
  κύκλο.

### 23.5 ⚡ Ταχύτητα & σταθερότητα

- Οι διεπαφές χρήστη δεν μπλοκάρουν ποτέ σε LLM: η συνέντευξη onboarding
  έχει hard timeout (αν αργήσει, προχωράει χωρίς ερωτήσεις — fail-open).
- Το domain policy γεννιέται ΜΙΑ φορά ανά «κύμα» αλλαγών (debounce +
  κλείδωμα) — όχι μία ανά edit.
- Τα εθνικά crawls τρέχουν αποκλειστικά στον scheduler — το upload σου
  δεν πυροδοτεί πια εθνικά σκαναρίσματα.
- 3 web workers + ξεχωριστός scheduler — μετρημένο 2.8× throughput
  (61 req/s σε 50 ταυτόχρονους χρήστες, 0 σφάλματα).
- Καθημερινό backup MongoDB (366MB) + vector store snapshots.

### 23.6 ✨ Μικρά αλλά ορατά

- **Τίτλοι παντού**: 3 γραμμές αντί 2 + πλήρης τίτλος στο hover
  (matches, διαγωνισμοί, command center, detail).
- **Logo & favicons** σε όλες τις σελίδες.
- Οι δράσεις που στέλνουν στον πράκτορα πάνε με **έτοιμο context του
  έργου** (deep link `?q=…`) — όχι άδεια συζήτηση.
- Οι «Συμπλήρωσε ΑΦΜ» δράσεις εξαφανίζονται μόνες τους μόλις
  συμπληρώσεις τα στοιχεία.

### 23.7 🧬 Ζωή μετά την προκήρυξη + «Δεν έχω τεκμήριο ≠ Όχι»

Δύο μεγάλες διορθώσεις το βράδυ της 1/9, μετά από πραγματική χρήση:

**α) Νέο τμήμα «Ζωή μετά την προκήρυξη» στο Radar** — έργα του γράφου με
σύμβαση ΚΗΜΔΗΣ: ανάδοχος, ποσό, πληρωμές, λήξη, επαναπροκήρυξη στον
ορίζοντα. Δικό του ερώτημα δεδομένων — δεν χάνεται κανένα παλιό έργο
επειδή «κατέβηκε» στη χρονολογική λίστα.

**β) «Δεν έχω ακόμα τεκμήριο» δεν είναι πια «No-bid».** Πριν: χωρίς
datasheets στο Knowledge Base το Compliance Matrix έβγαινε «blocked» —
και ΟΛΑ τα matches γίνονταν No-bid 30%. Τώρα: έλλειψη εσωτερικού
τεκμηρίου = **«needs_review»** (ατεκμηρίωτο, όχι αρνητικό) → η απόφαση
γίνεται **Αναβολή** με τίμια εξήγηση «ανέβασε datasheets». Μόνο
πραγματικοί όροι της διακήρυξης (π.χ. «δεν είστε η αναφερόμενη
οντότητα») μπλοκάρουν — αυτοί εξακολουθούν να βγάζουν No-bid, όπως
πρέπει.

Αποτέλεσμα στο Opportunity Command Center: 500 ευκαιρίες μοιράζονται σε
Action needed / Deadline risk / High value / Blocked με scores 50-60% —
αντί για 500 πανομοιότυπα «Blocked 15%».

**γ) Το «Run Bid/No-Bid» δεν ξαναρίχνει πια το score.** Κάθε force re-run
κόστιζε ολόκληρη αλυσίδα αναλύσεων (analyzer→compliance→pricing→draft→bid)
και, με την παλιά λογική, ξαναέριχνε τα πάντα στο No-bid. Τώρα το σύστημα
ελέγχει αν τα source reports **άλλαξαν πραγματικά** (fingerprint): αν όχι,
επιστρέφει την ίδια cached απόφαση σε 0.1s — το score μετακινείται ΜΟΝΟ
όταν αλλάξουν δεδομένα (νέα datasheets, νέα ανάλυση, νέα προθεσμία).

---

## 24. Έκδοση 3.0 — Authority Command Center για Δημόσιους Φορείς

### 24.1 Δύο ρόλοι, μία πλατφόρμα

Από την έκδοση 3.0 το TenderSense έχει **δύο εισόδους**:

| | 🏢 Προμηθευτής | 🏛 Δημόσιος Φορέας |
|---|---|---|
| Στόχος | Βρίσκει ευκαιρίες και κερδίζει διαγωνισμούς | Βλέπει όλα του τα έργα σε μία τεκμηριωμένη εικόνα |
| Σελίδα | `/app` (Catalog, Matches, Opportunities, …) | `/authority` (Authority Command Center) |
| AI agent | Γλώσσα πωλήσεων — bid/no-bid, drafts, win plans | Γλώσσα διοίκησης — τεκμήρια, λήξεις, εκκρεμότητες — **ποτέ αυτόματη απόφαση** |
| Μηχανές | Όλες | Μόνο read-only: γράφος έργου, ΚΗΜΔΗΣ, προκηρύξεις, προβλέψεις |

**Στην εγγραφή (/login → Εγγραφή)** ο χρήστης δηλώνει αν είναι
προμηθευτής ή δημόσιος φορέας (με επωνυμία φορέα + ΑΦΜ). Μετά τη
σύνδεση, ο καθένας πηγαίνει αυτόματα στον δικό του κόσμο.

### 24.2 Το Authority Command Center

Η σελίδα `/authority` έχει τρεις στήλες:

- **Αριστερά — «Ο φορέας μου»**: στατιστικά (έργα γράφου, εντάξεις χωρίς
  προκήρυξη, συμβάσεις που λήγουν σε 180 ημέρες, προθεσμίες 30 ημερών,
  ιστορικό ΚΗΜΔΗΣ) + **κουμπιά έτοιμων ερωτήσεων** («Ποια έργα έχουμε;»,
  «Τι καθυστερεί ή κινδυνεύει;», «Ποιες συμβάσεις λήγουν;», …). Κάθε
  κουμπί ρίχνει το ερώτημα στο κέντρο.
- **Κέντρο — ο βοηθός φορέα**: ο ίδιος AI agent με άλλο «μυαλό». Ξέρει
  ποιον φορέα εκπροσωπείς, φιλτράρει μόνο τα δικά σου δεδομένα και
  απαντάει ΠΑΝΤΑ με τεκμήρια (ΑΔΑ/ΑΔΑΜ/ΟΠΣ, πηγή, ημερομηνία).
- **Δεξιά — Εξαγωγές + «Απαιτεί την προσοχή μου»**: συμβάσεις που λήγουν
  και εκκρεμότητες με τα κουμπιά διόρθωσης.

### 24.3 Οι εξαγωγές (Word / Excel / PDF)

Με ένα κλικ — από τα ίδια δεδομένα της οθόνης:

- **📄 Έκθεση φορέα (Word)** — κατάσταση, έργα, λήξεις, εκκρεμότητες.
- **📑 Αναφορά ελέγχου (PDF)** — για τον φάκελο της υπηρεσίας.
- **📊 Έργα & στάδια (Excel)** — πίνακας με στάδια, επόμενο αναμενόμενο,
  ποσά, κωδικούς.
- **⏰ Συμβάσεις που λήγουν (Excel)** — ΑΔΑΜ, ανάδοχοι, ημερομηνίες λήξης.

Τα αρχεία φέρουν πάντα τη σημείωση ότι **δεν υποκαθιστούν διοικητικές
διαδικασίες ή αποφάσεις αρμόδιων οργάνων**.

### 24.4 «Απαιτεί την προσοχή μου» & Διορθώσεις γράφου

Οι εκκρεμότητες είναι **ντετερμινιστικές** — βγαίνουν από πραγματικά
δεδομένα (π.χ. «ένταξη χωρίς καταγεγραμμένη προκήρυξη», «σύμβαση που
λήγει σε Ν ημέρες»). Κάθε μία έχει: τι συμβαίνει, ποια πηγή το
αποδεικνύει, και προτεινόμενη ενέργεια **προς έλεγχο από την υπηρεσία**.

Ο φορέας μπορεί να διορθώσει τον γράφο με τα χέρια του:

- **«✓ Προκηρύχθηκε»** — μπαίνει στάδιο «tendered» με σήμανση
  `authority_feedback` και confidence **0.9** (μαρτυρία φορέα — ο κανόνας
  «1.0 μόνο για ντετερμινιστικές συνδέσεις κωδικών» τηρείται).
- **«✗ Δεν είναι δικό μας»** — σημειώνεται η ένσταση (τίποτα δεν
  διαγράφεται ποτέ).

Κάθε διόρθωση βελτιώνει τον γράφο **για όλους**: οι προμηθευτές βλέπουν
ακριβέστερες αλυσίδες και προβλέψεις. Τα δεδομένα που δηλώνει ο φορέας
εμπλουτίζουν το ίδιο το σύστημα που εξυπηρετεί και τις δύο πλευρές.

### 24.5 Στοιχεία φορέα

Στο `/settings` ο φορέας συμπληρώνει:

- **Επωνυμία φορέα** (όπως εμφανίζεται στα δημόσια έγγραφα) + **ΑΦΜ** —
  με αυτά χτίζεται η εικόνα του στο Authority Command Center.
- **Αρμοδιότητες αγορών (CPV 2ψήφια)** — «τι αγοράζει ο οργανισμός»
  (π.χ. 45 οικοδομικά, 71 μηχανικοί, 72 λογισμικό, 90 καθαρισμός).
- **Υπηρεσία / Διεύθυνση** — δηλώνεται εσύ· δεν δημοσιεύεται στα έγγραφα.
- **Εναλλακτικές ονομασίες** — όλες οι παραλλαγές/θυγατρικές/μονάδες με
  τις οποίες εμφανίζεται ο φορέας σε Διαύγεια, ΚΗΜΔΗΣ ή ΕΣΠΑ — έτσι τα
  έργα εντοπίζονται ΠΛΗΡΩΣ και δεν αποδίδονται σε λάθος φορέα.

**Κλείδωμα tenant:** ο ρόλος δεν αλλάζει ποτέ μετά την εγγραφή. Όταν ο
διαχειριστής επαληθεύσει τον φορέα (ΑΦΜ/επωνυμία), τα δύο πεδία
**κλειδώνουν** — αλλαγή μόνο από τον admin. Οι αρμοδιότητες, η μονάδα
και οι εναλλακτικές ονομασίες παραμένουν ελεύθερες.

Όλα αποθηκεύονται και τροφοδοτούν τις αναλύσεις.

### 24.6 Αρχές & όρια

- **Καμία αυτόματη διοικητική πράξη** — το σύστημα εντοπίζει,
  τεκμηριώνει, υπενθυμίζει· η απόφαση ανήκει στον αρμόδιο υπάλληλο.
- **Χωριστοί κόσμοι** — προμηθευτής και φορέας δεν βλέπουν ποτέ ο ένας
  τα εσωτερικά δεδομένα του άλλου.
- **Άγνωστο ≠ λείπει** — ό,τι δεν τεκμηριώνεται, αναφέρεται ρητά.
- Ο γράφος δείχνει μόνο ό,τι έχει δει από δημόσια έγγραφα — η απουσία
  ενός σταδίου δεν είναι απόδειξη καθυστέρησης, είναι ερώτημα προς την
  υπηρεσία.

---

## 25. Έκδοση 3.1 — Το B2G OS

Από την έκδοση 3.1 το TenderSense περιγράφεται ως **λειτουργικό σύστημα**
(OS) — όχι ως εργαλείο. Η σελίδα **`/os`** το τεκμηριώνει δημόσια.

### 25.1 Η αναλογία — γιατί «OS»

| Linux | TenderSense OS |
|---|---|
| Kernel | Ο γράφος έργου + lifecycle — ο πυρήνας δεδομένων |
| Syscalls/ABI | Typed Action Protocol — μία γλώσσα για όλους |
| VFS | Immutable event ledger — replay αντί rebuild |
| Distributions | Revenue OS (προμηθευτές) + Authority OS (φορείς) |
| Packages | Bid Room, Contract Room, Cockpit, Project Twin, modules |

### 25.2 Ο κύκλος εσόδου του προμηθευτή

Opportunity → **Bid Room** (ομάδα, workback, εγκρίσεις, υποβολή) →
**Contract Room** (υποχρεώσεις, εγγυητικές, πληρωμές, λήξη) → **Cockpit**
(αποφάσεις, κίνδυνοι, έσοδα) — όλα με audit στο ledger.

### 25.3 Το οικοσύστημα — για developers

- **API Keys** — `ts_…` κλειδιά με scopes (read:events, read:projects,
  write:feedback) — για εξωτερικά συστήματα, χωρίς user session.
- **Public API v1** — `/api/v1/events`, `/api/v1/projects/{key}`,
  `/api/v1/external/events` (key-auth), `/api/v1/external/feedback`.
- **Webhooks** — συμβάντα του πυρήνα με HMAC υπογραφή.
- **Module Marketplace** — `/modules`: τρίτοι πάροχοι καταχωρούν modules
  που μιλάνε το Action Protocol (manifest + `action_protocol_version`).

### 25.4 Οι δύο κόσμοι

- **Revenue OS** — για προμηθευτές: /today, /opportunities, /bid-rooms,
  /contract-rooms, /cockpit.
- **Authority OS** — για φορείς: /authority (Command Center, γράφος,
  Project Twin, alerts, backfill ιστορικού).

Οι δύο κόσμοι μοιράζονται τον πυρήνα — ποτέ τα εμπιστευτικά δεδομένα
του άλλου.

**Πλήρης τεκμηρίωση:** η σελίδα **`/docs`** (δημόσια, από το footer της
αρχικής) — Μέρος 1: το αφήγημα «γιατί OS» για μη-developers (να το
δώσετε στον επιχειρηματία)· Μέρος 2: το πλήρες τεχνικό documentation
για developers (API v1, Action Protocol, webhooks, modules, quickstart).
Στον οδηγό αυτό περιγράφεται η χρήση· στο `/docs` η σύνδεση.

---

## 26. Έκδοση 3.2 — Φίλτρα, Ικανότητες & Έργα

Η έκδοση 3.2 φέρνει τρία πράγματα: **καλύτερα φίλτρα** παντού, το
**προφίλ ικανοτήτων** για έργα/υπηρεσίες (όχι μόνο προϊόντα), και τη
σελίδα **Έργα** — το project pipeline.

### 26.1 Advanced φίλτρα & presets

Σε **Opportunities** και **Matches** υπάρχει νέα σειρά φίλτρων:

- **Φορέας** (υποσυμβολοσειρά) και **Περιφέρεια** (13 περιφέρειες)
- **Πηγή** (iSupplies / ΕΣΗΔΗΣ / ΚΗΜΔΗΣ / Διαύγεια)
- **CPV** (πρόθεμα — π.χ. `72` ή `72000000`)
- **Εύρος ποσού** (από/έως €) και **λήξη εντός X ημερών**
- **Αναζήτηση στον τίτλο** και **ταξινόμηση** (Opportunity / Match score /
  Αξία / Προθεσμία)

**Presets:** αποθήκευσε τον συνδυασμό φίλτρων με ένα όνομα («Νοσοκομεία
Κρήτης ≤30μ») και φόρτωσέ τον με ένα κλικ από τη λίστα «📌 Presets…».
Τα presets αποθηκεύονται τοπικά στον browser σου.

### 26.2 Εταιρικές Ικανότητες (`/capabilities`)

Το προφίλ που σε βάζει σε **έργα** — πέρα από προϊόντα:

- **Υπηρεσίες/Ικανότητες** — τίτλος, περιγραφή, CPV, λέξεις-κλειδιά.
  Με το κουμπί **«→ Κατάλογος»** μια υπηρεσία γίνεται **matchable entry**
  (kind=service) και μπαίνει στο AI matching σαν κανονικό «προϊόν».
- **Πιστοποιητικά** — όνομα, φορέας έκδοσης, λήξη (χρησιμοποιούνται στον
  έλεγχο προϋποθέσεων).
- **Έργα αναφοράς** — τίτλος, φορέας, αξία, έτος.
- **Εταίροι/Κοινοπραξίες** — με ποιους συνεργάζεσαι και τι καλύπτουν.

Τα matches υπηρεσιών εμφανίζονται με το badge **«Υπηρεσία»** σε
Matches/Opportunities, και το «Σήμερα» έχει ξεχωριστή ενότητα
**«Υπηρεσίες που ταιριάζουν σε έργα»**.

### 26.3 Έλεγχος προϋποθέσεων & εταίροι

- **✅ Έλεγχος προϋποθέσεων** (στο `/capabilities`): διάλεξε διαγωνισμό και
  βλέπεις ποιες πιστοποιητικού-τύπου απαιτήσεις (ISO, GDPR, CE, NIS2…)
  **καλύπτονται** από το προφίλ σου, ποιες **λείπουν**, και τι **χρειάζεται
  επιβεβαίωση** (π.χ. εγγυητικές, τζίρος — δεν ελέγχονται αυτόματα).
  Χρειάζεται να έχει τρέξει ο Analyzer του διαγωνισμού.
- **🤝 Πρότεινε εταίρους**: από τα δημόσια δεδομένα ΚΗΜΔΗΣ, προτείνουμε
  αναδόχους με συμβάσεις στις ίδιες CPV οικογένειες — για κάλυψη κενών σε
  μεγάλα έργα. Κάθε πρόταση προστίθεται στη λίστα εταίρων με ένα κλικ.

### 26.4 Έργα (`/projects`)

Ο **project pipeline** από επίσημα δεδομένα: χρηματοδότηση → ανάληψη →
τεχνικό δελτίο → διαβούλευση → προκήρυξη. Για κάθε έργο:

- Στάδιο, φορείς, αριθμός εγγράφων, τελευταίο σήμα
- **Προϋπολογισμός** και **παράθυρο προκήρυξης** από το Future Twin (όπου
  υπάρχουν δεδομένα — αλλιώς «—», τίμια αποχή)
- Ιστορικό σταδίων με πηγή κάθε καταχώρησης

### 26.5 «Πίσω από τις λέξεις» & νέα εργαλεία πράκτορα

- **Concept layer:** το matching συνυπολογίζει **έννοιες** (ICT taxonomy +
  domain lexicons) πέρα από λέξεις/CPV — π.χ. «ψηφιοποίηση αρχείου» και
  «διαχείριση εγγράφων» συσχετίζονται. Στο «Γιατί αυτό το score;» βλέπεις
  τις έννοιες που ταίριαξαν («Πίσω από τις λέξεις»).
- **Ο πράκτορας** απέκτησε νέα εργαλεία: `my_capabilities`,
  `list_service_matches`, `partner_suggestions`, `qualification_check`, και
  **φίλτρα** στο `list_opportunities` (region, cpv, ποσό, προθεσμία, κείμενο,
  product_kind). Ρώτησέ τον φυσικά:
  - «Τι υπηρεσίες μου ταιριάζουν σε διαγωνισμούς;»
  - «Πληρώ τις προϋποθέσεις του διαγωνισμού με id …;»
  - «Με ποιον να συνεργαστώ για έργο σε CPV 72;»
  - «Δείξε μου διαγωνισμούς στην Κρήτη πάνω από 50.000€ που λήγουν σε 30 μέρες.»

---

## 27. Έκδοση 3.3 — Company BI, AI Σύμβουλος & Πλάνα

> **Διαθεσιμότητα:** το Company BI και ο AI Σύμβουλος διατίθενται στα πλάνα
> **Business** και **Enterprise** (και στους διαχειριστές). Στα μικρότερα
> πλάνα τα μενού δεν εμφανίζονται — η ενεργοποίηση γίνεται με κλειδί
> κατόπιν αιτήματος (σελίδα `/pricing`).

### 27.1 Company BI — το BI της εταιρείας σου (`/company-bi`)

Όλα τα νούμερα βγαίνουν **από τα δικά σου δεδομένα** — δεν υπάρχουν
«δείκτες ενδιαφέροντος» χωρίς βάση:

- **Funnel πωλήσεων:** προτάσεις → ενέργεια (ενδιαφέρον/draft/υποβολή/νίκη/ήττα)
  → υποβολές → νίκες, με **ποσοστό ενδιαφέροντος, submit rate, win rate** και
  **διάμεση απόκριση** (ημέρες από match → απόφαση). Γέμισε το τρέφοντας τα
  Matches με status.
- **Forward pipeline:** οι ανοιχτές ευκαιρίες (ενδιαφέρον/draft) ×
  **πιθανότητες από το ιστορικό σου** (υποβολή × νίκη) = αναμενόμενη αξία.
  Με λίγο ιστορικό χρησιμοποιούνται priors και το δηλώνει («priors (λίγο
  ιστορικό)»).
- **Λήψεις προθεσμιών:** τι λήγει στις επόμενες 30 ημέρες με χρωματική
  προτεραιότητα (≤7 κόκκινο, ≤14 πορτοκαλί).
- **Matcher fit:** μέσο score σε όσα ασχολήθηκες vs όσα απέρριψες και
  **συμφωνία AI gate** με την κρίση σου — με βάση (n) πάντα.
- **Οι νίκες σου στο ΚΗΜΔΗΣ** (χρειάζεται ΑΦΜ στις Ρυθμίσεις): σύνολο
  συμβάσεων/αξίας ανά έτος, top φορείς-πελάτες, top CPV, **price positioning**
  (η μέση έκπτωσή σου vs αγορά p25/p50/p75 σε δείγμα συμβάσεων στα CPV σου),
  **ανταγωνιστές** με μερίδιο στους τομείς σου, **ανανεώσεις συμβολαίων**
  επόμενων 12 μηνών.

### 27.2 AI Σύμβουλος — στρατηγικές με τεκμήρια

Κάτω από το Company BI, το κουμπί **«Ανάλυση τώρα»** παράγει 3-6 κάρτες:

- **finding:** συμπέρασμα με αριθμό/γεγονός από τα δεδομένα σου
- **action:** συγκεκριμένη επόμενη ενέργεια
- **evidence:** το τεκμήριο (ποιο στατιστικό στηρίζει την κάρτα)

Αν λείπουν δεδομένα, ο σύμβουλος σου λέει **τι να συμπληρώσεις/ανεβάσεις**
(needs_data) αντί να πετάει γενικολογίες. Η ανάλυση αποθηκεύεται και
μετράει στο μηνιαίο όριο **AI ενεργειών** του πλάνου.

### 27.3 Πλάνα & όρια

| | Starter 150€ | Pro 300€ | Business 900€ | Enterprise 2.000€ |
|---|---|---|---|---|
| Company BI & AI Σύμβουλος | — | — | ✓ | ✓ |
| Market Intelligence / Project Graph / Scout | — | — | ✓ | ✓ |
| API (`/api/v1`) | — | — | 20k κλήσεις/μήνα | 100k + webhooks |
| AI ενέργειες/μήνα | 100 | 400 | 2.000 | απεριόριστες |
| Bid Rooms | 5 | 25 | απεριόριστα | απεριόριστα |
| Compliance, Telegram, Πράκτορας, Εξαγωγές | — | ✓ | ✓ | ✓ |

Το τρέχον πλάνο, τα όρια και η **χρήση του μήνα** φαίνονται στο
**Settings → «Το πλάνο σου»** και στο `/pricing`. Ενεργοποίηση/αναβάθμιση:
**κλειδί από την ομάδα μετά το τιμολόγιο** — καμία αυτόματη χρέωση.

### 28.6 Optimizer & Backtesting — Έκδοση 3.5 (Enterprise)

Στο `/company-bi` (πλάνο **Enterprise**):

- **Optimizer — κατανομή πόρων**: διάλεξε ορίζοντα (30/90/180 ημ.) και
  προαιρετικά budget → το σύστημα προτείνει **bid portfolio** με βάση το
  Expected Value, την ομάδα (bid managers/presales), τον προϋπολογισμό bids,
  το risk appetite και τη μέγιστη έκθεση ανά κλάδο. Κάθε απόρριψη έχει
  **αιτία** («budget», «bid managers (ώρες)», «έκθεση κλάδου») και όλες οι
  υποθέσεις (effort ανά αξία, κόστος bid %) φαίνονται δίπλα στο αποτέλεσμα.
- **Backtesting — τι έγινε ιστορικά**: από τα πραγματικά stage histories του
  project graph, ανά **στρατηγική** (Funding Confirmed, Budget Committed,
  Technical Preparation, Multi-Signal): δείγμα (n), **conversion σε προκήρυξη
  ΜΕΤΑ το σήμα**, **διάμεσος χρόνος** και P25–P75 — και οι **μεταβάσεις
  σταδίων** (π.χ. funding_call→included) με διάμεσους χρόνους.
  Δεν είναι πρόβλεψη: είναι μέτρηση του τι έγινε, με n πάντα ορατό.

Και τα δύο είναι Enterprise features (`capital_allocation`)· σε μικρότερα
πλάνα το κουμπί δίνει μήνυμα αναβάθμισης προς `/pricing`.

### 27.4 Ο πράκτορας γνωρίζει τα νέα

Στο chat (Command Center) ο πράκτορας έχει πλέον τα εργαλεία
`company_bi_snapshot` (funnel/pipeline/ΚΗΜΔΗΣ/κάρτες συμβούλου) και `my_plan`
(πλάνο/όρια/χρήση). Ρώτησέ τον φυσικά:

- «Πώς πάω φέτος; Πού χάνω;»
- «Πόσα έχω κερδίσει στο ΚΗΜΔΗΣ και με τι έκπτωση;»
- «Τι με συμβουλεύεις για τους επόμενους 3 μήνες;»
- «Τι πλάνο έχω και πόσες AI ενέργειες μου μένουν;»

Ο πράκτορας απαντά **μόνο με ό,τι επιστρέφουν τα εργαλεία** — αν λείπουν
δεδομένα (π.χ. ΑΦΜ), θα σου πει τι να συμπληρώσεις.

---

## 28. Έκδοση 3.4 — Πραγματικά δεδομένα, Portfolio & εκβάσεις

### 28.1 Αυτόματες εκβάσεις από ΚΗΜΔΗΣ

Με **ΑΦΜ στις Ρυθμίσεις**, το TenderSense συνδέει τις προκηρύξεις με τις
συμβάσεις του ΚΗΜΔΗΣ (αλυσίδα auction → σύμβαση) και:

- **Auto «won»**: αν το ΑΦΜ σου κέρδισε σύμβαση για match που είχες σε
  ενδιαφέρον/draft/υποβολή → σημειώνεται αυτόματα νίκη (με ΑΔΑΜ σύμβασης
  και αξία). Δεν πατάει ΠΟΤΕ ρητές αποφάσεις σου (dismissed/lost).
- **Awarded elsewhere**: αν νίκησε άλλος, καταγράφεται το market outcome
  (νικητής/αξία) χωρίς να αλλάξει το status σου — το βλέπεις στο Company BI.

Backfill: `python scripts/close_match_outcomes.py --apply` · αυτόματο job ανά 12h.

### 28.2 Οικονομικά εταιρείας (Settings)

Στο **Settings → «Οικονομικά εταιρείας»** δηλώνεις (60 δευτερόλεπτα):
μικτό περιθώριο %, κόστος bid (% αξίας), ομάδα (bid managers/presales/
architects/legal), ετήσιο budget bids, προτεραιότητες κλάδων (CPV) και
risk appetite. Είναι **εκτιμήσεις** με defaults ανά κλάδο — τροφοδοτούν το
Expected Value, το εκτιμώμενο μικτό κέρδος και (μελλοντικά) την κατανομή
πόρων. Ό,τι δεν δηλωθεί, φαίνεται ως «defaults κλάδου» — ποτέ ως αλήθεια.

**Μόλις βάλεις το ΑΦΜ σου** (Settings → Στοιχεία εταιρείας), ξεκινά
**αυτόματα**: επικυρώνεται (9 ψηφία + ψηφίο ελέγχου), συγχρονίζεται παντού
και αρχίζει το χτίσιμο του ΚΗΜΔΗΣ ιστορικού σου — νίκες, τιμές vs αγορά,
ανταγωνιστές, ανανεώσεις — χωρίς δεύτερο βήμα. Αν το ΑΦΜ είναι άκυρο, το
σύστημα σε ενημερώνει αμέσως αντί να δείχνει κενά.

### 28.3 Portfolio (`/company-bi`)

- **Σύνολα**: αξία pipeline, αναμενόμενη αξία, **εκτιμώμενο μικτό κέρδος**
  (αναμενόμενη × margin), ανοιχτές ευκαιρίες
- **Εκθέσεις**: ανά κλάδο (CPV) και ανά φορέα-πελάτη
- **Trend 30 ημερών**: η αναμενόμενη αξία του pipeline ανά ημέρα
  (ημερήσιο snapshot — γεμίζει αυτόματα)

### 28.4 Συμμετέχοντες διαγωνισμών (Participation Extractor)

Ο διαχειριστής μπορεί να δίνει κείμενο πρακτικού/απόφασης στο
`POST /api/admin/participation/extract` → εξάγονται **evidence-locked**
συμμετέχοντες (κάθε εγγραφή έχει verbatim απόσπασμα + ΑΔΑ) στη συλλογή
`tender_participants`. Σταδιακά τροφοδοτεί competition density και
πραγματικά P(Win) labels. (Η αυτόματη άντληση εγγράφων είναι το επόμενο βήμα.)

### 28.5 Πλάνα

Όλα τα παραπάνω διατίθενται από το πλάνο **Business** και πάνω (μαζί με
Company BI, Market Intelligence, Project Graph, Scout, API). Ο διαχειριστής
βλέπει τον πλήρη κατάλογο πλάνων/features στο Admin (καρτέλα «Έκδοση κλειδιού
→ Πλάνα & features») και στον `/pricing`.
