Remover o model Agreement

TLDR: apaga o model Agreement, suas associações, testes, fixtures e a tabela agreements, que não são usados por nenhum fluxo do sistema.

Contexto

O model Agreement foi criado em 20260724120700_create_agreements.rb, mas nenhum controller, service, serializer ou tela o utiliza. Ele só aparece em associações de outros models, em testes/fixtures e em um puts do seed. Manter código e tabela sem uso aumenta a superfície de manutenção.

Objetivos

  • Remover o model Agreement e todas as referências a ele no backend.
  • Remover a tabela agreements do banco via migration nova.

Fora de escopo

  • O conceito de negócio “acordo” nas regras em .project/docs/rules/ — os docs falam do conceito, não do model, e não mudam.
  • Alterar Negotiation, Debit ou User além de retirar as associações com Agreement.
  • Editar ou apagar a migration original 20260724120700_create_agreements.rb — ela permanece no histórico.
  • Reversibilidade da remoção: a migration usa drop_table sem bloco e não é reversível (decisão explícita).

Mudanças

Todos os caminhos relativos a modules/backend/.

  • app/models/agreement.rb — apagar.
  • app/models/negotiation.rb — remover has_one :agreement, dependent: :destroy.
  • app/models/user.rb — remover has_many :approved_agreements, ....
  • app/models/debit.rb — remover has_many :agreements, through: :negotiations.
  • test/models/agreement_test.rb — apagar.
  • test/fixtures/agreements.yml — apagar.
  • test/models/debit_test.rb — remover o teste "reaches its agreements through the negotiations".
  • db/seeds.rb — remover o bloco que imprime --- Agreement --- / Agreement.count.
  • db/migrate/<timestamp>_drop_agreements.rb — nova migration com drop_table :agreements (sem bloco, irreversível). As foreign keys para negotiations e users caem junto com a tabela.
  • db/schema.rb — regenerado pelo db:migrate (some create_table "agreements" e os dois add_foreign_key "agreements", ...).

Como verificar

  • grep -rni agreement modules/backend --exclude-dir={tmp,log} retorna apenas a migration original e a nova migration de drop.
  • bin/rails db:migrate roda sem erro e o schema.rb não contém mais agreements.
  • Suíte de testes do backend passa (bin/rails test).
  • bin/rails db:seed roda sem erro.

Documentação

Nenhuma mudança de documentação necessária.