# Overview

## Welcome to SAT Dependency Resolver

**SAT Dependency Resolver** is a lightweight, mathematically precise tool that solves **any dependency problem** using Boolean Satisfiability (SAT) solvers.

It answers the question:

> Given these goals/requirements and these available options with their dependencies,\
> is there a valid combination?\
> → If yes: show one (or more).\
> → If no: prove it's impossible and explain why (with optional AI help).

#### Why SAT?

* **Guaranteed correctness** — finds a solution if one exists, or proves none does (no heuristics).
* **Universal** — not limited to software packages. Works for courses, books, hardware, teams, recipes, scheduling, and more.
* **Fast & lightweight** — built on PySAT + Glucose3 solver.

#### Core Features

| Feature                        | Description                                                                    |
| ------------------------------ | ------------------------------------------------------------------------------ |
| SAT-based exact solving        | Uses Glucose3 solver for exhaustive, provably correct results                  |
| Conflict detection & reporting | Clear, human-readable explanations of incompatibilities                        |
| Optional AI recommendations    | Uses Anthropic Claude (Sonnet) to suggest constraint relaxations or fixes      |
| Flexible constraints           | Supports `"any"`, `==`, `>=`, `<=`, `>`, `<`, comma-separated ranges           |
| REST API                       | Simple JSON POST endpoint — easy to call from any language/tool                |
| Live demo                      | Try it instantly: <https://sat-dependency-resolver-ae207ddb503e.herokuapp.com> |
| Pip-installable                | `pip install sat-dependency-resolver` (once published)                         |

#### Use Cases

* **Software** — Resolve Python, npm, Cargo, RubyGems version conflicts
* **Education** — Course/degree prerequisites, certification paths
* **Media** — Book series order, movie franchises, game mod compatibility
* **Hardware** — PC parts, electronics compatibility
* **Business** — Team skill matching, resource allocation
* **Everyday** — Recipe requirements, event scheduling with constraints

#### Project Status

* **Live API**: <https://sat-dependency-resolver-ae207ddb503e.herokuapp.com>
* **GitHub**: <https://github.com/Apollo87z/sat-dependency-resolver>
* **License**: MIT
* **Author**: @Apollo87z

Next: Learn how to call the API → API Reference


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://shehans-organization.gitbook.io/sat-dependency-resolver-1/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
