Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Direção de produto v3.7: uma plataforma financeira B2B com ofertas-alvo Arandu Essencial, Arandu Gestão e Arandu Enterprise adaptadas à complexidade do cliente, além da experiência Arandu Instituições para bancos e adquirentes convidados. O comprador deve obter valor mesmo sem adesão bancária; contratos, relacionamento e propostas externas com proveniência fazem parte do ciclo pretendido. Isto é decisão estratégica, não anúncio de planos comercializados ou novas funcionalidades prontas. Leia docs/ARANDU_PRODUCT_ENGINEERING_GUIDELINES.md §§39–44, docs/ARANDU_SEGMENTED_PRODUCT_OPERATING_MODEL_V37.md e docs/ARANDU_V37_EVIDENCE_AND_DECISION_GATES.md. Até 29/10, link público fiel e estação local READY (§37) continuam P0.
Arandu é uma plataforma B2B de procurement financeiro. Ela ajuda empresas a
estruturar uma demanda financeira, solicitar propostas a vários bancos e
provedores, comparar as condições lado a lado, decidir com aprovação interna e
acompanhar o contrato até a renovação.
Produtos cobertos hoje:
O Arandu não concede crédito, não decide crédito, não movimenta
dinheiro, não executa pagamentos e não recomenda instituição. A decisão
é sempre da empresa. Limites completos em
docs/FINANCIAL_PRODUCT_BOUNDARIES.md.
Demonstração: a demo canônica é o próprio produto (
main) comARANDU_ENV=demo, um Supabase DEMO e a empresa fictícia Vitta Foods S.A. Localmente:npm run demo:setup. Roteiro, dados, reset e travas:docs/demo/README.md.
Uma tesouraria que quer crédito ou trocar de adquirente costuma pedir proposta por e-mail, receber cada banco num formato, montar a comparação em planilha e aprovar por mensagem. Não fica registro de quem pediu o quê, qual versão da proposta foi comparada, quem aprovou e por quê, nem de quando o contrato vence. O Arandu dá forma a esse processo, com trilha de auditoria, sem tomar a decisão no lugar da empresa.
/finance/)/provider/)/finance/ops.html)Console de saúde para o papel de plataforma finance_ops, com MFA obrigatório,
métricas operacionais e outbox — sem dados de clientes.
| Camada | Tecnologia | Onde |
|---|---|---|
| Front-end | HTML multipágina + JavaScript modular, build com Vite | finance/, provider/, demo/, páginas públicas na raiz |
| API | Funções serverless da Vercel; roteador único | api/[...path].js, domínio financeiro em lib/api/domains/finance.mjs e lib/finance/ |
| Banco | Supabase (PostgreSQL, Auth, Storage), RLS em todas as tabelas fin_* | migrations em docs/*.sql, ordem em docs/supabase-migrations.json |
| Jobs | Vercel Cron com segredo (/api/jobs/renewals) | lib/api/domains/finance-jobs.mjs |
| Demo | Produto real com ARANDU_ENV=demo e Supabase DEMO semeado (Vitta Foods); sandbox legado no navegador até a migração | scripts/demo/, finance/demo/ (legado) |
Modelo de dados: docs/FINANCIAL_DATA_MODEL.md.
Interface: docs/FINANCIAL_UI_ARCHITECTURE.md.
Produto: docs/FINANCIAL_PROCUREMENT_PRODUCT.md.
fin_*; RPCs com
search_path fixo e inventário travado em teste; 43 ataques diretos entre
tenants e papéis recusados sem efeito colateral (npm run test:database).finance_ops com MFA aal2.fin-documents (privado, 10 MB, 5 tipos),
acesso só por URL assinada emitida depois da autorização.finance:env:check recusa chave de outro projeto.vercel.json.Modelo completo: docs/FINANCIAL_SECURITY_MODEL.md,
docs/FINANCIAL_THREAT_MODEL.md,
docs/FINANCIAL_AUTHORIZATION_MAP.md.
Vulnerabilidades: SECURITY.md.
Uma base de código e dois ambientes hospedados permanentes planejados: Demo e Production. Pilot é uma etapa transitória de validação, não um terceiro ambiente permanente. Todos são derivados de commits aprovados da mesma main; não criar forks por cliente, versão comercial ou ambiente. A configuração diferencia ambientes sem compartilhar dados ou segredos.
| Papel | Projeto Vercel | Política de código | Modalidade ou banco exigidos para a operação canônica |
|---|---|---|---|
| Demo pública (P0-A) | arandu-demo | main aprovada | Visita M2 estática e sintética enquanto M3 permanecer bloqueada; não requer Supabase para visita |
| Demo canônica local / hospedada M3 (P0-B/P1) | código da mesma main | ARANDU_ENV=demo | Local: Auth/RLS/API/Storage e banco fictício; hosted: Supabase Demo exclusivo somente após recovery e cutover autorizados |
| Pilot (transição) | arandu-pilot | release candidato de main | Etapa de validação, com dados e controles compatíveis com os gates aplicáveis |
| Production | arandu | main aprovada e release governado | Ambiente próprio, legal/recovery e readiness M5 comprovados; não presumir deploy operacional |
A visita pública não atesta M3, e produção não é considerada pronta por ter código em main. Os destinos hospedados não podem compartilhar bancos/segredos fora da política de release. Diferenças de comportamento (e-mail, webhooks, modelo externo, documentos reais, fixtures) são governadas centralmente por lib/runtime-mode.mjs, não por cópias do software.
O build recusa a topologia errada (banco trocado, branch diferente de main,
sandbox em ambiente real, credencial no sandbox, produção sem ambiente
declarado). Fluxo feature/* → PR → main → ambientes, release e rollback:
docs/FINANCIAL_DEPLOYMENT_WORKFLOW.md.
docs/demo/README.md (canônica). O sandbox
antigo no navegador (ARANDU_DEPLOYMENT_KIND=demo) está em
docs/FINANCIAL_DEMO_MODE.md até ser aposentado.docs/FINANCIAL_PILOT_GO_LIVE.md
(checklist única), docs/FINANCIAL_PILOT_ENVIRONMENT.md,
docs/FINANCIAL_PILOT_OPERATIONS.md.finance:pilot:doctor com
ARANDU_ENV=production; nenhum dado do piloto é copiado.Estado histórico observado em 02/10/2026 (anterior à consolidação main canônica de 06/10/2026), separado por código e ambiente em
docs/ARANDU_CURRENT_STATE_2026-10-02.md:
main com Onda 0 e CI verde; pilot 13 commits à frente e
0 atrás, em 187c032c após a PR #96, com Financial Passport v2.
O run #721 teve presentation cancelado; o #722 concluiu os quatro gates
com SUCCESS. A árvore validada é idêntica à do merge #96.financial-surface-hardening-1; aprovação sequencial e
Passport pendentes. Allowlist vazia, e-mail desligado, Storage privado.main; o Supabase DEMO dedicado não
pôde ser criado por limite de dois projetos ativos no Free.docs/FINANCIAL_OWNER_ACTIONS.md.Nenhum item acima é declarado pronto sem evidência verificável. Gates externos
de produção ficam em ops/release-evidence.json e não bloqueiam o piloto
financeiro.
Requisitos: Node.js 24, npm; PostgreSQL 16 para a suíte de banco; Chromium para Playwright.
npm ci --include=optional
npm run dev # app em http://localhost:5173
ARANDU_DEMO_MODE=true npm run dev # com /demo/ habilitada
ARANDU_DEPLOYMENT_KIND=demo npm run build:demo # build igual ao do arandu-demo
Piloto completo em contêineres (Postgres, GoTrue, PostgREST e Storage da
Supabase): npm run pilot:local:up && npm run pilot:local:journey.
Antes de qualquer push (cada push custa minutos do GitHub Actions — ver
docs/GITHUB_ACTIONS_MINUTES.md):
npm run audit:ci
npm run check:all # contratos, segurança, finanças, migrations, governança
npm run build
npm run check:dist-assets && npm run check:build-size && npm run check:seo:dist
npm run check:financial-surface && npm run check:financial-navigation
npm run test:e2e # jornadas financeiras (5 motores de navegador)
npm run test:e2e:presentation # demo e modo de apresentação
ARANDU_DATABASE_TEST_URL=postgresql://postgres:postgres@localhost:5432/postgres \
npm run test:database # instalação limpa, upgrade, rollback, RLS, ataques
Ambientes reais (somente leitura, nunca imprimem segredos):
ARANDU_ENV=pilot npm run finance:env:check
ARANDU_ENV=pilot npm run finance:pilot:doctor # 0 = GO, 1 = NO-GO, 2 = UNSAFE
npm run pilot:canary # isolamento buyer/provider/outsider
npm run pilot:backup:preflight # identidade, dependências e escopo
npm run pilot:restore:drill # backup lógico + restore + comparações de integridade
O CI (.github/workflows/ci.yml) roda os jobs validate, database,
deploy-boundaries e presentation.
Leia CONTRIBUTING.md. Em resumo: branch feature/* a
partir de main, PR para main com os quatro gates verdes no HEAD exato,
validação local completa e um push por lote. pilot está congelada
(histórica). Nunca registre segredo, e-mail real ou PII no Git.
CONTRIBUTING.md — branches, validação e PRs;SECURITY.md — reporte responsável;docs/FINANCIAL_REPO_GOVERNANCE.md — proteção de branches e checks obrigatórios;docs/FINANCIAL_DEPLOYMENT_WORKFLOW.md — ambientes e promoção;docs/OPERATIONS_INDEX.md — índice operacional;CLAUDE.md — regras para agentes.A CI executa scripts/check-governance.mjs para impedir regressões nos
controles mínimos do repositório.
Piloto (GO quando todos valerem):
finance:pilot:doctor = GO;arandu-pilot publicado da main com ARANDU_ENV=pilot;pilot:canary e pilot:restore:drill aprovados contra o piloto real;main publicado no piloto;Produção: Supabase próprio com as mesmas migrations, ARANDU_ENV=production
no projeto arandu, doctor GO contra ele e o mesmo SHA de main validado no
piloto realmente utilizado.
O Arandu começou como marketplace de arte brasileira. Essa vertical foi
aposentada e removida da árvore atual; o Git preserva a história. Detalhes e
regras para não reintroduzi-la: docs/LEGACY_ART_RETIREMENT.md.