G.UX — Governor User Experience. A drop-in governance kernel for LLM tool dispatch.
Project description
G.UX — install on your computer
A drop-in governance kernel for LLM tool dispatch. Twelve gates decide GO / REFUSE / PENDING before any tool call fires.
This package is stdlib-only at runtime. The only dependency is optional PyYAML for constitution files (we'll auto-install it).
macOS / Linux — easiest
Download this folder, then double-click install-gux.command. (On macOS,
the first time you may need to right-click → Open to bypass Gatekeeper
warnings for an unsigned installer.) The installer will:
- Verify Python 3.10+ is available.
- Create a venv at
~/.gux/.venv/. - Install the
gux-governorpackage and PyYAML. - Write an example
~/.gux/constitution.yaml. - Activate a fresh 7-day trial (or activate your paid key if you pass one).
- Drop a
launch-gux.commandon your Desktop you can double-click to start the sidecar.
To start with a paid license:
./install-gux.command gux_pro_aB3kD9eF…YOURKEY
From a terminal
# pip install
pip install gux-governor[yaml]
# Or develop locally against this source tree
cd package
pip install -e ".[yaml]"
Then:
gux init # write example constitution.yaml
gux trial # start a 7-day trial (or...)
gux activate gux_pro_… # ...activate a paid key
gux serve # run the sidecar on http://127.0.0.1:7421
Activating a paid key
License keys look like gux_<plan>_<random> — gux_hobby_…, gux_pro_…,
gux_team_…, gux_oem_…. They live at:
- macOS / Linux:
~/.config/gux/license.json - Windows:
%APPDATA%\gux\license.json
Activation is local-only. We never phone home, never check a remote service, never validate against an issuer. The license file is yours.
gux activate gux_pro_aB3kD9eF2…
gux license # show current plan + days remaining
Talking to the sidecar
Once gux serve is running, every dispatch is one HTTP call:
curl -s http://127.0.0.1:7421/v1/dispatch \
-H 'Content-Type: application/json' \
-d '{
"instance_id": "my-agent-01",
"tool_name": "memory_recall",
"tool_version": "1",
"args": {"query": "what did we decide about Q3 retention?"},
"session_id": "sess_abc123"
}'
Response shape:
{
"verdict": "GO",
"pipeline_ms": 1.3,
"trace": [
{"gate": "HardwareQuarantine", "verdict": "GO"},
{"gate": "TaskUsageCap", "verdict": "GO"},
...
]
}
Audit chain
Every dispatch lands one line in ~/.gux/audit_chain.jsonl. The chain
is sha256-linked — entry_hash = sha256(prev_hash + canonical_json(event)).
Verify integrity at any time:
gux verify
# or:
curl http://127.0.0.1:7421/v1/audit/verify
Uninstall
rm -rf ~/.gux ~/.config/gux ~/Desktop/launch-gux.command
That's it — no daemons running, no system files to clean up. G.UX is a sidecar, not a system extension.
Where to go next
- Edit
~/.gux/constitution.yamlto add your real agents and tools. - Wire your LLM dispatch through the sidecar — same shape in, deterministic verdict out.
- Use
gux dispatch '<json>'for one-shot testing without the sidecar.
Project details
Release history Release notifications | RSS feed
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 gux_governor-0.5.0.tar.gz.
File metadata
- Download URL: gux_governor-0.5.0.tar.gz
- Upload date:
- Size: 41.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
550a5f91679ac8f5c936898154a97c1cc5a4ef0512cd48b94baa91aa4f552cee
|
|
| MD5 |
495be9ab15149f54bff33a7b3b2803aa
|
|
| BLAKE2b-256 |
4b082ff244d9a3983ddac22b54843cb37d7435cac5e0ba870523928f1518fbb1
|
File details
Details for the file gux_governor-0.5.0-py3-none-any.whl.
File metadata
- Download URL: gux_governor-0.5.0-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
353d183996b1f3baae01a14c5167d79185cc9fa2162353f20d8c6dbed1306415
|
|
| MD5 |
f4c29854c1e275c3e3d2eeeca61f68e0
|
|
| BLAKE2b-256 |
c3ebbb12706062fbed818bfd0ddbef713ebb5a64d5a820b3c6803c17985713c6
|