File Store Diagnostic Codes
When BimlFlex reads a file store, it reports each problem it finds as a diagnostic.
What a diagnostic carries
A diagnostic carries a code, a severity and a message. Where they are known, it also carries the file, the position in the file, the entity and a related file.
Severities
| Severity | Effect on a load |
|---|---|
| Error | The store does not load until the file is fixed. |
| Warning | The diagnostic is reported and the load continues. |
| Info | The diagnostic is reported and the load continues. |
Stable codes
Treat a diagnostic code as a stable identifier. The message text beside it can change between releases, and new codes can be added. A code number that leaves the catalog is never reused for another condition.
Codes
| Code | Severity | Condition |
|---|---|---|
| BFXF002 | Error | One collection receives the same member through two channels, or a collection is written inline while its folder also holds members. |
| BFXF002w | Warning | One $files list names the same document twice. The member is loaded once. |
| BFXF003 | Error | A reference names an entity that does not exist, or a $file, $files or $folder path does not resolve to a place inside the store. |
| BFXF003w | Warning | An optional reference does not resolve and is left empty when the load is run with dangling optional references allowed. |
| BFXF005 | Warning | A recognized .json file sits under a kind's folder and belongs to no collection. The file is not loaded. |
| BFXF007 | Error | A sensitive property holds a literal value in place of a secret reference. |
| BFXF008 | Error | A typed property holds a code that is not in its list of permitted codes. |
| BFXF014 | Error | A reference has the wrong shape for the kind it must point to. |
| BFXF017 | Error | The manifest is missing or invalid, or it declares a format version BimlFlex does not read. |
| BFXF018w | Warning | A property the format does not know. It is kept when the file is rewritten. |
| BFXF019 | Error | A document is not valid JSON, or a part of a document does not have the JSON shape the format expects. |
| BFXF020 | Error | Two entities of one kind and scope have the same name. Both are named and neither loads. |
| BFXF021 | Error | An entity has no name, a required identity part is missing, or an entity folder has no anchor document. |
| BFXF022 | Error | A split out child lacks its parent property or disagrees with its folder about the parent, a map key disagrees with the name in the entry, or one entity is carried both as an own file and as a folder with an anchor document. |
| BFXF023i | Info | A document carries $id, which the format does not use. It is left out when the file is rewritten. |
| BFXF024i | Info | Tracking files from an older format sit in the .bimlflex folder. They are ignored. |
| BFXF025 | Error | The manifest declares a format older than 2.0. Such a store is regenerated from its source database. |
| BFXF026 | Error | A $file marker points at a document of the store and not at a text file. |
| BFXF027 | Error | A JSON object repeats a key. Nothing is picked and the scope does not load. |
See File Store Layout and Names and References in a File Store for the rules these codes report on.