altruan-agenten
Schalter und Protokoll fuer die digitalen Mitarbeiter. Zwei Bausteine, die jede Persona braucht und die keine zweimal bauen sollte.
pip install altruan-agenten
Beide lesen genau eine Umgebungsvariable, MONGODB_URI_AGENTEN, und schreiben in
die Datenbank agenten. Ausser pymongo haengt nichts dran.
schalter — eine Aufgabe an- und abschalten, ohne Deploy
Eine Konstante im Code umzulegen heisst: Codeaenderung, Review, Deploy. Fuer eine
Testphase, die schrittweise geoeffnet werden soll, ist das der falsche Takt. Hier
steht der Zustand in agenten.schalter, das Cockpit schreibt ihn, der naechste
Lauf liest ihn.
from altruan_agenten import schalter
schalter.katalog_setzen(KATALOG) # einmal beim Start
if not schalter.aktiv("BEN_MAIL_TRIAGE_AKTIV"):
return
Der Katalog gehoert in die Anwendung, nicht in dieses Paket — er beschreibt
ihre Aufgaben im Klartext. Ein Eintrag braucht mindestens _id, persona,
aufgabe und art (ART_AUFGABE fuer einen eigenen Timer, ART_TEILSCHRITT
fuer einen Schritt darin, den man einzeln abstellen koennen will); dazu gehoeren
titel, takt, wirkung und aus_bedeutet, weil das Cockpit sie anzeigt.
Zwei Zusagen, an denen alles haengt:
- Ein Deploy dreht keinen Schalter zurueck. Die Registrierung ueberschreibt bei jedem Kaltstart die Beschreibung, aber nie den Zustand.
- Faellt Mongo aus, aendert sich nichts. Jeder Fehlerweg endet bei der gleichnamigen App Setting, nicht bei „aus". Eine laufende Persona haelt nicht an, eine abgeschaltete geht nicht scharf.
protokoll — Idempotenz und Trefferquote in einem Datensatz
from altruan_agenten import protokoll
neu = protokoll.vermerken(
"sven", "delivery_date",
{"system": "zendesk", "typ": "ticket", "id": str(ticket_id)},
vorschlag={"antwort": text, "kategorie": kat},
modell=MODELL, prompt_version="2026-09-05.1",
)
if not neu:
return # schon vermerkt — der Doppellauf kostet nichts weiter
Vor dem Schreiben ins Zielsystem aufrufen und bei False abbrechen. Der
Schluessel ist <persona>|<aufgabe>|<quell-id> und damit deterministisch; ein
zweiter Einfuegeversuch scheitert am Unique-Index.
Die Trefferquote faellt danach nebenbei ab: ein spaeterer Lauf ruft
gegenprobe() mit dem frisch gelesenen Ist-Stand, das Paket setzt
uebernommen oder korrigiert, und quote() rechnet sie je Auspraegung aus.
promptVersion ist Pflichtfeld — ohne sie sind zwei Quoten nicht vergleichbar.
Veroeffentlichen
Version in setup.py hochzaehlen, auf master pushen. Der Workflow
Upload to PyPi baut und laedt hoch. PyPI weist eine bereits vorhandene Version
ab, das Hochzaehlen ist also Pflicht und nicht Geschmack.
Tests
python -m unittest discover -s tests
34 Tests, keiner braucht eine Datenbank — die Collection ist nachgebaut.
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 altruan_agenten-0.1.0.tar.gz.
File metadata
- Download URL: altruan_agenten-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32c8b52223efb1dfedbab3c02b091343909cf22262fac0688f5fddeb13cae06a
|
|
| MD5 |
ffef3d177f0d36084c0a231dfb7f0325
|
|
| BLAKE2b-256 |
da9abb64214052984968fed82c7edf43646c636e7443afc3c32e65c8ee6f5fc3
|
Provenance
The following attestation bundles were made for altruan_agenten-0.1.0.tar.gz:
Publisher:
deploy.yaml on Altruan-flows/altruan-agenten
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
altruan_agenten-0.1.0.tar.gz -
Subject digest:
32c8b52223efb1dfedbab3c02b091343909cf22262fac0688f5fddeb13cae06a - Sigstore transparency entry: 2722648952
- Sigstore integration time:
-
Permalink:
Altruan-flows/altruan-agenten@2c1417e050cb8b27979af20a4bedfab9a7d08468 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Altruan-flows
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yaml@2c1417e050cb8b27979af20a4bedfab9a7d08468 -
Trigger Event:
push
-
Statement type:
File details
Details for the file altruan_agenten-0.1.0-py3-none-any.whl.
File metadata
- Download URL: altruan_agenten-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74f53ecfcec5974286ebad32848ad208bf16f3f3735cf8bc1d94457e148ad414
|
|
| MD5 |
c4d0e61ce176d0b5495e2f96793e8928
|
|
| BLAKE2b-256 |
9f3ea5ad0e1bd6c8048823ae2cea955556cf2fb4275cbd273f20cc6bed72214e
|
Provenance
The following attestation bundles were made for altruan_agenten-0.1.0-py3-none-any.whl:
Publisher:
deploy.yaml on Altruan-flows/altruan-agenten
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
altruan_agenten-0.1.0-py3-none-any.whl -
Subject digest:
74f53ecfcec5974286ebad32848ad208bf16f3f3735cf8bc1d94457e148ad414 - Sigstore transparency entry: 2722649077
- Sigstore integration time:
-
Permalink:
Altruan-flows/altruan-agenten@2c1417e050cb8b27979af20a4bedfab9a7d08468 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Altruan-flows
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yaml@2c1417e050cb8b27979af20a4bedfab9a7d08468 -
Trigger Event:
push
-
Statement type: