From 3a0a9f8eae7a4d84a7e14d8b0b899ea76b30bd07 Mon Sep 17 00:00:00 2001 From: Trecek Date: Sun, 11 Oct 2026 10:38:54 -0700 Subject: [PATCH 1/3] fix: register runtime-state classification acceptance policy --- tests/arch/_acceptance_policy_surfaces.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/arch/_acceptance_policy_surfaces.py b/tests/arch/_acceptance_policy_surfaces.py index 3abfefbdd2..a9de124bf9 100644 --- a/tests/arch/_acceptance_policy_surfaces.py +++ b/tests/arch/_acceptance_policy_surfaces.py @@ -48,6 +48,12 @@ class PolicyRelaxationApproval: POLICY_SURFACES: tuple[PolicySurface, ...] = ( + PolicySurface( + "tests/arch/test_autoskillit_root_children_registered.py", + "_CLASSIFIED_ELSEWHERE", + "int_map", + default=0, + ), PolicySurface( "tests/arch/_subpackage_isolation_line_limits.py", "_LINE_LIMIT_EXEMPTIONS", From 94aa8a9041ebc4ccd65c14b236406effd34f462e Mon Sep 17 00:00:00 2001 From: Trecek Date: Sun, 11 Oct 2026 11:26:08 -0700 Subject: [PATCH 2/3] docs(review): explain classification flags in acceptance policy --- tests/arch/_acceptance_policy_surfaces.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/arch/_acceptance_policy_surfaces.py b/tests/arch/_acceptance_policy_surfaces.py index a9de124bf9..9d4ffb51d0 100644 --- a/tests/arch/_acceptance_policy_surfaces.py +++ b/tests/arch/_acceptance_policy_surfaces.py @@ -2,11 +2,12 @@ # automated repair sessions must not. Every approval needs a tracking issue and code-owner review. """Declared acceptance-policy surfaces and the human approval ledger. -A policy surface is a value the repository treats as the accepted limit for -something it measures. Because a surface and the measurement it gates live in -the same working tree, raising one is indistinguishable from satisfying it -unless a trusted revision is consulted; scripts/check_policy_relaxation.py -does that consulting and reads this file by AST from both revisions. +A policy surface holds accepted limits or numeric exemption flags. Because a +surface and the check it gates live in the same working tree, raising a limit +or adding an exemption is indistinguishable from satisfying the check unless +a trusted revision is consulted; scripts/check_policy_relaxation.py does that +consulting and reads this file by AST from both revisions. Classification flags +use int_map with default=0: enabling a flag with 1 is a policy relaxation. """ from __future__ import annotations @@ -21,13 +22,13 @@ @dataclasses.dataclass(frozen=True) class PolicySurface: - """One module-level assignment holding an accepted limit.""" + """One module-level assignment holding accepted limits or exemption flags.""" path: str symbol: str kind: SurfaceKind default: int | None = None - """int_map only: the limit an absent key already implies.""" + """int_map only: the value an absent key already implies.""" @dataclasses.dataclass(frozen=True) From 53334a04c35d06f7633246d515980b690ce99eba Mon Sep 17 00:00:00 2001 From: Trecek Date: Sun, 11 Oct 2026 11:26:57 -0700 Subject: [PATCH 3/3] style(review): group root-child policy with isolation surfaces --- tests/arch/_acceptance_policy_surfaces.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/arch/_acceptance_policy_surfaces.py b/tests/arch/_acceptance_policy_surfaces.py index 9d4ffb51d0..22d85cd0a6 100644 --- a/tests/arch/_acceptance_policy_surfaces.py +++ b/tests/arch/_acceptance_policy_surfaces.py @@ -49,12 +49,6 @@ class PolicyRelaxationApproval: POLICY_SURFACES: tuple[PolicySurface, ...] = ( - PolicySurface( - "tests/arch/test_autoskillit_root_children_registered.py", - "_CLASSIFIED_ELSEWHERE", - "int_map", - default=0, - ), PolicySurface( "tests/arch/_subpackage_isolation_line_limits.py", "_LINE_LIMIT_EXEMPTIONS", @@ -66,6 +60,12 @@ class PolicyRelaxationApproval: "int_map", default=12, ), + PolicySurface( + "tests/arch/test_autoskillit_root_children_registered.py", + "_CLASSIFIED_ELSEWHERE", + "int_map", + default=0, + ), PolicySurface( "tests/arch/test_pyright_suppression_allowlist.py", "TYPE_IGNORE_BUDGET", "int_scalar" ),