generated from coulomb/repo-seed
feat: WP-0001 foundation + WP-0002 core extensions
WP-0001 — Foundation & GAAF Baseline - SCOPE.md, ARCHITECTURE-LAYERS.md, contracts/ tree - .claude/rules/ stubs filled (architecture, stack, boundary) - 57 tests (pytest), pyproject.toml with ruff+mypy, CI workflow WP-0002 — Core Extensions (FR-4 + FR-3) - FR-4: BudgetTracker (thread-safe) + LLMBudgetExceededError + optional RunConfig.budget_tracker + enforcement in all adapters - FR-3: async_execute_prompt on LLMAdapter ABC (asyncio.to_thread fallback) + native asyncio.create_subprocess_exec in ClaudeCodeAdapter 81 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,19 +1,59 @@
|
||||
## Stack
|
||||
|
||||
<!-- TODO: Fill in language, frameworks, and key dependencies -->
|
||||
- **Language:**
|
||||
- **Key deps:**
|
||||
- **Language:** Python 3.10+
|
||||
- **Key deps (runtime):** `toml` (TOML config parsing)
|
||||
- **Key deps (dev):** `pytest`, `ruff`, `mypy`
|
||||
- **HTTP:** stdlib `urllib` via `_http.py` (no requests/httpx runtime dep)
|
||||
- **Build:** setuptools / uv
|
||||
|
||||
## Dev Commands
|
||||
|
||||
```bash
|
||||
# TODO: Fill in the standard commands for this repo
|
||||
|
||||
# Install dependencies
|
||||
# Install (editable, with dev extras)
|
||||
uv pip install -e ".[dev]"
|
||||
# or
|
||||
pip install -e ".[dev]"
|
||||
|
||||
# Run tests
|
||||
uv run pytest
|
||||
# or
|
||||
pytest
|
||||
|
||||
# Lint / type check
|
||||
# Lint
|
||||
uv run ruff check .
|
||||
|
||||
# Build / package (if applicable)
|
||||
# Type check
|
||||
uv run mypy llm_connect
|
||||
|
||||
# Run a single test file
|
||||
uv run pytest tests/test_models.py -v
|
||||
|
||||
# Build package (dry run)
|
||||
uv build --no-sources
|
||||
```
|
||||
|
||||
## Project layout
|
||||
|
||||
```
|
||||
llm_connect/ source package
|
||||
adapter.py LLMAdapter ABC + Mock/ErrorLLMAdapter
|
||||
models.py RunConfig, LLMResponse
|
||||
exceptions.py LLMError hierarchy
|
||||
factory.py create_adapter()
|
||||
openai.py OpenAIAdapter
|
||||
gemini.py GeminiAdapter
|
||||
openrouter.py OpenRouterAdapter
|
||||
claude_code.py ClaudeCodeAdapter
|
||||
embedding_adapter.py EmbeddingAdapter ABC
|
||||
embedding_openai.py OpenAICompatibleEmbeddingAdapter
|
||||
embedding_cache.py EmbeddingCache
|
||||
embedding_factory.py create_embedding_adapter()
|
||||
toml_config.py 7-level TOML config resolution
|
||||
config.py LLMConfig, resolve_api_key, find_project_root
|
||||
_http.py shared HTTP POST utility
|
||||
_token_estimator.py rough token count estimate
|
||||
similarity.py cosine similarity utilities
|
||||
tests/ pytest test suite
|
||||
contracts/ GAAF-2026 contract docs
|
||||
workplans/ workplan files (LLM-WP-NNNN)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user