Skip to content

refactor: extract convention/ domain from deposition/ #119

@rorybyrne

Description

@rorybyrne

Context

Conventions (submission targets that bundle schema + hooks + file requirements) currently live in domain/deposition/. Both the deposition and ingest pathways reference conventions equally — conventions are shared infrastructure, not deposition-specific.

What

Extract ConventionService, Convention model, and convention commands/queries into their own domain/convention/ bounded context.

Files to move:

  • deposition/model/convention.pyconvention/model/convention.py
  • deposition/service/convention.pyconvention/service/convention.py
  • deposition/command/create_convention.pyconvention/command/create.py
  • deposition/query/get_convention.py, list_conventions.pyconvention/query/
  • deposition/port/convention_repository.pyconvention/port/repository.py
  • Convention-related routes from deposition router → convention router

Why

  • Ingest references conventions equally with deposition
  • Having conventions in deposition/ creates a false ownership signal
  • Clean bounded context with its own API, commands, queries

Effort

M — mechanical extraction, no logic changes. (human: ~1 day / CC: ~20 min)

Priority

P3 — cosmetic improvement, not blocking. Pairs well with #118 (enrichment rename).

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorInternal restructuring, no behavior change

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions