feat(037): capture, verification lifecycle, inheritance + close 036 stabilization

- Authoritative candidate capture with server-issued artifacts and raw-byte
  immutability hashing (source_response_hash server-owned)
- Closed-period lifecycle: request-hash bound approvals, persisted closure
  immutability violations, byte-for-byte catalog stability on reclosure
- Verification runs: persisted VerificationRun model + FK migration,
  publish gate (block_publish), scheduled observability runs (02:00 UTC)
- FR-013 baseline inheritance: prior_release_id migration, plan_inheritance/
  execute_inheritance classification and re-extraction, API endpoints
- Visual executor bound to release-deployment environment; caller mismatch
  rejected; visual SSIM/reconciliation modules
- Query execution decomposed: envelope/model/executor split, no direct SQL
- AgentRun approvals extracted to submodule; evidence adapter; _utils
- Dashboard testing service decomposed into 30+ modules (all <400 LOC)
- Five Feature-037 agent tools with permission guards (tools_037.py)
- API readiness endpoint; Alembic env/migrations; test fixture repos
- Specs 036/037 contracts, openapi.yaml, schema.json, tasks/traceability
  updated; semantic index rebuilt with 0 parse warnings
- Fix ADR-0003 parser ambiguity: remove [DEF🆔ADR] prose example
- Add axiom-mcp-agent-feedback.md: agent findings for MCP rework plan
- Tests: 298 service + 1464 API + 45 agent passing; ruff clean
This commit is contained in:
2026-07-31 11:28:50 +03:00
parent d874a4dca6
commit a32ca0631b
210 changed files with 31086 additions and 2308 deletions

View File

@@ -54,6 +54,7 @@ from .api.routes import (
assistant,
clean_release,
clean_release_v2,
dashboard_testing,
dashboards,
datasets,
encryption_health,
@@ -66,6 +67,7 @@ from .api.routes import (
migration,
plugins,
profile,
ready,
reports,
settings,
storage,
@@ -494,6 +496,7 @@ async def log_requests(request: Request, call_next):
# @RELATION DEPENDS_ON -> [Api.Llm.LlmRoutes]
# @RELATION DEPENDS_ON -> [Api.CleanReleaseV2.CleanReleaseV2Api]
# @RELATION DEPENDS_ON -> [Api.Router.MaintenanceRouter]
# @RELATION DEPENDS_ON -> [Api.DashboardTesting]
# Include API routes
app.include_router(auth.router)
app.include_router(admin.router)
@@ -508,6 +511,7 @@ app.include_router(git.router, prefix="/api/git", tags=["Git"])
app.include_router(llm.router, prefix="/api/llm", tags=["LLM"])
app.include_router(storage.router, prefix="/api/storage", tags=["Storage"])
app.include_router(dashboards.router)
app.include_router(dashboard_testing.router)
app.include_router(datasets.router)
app.include_router(reports.router)
app.include_router(assistant.router, prefix="/api/assistant", tags=["Assistant"])
@@ -523,6 +527,7 @@ app.include_router(clean_release_v2.router)
app.include_router(profile.router)
app.include_router(health.router)
app.include_router(encryption_health.router)
app.include_router(ready.router)
app.include_router(translate.router)
app.include_router(validation_tasks, prefix="/api/validation-tasks", tags=["Validation Tasks"])