A canon is only urged on a shape that could be it, the ledger can say what looks wrong, and the agent is the judge #173
@@ -444,6 +444,10 @@ async def live_rows_for(user_id: int, project_id: int) -> list[CodeShape]:
|
||||
outside (an MCP tool, a route) rather than from a job that already
|
||||
established who is asking. Empty for a project the caller cannot read,
|
||||
never a partial answer."""
|
||||
# Deferred, like every other access import in this module: services/access
|
||||
# reaches back here, and a module-level import closes the cycle.
|
||||
from scribe.services import access
|
||||
|
||||
if not await access.can_read_project(user_id, project_id):
|
||||
return []
|
||||
return await live_rows(project_id)
|
||||
|
||||
@@ -22,8 +22,6 @@ hook's own history is made of.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
|
||||
import pytest
|
||||
|
||||
from scribe.services.shape_ledger import (
|
||||
|
||||
Reference in New Issue
Block a user