iachat/db/migrate/20260502120100_add_provisioning_columns_to_captain_assistants.rb
Rodribm10 7995bc6fe6 feat(captain): pricing em DB + colunas de provisionamento Hermes
Migra a tabela de preços do PricingTables.rb hardcoded pras tabelas
captain_pricing_categories + captain_pricing_amounts no DB. Mantém a
mesma API pública Captain::Mcp::PricingTables.calculate(...) — código
chama o banco via novos modelos Captain::PricingCategory e
Captain::PricingAmount.

Seed db/seed_pricing_tables.rb faz backfill idempotente pra Dolce Amore
(unit 4) e Express (unit 5) com a mesma estrutura que tava no Ruby.

Adiciona em captain_assistants:
- hermes_subscription_secret (gerado pelo script de provisionamento)
- hermes_port (alocado no range 8650-8699)
- parent_assistant_id (link informativo Hermes → captain_interno parent
  pra sombrear FAQs/scenarios via header X-Captain-Assistant-Id)

Adiciona em captain_units: extra_person_fee + currency.

Primeiro milestone do roadmap arquitetural pro Construtor autônomo
(decisões em memory/project_construtor_autonomo_decisions.md).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 09:04:50 -03:00

15 lines
560 B
Ruby

class AddProvisioningColumnsToCaptainAssistants < ActiveRecord::Migration[7.1]
def change
add_column :captain_assistants, :hermes_subscription_secret, :string
add_column :captain_assistants, :hermes_port, :integer
add_column :captain_assistants, :parent_assistant_id, :bigint
add_index :captain_assistants, :parent_assistant_id
add_index :captain_assistants,
:hermes_port,
unique: true,
where: 'hermes_port IS NOT NULL',
name: 'idx_captain_assistants_hermes_port_unique'
end
end