Metadata-Version: 2.4
Name: samf-framework
Version: 0.1.3
Summary: SAWANT Agentic MoSCoW Framework for Reliable LLM Outputs
Author: Prashant Sawant
Description-Content-Type: text/markdown
Requires-Dist: pydantic
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: summary

# SAMF: SAWANT Agentic MoSCoW Framework

Structural MoSCoW contracts for deterministic LLM validation.

## What is it?
SAMF provides machine-readable validation contracts for LLMs, translating project management MoSCoW prioritization into strict alignment guards.

## Why do I need it?
* **Slashes Prompt Instability:** Eliminates brittle multi-hop reasoning.
* **Prevents Loop Breaches:** Keeps multi-agent reasoning loops from breaking.
* **Optimizes Token Costs:** Reduces RAG token waste by enforcing explicit constraints.

## Quick Start
```python
from samf import SAMFContract, samf_contract

# Define your strict execution contract
guard_contract = SAMFContract(
    must_have=["JSON", "status", "user_id"],
    should_have=["timestamp"],
    wont_have=["error", "failed"]
)

# Enforce it seamlessly with a decorator
@samf_contract(contract=guard_contract)
def call_billing_agent():
    # Your LLM generation / LangGraph node logic here
    return '{"status": "success", "user_id": 4002, "format": "JSON"}'

response = call_billing_agent()
print("Output validated successfully!")
