Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Reproducible evidence pipeline for OCR normalization, legal citations, CBAM scenarios, and forest XAI—with deterministic artifacts and auditable claim boundaries.
翻译准备中
正在加载完整 README。
查看完整 README ↗비정형 무역자료를 계산 가능한 값으로 바꾸는 것보다, 그 값이 어디에서 왔고 왜 선택됐는지 증명하는 일이 더 어려웠습니다. EcoGuard는 이 증명 과정을 코드로 재구성한 무역금융 교육용 PoC입니다.
2026 하나 청년 금융인재 양성 프로젝트에서 3인 Team UniHana가 준비·발표해 **대상(상장 표기: 금융감독원상)**을 받았습니다. 연합뉴스 보도와 하나금융그룹 제공 보도자료 게재본에 따르면 대상 팀에는 상장과 상금 1천만 원이 수여됐습니다. 대상은 세 사람이 함께 만든 팀 성과이며, 수상 결과를 아래 코드의 정확도 증거로 사용하지 않습니다.
보안 패치 릴리스 · 2026-11-02: 새 개발·연구 환경은 아래 v0.6.1을
사용하세요. 기존 계산 결과와 연구 모델·이미지는 유지하고 의존성을 수정했습니다.
이전 v0.6.0은 역사적 비교용 태그이며 보안 수정이 소급 적용되지 않습니다.
수정 범위와 버전은 보안 정책에 적었습니다.
| 목적 | 고정할 범위 | 첫 명령 | 포함 관계 |
|---|---|---|---|
| 전체 포트폴리오를 인용·재현 | v0.6.1 tag | 아래 tag quickstart, make proof | dependency-free core와 별도 research/forest_xai가 같은 tag tree에 있음. 연구 의존성·수치·artifact는 core wheel·core test count에서 제외 |
| 역사적 core-only 기준선 확인 | v0.5.0 tag | git clone --branch v0.5.0 --depth 1 … | Sentinel-2/Grad-CAM과 post-award GAN/2.5D 추가 전 core 릴리스 |
| 릴리스 이후 개발 상태 검토 | current main commit | commit SHA 고정 후 make proof | 다음 변경이 먼저 들어올 수 있으므로 v0.6.1과 동일하다고 가정하지 않음 |
동일 결과를 인용하려면 tag를, 최신 포트폴리오를 검토하려면 현재 commit SHA를 함께 고정합니다. 질문별 읽기 경로는 문서 지도에 모았습니다.
make proof는 네트워크나 모델 의존성 없이 committed artifact를 읽어 아래 대표값과
SHA-256 연결을 검증합니다. [PASS]는 저장소의 제한된 공개 계약을 통과했다는 뜻이며
운영 정확도·법률 적합성·대회 당시 구현을 대신 증명하지 않습니다.
| 기술 주장 | 실행 코드 | 방어 테스트 | 직접 볼 artifact | 검증되는 범위와 경계 |
|---|---|---|---|---|
| OCR output → field provenance | ocr_adapter.py, ingestion.py, preprocessing.py | test_ocr_adapter.py, test_ingestion.py, test_preprocessing.py | extracted_records.json → normalized_evidence.json | 7문서·37 line·30 candidate, raw line/character span/line·document hash와 selected_from; OCR engine 정확도 아님 |
| CBAM 11-step DAG + 양축 대사 | cbam.py | test_cbam.py | cbam_exposure.json, artifact_manifest.json | 11개 topological step, direct+indirect와 process+precursor가 모두 1,111.36 tCO2e로 일치; 법정 인증서 의무액 아님 |
| EUR-Lex citation + fail-closed abstention | legal.py, regulatory.py |
그림의 line·span·hash·수치와 두 output hash는 committed JSON에서 그대로 가져왔습니다.
검증 구현과 tamper test는 scripts/proof_summary.py와
tests/test_proof_summary.py에서 확인할 수 있습니다.
저장소 소유자 @soccz는 대회에서 핵심 기술 엔진의 단독 개발 책임자로 참여해 CBAM 계산·가격 민감도, 산림 변화 분석, 데이터 처리·검증 로직을 설계하고 구현했습니다. 공개 v0.6의 Python 패키지, schema, benchmark, 테스트와 재현 산출물도 이 개발 범위를 제3자가 검증할 수 있도록 @soccz가 정리한 것입니다.
이 문장은 팀 전체 결과를 개인 성과로 바꾸려는 설명이 아닙니다. 대회 수상과 프로젝트 결과는 3인 팀의 공동 성과입니다. 다른 참여자의 세부 역할, 원본 Live Demo와 발표용 웹 구현은 이 기술 저장소의 공개·평가 범위에 넣지 않습니다.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗
test_legal.py, test_regulatory_coverage.py |
legal_issue_citations.json, legal_blind_evaluation.json |
| 공식 CELEX/ELI binding, 12 negative의 기권·false support 0; maintainer-authored holdout이며 외부 blind·법률 자문 아님 |
| 공개 Sentinel-2 + Grad-CAM | public_training.py, explain.py | test_public_demo.py | evaluation.json, gradcam.png | 단일시점 forest-cover F1 0.947917·IoU 0.900991과 reference-targeted 민감도; 실제 bi-temporal change·원인 설명 아님 |
| 수상 후 tiny GAN latent | reconstruction.py | test_reconstruction.py | latent_interpolation.json, latent_interpolation.png | 8-frame z0→z1, forest-score JVP 0.01209233; 대회 당시 코드·HiGAN·photorealism 증거 아님 |
| 합성 높이 2.5D drape | reconstruction.py | test_reconstruction.py | terrain_drape.json, terrain_drape.png | bilinear 합성 높이, 1,089 vertex·1,024 face; Sentinel-2에서 얻은 고도나 satellite→3D reconstruction 아님 |