Metadata-Version: 2.4
Name: github-practice-ai
Version: 1.0.0
Summary: Senior production-ready AI SDK - frozen AIConfig, semaphore 3, TTL cache, RAG, Agent, Tracing, Orchestrator, Swarm, GuardedEval - built mobile-first on Termux
License:  MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai==1.40.0
Requires-Dist: httpx==0.27.0
Requires-Dist: cachetools>=5.0
Requires-Dist: anyio>=4.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.9.0; extra == "dev"
Dynamic: license-file

# github-practice-ai — v1.1-hardening — Senior Production-Ready

**Total 8 (delta 2) — 7.5/10 → 9.5/10 path — Week 7 Locked — 12 passed 84% — Matrix py 3.11|3.12 GREEN**

[![CI Senior v1.0](https://github.com/escorpioantares66-cmyk/github-practice-ai/actions/workflows/ci.yml/badge.svg)](https://github.com/escorpioantares66-cmyk/github-practice-ai/actions)
[![ci-hardened-v1.1](https://github.com/escorpioantares66-cmyk/github-practice-ai/actions/workflows/ci-hardened.yml/badge.svg)](https://github.com/escorpioantares66-cmyk/github-practice-ai/actions)
[![Python 3.11 | 3.12](https://img.shields.io/badge/python-3.11%20%7C%203.12-blue)](https://www.python.org)
[![Ruff GREEN](https://img.shields.io/badge/ruff-GREEN-brightgreen)](https://docs.astral.sh/ruff/)
[![Coverage 83.47%](https://img.shields.io/badge/coverage-83.47%25-brightgreen)](https://github.com/escorpioantares66-cmyk/github-practice-ai)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Senior 9.5/10](https://img.shields.io/badge/Senior-9.5%2F10-gold)](https://github.com/escorpioantares66-cmyk/github-practice-ai/releases/tag/v1.1-hardening)

> Senior production-ready AI SDK — README=Reality, strict CI, mocked tests, resilient core from `github-practice 0.4.2` — built mobile-first on Termux Nairobi — Staff scope within Senior ladder.

### Releases

- **v1.0-senior — 9.0/10** — `3f950bc` — 12 passed 83.47% — CI GREEN — certificate-dark-gold-premium.png — [Release](https://github.com/escorpioantares66-cmyk/github-practice-ai/releases/tag/v1.0-senior)
- **v1.1-hardening — 9.5/10 — Latest** — `fd1bd0` — 12 passed 84% — Matrix 3.11|3.12 GREEN — 80% gate — wheel+sdist — [Release](https://github.com/escorpioantares66-cmyk/github-practice-ai/releases/tag/v1.1-hardening)

### Ledger — Day 31 → Day 38

| Day | Total | Delta | Passed | Coverage | Shipped |
|-----|-------|-------|--------|----------|---------|
| 31 | 1 | 1 | 4 | 70.73% | frozen AIConfig, semaphore=3, TTLCache hygiene, masked_key, gh-ai --check, Termux aarch64 bypass |
| 32 | 2 | 1 | 6 | 71.23% | Real async OpenAI client + retry + embed + aclose + ResilientAIClient |
| 33 | 3 | 1 | 8 | 65.71% | chat() + stream() AsyncGenerator + 429/5xx exponential retry max_retries |
| 34 | 4 | 1 | 9 | 73.91% | RAG vector cosine store, similarity_search, rag_complete, register_tool |
| 35 | 5 | 1 | 10 | 77.16% | Agent loop + multi-step tool calling + AgentMemory + RAG context |
| 36 | 6 | 1 | 11 | 83%+ | Tracer + Span + Orchestrator rag→llm→finalize + EvalHarness |
| 37 | 7 | 1 | 12 | 83.47% | Swarm parallel + consensus + ParallelOrchestrator + GuardedEval + v1.0-senior tag |
| 38 | 8 | 2 | 12 | 84% | hardening-v1.1 Matrix 3.11|3.12 + 80% gate + wheel+sdist+twine + LICENSE/CHANGELOG/SECURITY + pytest-asyncio fix + v1.1-hardening tag |

### Fixes Senior Feedback from github-practice (7.5/10)

1. **README=Reality** — Only lists what is shipped in `stage2_sdk_ai`
2. **Strict CI** — `ruff check` FAILS job, no `|| true`
3. **Mocked tests** — `respx`, offline <1s, no live API, `OPENAI_API_KEY=sk-test-mocked` + `CI=true` guard
4. **Secrets hygiene** — `AIConfig(frozen=True)` + `masked_key()` never logs raw key
5. **Cost hygiene** — `TTLCache` prevents double billing
6. **Concurrency** — `Semaphore(3)` resilience
7. **GH007** — `users.noreply.github.com

