Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Albertitos · HackSpain 2026 · Maisa track "500 Sombras de Alberto"
In short (English). Alberto does accounts payable at a bank. He gets invoice PDFs (some scanned, some with
text that tries to give orders), a messy Excel of suppliers and purchase orders, and a 2009 ERP. For each invoice
the system decides PAGAR / NO_PAGAR / ESCALAR (pay / don't pay / send to a human).
The thesis: the LLM extracts, the rules decide. The model only fills a closed schema of facts; a versioned
set of rules in code makes the decision and records why, with evidence, so any decision can be replayed.README 전문 보기 ↗In short (English). Alberto does accounts payable at a bank. He gets invoice PDFs (some scanned, some with text that tries to give orders), a messy Excel of suppliers and purchase orders, and a 2009 ERP. For each invoice the system decides PAGAR / NO_PAGAR / ESCALAR (pay / don't pay / send to a human).
The thesis: the LLM extracts, the rules decide. The model only fills a closed schema of facts; a versioned set of rules in code makes the decision and records why, with evidence, so any decision can be replayed.
We delivered 540 invoices decided: 468 PAGAR, 62 ESCALAR, 10 NO_PAGAR, both batches, audited, with 0 pending. 468 of the first 500 were read by deterministic templates at no model cost. A data change reprocesses only what it touches, not the whole set.
Try it: albertitos.vercel.app (read-only console, trace of any invoice and a chat over the decisions; it asks for a shared key, see Cómo verlo).
Sin ORM, sin cola, sin framework de agentes: SQLite en WAL, funciones puras para la norma y la CLI como única puerta de escritura. Lo que no está aquí, no está en el proyecto.
| Persona | De qué se ocupó |
|---|---|
| Javier Saguar (@javiersaguar) | Fuentes (ERP y Excel), extracción, entrega y despliegue |
| Miguel Vera (@Mveradc) | Contratos, pipeline, linaje y las decisiones de norma del lote 2 |
| Alejandro Cuevas (@DRO98) | La consola web |
| Alfonso Jimena (@AlfonsoJimena) | Documentación, plan de arquitectura y defensa |
| Mónica Fernández (@monicafdezlortal) | La norma de pagos y su validación |
Llegan 540 facturas en PDF: algunas escaneadas, algunas que en su propio texto piden «escalar», «ignorar el NIF» o «pagar el total impreso», y varias con trampas de verdad (una cuenta bancaria cambiada, un pedido ya pagado, totales que no cuadran). Hay que cruzarlas con un Excel de proveedores y pedidos y con un ERP de 2009 que se cae, tarda y devuelve errores de Oracle.
Por cada factura hay que decidir PAGAR, NO_PAGAR o ESCALAR, sin pagar dos veces y sin pagar lo que una persona debería mirar antes. La validación del reto es binaria: o están bien las 540, o no hay premio.
Las tres fuentes entran en una sola base de datos. El programa recorre los pasos y guarda lo que hace en cada uno. La consola, el chat y el calendario viven encima y no deciden nada: sólo miran.
sha256 y validadores. Las escaneadas se leen dos veces y, si no coinciden, se desempatan.Qué pasa cuando algo falla. Si el modelo se cae, la factura queda PENDIENTE y la entrega se niega a salir incompleta: nunca se paga sin hechos validados. Al volver, la misma pasada reanuda. Si cambia un dato de la Caja o del ERP, sólo se recalcula lo que ese dato toca, y el resto conserva la versión con la que se decidió.
Qué hacemos con las facturas que intentan darnos órdenes. El texto de una factura es un dato, nunca una instrucción: la frase se guarda como evidencia y la decisión la toma la norma. Las 31 que lo intentan acaban en ESCALAR o NO_PAGAR, y en la traza se ve por qué regla.
Cifras medidas, con sus condiciones y sus comandos en docs/CIFRAS.md:
La demo pública: albertitos.vercel.app. Pide una clave compartida, porque detrás hay un modelo de verdad y no queremos que cualquiera lo gaste; pídesela al equipo. Con ella se ven las 540 decisiones, la traza de cada una, el calendario de pagos y el chat.
En local, con el repositorio clonado:
./bootstrap.sh # uv, dependencias y verificación de la Caja
make erp-fast # en otra terminal: el ERP de 2009 en :8009
uv run albertitos run --fecha-corte 2026-09-18 # ingest → extract → decidir → empaquetar
uv run albertitos trace F26-2201_transportes.pdf # por qué esa factura escala, paso a paso
bash scripts/demo.sh arrancar # consola, puente y chat en http://localhost:3002
docs/README.md · el índice de los 100 documentos, ordenados por a qué vienes: producto,
defensa, código o el material de trabajo que se conserva como evidencia.docs/adr/ · las decisiones, con alternativas, consecuencias y evidencia. Las cinco que más se
preguntan están resumidas en el plan.docs/plan/albertitos_plan.md · arquitectura y ADRs; es el PDF que se entrega.docs/ESTADO-BACKEND.md · qué está hecho y qué falta, con dueño.CLAUDE.md · cómo trabaja el equipo y qué hay en cada módulo.Este repositorio es la solución. No es el repositorio de entrega
(HS-Maisa-Entrega), que sólo lleva outcomes.jsonl,
outcomes_lote2.jsonl y albertitos_plan.pdf.