generated from coulomb/repo-seed
Add self-scoping assessment export command
This commit is contained in:
@@ -15,7 +15,11 @@
|
||||
"execution",
|
||||
"assessment",
|
||||
"fact_summary",
|
||||
"content_chunk_summary",
|
||||
"generated_tree",
|
||||
"approved_map",
|
||||
"review_decisions",
|
||||
"quality_gate_outcomes",
|
||||
"known_regression_patterns"
|
||||
],
|
||||
"properties": {
|
||||
@@ -48,9 +52,27 @@
|
||||
"fact_summary": {
|
||||
"$ref": "#/$defs/factSummary"
|
||||
},
|
||||
"content_chunk_summary": {
|
||||
"$ref": "#/$defs/contentChunkSummary"
|
||||
},
|
||||
"generated_tree": {
|
||||
"$ref": "#/$defs/generatedTree"
|
||||
},
|
||||
"approved_map": {
|
||||
"$ref": "#/$defs/approvedMap"
|
||||
},
|
||||
"review_decisions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/reviewDecision"
|
||||
}
|
||||
},
|
||||
"quality_gate_outcomes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/qualityGateOutcome"
|
||||
}
|
||||
},
|
||||
"known_regression_patterns": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -255,6 +277,37 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"contentChunkSummary": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["total", "counts_by_kind", "counts_by_source_role", "paths"],
|
||||
"properties": {
|
||||
"total": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"counts_by_kind": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"counts_by_source_role": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"paths": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"generatedTree": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@@ -271,7 +324,7 @@
|
||||
"ability": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["name", "status", "primary_class", "capabilities"],
|
||||
"required": ["name", "status", "primary_class", "source_refs", "capabilities"],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
@@ -282,6 +335,12 @@
|
||||
"primary_class": {
|
||||
"type": "string"
|
||||
},
|
||||
"source_refs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/sourceRef"
|
||||
}
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -293,7 +352,14 @@
|
||||
"capability": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["name", "status", "primary_class", "features"],
|
||||
"required": [
|
||||
"name",
|
||||
"status",
|
||||
"primary_class",
|
||||
"source_refs",
|
||||
"features",
|
||||
"evidence"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
@@ -304,18 +370,37 @@
|
||||
"primary_class": {
|
||||
"type": "string"
|
||||
},
|
||||
"source_refs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/sourceRef"
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/feature"
|
||||
}
|
||||
},
|
||||
"evidence": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/candidateEvidence"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"feature": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["name", "type", "status", "primary_class", "location"],
|
||||
"required": [
|
||||
"name",
|
||||
"type",
|
||||
"status",
|
||||
"primary_class",
|
||||
"location",
|
||||
"source_refs"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
@@ -331,9 +416,104 @@
|
||||
},
|
||||
"location": {
|
||||
"type": "string"
|
||||
},
|
||||
"source_refs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/sourceRef"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"candidateEvidence": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["type", "reference", "strength", "status", "source_refs"],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string"
|
||||
},
|
||||
"reference": {
|
||||
"type": "string"
|
||||
},
|
||||
"strength": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"source_refs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/sourceRef"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sourceRef": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["fact_id", "path", "kind", "name", "line"],
|
||||
"properties": {
|
||||
"fact_id": {
|
||||
"type": ["integer", "null"]
|
||||
},
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"line": {
|
||||
"type": ["integer", "null"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"approvedMap": {
|
||||
"type": "object",
|
||||
"description": "Current approved ability map at export time.",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"reviewDecision": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"repository_id",
|
||||
"analysis_run_id",
|
||||
"action",
|
||||
"notes",
|
||||
"created_at"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"repository_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"analysis_run_id": {
|
||||
"type": ["integer", "null"]
|
||||
},
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"notes": {
|
||||
"type": "string"
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"qualityGateOutcome": {
|
||||
"type": "object",
|
||||
"description": "Versioned deterministic quality-gate outcome. Empty until RREG-WP-0014 introduces gates.",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"regressionPattern": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@@ -411,23 +591,35 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"content_chunk_summary": {
|
||||
"total": 0,
|
||||
"counts_by_kind": {},
|
||||
"counts_by_source_role": {},
|
||||
"paths": []
|
||||
},
|
||||
"generated_tree": {
|
||||
"abilities": [
|
||||
{
|
||||
"name": "Support Repo Registry",
|
||||
"status": "approved",
|
||||
"primary_class": "repository-intelligence",
|
||||
"source_refs": [],
|
||||
"capabilities": [
|
||||
{
|
||||
"name": "Route LLM Requests Across Providers",
|
||||
"status": "approved",
|
||||
"primary_class": "llm-integration",
|
||||
"features": []
|
||||
"source_refs": [],
|
||||
"features": [],
|
||||
"evidence": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"approved_map": {},
|
||||
"review_decisions": [],
|
||||
"quality_gate_outcomes": [],
|
||||
"known_regression_patterns": [
|
||||
{
|
||||
"id": "RREG-SELF-REG-001",
|
||||
|
||||
@@ -33,3 +33,18 @@ assessment. Compare the challenger to the golden profile and to the negative
|
||||
seed. Reviewers should be able to choose whether the old result, new result, or
|
||||
neither is better, then store that judgement as a new assessment outcome.
|
||||
|
||||
## Export Command
|
||||
|
||||
Export a completed analysis run as a challenger artifact:
|
||||
|
||||
```bash
|
||||
repo-scoping export-assessment \
|
||||
--repo repo-scoping \
|
||||
--analysis-run 39 \
|
||||
--output docs/self-scoping/assessments/repo-scoping-challenger-run-39.json
|
||||
```
|
||||
|
||||
The command reads an existing registry database and does not clone or scan the
|
||||
target repository. It records the target analysis metadata, candidate graph,
|
||||
approved map at export time, review decisions, fact and content summaries, known
|
||||
regression patterns, and current repo-scoping engine identity.
|
||||
|
||||
@@ -91,94 +91,125 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"content_chunk_summary": {
|
||||
"total": 0,
|
||||
"counts_by_kind": {},
|
||||
"counts_by_source_role": {},
|
||||
"paths": []
|
||||
},
|
||||
"generated_tree": {
|
||||
"abilities": [
|
||||
{
|
||||
"name": "Support Repo Registry",
|
||||
"status": "approved",
|
||||
"primary_class": "repository-intelligence",
|
||||
"source_refs": [],
|
||||
"capabilities": [
|
||||
{
|
||||
"name": "Route LLM Requests Across Providers",
|
||||
"status": "approved",
|
||||
"primary_class": "llm-integration",
|
||||
"source_refs": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "Use Anthropic Models",
|
||||
"type": "integration",
|
||||
"status": "approved",
|
||||
"primary_class": "integration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Use Claude Models",
|
||||
"type": "integration",
|
||||
"status": "approved",
|
||||
"primary_class": "integration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Use Gemini Models",
|
||||
"type": "integration",
|
||||
"status": "approved",
|
||||
"primary_class": "integration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Use OpenAI Models",
|
||||
"type": "integration",
|
||||
"status": "approved",
|
||||
"primary_class": "integration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Use OpenRouter Models",
|
||||
"type": "integration",
|
||||
"status": "approved",
|
||||
"primary_class": "integration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Configure LLM Provider Credentials",
|
||||
"type": "configuration",
|
||||
"status": "approved",
|
||||
"primary_class": "configuration",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Maintain LLM Provider Registry",
|
||||
"type": "backend",
|
||||
"status": "approved",
|
||||
"primary_class": "backend",
|
||||
"location": "src/repo_registry/repo_scanning/scanner.py"
|
||||
"location": "src/repo_registry/repo_scanning/scanner.py",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "Apply LLM Provider Fallback Policy",
|
||||
"type": "backend",
|
||||
"status": "approved",
|
||||
"primary_class": "backend",
|
||||
"location": "src/repo_registry/repo_scanning/scanner.py"
|
||||
"location": "src/repo_registry/repo_scanning/scanner.py",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "HTTP API surface: possible API surface, GET /health, @app.post(, +43 more",
|
||||
"type": "API",
|
||||
"status": "approved",
|
||||
"primary_class": "API",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
},
|
||||
{
|
||||
"name": "CLI command surface: CLI command build_parser, CLI command make_service",
|
||||
"type": "CLI",
|
||||
"status": "approved",
|
||||
"primary_class": "CLI",
|
||||
"location": "multiple files"
|
||||
"location": "multiple files",
|
||||
"source_refs": []
|
||||
}
|
||||
]
|
||||
],
|
||||
"evidence": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"approved_map": {},
|
||||
"review_decisions": [
|
||||
{
|
||||
"id": 21,
|
||||
"repository_id": 16,
|
||||
"analysis_run_id": 39,
|
||||
"action": "trusted_auto_approve_candidate_graph",
|
||||
"notes": "Trusted auto-populate mode reviewed candidate graph after deterministic candidate generation. Auto-approved 1 safe candidate capability(s); left 0 for review. Approved: Route LLM Requests Across Providers: eligible LLM utility relationship with source support.",
|
||||
"created_at": "2026-05-15 09:28:49"
|
||||
}
|
||||
],
|
||||
"quality_gate_outcomes": [],
|
||||
"known_regression_patterns": [
|
||||
{
|
||||
"id": "RREG-SELF-REG-001",
|
||||
|
||||
Reference in New Issue
Block a user