Skip to content

M1.5 — Adapter KbRepository.upsert() pour structured_data #6

Description

@zestones

Note

Milestone: M1 — Data Layer
Planning doc: docs/planning/M1-data-layer/issues.md

Scope. Modifier backend/modules/kb/repository.py :

  • Étendre JSON_FIELDS pour inclure structured_data (et signal_patterns côté failures)
  • Réécrire EquipmentKbUpsert Pydantic dans schemas.py :
    structured_data: EquipmentKB, raw_markdown: str | None,
    confidence_score: float, last_enriched_at: datetime | None,
    onboarding_complete: bool
  • Supprimer toute référence aux 3 anciens champs (nominal_specs,
    common_failure_modes, maintenance_recommendations) dans schemas.py,
    repository.py, router.py. Pas de retro-compat (cf. M1.1, on drop la DB).

Note

Decided — pas de retro-compat.
Suppression complète des 3 anciens champs
dans le code. Une seule source : structured_data.

Acceptance.

  • PUT /api/v1/kb/equipment avec body contenant structured_data persiste correctement
  • GET /api/v1/kb/equipment/2 retourne le structured_data parsé
  • Test : roundtrip Pydantic → JSON → DB → JSON → Pydantic identique

Metadata

Metadata

Assignees

Labels

backendChangement on back sidedatabaseSchema migration or repository change

Projects

  • Status
    ✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions