Spaces:
Sleeping
Spec 0004 - Construct library from YAML (brief)
Status: implemented (2026-07-09) Phase: 0/1 Design doc ref: §10.1, §11 Context: Mohammad's assistant will send questionnaires to add.
Replace backend/app/seed_constructs.py seeding with packages/construct_library/constructs/*.yaml
as the source of truth: loader validates via the same rules as validate_constructs.py,
computes item_hash with the reference algorithm, seeds/updates DB rows keyed
(construct_id, version) - append-only, never mutate an existing version. Run metadata embeds
the full construct snapshot. UI shows verification_status (verified prominently; others with
a "wording not yet verified" chip). New questionnaires from the lab = new YAML files + validator
run; item wordings marked needs_verification until checked verbatim against the publication.
Reverse-scored flags flow through to exports per design §11 (raw + flags in v1).
Key tests: loader/validator parity, append-only enforcement (same id+version re-seed is idempotent; changed items under same version = hard error), snapshot-in-metadata, status chip logic.