generated from coulomb/repo-seed
Finalize repo-scoping runtime rename
This commit is contained in:
34
CLAUDE.md
34
CLAUDE.md
@@ -9,7 +9,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
pip install -e ".[dev]"
|
||||
|
||||
# Run dev server (port 8001)
|
||||
uvicorn repo_registry.web_api.app:app --reload --port 8001
|
||||
uvicorn repo_scoping.web_api.app:app --reload --port 8001
|
||||
|
||||
# Run tests
|
||||
pytest
|
||||
@@ -20,8 +20,6 @@ pytest tests/test_web_api.py # single file
|
||||
curl http://127.0.0.1:8001/health
|
||||
```
|
||||
|
||||
Note: `AGENTS.md` shows `src.repo_registry.app:app` but the correct module path is `repo_registry.web_api.app:app` (as installed via `src/`).
|
||||
|
||||
## Architecture
|
||||
|
||||
The service maps Git repositories to reviewable scope maps using a fixed hierarchy:
|
||||
@@ -38,7 +36,7 @@ Scope → Ability → Capability → Feature → Evidence → ObservedFact
|
||||
4. `DeterministicScanner` produces `ObservedFact` objects (files, languages, manifests, APIs, etc.)
|
||||
5. `ContentExtractor` chunks files into searchable segments
|
||||
6. `CandidateGraphGenerator` builds a draft ability→capability→feature→evidence tree from facts
|
||||
7. Optionally, `LLMCandidateExtractor` proposes additional candidates (requires `REPO_REGISTRY_LLM_ENABLED=true`)
|
||||
7. Optionally, `LLMCandidateExtractor` proposes additional candidates (requires `REPO_SCOPING_LLM_ENABLED=true`)
|
||||
8. Candidates are stored; humans or agents review them via `POST .../candidate-graph/approve`
|
||||
9. Approved characteristics feed `ScopeGenerator` to produce `SCOPE.md`
|
||||
|
||||
@@ -46,17 +44,17 @@ Scope → Ability → Capability → Feature → Evidence → ObservedFact
|
||||
|
||||
| Component | Path |
|
||||
|-----------|------|
|
||||
| FastAPI routes + DI | `src/repo_registry/web_api/app.py` |
|
||||
| Orchestration | `src/repo_registry/core/service.py` |
|
||||
| Frozen dataclasses | `src/repo_registry/core/models.py` |
|
||||
| Deterministic scanner | `src/repo_registry/repo_scanning/scanner.py` |
|
||||
| Candidate graph builder | `src/repo_registry/candidate_graph/generator.py` |
|
||||
| SQLite store | `src/repo_registry/storage/sqlite.py` |
|
||||
| FastAPI routes + DI | `src/repo_scoping/web_api/app.py` |
|
||||
| Orchestration | `src/repo_scoping/core/service.py` |
|
||||
| Frozen dataclasses | `src/repo_scoping/core/models.py` |
|
||||
| Deterministic scanner | `src/repo_scoping/repo_scanning/scanner.py` |
|
||||
| Candidate graph builder | `src/repo_scoping/candidate_graph/generator.py` |
|
||||
| SQLite store | `src/repo_scoping/storage/sqlite.py` |
|
||||
| Schema migration | `migrations/0001_initial.sql` |
|
||||
|
||||
**Storage:** SQLite at `var/repo-registry.sqlite3` (auto-created). Schema migrations run at startup. Dynamic columns are added to support evidence relationships, classification, and expectation gaps.
|
||||
**Storage:** SQLite at `var/repo-scoping.sqlite3` (auto-created). Schema migrations run at startup. Dynamic columns are added to support evidence relationships, classification, and expectation gaps.
|
||||
|
||||
**LLM extraction** is optional and disabled by default. Enable with `REPO_REGISTRY_LLM_ENABLED=true` plus `REPO_REGISTRY_LLM_PROVIDER` and `REPO_REGISTRY_LLM_MODEL`. The `llm-connect` sibling package provides the adapter abstraction.
|
||||
**LLM extraction** is optional and disabled by default. Enable with `REPO_SCOPING_LLM_ENABLED=true` plus `REPO_SCOPING_LLM_PROVIDER` and `REPO_SCOPING_LLM_MODEL`. The `llm-connect` sibling package provides the adapter abstraction.
|
||||
|
||||
**Semantic search** uses `HashingEmbeddingProvider` by default — deterministic, no external service required.
|
||||
|
||||
@@ -64,12 +62,12 @@ Scope → Ability → Capability → Feature → Evidence → ObservedFact
|
||||
|
||||
| Variable | Default | Purpose |
|
||||
|----------|---------|---------|
|
||||
| `REPO_REGISTRY_DATABASE_PATH` | `var/repo-registry.sqlite3` | SQLite file |
|
||||
| `REPO_REGISTRY_CHECKOUT_ROOT` | `var/checkouts` | Git clone cache |
|
||||
| `REPO_REGISTRY_LLM_ENABLED` | `true` | Enable LLM extraction |
|
||||
| `REPO_REGISTRY_LLM_PROVIDER` | — | e.g. `gemini`, `anthropic` |
|
||||
| `REPO_REGISTRY_LLM_MODEL` | — | e.g. `gemini-2.5-flash` |
|
||||
| `REPO_REGISTRY_STATE_HUB_BASE_URL` | `http://127.0.0.1:8000` | State Hub for coordination |
|
||||
| `REPO_SCOPING_DATABASE_PATH` | `var/repo-scoping.sqlite3` | SQLite file |
|
||||
| `REPO_SCOPING_CHECKOUT_ROOT` | `var/checkouts` | Git clone cache |
|
||||
| `REPO_SCOPING_LLM_ENABLED` | `true` | Enable LLM extraction |
|
||||
| `REPO_SCOPING_LLM_PROVIDER` | — | e.g. `gemini`, `anthropic` |
|
||||
| `REPO_SCOPING_LLM_MODEL` | — | e.g. `gemini-2.5-flash` |
|
||||
| `REPO_SCOPING_STATE_HUB_BASE_URL` | `http://127.0.0.1:8000` | State Hub for coordination |
|
||||
|
||||
## State Hub & Workplans
|
||||
|
||||
|
||||
Reference in New Issue
Block a user