# Έλεγχος πραγματικών μετρήσεων / Measurement intake Version: measurement-intake-v1. This is a structural review tool, not approval, authentication or a statistical sampling design. No new measurements were collected in implementing this tool. Production inputs remain unchanged. ## Χρήση / Use Στο /classic#measurement-intake (και /en/classic#measurement-intake) κατέβασε το κενό πρότυπο, συμπλήρωσε μόνο όσα διαθέτεις και διάλεξε το αρχείο. Μία εγγραφή ή λίστα εγγραφών JSON, έως 100 εγγραφές και 1 MiB. Ο έλεγχος γίνεται μόνο στον browser. Δεν υπάρχει υποβολή ή αποθήκευση σε διακομιστή. Η αναφορά λήψης περιέχει και το αρχικό περιεχόμενο, επομένως έλεγξέ την πριν τη μοιραστείς. Download the blank template, fill only known fields and select the JSON locally. Use one record or an array, at most 100 records and 1 MiB. No upload occurs. The downloaded report includes the supplied records and the SHA-256 of the original file bytes. Review it before sharing. File/date changes clear old results. Το κενό πρότυπο αναμένεται να αποτυγχάνει. Μην αντικαθιστάς τα άγνωστα null με μηδέν ή true για να περάσει. Μηδέν σημαίνει μετρημένη απουσία. Στην ολοκληρωμένη ερευνητική εγγραφή, θέσε kind="research-product-record", schemaVersion=1, productionInput=false και quality.calibrationApproved=false. Το εργαλείο δεν επιτρέπει έγκριση με αλλαγή μιας σημαίας. The unfilled template should fail. Retain unknown nulls. For a populated record, set kind to "research-product-record"; keep schemaVersion=1, productionInput=false and quality.calibrationApproved=false. A successful check is only readiness for human review, not a finding that the evidence is authentic or representative. ## Ταυτότητα και ημερομηνίες / Identity and dates - id: μοναδικό αναγνωριστικό εγγραφής. businessId, branchId, productId, πόλη και όνομα προϊόντος απαιτούνται. chainId είναι null μόνο αν δεν ανήκει σε αλυσίδα. / Unique record ID, business, branch, product, city and product name. chainId is null only for an independent business. - Μία φυσική μονάδα έχει σταθερό repeatGroupId στο ίδιο businessId/branchId. Οι επαναληπτικές ζυγίσεις της έχουν διαφορετικό id και repeatNumber (1, 2, ...). Δεν είναι ανεξάρτητα προϊόντα. / Reweighings keep the physical-unit group ID; each record has its own id and repeatNumber. Counts are declared identities, not verified independent units. Aliases across files need manual matching. - observedAt: αγορά/παραλαβή. measuredAt: ζύγιση. retrievedAt: ολοκλήρωση αρχειοθέτησης. Πλήρες ISO timestamp με Z ή μετατόπιση ζώνης ώρας. Ισχύει observedAt <= measuredAt <= retrievedAt <= τέλος ημέρας ελέγχου UTC. / Purchase/receipt, weighing, then archival completion. Use full ISO timestamps with timezone. Invalid dates, reversed order and timestamps after cutoff fail. - design.sampleRole: pilot, calibration ή validation. Εκτός 25–28 UTC δηλώνεται pilot. samplingFrame και selectionRule περιγράφουν πραγματικό τρόπο επιλογής. / Outside the 25th–28th UTC window, use pilot and state the actual selection. This does not create a monthly snapshot or claim a national sample. - Για calibration/validation ο διαχωρισμός επιχειρήσεων προδηλώνεται με businessGroupSplitAssignedBeforeFitting=true. Η ίδια αλυσίδα ή επιχείρηση δεν μπορεί να υπάρχει και στις δύο ομάδες μέσα στο ίδιο αρχείο. / Predeclare the split. The same chain/business cannot enter both groups in one input. Combining separate batches requires a combined check; file isolation does not establish independence. ## Προϊόν, βάρη και τεκμήρια / Product, weights and evidence channel: in-store, pickup ή delivery, χωρίς ανάμειξη καναλιών. Περιέγραψε ingredients, selectedExtras, omittedIngredients, productSize, meatType και breadType. Κατέγραψε regularConfiguredPriceEUR, paidPriceEUR, promotion (boolean) και deliveryFeesExcluded=true όταν οι δηλωμένες τιμές δεν περιέχουν μεταφορικά. For a numerical preview the scope is a standard pork gyro in pita: meatType="pork", productSize="standard", breadType="pita". Other products are retained for separate review. A complete recipe includes explicit extras and omissions lists, even when empty. Prices concern the configured product only. method="direct-cooked-separation" και meatWasWeighedDirectly=true δηλώνονται μόνο για πραγματική ζύγιση διαχωρισμένου ψημένου κρέατος. operatorId, scaleCheck, scaleResolutionGrams, measuredAt, minutesAfterPreparation, packagingTareGrams και componentSeparationMethod καταγράφουν πώς έγινε. Η συσκευασία δεν μπαίνει στο wholeEdibleProductGrams. Τα έξι συστατικά είναι cookedMeatGrams, breadGrams, friesGrams, vegetablesGrams, sauceGrams, unseparatedRemainderGrams. Only direct weighing of separated cooked meat qualifies for the preview. Catalogue declarations, raw weights and generic cooking yields do not qualify. Record the operator, scale check, resolution, timing, tare and separation method. Component sum is compared with the edible whole. The rounding screen allows 7 × scale resolution / 2, from six component readings plus the whole, assuming rounding to the nearest scale increment. This is not scale accuracy, a confidence interval or a full mass-loss model. Nonzero unseparated remainder and resolution at least one tenth of meat weight require separate review and withhold previews. Το evidence περιέχει παραπομπές σε menu, receipt, productPhoto, scalePhotos, sourceDateEvidence, sourceFamily και independenceReview. Επιτρέπονται URL ή τοπικά αναγνωριστικά αρχείων. Ο έλεγχος δεν επισκέπτεται συνδέσμους ή ανοίγει εικόνες, επομένως η ύπαρξη κειμένου δεν πιστοποιεί το περιεχόμενο. Οι σημαίες recipeFullyDefined, priceVerified και cookedMeatMeasured είναι δηλώσεις του καταγραφέα που θα επαληθευτούν από άνθρωπο. Evidence fields are references, not remotely authenticated facts. Keep files with their collection, original dates and stable identifiers. Do not publish personal receipt details. Review claims and sources before accepting calibration. ## Προεπισκόπηση / Preview Η προεπισκόπηση αλλάζει μόνο την παραδοχή κρέατος στο έτος της μέτρησης. Μισθολογική βάση, ετήσια τιμή, διάδοση πατατών, μερίδιο αξίας κρέατος, μη κρεατική βάση και προϊόν αναφοράς μένουν ίδια με το μοντέλο. Η τιμή αγοράς της εγγραφής δεν αντικαθιστά την ετήσια τιμή. Οι επαναλήψεις δεν αθροίζονται σε νέο δείκτη. The existing model computes rounded equivalence, its reciprocal factor and the equivalent annual price with the same three-decimal steps. Purchasing income divided by that price gives the conditional result. The report retains every input, factor, baseline and candidate value, cap activation and dataset version. The raw index is unchanged. No averaging, fitting, national inference, historical backcasting or reference-unit replacement is performed. One measurement cannot identify a meat-value share or justify replacing a year's assumption. ## Τοπική εντολή / Local command With the project checkout and Bun: bun run measurement:check INPUT.json --as-of YYYY-MM-DD Read-only; JSON report goes to stdout. Exit 1 means structural errors; exit 2 means missing evidence or scope review; exit 0 means structurally ready for human review, never published or approved. Both CLI and browser use the same engine. For a reproducible result retain the original input, as-of date, report version and dataset version. Later methodology versions require explicit re-evaluation. ## Επόμενο / Next Πρώτη πραγματική πιλοτική καταγραφή πλήρως ορισμένων προϊόντων, με αποδείξεις και ζυγίσεις. Έπειτα συνδυασμένος έλεγχος εγγραφών και ανθρώπινη ανάγνωση τεκμηρίων. Μόνο μετά εξετάζονται συγκρίσιμες ομάδες και εμπειρική αναθεώρηση παραδοχών. Καμία αυτόματη προώθηση στην παραγωγή. Next: obtain genuine pilot records, validate them together and manually review their evidence before considering matched groups or empirical model revisions.