-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Feature description
Implement correct_record across the Move and Rust packages.
This feature adds correction records for handling erroneous data entry while preserving audit integrity. Records remain immutable; corrections are represented by new records that reference the record they replace.
Motivation
We need a safe way to fix mistakes in submitted records without mutating or deleting historical data.
The correction model should stay simple:
- any record can be corrected
- corrections of corrections are allowed
- references are unidirectional only
- tooling can resolve the current canonical state
Requirements
- Add
correct_recordsupport across the relevant Move and Rust packages. - Keep original records immutable.
- Represent a correction as a new record with a single extra field:
replaces: Option<u64>
- The new correction record must reference the record it replaces.
- Any record can be corrected, including a correction record.
- Require a dedicated
CorrectRecordcapability / permission. - When tags are in use, the caller must have:
- correction permission
- access to the old tag
- access to the new tag
- A correction record may use a different tag from the record it replaces.
- Tooling / client helpers should be able to resolve the current canonical state from the replacement chain.
Are you planning to do it yourself in a pull request?
Yes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
In Progress