Hanani — Geopolitical News Reasoning
Hanani is a standalone geopolitical reasoning system — expandable semantic graphs + a layered assessment engine, not a one-off crisis briefing or news reader.
What do all available reports imply when combined?
Requirements (web): run hanani docs serve → http://127.0.0.1:8805/
Architecture: docs/reasoning-system.md ·
docs/requirements.md ·
docs/review-2026-08-08.md (functional + code
review of 0.8.0; findings actioned in 0.9.0 — expanded offline floor,
unassessed audit scores, declared-vs-detectable coverage on status commands)
Initial focus: Russia–Ukraine, Hormuz Strait / US–Iran–Gulf states.
See docs/vision.md.
hanani --help
hanani factors
hanani reasoning # engine status (Layer 1 → Layer 2 pipeline)
hanani ontology # mechanism graph (L1–L5)
hanani rhetoric # fallacy / audit graph
hanani workflow status
hanani docs serve # requirements + architecture as web pages
# The vertical slice — article → atoms → Layer 1 rhetoric → Layer 2 → persisted:
hanani ingest article.txt --source-id reuters --title "Odesa depot strike"
hanani ingest article.txt --source-id reuters --hoglah-model llama3 # + model tier
hanani corpus # summarise the persisted store (~/.hanani)
hanani gaps # registry-aware gaps and stated information needs
hanani relations # typed, auditable relations between assessed atoms
hanani push-tirzah # push stored records into Tirzah memory (tirzah extra)
hanani debate # Milcah multi-LLM debate over admissible atoms (milcah extra)
Graphs: living-semantic-model.md ·
rhetorical-logic-graph.md
Family stack
| Sibling | Role |
|---|---|
| Milcah | argument evaluation, multi-LLM debate |
| Tirzah | memory over ingested reports |
| Hoglah | LLM execution queue |
| Galeed | process trace |
| Keturah | capability manifest |
Install
pipx install hanani
hanani --help
Optional extras: pipx inject hanani 'hanani[milcah]', hanani[tirzah], hanani[family].
hanani docs serve needs a git checkout (docs are not in the wheel).
Develop
pip install -e ".[dev]"
pytest
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hanani-0.9.1.tar.gz.
File metadata
- Download URL: hanani-0.9.1.tar.gz
- Upload date:
- Size: 54.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c86e1bdde0acacd3181fba1ecf3c332910831be07c126f52183452b8f91736e
|
|
| MD5 |
df7a0a0482b2f05fbdf975ff8d0e51e4
|
|
| BLAKE2b-256 |
53921e2a6d94ac08fa74d22d93061c9a3e664b89da7489687e2fad6c13e76b54
|
File details
Details for the file hanani-0.9.1-py3-none-any.whl.
File metadata
- Download URL: hanani-0.9.1-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bd490ce262fc3b819f765db6a132c02d86bc483ec0d5dd1b8a6753ea4151f2d
|
|
| MD5 |
1e7ad8b1da047c1881df932e3ed8486c
|
|
| BLAKE2b-256 |
42f27c62436377255e473ac93b4781b20ffb799a987a181c355d7e53e2ba47e7
|