Add isolated Luau rule engine service
Build and publish rule engine / release (push) Failing after 1m34s

This commit is contained in:
Ein Anderssono
2026-10-20 11:24:52 +02:00
commit a85a49dfd5
16 changed files with 936 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# ai-spel-rule-engine
The isolated Luau evaluation service for the AI-driven Swedish life simulator.
It receives bounded, versioned rule invocations over NATS and returns typed
effect proposals. It has no database or AI-provider integration; the game API
remains responsible for validating and committing effects.
## Contract
Requests use NATS subject `ai-spel.rules.evaluate.v1` and contract version 1.
The canonical JSON Schema is `contracts/rule-evaluation-v1.schema.json`.
Responses echo the correlation ID and have status `evaluated` or `rejected`.
The NATS user may subscribe only to the evaluation subject and publish only to
reply inboxes. The service receives no credentials other than its own NATS
identity and has no configured database or AI-provider secrets.
## Local commands
For source development, the Rust commands are `cargo fmt --all -- --check`,
`cargo test --workspace`, and `cargo clippy --workspace --all-targets -- -D warnings`.
Production builds, tests, image builds, and executable verification for this
project are run by Gitea Actions on the existing `large` runner and Kubernetes.