# Dynamic result display configuration update

The backend result engine now preserves the frontend `resultDisplay` object in the existing `result_configurations.configuration_json` field.

No new database migration is required.

Supported per-profile display groups:
- `term`: total, position, grade, classHigh, classAverage, classLow, remark
- `cumulative`: firstTerm, secondTerm, thirdTerm, cumulative, position, grade, classHigh, classAverage, classLow, remark
- `fca`: ca, exam, total, position, grade, classHigh, classAverage, classLow, remark

Each group stores `columns` booleans and `labels` strings. The server normalizes both before save and when reading existing configuration.

The future paid-field/developer entitlement feature should be enforced separately on the server rather than trusting school-admin configuration JSON.
