Finalize repo-scoping runtime rename

This commit is contained in:
2026-05-15 21:16:34 +02:00
parent 084159e51c
commit 28fad1b248
62 changed files with 445 additions and 305 deletions

View File

@@ -1,18 +1,18 @@
from repo_registry.acceptance.agentic import (
from repo_scoping.acceptance.agentic import (
AgenticReviewer,
AgenticReviewDecision,
AgenticReviewRequest,
validate_agentic_review_decision,
validate_agentic_review_decisions,
)
from repo_registry.acceptance.criteria import (
from repo_scoping.acceptance.criteria import (
active_quality_criteria_version,
criteria_registry_dict,
criteria_registry_json,
criteria_registry_markdown,
load_quality_criteria,
)
from repo_registry.acceptance.gates import (
from repo_scoping.acceptance.gates import (
blocking_quality_gate_outcomes,
evaluate_candidate_capability_quality,
evaluate_candidate_graph_quality,

View File

@@ -4,8 +4,8 @@ from dataclasses import dataclass
from typing import Any
from typing import Protocol
from repo_registry.acceptance.gates import QualityGateOutcome
from repo_registry.core.models import CandidateGraph, Repository
from repo_scoping.acceptance.gates import QualityGateOutcome
from repo_scoping.core.models import CandidateGraph, Repository
AGENTIC_REVIEW_ACTIONS = {
"approve",

View File

@@ -2,12 +2,12 @@ from __future__ import annotations
from dataclasses import asdict, dataclass
from repo_registry.acceptance.criteria import (
from repo_scoping.acceptance.criteria import (
QualityCriteriaRegistry,
QualityCriterion,
load_quality_criteria,
)
from repo_registry.core.models import (
from repo_scoping.core.models import (
CandidateCapability,
CandidateFeature,
CandidateGraph,

View File

@@ -3,7 +3,7 @@ from __future__ import annotations
import re
from dataclasses import dataclass, field, replace
from repo_registry.core.models import ContentChunk, ObservedFact, Repository, SourceReference
from repo_scoping.core.models import ContentChunk, ObservedFact, Repository, SourceReference
@dataclass(frozen=True)
@@ -59,18 +59,18 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
(
"Create and update repository records",
"api",
["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"],
),
(
"Resolve local or remote Git checkouts",
"backend",
["src/repo_registry/repo_ingestion/git.py", "tests/test_git_ingestion.py"],
["src/repo_scoping/repo_ingestion/git.py", "tests/test_git_ingestion.py"],
),
(
"Import repository metadata",
"backend",
[
"src/repo_registry/repo_ingestion/metadata.py",
"src/repo_scoping/repo_ingestion/metadata.py",
"tests/test_repository_metadata.py",
],
),
@@ -84,17 +84,17 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
(
"Detect source languages, manifests, docs, tests, config, and interfaces",
"backend",
["src/repo_registry/repo_scanning/scanner.py", "tests/test_repository_scanner.py"],
["src/repo_scoping/repo_scanning/scanner.py", "tests/test_repository_scanner.py"],
),
(
"Classify source roles for facts",
"backend",
["src/repo_registry/repo_scanning/scanner.py", "docs/characteristic-evidence-model.md"],
["src/repo_scoping/repo_scanning/scanner.py", "docs/characteristic-evidence-model.md"],
),
(
"Preserve analysis snapshots and fact records",
"storage",
["src/repo_registry/storage/sqlite.py", "migrations/0001_initial.sql"],
["src/repo_scoping/storage/sqlite.py", "migrations/0001_initial.sql"],
),
],
},
@@ -106,14 +106,14 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
(
"Create source-linked content chunks from observed facts",
"backend",
["src/repo_registry/content_indexing/extractor.py", "tests/test_content_indexing.py"],
["src/repo_scoping/content_indexing/extractor.py", "tests/test_content_indexing.py"],
),
(
"Carry source-role metadata into downstream generation",
"backend",
[
"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",
],
),
],
@@ -127,8 +127,8 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Build candidate abilities, capabilities, features, and evidence",
"backend",
[
"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",
],
),
@@ -136,8 +136,8 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Optionally map structured LLM extraction into candidates",
"integration",
[
"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",
],
),
@@ -152,20 +152,20 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Edit, reject, merge, and relink candidate graph entries",
"api",
[
"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",
"tests/test_registry_service.py",
],
),
(
"Publish approved characteristic maps after review",
"storage",
["src/repo_registry/core/service.py", "src/repo_registry/storage/sqlite.py"],
["src/repo_scoping/core/service.py", "src/repo_scoping/storage/sqlite.py"],
),
(
"Record review decisions and expectation gaps",
"audit",
["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"],
),
],
},
@@ -177,17 +177,17 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
(
"Search approved abilities, capabilities, features, and evidence",
"api",
["src/repo_registry/core/service.py", "tests/test_registry_service.py"],
["src/repo_scoping/core/service.py", "tests/test_registry_service.py"],
),
(
"Compare repositories and identify capability gaps",
"api",
["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"],
),
(
"Export repository profiles",
"api",
["src/repo_registry/web_api/app.py", "docs/api-contract.md"],
["src/repo_scoping/web_api/app.py", "docs/api-contract.md"],
),
],
},
@@ -200,7 +200,7 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Render SCOPE.md from approved characteristics",
"backend",
[
"src/repo_registry/scope/generator.py",
"src/repo_scoping/scope/generator.py",
"tests/test_scope_generator.py",
"docs/scope-md-spec.md",
],
@@ -209,8 +209,8 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Diff, validate, and write scope files",
"api",
[
"src/repo_registry/scope/validator.py",
"src/repo_registry/web_api/app.py",
"src/repo_scoping/scope/validator.py",
"src/repo_scoping/web_api/app.py",
],
),
],
@@ -224,7 +224,7 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Model dependencies between facts, evidence, features, capabilities, abilities, and scope",
"backend",
[
"src/repo_registry/core/service.py",
"src/repo_scoping/core/service.py",
"docs/dependency-aware-scope-propagation.md",
"docs/dependency-visualization-exploration.md",
],
@@ -232,7 +232,7 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
(
"Render dependency graph views and profiles",
"ui",
["src/repo_registry/web_ui/views.py", "tests/test_web_api.py"],
["src/repo_scoping/web_ui/views.py", "tests/test_web_api.py"],
),
],
},
@@ -245,7 +245,7 @@ REPO_SCOPING_NATIVE_CAPABILITY_SEEDS = [
"Return compact JSON scope context by repository slug",
"api",
[
"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",
],
@@ -661,7 +661,7 @@ class CandidateGraphGenerator:
identity = f"{repository.name} {repository.url} {repository.description or ''}".lower()
if "repo-scoping" in identity or "repository scoping" in identity:
return True
return any(fact.path.startswith("src/repo_registry/") for fact in facts)
return any(fact.path.startswith("src/repo_scoping/") for fact in facts)
def _facts_for_paths(
self,

View File

@@ -3,13 +3,13 @@ from __future__ import annotations
import re
from dataclasses import replace
from repo_registry.candidate_graph.generator import (
from repo_scoping.candidate_graph.generator import (
CandidateAbilityDraft,
CandidateCapabilityDraft,
CandidateEvidenceDraft,
CandidateFeatureDraft,
)
from repo_registry.core.models import SourceReference
from repo_scoping.core.models import SourceReference
STOP_WORDS = {

View File

@@ -6,24 +6,24 @@ from dataclasses import asdict
from pathlib import Path
from typing import Sequence
from repo_registry.acceptance import (
from repo_scoping.acceptance import (
criteria_registry_json,
criteria_registry_markdown,
load_quality_criteria,
)
from repo_registry.core.models import CharacteristicRebuildResult, Repository
from repo_registry.core.service import RegistryService
from repo_registry.llm_extraction import LLMCandidateExtractor, create_llm_connect_adapter
from repo_registry.repo_ingestion.git import GitIngestionService
from repo_registry.self_scoping.assessment import artifact_json, export_assessment_artifact
from repo_registry.self_scoping.comparison import (
from repo_scoping.core.models import CharacteristicRebuildResult, Repository
from repo_scoping.core.service import RegistryService
from repo_scoping.llm_extraction import LLMCandidateExtractor, create_llm_connect_adapter
from repo_scoping.repo_ingestion.git import GitIngestionService
from repo_scoping.self_scoping.assessment import artifact_json, export_assessment_artifact
from repo_scoping.self_scoping.comparison import (
compare_assessment_to_golden,
comparison_json,
comparison_markdown,
load_json,
)
from repo_registry.storage.sqlite import NotFoundError, RegistryStore
from repo_registry.web_api.app import Settings
from repo_scoping.storage.sqlite import NotFoundError, RegistryStore
from repo_scoping.web_api.app import Settings
def build_parser() -> argparse.ArgumentParser:
@@ -56,8 +56,8 @@ def build_parser() -> argparse.ArgumentParser:
action="store_true",
help="Confirm a destructive all-repository rebuild.",
)
rebuild.add_argument("--database-path", help="Override REPO_REGISTRY_DATABASE_PATH.")
rebuild.add_argument("--checkout-root", help="Override REPO_REGISTRY_CHECKOUT_ROOT.")
rebuild.add_argument("--database-path", help="Override REPO_SCOPING_DATABASE_PATH.")
rebuild.add_argument("--checkout-root", help="Override REPO_SCOPING_CHECKOUT_ROOT.")
export = subparsers.add_parser(
"export-assessment",
help="Export a completed analysis run as a self-scoping assessment artifact.",
@@ -87,8 +87,8 @@ def build_parser() -> argparse.ArgumentParser:
)
export.add_argument("--reviewer", default="codex", help="Reviewer name recorded in the artifact.")
export.add_argument("--summary", help="Assessment summary override.")
export.add_argument("--database-path", help="Override REPO_REGISTRY_DATABASE_PATH.")
export.add_argument("--checkout-root", help="Override REPO_REGISTRY_CHECKOUT_ROOT.")
export.add_argument("--database-path", help="Override REPO_SCOPING_DATABASE_PATH.")
export.add_argument("--checkout-root", help="Override REPO_SCOPING_CHECKOUT_ROOT.")
compare = subparsers.add_parser(
"compare-assessment",
help="Compare a self-scoping assessment artifact against a golden profile.",
@@ -155,8 +155,8 @@ def build_parser() -> argparse.ArgumentParser:
action="store_true",
help="Return exit code 1 only when comparison status is regression.",
)
self_assess.add_argument("--database-path", help="Override REPO_REGISTRY_DATABASE_PATH.")
self_assess.add_argument("--checkout-root", help="Override REPO_REGISTRY_CHECKOUT_ROOT.")
self_assess.add_argument("--database-path", help="Override REPO_SCOPING_DATABASE_PATH.")
self_assess.add_argument("--checkout-root", help="Override REPO_SCOPING_CHECKOUT_ROOT.")
self_assess.set_defaults(no_llm=True)
criteria = subparsers.add_parser(
"list-quality-criteria",
@@ -177,8 +177,8 @@ def build_parser() -> argparse.ArgumentParser:
"list-legacy-auto-approvals",
help="List historical trusted deterministic auto-approval records.",
)
legacy.add_argument("--database-path", help="Override REPO_REGISTRY_DATABASE_PATH.")
legacy.add_argument("--checkout-root", help="Override REPO_REGISTRY_CHECKOUT_ROOT.")
legacy.add_argument("--database-path", help="Override REPO_SCOPING_DATABASE_PATH.")
legacy.add_argument("--checkout-root", help="Override REPO_SCOPING_CHECKOUT_ROOT.")
legacy.add_argument("--output", help="Write inventory output to this path instead of stdout.")
legacy.add_argument(
"--format",

View File

@@ -1,3 +1,3 @@
from repo_registry.content_indexing.extractor import ContentChunkCandidate, ContentExtractor
from repo_scoping.content_indexing.extractor import ContentChunkCandidate, ContentExtractor
__all__ = ["ContentChunkCandidate", "ContentExtractor"]

View File

@@ -3,7 +3,7 @@ from __future__ import annotations
from dataclasses import dataclass, field
from pathlib import Path
from repo_registry.core.models import ObservedFact
from repo_scoping.core.models import ObservedFact
INDEXED_FACT_KINDS = {

View File

@@ -5,7 +5,7 @@ import logging
from typing import Any
LOGGER_NAME = "repo_registry.operations"
LOGGER_NAME = "repo_scoping.operations"
def log_operation(event: str, **fields: Any) -> None:

View File

@@ -4,7 +4,7 @@ from collections.abc import Sequence
from dataclasses import asdict, replace
from typing import Any
from repo_registry.acceptance import (
from repo_scoping.acceptance import (
AgenticReviewDecision,
AgenticReviewer,
AgenticReviewRequest,
@@ -14,7 +14,7 @@ from repo_registry.acceptance import (
evaluate_candidate_graph_quality,
validate_agentic_review_decisions,
)
from repo_registry.core.models import (
from repo_scoping.core.models import (
AbilitySummary,
AnalysisRunDiff,
AnalysisRunDiffItem,
@@ -43,17 +43,17 @@ from repo_registry.core.models import (
TrustedAutoApprovalMigrationRecord,
enrich_review_decision,
)
from repo_registry.candidate_graph.generator import CandidateGraphGenerator
from repo_registry.candidate_graph.normalization import normalize_candidate_drafts
from repo_registry.content_indexing.extractor import ContentExtractor
from repo_registry.core.logging import log_operation
from repo_registry.llm_extraction.extractor import LLMCandidateExtractor
from repo_registry.llm_extraction.mapper import LLMExtractionMapper
from repo_registry.repo_ingestion.git import GitIngestionService
from repo_registry.repo_ingestion.metadata import RepositoryMetadataExtractor
from repo_registry.repo_scanning.scanner import DeterministicScanner
from repo_registry.semantic import EmbeddingProvider, cosine_similarity
from repo_registry.storage.sqlite import NotFoundError, RegistryStore
from repo_scoping.candidate_graph.generator import CandidateGraphGenerator
from repo_scoping.candidate_graph.normalization import normalize_candidate_drafts
from repo_scoping.content_indexing.extractor import ContentExtractor
from repo_scoping.core.logging import log_operation
from repo_scoping.llm_extraction.extractor import LLMCandidateExtractor
from repo_scoping.llm_extraction.mapper import LLMExtractionMapper
from repo_scoping.repo_ingestion.git import GitIngestionService
from repo_scoping.repo_ingestion.metadata import RepositoryMetadataExtractor
from repo_scoping.repo_scanning.scanner import DeterministicScanner
from repo_scoping.semantic import EmbeddingProvider, cosine_similarity
from repo_scoping.storage.sqlite import NotFoundError, RegistryStore
class RegistryService:

View File

@@ -1,4 +1,4 @@
from repo_registry.llm_extraction.extractor import (
from repo_scoping.llm_extraction.extractor import (
ExtractedAbility,
ExtractedCapability,
ExtractedEvidence,
@@ -7,7 +7,7 @@ from repo_registry.llm_extraction.extractor import (
LLMExtractionError,
create_llm_connect_adapter,
)
from repo_registry.llm_extraction.mapper import LLMExtractionMapper
from repo_scoping.llm_extraction.mapper import LLMExtractionMapper
__all__ = [
"ExtractedAbility",

View File

@@ -4,7 +4,7 @@ import json
from dataclasses import dataclass, field
from typing import Any, Protocol
from repo_registry.core.models import ContentChunk, Repository
from repo_scoping.core.models import ContentChunk, Repository
class LLMExtractionError(ValueError):

View File

@@ -1,13 +1,13 @@
from __future__ import annotations
from repo_registry.candidate_graph.generator import (
from repo_scoping.candidate_graph.generator import (
CandidateAbilityDraft,
CandidateCapabilityDraft,
CandidateEvidenceDraft,
CandidateFeatureDraft,
)
from repo_registry.core.models import ContentChunk, ObservedFact, SourceReference
from repo_registry.llm_extraction.extractor import ExtractedAbility
from repo_scoping.core.models import ContentChunk, ObservedFact, SourceReference
from repo_scoping.llm_extraction.extractor import ExtractedAbility
class LLMExtractionMapper:

View File

@@ -19,10 +19,16 @@ class RepositoryMetadataExtractor:
pyproject = self._from_pyproject(root)
package = self._from_package_json(root)
readme = self._from_readme(root)
fallback_name = self._name_from_url_or_path(url)
source_name = self._source_name(url) or self._source_name(str(root))
return RepositoryMetadata(
name=pyproject.name or package.name or readme.name or fallback_name,
name=(
source_name
or pyproject.name
or package.name
or readme.name
or "repository"
),
description=(
pyproject.description
or package.description
@@ -77,10 +83,13 @@ class RepositoryMetadataExtractor:
return RepositoryMetadata(name=title, description=None)
return RepositoryMetadata(name="", description=None)
def _name_from_url_or_path(self, value: str) -> str:
def _source_name(self, value: str) -> str:
parsed = urlparse(value)
path = parsed.path if parsed.scheme else value
name = Path(path.rstrip("/")).name or "repository"
name = Path(path.rstrip("/")).name
if name.endswith(".git"):
name = name[:-4]
return name or "repository"
normalized = name.strip()
if normalized.lower() in {"", ".", "repo", "repository", "source", "checkout"}:
return ""
return normalized

View File

@@ -1,4 +1,4 @@
from repo_registry.scope.generator import ScopeGenerator
from repo_registry.scope.validator import ScopeValidator
from repo_scoping.scope.generator import ScopeGenerator
from repo_scoping.scope.validator import ScopeValidator
__all__ = ["ScopeGenerator", "ScopeValidator"]

View File

@@ -3,8 +3,8 @@ from __future__ import annotations
import re
from dataclasses import asdict
from repo_registry.core.service import RegistryService
from repo_registry.storage.sqlite import NotFoundError
from repo_scoping.core.service import RegistryService
from repo_scoping.storage.sqlite import NotFoundError
SCOPE_SECTIONS = [

View File

@@ -4,7 +4,7 @@ import re
from dataclasses import dataclass
from pathlib import Path
from repo_registry.scope.generator import SCOPE_SECTIONS, ScopeGenerator
from repo_scoping.scope.generator import SCOPE_SECTIONS, ScopeGenerator
@dataclass(frozen=True)

View File

@@ -1,6 +1,6 @@
from repo_registry.self_scoping.assessment import export_assessment_artifact
from repo_registry.self_scoping.comparison import compare_assessment_to_golden
from repo_registry.self_scoping.review_store import (
from repo_scoping.self_scoping.assessment import export_assessment_artifact
from repo_scoping.self_scoping.comparison import compare_assessment_to_golden
from repo_scoping.self_scoping.review_store import (
record_assessment_outcome,
record_assessment_pair_outcome,
)

View File

@@ -9,12 +9,12 @@ from importlib import metadata
from pathlib import Path
from typing import Any
from repo_registry.acceptance import (
from repo_scoping.acceptance import (
active_quality_criteria_version,
evaluate_candidate_graph_quality,
quality_gate_outcome_dicts,
)
from repo_registry.core.models import (
from repo_scoping.core.models import (
Ability,
CandidateAbility,
CandidateCapability,
@@ -26,7 +26,7 @@ from repo_registry.core.models import (
ReviewDecision,
SourceReference,
)
from repo_registry.core.service import RegistryService
from repo_scoping.core.service import RegistryService
SCHEMA_VERSION = "self-scoping-assessment/v1"
@@ -151,7 +151,7 @@ def _engine_identity(scanner_version: str, engine_root: Path) -> dict[str, Any]:
def _package_version() -> str:
try:
return metadata.version("repo-registry")
return metadata.version("repo-scoping")
except metadata.PackageNotFoundError:
return "unknown"

View File

@@ -9,7 +9,7 @@ from typing import Any
from uuid import uuid4
SELF_SCOPING_ROOT_ENV = "REPO_REGISTRY_SELF_SCOPING_ROOT"
SELF_SCOPING_ROOT_ENV = "REPO_SCOPING_SELF_SCOPING_ROOT"
OUTCOME_SCHEMA_VERSION = "self-scoping-review-outcome/v1"
ALLOWED_OUTCOMES = {
"prefer_golden",

View File

@@ -1,4 +1,4 @@
from repo_registry.semantic.embeddings import (
from repo_scoping.semantic.embeddings import (
EmbeddingProvider,
HashingEmbeddingProvider,
cosine_similarity,

View File

@@ -4,7 +4,7 @@ import json
import sqlite3
from pathlib import Path
from repo_registry.core.models import (
from repo_scoping.core.models import (
Ability,
AbilitySummary,
AnalysisRun,
@@ -30,10 +30,10 @@ from repo_registry.core.models import (
SourceReference,
confidence_label,
)
from repo_registry.core.logging import log_operation
from repo_registry.content_indexing.extractor import ContentChunkCandidate
from repo_registry.candidate_graph.generator import CandidateAbilityDraft
from repo_registry.repo_scanning.scanner import FactCandidate, ScanResult
from repo_scoping.core.logging import log_operation
from repo_scoping.content_indexing.extractor import ContentChunkCandidate
from repo_scoping.candidate_graph.generator import CandidateAbilityDraft
from repo_scoping.repo_scanning.scanner import FactCandidate, ScanResult
class NotFoundError(ValueError):

View File

@@ -12,19 +12,19 @@ from fastapi.responses import PlainTextResponse
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
from repo_registry.acceptance import (
from repo_scoping.acceptance import (
criteria_registry_dict,
evaluate_candidate_graph_quality,
load_quality_criteria,
quality_gate_outcome_dicts,
)
from repo_registry.core.service import RegistryService
from repo_registry.llm_extraction import LLMCandidateExtractor, create_llm_connect_adapter
from repo_registry.repo_ingestion.git import GitIngestionService
from repo_registry.semantic import HashingEmbeddingProvider
from repo_registry.scope import ScopeGenerator, ScopeValidator
from repo_registry.storage.sqlite import NotFoundError, RegistryStore
from repo_registry.web_api.schemas import (
from repo_scoping.core.service import RegistryService
from repo_scoping.llm_extraction import LLMCandidateExtractor, create_llm_connect_adapter
from repo_scoping.repo_ingestion.git import GitIngestionService
from repo_scoping.semantic import HashingEmbeddingProvider
from repo_scoping.scope import ScopeGenerator, ScopeValidator
from repo_scoping.storage.sqlite import NotFoundError, RegistryStore
from repo_scoping.web_api.schemas import (
AbilityCreate,
AbilitySummaryResponse,
AbilityUpdate,
@@ -86,9 +86,9 @@ def slugify(value: str) -> str:
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_prefix="REPO_REGISTRY_")
model_config = SettingsConfigDict(env_prefix="REPO_SCOPING_")
database_path: str = Field(default="var/repo-registry.sqlite3")
database_path: str = Field(default="var/repo-scoping.sqlite3")
checkout_root: str = Field(default="var/checkouts")
llm_enabled: bool = Field(default=True)
llm_provider: str | None = Field(default=None)
@@ -103,7 +103,7 @@ def get_settings() -> Settings:
def get_service(settings: Settings = Depends(get_settings)) -> RegistryService:
logging.getLogger("repo_registry.operations").setLevel(
logging.getLogger("repo_scoping.operations").setLevel(
getattr(logging, settings.log_level.upper(), logging.INFO)
)
database_path = Path(settings.database_path)
@@ -165,7 +165,7 @@ app = FastAPI(
)
from repo_registry.web_ui.views import router as ui_router
from repo_scoping.web_ui.views import router as ui_router
app.include_router(ui_router)

View File

@@ -9,13 +9,13 @@ from urllib.parse import quote_plus, urlparse
from fastapi import APIRouter, Depends, Form, HTTPException, Query
from fastapi.responses import HTMLResponse, PlainTextResponse, RedirectResponse
from repo_registry.acceptance import (
from repo_scoping.acceptance import (
evaluate_candidate_graph_quality,
quality_gate_outcome_dicts,
)
from repo_registry.core.service import RegistryService
from repo_registry.self_scoping.comparison import compare_assessment_to_golden
from repo_registry.self_scoping.review_store import (
from repo_scoping.core.service import RegistryService
from repo_scoping.self_scoping.comparison import compare_assessment_to_golden
from repo_scoping.self_scoping.review_store import (
ALLOWED_OUTCOMES,
list_assessment_artifacts,
list_golden_profiles,
@@ -24,8 +24,8 @@ from repo_registry.self_scoping.review_store import (
record_assessment_outcome,
record_assessment_pair_outcome,
)
from repo_registry.storage.sqlite import NotFoundError
from repo_registry.web_api.app import get_service
from repo_scoping.storage.sqlite import NotFoundError
from repo_scoping.web_api.app import get_service
router = APIRouter(include_in_schema=False)