Project inception — decide what a new project inherits (milestone 297) #124

Merged
bvandeusen merged 8 commits from dev into main 2026-08-21 22:16:33 -04:00
3 changed files with 19 additions and 1 deletions
Showing only changes of commit 227aef3dbf - Show all commits
+1 -1
View File
@@ -169,7 +169,7 @@ def test_register_attaches_all_sixteen_tools():
mcp = FakeMCP()
register(mcp)
assert len(mcp.names) == 22
assert len(mcp.names) == 24 # +exclude/include_always_on_rulebook (milestone 297)
# spot-check a few names
assert "list_rulebooks" in mcp.names
assert "create_rule" in mcp.names
+9
View File
@@ -4,6 +4,15 @@ import pytest
from tests.helpers import fake_note
@pytest.fixture(autouse=True)
def _no_exclusions():
"""build_session_context asks for the bound project's always-on
exclusions (milestone 297); these tests script the rules only."""
with patch("scribe.services.plugin_context.rulebooks_svc.excluded_always_on_rulebooks",
AsyncMock(return_value=[])):
yield
pytestmark = pytest.mark.usefixtures("_no_supersession")
+9
View File
@@ -8,6 +8,15 @@ import pytest
from tests.helpers import fake_rule, fake_rulebook, fake_topic, make_mock_session
@pytest.fixture(autouse=True)
def _no_exclusions():
"""get_applicable_rules asks for the project's always-on exclusions
(milestone 297) through its own session; these mocked-session tests
script the rule queries only, so the exclusions lookup is stubbed empty."""
with patch("scribe.services.rulebooks.excluded_always_on_rulebooks", AsyncMock(return_value=[])):
yield
@pytest.mark.asyncio
async def test_create_rulebook_stores_to_db():
mock_session = make_mock_session()