This is the implementation of an ACL/A2A agent that validates the correctness of atomic
requirements with respect to a given a specification. 
It is based on an LLM : Mistral (with LiteLLM and LangFuse).

### Interface
See `validator.asi` for the declared interface.

First send a _tell/spec_ message to give the specification, then an _propose_ message with the requirement to evaluate.

The agent replies synchronously in streaming with an artifact (see `tests/clients/validator_client/run_test_client.py`). 
That artifact contains the answer "valid", "invalid", or "unknown". 

### Settings
You can select the port the agent listens to in `context.txt` (default is 9999).

### Run the agent

```bash 
    python3 run_validator_agent.py
```