Huldah
Huldah is the human-systems analysis half of what used to be the cairn
package. Where Deborah defines and
validates the process language, Huldah interprets evidence about how a system
is actually used.
Huldah was a prophetess who interpreted and authenticated a text.
pip install huldah
What it does
- Human factors — offline analysis of a process document for plausible cognitive, psychological, social, organisational, behavioural-economic and incentive load. Qualitative risk estimates and conversation starters; no LLM required, with optional LLM interpretation on top.
- UI evidence — turn a UI simulation report into human-load evidence, layout overlays, and Cairn annotation blocks you can paste back into the process.
- Functional layout load — how much interface overhead sits between a person and the business work.
- Live observation — watch a running stack and turn traces into reviewable observations (bridges Galeed trace events).
- Interface recommendations — traceable current→future state suggestions.
- Agent harness — plan deterministic CLI steps for an interactive agent to run, plus the open questions it should ask. It plans; it does not execute.
Quickstart
# offline human-factors analysis of a process document
huldah-human-factors my-process.cairn.md
huldah-human-factors my-process.cairn.md -f json
# UI evidence -> human load, overlays, annotations
huldah-ui-evidence ui-sim-report.json --format markdown
huldah-ui-annotations ui-sim-report.json -o ui-annotations.cairn.md
# traceable interface recommendations and a combined report
huldah-recommend-interface-changes ui-evidence.json --future-svg-output future.svg
huldah-generate-report --input my-process.cairn.md \
--interface-evidence ui-evidence.json --format html --output report.html
# plan an agent harness run (emits commands + open questions, runs nothing)
huldah-agent-harness-plan --process my-process.cairn.md \
--ui-evidence ui-evidence.json --repo . --check-files
# optional LLM interpretation through any command provider, or queued via Hoglah
huldah-human-factors my-process.cairn.md --llm-command "my-llm-wrapper --model local"
huldah-human-factors my-process.cairn.md --hoglah-model gemma3:1b
Or programmatically:
from huldah import analyze_human_factors, format_human_factors_report
report = analyze_human_factors(open("my-process.cairn.md").read())
print(format_human_factors_report(report))
Relationship to Deborah
Huldah depends on Deborah and reads the same documents. The document format
keeps the Cairn name — .cairn.md files and ```cairn fences are
unchanged; only the Python packages were renamed. See
MIGRATING.md
if you are coming from cairn.
The docx/pdf exporters live in Deborah's render layer, so huldah[export]
defers to deborah[export] rather than duplicating the dependency.
Manifest
Huldah advertises its own Keturah manifest — analyze_human_factors,
analyze_ui_simulation_report, analyze_functional_layout,
recommend_interface_changes, build_analysis_report,
build_agent_harness_plan — so an MCP consumer only sees tools this package can
actually execute.
Licence
Apache-2.0.
Metadata
Release files for huldah 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| huldah-0.1.0.tar.gz | 69.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| huldah-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 140.8 kB
Release files / huldah-0.1.0.tar.gz
| Download URL | huldah-0.1.0.tar.gz |
|---|---|
| Size | 69.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df8c410bf4b76bfda477e16a4aecb7552f2acb6d44aaf4d8a475646fe4314302
|
|
BLAKE2b-256 checksum How to use checksums |
abde53fa19d0e86c72abef1903273ca458f0dd4d6f888bb194d75d070ad4d96e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / huldah-0.1.0-py3-none-any.whl
| Download URL | huldah-0.1.0-py3-none-any.whl |
|---|---|
| Size | 71.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed0405022e375ed1f9d38c776fc544025bbaf333fb16159e75b1e7b8713a7ca8
|
|
BLAKE2b-256 checksum How to use checksums |
976d1e9e6e3c5662674d845625d814c0f1439277b00129acfd5d9dae89732f16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|