DRAGOMAN

FI-132 · controls dialect interpreter · v1.2.0

Intake

Load one or more files into the cargo. Nothing is interpreted yet. The dialect is sniffed and shown with the evidence it was sniffed from, and the override below it is always available.

Cargo

The cargo is empty. Add a file, paste text, or load the worked example.

Rejected rows

Every row that did not become a point is listed here with the reason. No row is ever dropped quietly.

ParcelRowReasonLiteral

Loom

Point names are tokenised and stood up as vertical slot columns. A settled convention makes a narrow first column and a wide tail. Ragged columns are marked, because raggedness is information. Assign a role to each column, then apply.

Why this delimiter set won

Every candidate set is scored on how consistently it cuts the cargo into the same number of columns. A set that cuts nothing scores zero however consistently it fails. The runners up are here so the ranking can be argued with rather than trusted.

Delimiter setScoreModal columnsAgreementDistinct widths

Orphans

Rows that fit no grammar family. These must be assigned to a family or explicitly excused before Emit will run.

ParcelNameTokensAction

Lexicon

The abbreviation bench. Entries ship as data, not as code. Edit them, add your own, export the dictionary and carry it to the next station.

TokenConceptTagsRoleKind

Ambiguities in this cargo

Where a token has more than one reading, the candidates are ranked with the evidence for each. The instrument will not pick one on its own.

Units

One table across four dialects. An approximate mapping is labelled as approximate and carried into the exception report.

BACnet idBACnet nameNiagara facetHaystackQUDTExact

State text

Binary and multi-state wording carried through from the source rather than discarded.

PointSourceStates

Model

The class table shipped inside this file was entered by hand from the Brick 1.3 class list. It is a working subset, it is not the ontology, and it has not been checked against the ontology by any machine. Load a class list here to replace it with the real thing. One class per line, child then parent, as Zone_Air_Temperature_Sensor < Air_Temperature_Sensor. A class this instrument does not know is not invented, it is generalised up the chain until it reaches something known, and the exception report names every point that happened to.

Equipment

Points and the evidence ladder

NameEquipmentTagsBrick classUnitBandLadderCommitted

Relationships

Feeds and parts are the information no point list contains. Draw them here. A relationship a human asserted is dashed, and it says so in the exception report. hasPoint is deliberately absent from this list: the cargo already answered that one, so the instrument derives it and the operator does not get to assert it by hand.

FromRelationshipToOrigin

Emit


  

Round trip check

The emitted artefact is read back with this instrument's own inbound parser and compared against the model. Lossy is fine. Silently lossy is not.

FieldSurvivedLostNote

Exception report

Mandatory. It cannot be turned off and it travels with the artefact.


  

About DRAGOMAN

Field Instrument FI-132 · version 1.2.0

A dragoman was the interpreter who stood between two parties who could both speak, but not to each other. This instrument carries building control point data between BACnet point lists, Niagara exports, Project Haystack and Brick, and keeps the receipts for every step.

License: GPL-3.0

Vendored libraries: none. The CSV, XML, Zinc, Trio, JSON-LD and Turtle readers and writers are hand rolled in this file.

Embedded assets: 1 SVG device mark, drawn for this instrument. Asset budget: 4 kB, in use approximately 0.9 kB.

Brick ontology targeted: 1.3 (embedded subset). Haystack: 3.0 grids, partial 4 defs.

Session

Everything is local to this browser and this file. Export writes the whole session, cargo included, as one JSON file. Import validates against the session schema and renders every value as inert text.

Archive

Nothing is hard deleted. Archived sessions are held here until this page is closed, and are included in an export.

Self test