From 1c457143f7475112917bc87a590066fbd1c73840 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 23 Aug 2026 01:02:00 +0800 Subject: [PATCH] test: refresh architecture debt baselines --- docs/rules/10-data-and-persistent.md | 2 +- .../architecture/dependency-baseline.json | 20 ++++++++++++------- .../runtime-contract-baseline.json | 8 ++++++-- tests/test_architecture_contract_baseline.py | 4 ++-- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/docs/rules/10-data-and-persistent.md b/docs/rules/10-data-and-persistent.md index 5dff43169..0f9bef3d9 100644 --- a/docs/rules/10-data-and-persistent.md +++ b/docs/rules/10-data-and-persistent.md @@ -84,7 +84,7 @@ Oper classes accept and return persistence values. Turning a `MediaInfo` or ### Transaction ownership ratchet - `tests/fixtures/architecture/transaction-debt-baseline.json` records the - existing Model transaction decorators. The current 121 decorators are query-only + existing Model transaction decorators. The current 119 decorators are query-only migration debt: they may decrease but must never increase or move to a new Model method. Both `db_update` and `async_db_update` must remain at zero. - New Model methods must not use `db_query`, `db_update`, `async_db_query`, or diff --git a/tests/fixtures/architecture/dependency-baseline.json b/tests/fixtures/architecture/dependency-baseline.json index d870c9edd..9bae55c03 100644 --- a/tests/fixtures/architecture/dependency-baseline.json +++ b/tests/fixtures/architecture/dependency-baseline.json @@ -13,8 +13,8 @@ "runtime_to_db": [], "workflow_to_db": [] }, - "edge_count": 6408, - "edge_sha256": "5b110488838d7c407c54f637d4f0f42350605d27b49a3b36b6b5cd9af43b59d4", + "edge_count": 6413, + "edge_sha256": "02b7d1b32347dbd9be15ab2634c196dd36806fa9db89b0f8989ac6cc152c2b73", "edges": [ "app -> app.runtime", "app -> app.runtime.compat", @@ -2728,6 +2728,8 @@ "app.application.storage -> app.schemas", "app.application.storage -> app.schemas.system", "app.application.storage -> app.schemas.types", + "app.application.subscription.complete -> app.application", + "app.application.subscription.complete -> app.application.outbox", "app.application.subscription.contract -> app.domain", "app.application.subscription.contract -> app.domain.meta", "app.application.subscription.contract -> app.domain.meta.metabase", @@ -3250,6 +3252,7 @@ "app.chain.subscribe -> app.application.messaging", "app.chain.subscribe -> app.application.messaging.subscribe", "app.chain.subscribe -> app.application.subscription", + "app.chain.subscribe -> app.application.subscription.complete", "app.chain.subscribe -> app.application.subscription.contract", "app.chain.subscribe -> app.application.subscription.query", "app.chain.subscribe -> app.application.subscription.write", @@ -3606,6 +3609,7 @@ "app.db.oper.passkey -> app.db.base", "app.db.oper.passkey -> app.db.models", "app.db.oper.passkey -> app.db.models.passkey", + "app.db.oper.passkey -> app.db.uow", "app.db.oper.plugindata -> app.db", "app.db.oper.plugindata -> app.db.base", "app.db.oper.plugindata -> app.db.models", @@ -6209,8 +6213,6 @@ "app.startup.routers_initializer -> app.api.router_specs", "app.startup.routers_initializer -> app.api.servarr", "app.startup.routers_initializer -> app.api.servcookie", - "app.startup.routers_initializer -> app.runtime", - "app.startup.routers_initializer -> app.runtime.config", "app.startup.scheduler_initializer -> app.application", "app.startup.scheduler_initializer -> app.application.scheduling", "app.startup.scheduler_initializer -> app.scheduler", @@ -6219,6 +6221,7 @@ "app.startup.subscription -> app.adapters.external.server", "app.startup.subscription -> app.application", "app.startup.subscription -> app.application.subscription", + "app.startup.subscription -> app.application.subscription.complete", "app.startup.subscription -> app.application.subscription.delete", "app.startup.subscription -> app.application.subscription.mutation", "app.startup.subscription -> app.application.subscription.write", @@ -6308,6 +6311,8 @@ "app.workflow.actions.fetch_medias -> app.adapters", "app.workflow.actions.fetch_medias -> app.adapters.network", "app.workflow.actions.fetch_medias -> app.adapters.network.http", + "app.workflow.actions.fetch_medias -> app.application", + "app.workflow.actions.fetch_medias -> app.application.configuration", "app.workflow.actions.fetch_medias -> app.chain", "app.workflow.actions.fetch_medias -> app.chain.recommend", "app.workflow.actions.fetch_medias -> app.runtime", @@ -6404,8 +6409,8 @@ "app.workflow.actions.send_event -> app.schemas.workflow", "app.workflow.actions.send_event -> app.workflow", "app.workflow.actions.send_event -> app.workflow.actions", - "app.workflow.actions.send_message -> app.runtime", - "app.workflow.actions.send_message -> app.runtime.config", + "app.workflow.actions.send_message -> app.application", + "app.workflow.actions.send_message -> app.application.configuration", "app.workflow.actions.send_message -> app.schemas", "app.workflow.actions.send_message -> app.schemas.message", "app.workflow.actions.send_message -> app.schemas.workflow", @@ -6425,7 +6430,7 @@ "app.workflow.actions.transfer_file -> app.workflow", "app.workflow.actions.transfer_file -> app.workflow.actions" ], - "module_count": 794, + "module_count": 795, "modules": [ "app", "app.adapters", @@ -6747,6 +6752,7 @@ "app.application.site.query", "app.application.storage", "app.application.subscription", + "app.application.subscription.complete", "app.application.subscription.contract", "app.application.subscription.delete", "app.application.subscription.identity", diff --git a/tests/fixtures/architecture/runtime-contract-baseline.json b/tests/fixtures/architecture/runtime-contract-baseline.json index 2a7b1eb2a..0f76bc959 100644 --- a/tests/fixtures/architecture/runtime-contract-baseline.json +++ b/tests/fixtures/architecture/runtime-contract-baseline.json @@ -2195,7 +2195,11 @@ "consumers": [], "producers": [ { - "caller": "app.chain.subscribe", + "caller": "app.startup.modules_initializer", + "count": 1 + }, + { + "caller": "app.startup.subscription", "count": 1 } ] @@ -2332,7 +2336,7 @@ ] } }, - "producer_count": 76 + "producer_count": 77 }, "module_method_specs": { "anilist_credits": { diff --git a/tests/test_architecture_contract_baseline.py b/tests/test_architecture_contract_baseline.py index 2062ddaa6..670a23f95 100644 --- a/tests/test_architecture_contract_baseline.py +++ b/tests/test_architecture_contract_baseline.py @@ -126,8 +126,8 @@ def test_transaction_debt_baseline_is_a_model_and_oper_ratchet() -> None: baseline = json.loads(baseline_path.read_text(encoding="utf-8")) assert baseline["schema_version"] == 1 - assert baseline["model_decorators"]["count"] == 121 - assert sum(baseline["model_decorators"]["by_kind"].values()) == 121 + assert baseline["model_decorators"]["count"] == 119 + assert sum(baseline["model_decorators"]["by_kind"].values()) == 119 assert baseline["model_decorators"]["by_kind"]["db_update"] == 0 assert baseline["model_decorators"]["by_kind"]["async_db_update"] == 0 assert baseline["model_transaction_calls"] == {"count": 0, "calls": []}