# 05. Implement Linux data models (C/Vala)

meta:
  id: native-business-logic-migration-05
  feature: native-business-logic-migration
  priority: P0
  depends_on: [native-business-logic-migration-02]
  tags: [implementation, linux, data-models]

objective:
- Implement all data models in Vala/C following Linux/GNOME conventions

deliverables:
- feed-item.vala
- feed.vala
- feed-subscription.vala
- search-result.vala
- search-filters.vala
- notification-preferences.vala
- reading-preferences.vala
- Supporting structs and enums

tests:
- Unit: Test JSON serialization with Gio
- Unit: Test property accessors
- Unit: Test equality methods

acceptance_criteria:
- All models properly structured
- JSON serialization working
- Memory management correct (no leaks)
- GObject integration ready

validation:
- Run `meson test -C build`
- Check with valgrind for memory leaks

notes:
- Use Vala objects for reference types
- Use structs for value types
- Follow GNOME HIG for naming
