openvex / spec

OpenVEX Specification
Creative Commons Zero v1.0 Universal
125 stars 18 forks source link

Update Spec to point out `@id` change #29

Open tschmidtb51 opened 1 year ago

tschmidtb51 commented 1 year ago

The OpenVEX spec has a section Updating Statements with Inherited Data. This contains two examples and the text in between:

When adding a second statement, the document date needs to be updated, but to preserve the integrity of the original statement we need to keep the original document timestamp. The newly added statement can inherit the document's date to avoid duplication:

This text should also point out that you assigned a new @id ("@id": "https://openvex.dev/docs/example/vex-84822c4e5028c"; basically, you copied the statement one from the document with "@id": "https://openvex.dev/docs/example/vex-9fb3463de1b57" - otherwise you would have to add a last_updated field to the document level).

Nevertheless, I think the current implementation violates the rule from the requirements:

[doc_time_first_isued] MUST equal the oldest [statement_time_first_issued] of all included VEX statements.

puerco commented 1 year ago

It's a good idea, thanks! I'll add some lines to the spec to reflect that. Perhaps exemplifying both use cases (new document and same document + new version) would be useful too.