Saltar a contenido

Arranque local — Iteración I1

Requisitos

  • Python 3.11+
  • (Opcional) Docker Desktop para SQL Server / Azurite

1. Rule Engine tests

cd services/rule-engine
python -m pip install -r requirements-dev.txt
python -m pytest -q

2. Finance API

cd services/finance-api
python -m pip install -r requirements.txt
copy .env.example .env
uvicorn app.main:app --reload --port 8001

Swagger: http://localhost:8001/docs

2b. MCP Suppliers (US 61)

cd services/mcp-suppliers-server
python -m pip install -r requirements-dev.txt
python -m pytest -q
python -m app.main --transport http --port 8082
# Health http://127.0.0.1:8082/api/platform/health  ·  MCP /mcp

Detalle: mcp-suppliers.md · services/mcp-suppliers-server/README.md

Flujo demo rápido (HITL por umbral > 50k)

# Crear factura alta
curl -X POST http://localhost:8001/api/finance/invoices `
  -H "Content-Type: application/json" `
  -d "{\"invoiceNumber\":\"INV-60000\",\"supplierTaxId\":\"901222333\",\"purchaseOrderId\":\"PO-90500\",\"amount\":55000,\"tax\":5000,\"total\":60000,\"currency\":\"USD\"}"

# Procesar (usa el invoiceId de la respuesta)
curl -X POST http://localhost:8001/api/finance/invoices/{invoiceId}/process

# Timeline
curl http://localhost:8001/api/finance/invoices/{invoiceId}/audit

# Aprobar
curl -X POST http://localhost:8001/api/finance/invoices/{invoiceId}/approve `
  -H "Content-Type: application/json" `
  -d "{\"comment\":\"OK excepcion autorizada\",\"user\":\"finance.reviewer@company.com\"}"

3. HR API

cd services/hr-api
python -m pip install -r requirements.txt
uvicorn app.main:app --reload --port 8002

4. Docker opcional

docker compose up -d

Por defecto I1 usa SQLite (finance_dev.db) para cero fricción.