Metadata-Version: 2.4
Name: spec-probe
Version: 0.1.36
Summary: Verify C/C++ modules implement functional requirements from spec (LangGraph + LLM)
Author: taikt
License-Expression: MIT
Project-URL: Homepage, https://github.com/taikt/spec-probe
Project-URL: Documentation, https://github.com/taikt/spec-probe/blob/main/QUICKSTART.md
Project-URL: Repository, https://github.com/taikt/spec-probe
Project-URL: Issues, https://github.com/taikt/spec-probe/issues
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: langgraph>=0.2
Requires-Dist: langchain-core>=0.3
Requires-Dist: langchain-openai>=0.2
Requires-Dist: pydantic>=2.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: loguru>=0.7
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: httpx>=0.27
Requires-Dist: requests>=2.31
Requires-Dist: markitdown>=0.1
Requires-Dist: mammoth>=1.8
Requires-Dist: atlassian-python-api>=3.40
Requires-Dist: markdown>=3.5
Requires-Dist: pygments>=2.17
Requires-Dist: bleach>=6.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Provides-Extra: rag
Requires-Dist: langchain-community>=0.3; extra == "rag"
Requires-Dist: langchain-huggingface>=0.1; extra == "rag"
Requires-Dist: sentence-transformers>=3.0; extra == "rag"
Requires-Dist: faiss-cpu>=1.8; extra == "rag"
Dynamic: license-file

# spec-probe

Check C/C++ requirements from Markdown, DOCX or PDF with **VS Code Copilot**.

## Quick start

Requires Linux, **Python ≥ 3.11**, **pip ≥ 23.0** and Copilot access.

```bash
python3 -m pip install -U spec-probe
spec-probe-skill --vscode
```

**Reload VS Code → choose Claude Sonnet 5.5 in the chat picker → run setup once:**

```text
/spec-setup
```

Provide module/spec paths; the agent proposes dependency/index scope, then handles
login, indexing, pack and parsing. For browser login, setup pauses until you say **“xong rồi” / “done”**.
Use `/spec-setup resume` only after interruption or input changes; `status` checks
readiness. **Never paste tokens into chat.**

## Daily use

**Chat naturally in Vietnamese or English; the examples below are not fixed commands.**
Rephrase freely or ask follow-up questions. `/spec-cover` helps route the request explicitly.

| Task | Example chat message |
| --- | --- |
| Show all requirement details | `/spec-cover show all requirements with IDs and full descriptions; open the full catalog if too long for chat` |
| Verify one requirement | `/spec-cover verify FR-001` |
| Or verify a section | `/spec-cover verify section 3.2` |
| Or check pasted text | `/spec-cover check requirement: The module shall initialize within 500ms` |
| **Audit findings against source** | `/spec-audit` |
| Export reviewed Markdown + HTML | `/spec-cover write report` |

**Audit before export.** Check parsed requirements against the original spec;
automated results are not guaranteed correct or complete.

## Recommended Copilot models

| Use | Model |
| --- | --- |
| Chat picker: setup / audit | **Claude Sonnet 5.5** |
| Pipeline `verify` | **Gemini 3.8 Flash** |
| Pipeline `final_review` | **Claude Sonnet 5.5** |
| Supporting jobs | **GPT-6 Luna** |
| Difficult findings only | GPT-6.1 Sol, optional second opinion |

Picker and pipeline models are separate. Fresh installs use these defaults;
existing settings are preserved. To adopt them, merge into `~/.config/spec-probe/config.json`:

```json
{
  "llm": {
    "jobs": {
      "enrich":       { "provider": "copilot", "model": "gpt-6-luna" },
      "search":       { "provider": "copilot", "model": "gpt-6-luna" },
      "rescue":       { "provider": "copilot", "model": "gpt-6-luna" },
      "verify":       { "provider": "copilot", "model": "gemini-3.8-flash" },
      "final_review": { "provider": "copilot", "model": "claude-sonnet-5.5" },
      "wiki":         { "provider": "copilot", "model": "gpt-6-luna" },
      "translate":    { "provider": "copilot", "model": "gpt-6-luna" },
      "report":       { "provider": "copilot", "model": "gpt-6-luna" },
      "parse":        { "provider": "copilot", "model": "gpt-6-luna" }
    }
  }
}
```

## Update

```bash
spec-probe update
```

## Reinstall

To reinstall the package and refresh VS Code skills:

```bash
python3 -m pip uninstall spec-probe
python3 -m pip install -U spec-probe
spec-probe-skill --vscode
```

This does not remove `~/.config/spec-probe/` (config, credentials and data). To
start setup again, run `/spec-setup`; do not delete that directory unless you
intend to erase its contents.
