File size: 2,776 Bytes
d15fde8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d9f3019
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
---
license: agpl-3.0
tags:
- snapkitty
- october-2026-drop
- gdscript
- godot
- javascript
- horn-clauses
- logic-programming
- intent-engine
- agents
---

> Mirrored from [https://github.com/SNAPKITTYWEST/horn-intent-engine](https://github.com/SNAPKITTYWEST/horn-intent-engine) at commit `7029aa0`. Part of the **SnapKitty October 2026 main drop**.

# Horn Intent Engine

Pure GDScript (Godot 4) Horn-clause resolver and declarative intent engine, with an interactive web demo.

**License:** AGPL-3.0-only

## Quick Demo

Open [`web/index.html`](web/index.html) in a browser. No build step required.

The web front end is a self-contained JavaScript reimplementation of the same unification and backward-chaining logic. It lets you:

- Add facts and Horn rules
- Run queries (e.g. `in_warehouse ?X`)
- See substitutions and results
- Test intent matching against registered patterns

## Godot Project

```
nlp/
β”œβ”€β”€ horn_engine.gd       # facts, rules, unify, freshen, solve/query
β”œβ”€β”€ intent_engine.gd     # regex registry + dynamic dispatch
β”œβ”€β”€ intent_registry.gd   # declarative intent definitions
└── action_handlers.gd   # handler implementations
```

Open the project folder in Godot 4.3+ and run the main scene. Output appears in the Output panel.

## Design

Language maps to predicates. Horn clauses connect the predicates. Unification propagates bindings. Indexed facts (future) supply evidence.

The current implementation is depth-first backward chaining with a depth limit. It is not complete for all recursive Horn programs; tabling or SLG resolution would be required for robust recursion.

## Repository Layout

```
horn_intent_engine/
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ project.godot
β”œβ”€β”€ main.gd / main.tscn
β”œβ”€β”€ nlp/                  # GDScript source
└── web/                  # interactive demo (HTML/JS)
```

## Authors

SnapKitty Research Lab  
Researchers: Ahmad Ali Parr, Jessica Westerhoff  
Research owner: Bel esprit D'accord Trust

## License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See the [LICENSE](LICENSE) file for the full text.

### πŸ’Ό Commercial License

SnapKitty code is free and open under **AGPL-3.0** for open-source use. Building a commercial product or service? A **proprietary commercial license** from Snapkitty Collective LLC lets you ship this code without the AGPL's source-sharing and network-use obligations.

**[β†’ Get a commercial license](mailto:A.parr@belespritdaccord.uk?subject=Commercial%20license:%20horn-intent-engine)** Β· A.parr@belespritdaccord.uk