generated from coulomb/repo-seed
Finalize repo-scoping runtime rename
This commit is contained in:
@@ -5,18 +5,18 @@ Repository Scoping service.
|
||||
|
||||
## Configuration
|
||||
|
||||
Configuration is read from environment variables with the `REPO_REGISTRY_`
|
||||
prefix. That prefix is retained as an implementation compatibility detail after
|
||||
the product rename from Repository Ability Registry to Repository Scoping.
|
||||
Configuration is read from environment variables with the `REPO_SCOPING_`
|
||||
prefix. The same naming is used by the import package and default local
|
||||
database path so service identity stays aligned with Repository Scoping.
|
||||
|
||||
| Variable | Default | Purpose |
|
||||
| --- | --- | --- |
|
||||
| `REPO_REGISTRY_DATABASE_PATH` | `var/repo-registry.sqlite3` | SQLite database file used by the default store. |
|
||||
| `REPO_REGISTRY_CHECKOUT_ROOT` | `var/checkouts` | Local checkout cache used during repository ingestion. |
|
||||
| `REPO_REGISTRY_LLM_PROVIDER` | unset | Optional LLM provider name for candidate extraction. |
|
||||
| `REPO_REGISTRY_LLM_MODEL` | unset | Optional model name passed to the configured LLM provider. |
|
||||
| `REPO_REGISTRY_EMBEDDING_PROVIDER` | unset | Set to `hashing` to enable deterministic local hybrid search scoring. |
|
||||
| `REPO_REGISTRY_LOG_LEVEL` | `INFO` | Log level for the `repo_registry.operations` structured event logger. |
|
||||
| `REPO_SCOPING_DATABASE_PATH` | `var/repo-scoping.sqlite3` | SQLite database file used by the default store. |
|
||||
| `REPO_SCOPING_CHECKOUT_ROOT` | `var/checkouts` | Local checkout cache used during repository ingestion. |
|
||||
| `REPO_SCOPING_LLM_PROVIDER` | unset | Optional LLM provider name for candidate extraction. |
|
||||
| `REPO_SCOPING_LLM_MODEL` | unset | Optional model name passed to the configured LLM provider. |
|
||||
| `REPO_SCOPING_EMBEDDING_PROVIDER` | unset | Set to `hashing` to enable deterministic local hybrid search scoring. |
|
||||
| `REPO_SCOPING_LOG_LEVEL` | `INFO` | Log level for the `repo_scoping.operations` structured event logger. |
|
||||
|
||||
## Health Checks
|
||||
|
||||
@@ -27,7 +27,7 @@ be checked locally:
|
||||
{
|
||||
"status": "ok",
|
||||
"database": {
|
||||
"path": "var/repo-registry.sqlite3",
|
||||
"path": "var/repo-scoping.sqlite3",
|
||||
"reachable": true,
|
||||
"error": null
|
||||
},
|
||||
@@ -44,13 +44,13 @@ ingestion path.
|
||||
|
||||
## Structured Logs
|
||||
|
||||
Operational events are emitted through the `repo_registry.operations` logger as
|
||||
Operational events are emitted through the `repo_scoping.operations` logger as
|
||||
single-line JSON messages. Current events include repository registration,
|
||||
analysis start/completion/failure, LLM extraction usage/failure, and review
|
||||
decisions.
|
||||
|
||||
Configure the Python or ASGI server logging stack to route this logger to the
|
||||
same sink as application logs. `REPO_REGISTRY_LOG_LEVEL` controls the logger
|
||||
same sink as application logs. `REPO_SCOPING_LOG_LEVEL` controls the logger
|
||||
level used by API-created service instances.
|
||||
|
||||
## SQLite Backup And Restore
|
||||
@@ -60,18 +60,18 @@ continue while the backup is created:
|
||||
|
||||
```bash
|
||||
mkdir -p backups
|
||||
sqlite3 var/repo-registry.sqlite3 ".backup 'backups/repo-registry-$(date +%F).sqlite3'"
|
||||
sqlite3 var/repo-scoping.sqlite3 ".backup 'backups/repo-scoping-$(date +%F).sqlite3'"
|
||||
```
|
||||
|
||||
For the most conservative backup window, stop writes first, run the backup, then
|
||||
resume the service. Verify a backup with:
|
||||
|
||||
```bash
|
||||
sqlite3 backups/repo-registry-YYYY-MM-DD.sqlite3 "PRAGMA integrity_check;"
|
||||
sqlite3 backups/repo-scoping-YYYY-MM-DD.sqlite3 "PRAGMA integrity_check;"
|
||||
```
|
||||
|
||||
To restore, stop the service, move the current database aside, copy the backup to
|
||||
`REPO_REGISTRY_DATABASE_PATH`, start the service, and verify `GET /health`.
|
||||
`REPO_SCOPING_DATABASE_PATH`, start the service, and verify `GET /health`.
|
||||
|
||||
## PostgreSQL Migration Notes
|
||||
|
||||
|
||||
@@ -586,7 +586,7 @@
|
||||
},
|
||||
"contamination_sources": [
|
||||
{
|
||||
"path": "src/repo_registry/repo_scanning/scanner.py",
|
||||
"path": "src/repo_scoping/repo_scanning/scanner.py",
|
||||
"reason": "Scanner rule vocabulary was treated as repo-owned capability evidence."
|
||||
}
|
||||
]
|
||||
|
||||
@@ -29,16 +29,16 @@
|
||||
"name": "Create and update repository records",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/web_api/app.py",
|
||||
"src/repo_registry/web_ui/views.py"
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/web_api/app.py",
|
||||
"src/repo_scoping/web_ui/views.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Resolve local or remote Git checkouts",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/repo_ingestion/git.py",
|
||||
"src/repo_scoping/repo_ingestion/git.py",
|
||||
"tests/test_git_ingestion.py"
|
||||
]
|
||||
},
|
||||
@@ -46,7 +46,7 @@
|
||||
"name": "Import repository metadata",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/repo_ingestion/metadata.py",
|
||||
"src/repo_scoping/repo_ingestion/metadata.py",
|
||||
"tests/test_repository_metadata.py"
|
||||
]
|
||||
}
|
||||
@@ -61,7 +61,7 @@
|
||||
"name": "Detect source languages, manifests, docs, tests, config, and interfaces",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/repo_scanning/scanner.py",
|
||||
"src/repo_scoping/repo_scanning/scanner.py",
|
||||
"tests/test_repository_scanner.py"
|
||||
]
|
||||
},
|
||||
@@ -69,7 +69,7 @@
|
||||
"name": "Classify source roles for facts",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/repo_scanning/scanner.py",
|
||||
"src/repo_scoping/repo_scanning/scanner.py",
|
||||
"docs/characteristic-evidence-model.md"
|
||||
]
|
||||
},
|
||||
@@ -77,7 +77,7 @@
|
||||
"name": "Preserve analysis snapshots and fact records",
|
||||
"primary_class": "storage",
|
||||
"source_paths": [
|
||||
"src/repo_registry/storage/sqlite.py",
|
||||
"src/repo_scoping/storage/sqlite.py",
|
||||
"migrations/0001_initial.sql"
|
||||
]
|
||||
}
|
||||
@@ -92,7 +92,7 @@
|
||||
"name": "Create source-linked content chunks from observed facts",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/content_indexing/extractor.py",
|
||||
"src/repo_scoping/content_indexing/extractor.py",
|
||||
"tests/test_content_indexing.py"
|
||||
]
|
||||
},
|
||||
@@ -100,8 +100,8 @@
|
||||
"name": "Carry source-role metadata into downstream generation",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/content_indexing/extractor.py",
|
||||
"src/repo_registry/llm_extraction/extractor.py"
|
||||
"src/repo_scoping/content_indexing/extractor.py",
|
||||
"src/repo_scoping/llm_extraction/extractor.py"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -115,8 +115,8 @@
|
||||
"name": "Build candidate abilities, capabilities, features, and evidence",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/candidate_graph/generator.py",
|
||||
"src/repo_registry/candidate_graph/normalization.py",
|
||||
"src/repo_scoping/candidate_graph/generator.py",
|
||||
"src/repo_scoping/candidate_graph/normalization.py",
|
||||
"tests/test_candidate_graph.py"
|
||||
]
|
||||
},
|
||||
@@ -124,8 +124,8 @@
|
||||
"name": "Optionally map structured LLM extraction into candidates",
|
||||
"primary_class": "integration",
|
||||
"source_paths": [
|
||||
"src/repo_registry/llm_extraction/extractor.py",
|
||||
"src/repo_registry/llm_extraction/mapper.py",
|
||||
"src/repo_scoping/llm_extraction/extractor.py",
|
||||
"src/repo_scoping/llm_extraction/mapper.py",
|
||||
"tests/test_llm_extraction.py"
|
||||
]
|
||||
}
|
||||
@@ -140,9 +140,9 @@
|
||||
"name": "Edit, reject, merge, and relink candidate graph entries",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/web_api/app.py",
|
||||
"src/repo_registry/web_ui/views.py",
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/web_api/app.py",
|
||||
"src/repo_scoping/web_ui/views.py",
|
||||
"tests/test_registry_service.py"
|
||||
]
|
||||
},
|
||||
@@ -150,16 +150,16 @@
|
||||
"name": "Publish approved characteristic maps after review",
|
||||
"primary_class": "storage",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/storage/sqlite.py"
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/storage/sqlite.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Record review decisions and expectation gaps",
|
||||
"primary_class": "audit",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/web_api/schemas.py"
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/web_api/schemas.py"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -173,8 +173,8 @@
|
||||
"name": "Search approved abilities, capabilities, features, and evidence",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/semantic/embeddings.py",
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/semantic/embeddings.py",
|
||||
"tests/test_registry_service.py"
|
||||
]
|
||||
},
|
||||
@@ -182,15 +182,15 @@
|
||||
"name": "Compare repositories and identify capability gaps",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_registry/web_api/app.py"
|
||||
"src/repo_scoping/core/service.py",
|
||||
"src/repo_scoping/web_api/app.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Export repository profiles",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/web_api/app.py",
|
||||
"src/repo_scoping/web_api/app.py",
|
||||
"docs/api-contract.md"
|
||||
]
|
||||
}
|
||||
@@ -205,7 +205,7 @@
|
||||
"name": "Render SCOPE.md from approved characteristics",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/scope/generator.py",
|
||||
"src/repo_scoping/scope/generator.py",
|
||||
"tests/test_scope_generator.py",
|
||||
"docs/scope-md-spec.md"
|
||||
]
|
||||
@@ -214,9 +214,9 @@
|
||||
"name": "Diff, validate, and write scope files",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/scope/validator.py",
|
||||
"src/repo_registry/web_api/app.py",
|
||||
"src/repo_registry/web_ui/views.py"
|
||||
"src/repo_scoping/scope/validator.py",
|
||||
"src/repo_scoping/web_api/app.py",
|
||||
"src/repo_scoping/web_ui/views.py"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -230,7 +230,7 @@
|
||||
"name": "Model dependencies between facts, evidence, features, capabilities, abilities, and scope",
|
||||
"primary_class": "backend",
|
||||
"source_paths": [
|
||||
"src/repo_registry/core/service.py",
|
||||
"src/repo_scoping/core/service.py",
|
||||
"docs/dependency-aware-scope-propagation.md",
|
||||
"docs/dependency-visualization-exploration.md"
|
||||
]
|
||||
@@ -239,7 +239,7 @@
|
||||
"name": "Render dependency graph views and profiles",
|
||||
"primary_class": "ui",
|
||||
"source_paths": [
|
||||
"src/repo_registry/web_ui/views.py",
|
||||
"src/repo_scoping/web_ui/views.py",
|
||||
"tests/test_web_api.py"
|
||||
]
|
||||
}
|
||||
@@ -254,7 +254,7 @@
|
||||
"name": "Return compact JSON scope context by repository slug",
|
||||
"primary_class": "api",
|
||||
"source_paths": [
|
||||
"src/repo_registry/web_api/app.py",
|
||||
"src/repo_scoping/web_api/app.py",
|
||||
"docs/schemas/repo-scope-context-response.json",
|
||||
"tests/test_scope_context_api.py"
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@ development. It produces deterministic token-bucket vectors without any network
|
||||
dependency. Configure it with:
|
||||
|
||||
```bash
|
||||
REPO_REGISTRY_EMBEDDING_PROVIDER=hashing
|
||||
REPO_SCOPING_EMBEDDING_PROVIDER=hashing
|
||||
```
|
||||
|
||||
When enabled, search combines:
|
||||
|
||||
@@ -10,10 +10,10 @@ repository is for and how that claim is supported.
|
||||
- Repository Scoping is the product and UI name.
|
||||
- `repo-scoping` is the managed repository slug, Git remote identity, and State
|
||||
Hub repository identity.
|
||||
- `repo_registry`, `REPO_REGISTRY_`, and `var/repo-registry.sqlite3` are retained
|
||||
compatibility names in code and local configuration.
|
||||
- Repository Ability Registry and `repo-registry` are historical names from
|
||||
before the scope-oriented rename.
|
||||
- `repo_scoping`, `REPO_SCOPING_`, and `var/repo-scoping.sqlite3` are the
|
||||
current package, environment-prefix, and default SQLite names.
|
||||
- Earlier registry-oriented names are historical only and should not be used in
|
||||
runtime configuration, package imports, or new documentation.
|
||||
|
||||
## Characteristic Model
|
||||
|
||||
|
||||
Reference in New Issue
Block a user