Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DuoRoute

DuoRoute получает очередь выплат, проверяет доступность провайдеров, выбирает лучший вариант по заданной стратегии, переходит к следующему при отказе и сохраняет объяснение каждого решения. Проект команды DuoTech для Hack.Genesis 2026, кейс «Умный роутинг выплат».

Вход

JSON со состоянием провайдеров и очередью операций, настройки YAML/JSON и история CSV. Для точного демонстрационного сценария можно добавить ответы провайдеров outcomes.json.

Обработка

Программа последовательно проверяет обязательные ограничения, оценивает допустимых провайдеров по одной из семи стратегий или их комбинации и обновляет состояние после попыток. Ответы моделируются локально; реальные выплаты не отправляются. CLI и Web используют одно Ruby-ядро.

Выход

routing_decisions.json содержит решения и причины по каждой операции; routing_report.json — распределение, успешность, лимиты и рекомендации. Рядом сохраняются конфигурация и Manifest — параметры и контрольные суммы для повторения расчёта.

Быстрый запуск Web

Нужны Ruby 3.4.10 через rbenv, Bundler и SQLite. Установка и исправление системной Ruby описаны в CLI.

git clone https://github.com/RisaGithub/DuoRoute.git
cd DuoRoute
bin/setup --skip-server
bin/dev -b 127.0.0.1 -p 3000

Откройте http://localhost:3000. Подготовка добавляет готовый публичный пример.

Быстрый запуск CLI

Из корня подготовленного проекта:

bin/router demo --seed 42
ruby script/validate_10.rb routing_decisions.json

Это публичная демонстрация с заранее заданными ответами. CLI работает без Web и базы данных.

Документация

Проверка готовности

bin/router readiness

selected_provider содержит итогового провайдера после каскада и fallback; attempts — полную последовательность попыток. Пользовательские стратегии комбинируют существующие мягкие политики и не отключают обязательные ограничения. Отсутствующая цель не равна нулевой. balanced — проверенная безопасная конфигурация по умолчанию в пределах исследованных сценариев, без гарантии математической оптимальности.

Лицензия — MIT; сторонние компоненты.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages