6c62e0fa31
Every stage transition was reading the content body's YAML front matter to derive name/agent/blocked/depends_on, then writing those values straight back into the CRDT registers — but the CRDT was already the source of truth for all of these fields. The reparse was at best a no-op and at worst could regress the CRDT to stale YAML values during transitions on items whose YAML was out of date. Now move_item_stage: - writes the new stage to the CRDT with None for every other field, so write_item leaves existing registers untouched. - reads name/agent/blocked/depends_on back from the CRDT view when mirroring the row into the SQLite shadow table (still needed because the shadow stores a denormalised snapshot for read-side queries). The yaml_legacy::parse_front_matter import is gone from db/ops.rs; the only path still using it on the production side is ItemMeta::from_yaml, which is a caller convenience (mostly used in test fixtures). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>