Developer FAQ

Common questions before and during implementation

This page answers the questions that usually appear when a team wants to integrate EEV into software without getting lost between the public contract, architecture choices, legacy compatibility, and product rollout.

Do we need to implement all of EEV at once?

No. A credible first version can target a clear subset, for example reading ENTRY in .eev and .eevz, with honest validation and a canonical writer limited to the fields the software genuinely understands. The important point is not to cover everything immediately, but to document exactly what is supported.

Where should implementation start technically?

The cleanest starting point is the simple text route: detect the container, obtain raw text, parse one ENTRY, build an internal model, then re-emit stable text. Compression and certification come later as additional layers, not as a second core.

How should legacy variants be handled?

On read, the parser may stay tolerant and map some legacy forms into the modern internal model while surfacing warnings. On write, the canonical writer should not automatically recycle those older forms. Reading broadly and writing cleanly remains the safest rule.

Should ENTRY and LIB be treated as two separate formats?

Not really. They are two container structures in the same family. ENTRY describes one fingerprint. LIB adds a library frame able to embed multiple entries. It is preferable to share as much of the inner block handling as possible, then add a library layer around it.

What should a canonical writer guarantee?

It should produce deterministic, ordered, readable text that is coherent with the targeted public contract version. Two identical exports should yield the same output. Fields should appear in a stable order, with predictable normalization of values and sections.

Should the original raw lines be preserved?

Only if the product truly needs them for inspection or diff tooling. For the main business logic, it is better to converge quickly toward a clean internal model. Relying on raw lines for too long makes parser and writer evolution much more fragile.

Is hashing only about compressed files?

No. Hashing belongs to documentary integrity, not to compressed transport. A file may be compressed or not; the hash question is which parts of the document are protected and how to verify that they have not been altered.

Should my tool handle EEVC files?

It is useful to support reading already-issued EEVC or EEVCZ files if your product needs inspection or verification of certified material. This site does not document local creation of EEVC; for certified verification workflows, use eevc.link.

Which product message should be avoided?

It is better to avoid presenting EEV as a simple “enhanced note,” or as a magical promise that alone tells what a sound “does.” The format finely describes and structures vibratory behaviour; it replaces neither listening, nor human judgment, nor interpretive frameworks.

Does the Open EEV site itself require a database?

No. The site delivered here is a lightweight PHP site with simple i18n. It can be copied directly to the hosting space. No MySQL database is required and no SQL command has to be executed.