test(M03): enforce streamer internal access boundary

This commit is contained in:
2026-07-16 00:37:00 +04:00
parent 52ea639d64
commit b58bf2caa6
5 changed files with 195 additions and 4 deletions
@@ -30,8 +30,9 @@ queue, task, cache or tile-state fields.
- Exclusive: `src/tools/verify_renderer_internal_access.gd`, this claim
- Shared/hotspots: `docs/modules/world-renderer.md`, `RENDER.md`,
`targets/03-renderer-facade.md`
- Read-only scan scope: `src/gameplay/**/*.gd`, Godot `EditorPlugin` scripts under
`src/**/*.gd` and `addons/**/*.gd`, and the streamer field declarations
- Read-only scan scope: `src/gameplay/**/*.gd`, `src/editor/**/*.gd`, Godot
`EditorPlugin` package scripts under `src/**/*.gd` and `addons/**/*.gd`, and
the streamer field declarations
## Contracts and data
@@ -66,8 +67,8 @@ queue, task, cache or tile-state fields.
- Simplest approach: derive forbidden fields from the current streamer instead
of maintaining a second hand-written queue list
- Rejected complexity: language plugin, custom linter framework or runtime proxy
- Unavoidable complexity: recursive source discovery distinguishes actual
`EditorPlugin` scripts from renderer/import addons
- Unavoidable complexity: recursive source discovery expands each actual
`EditorPlugin` root to its package scripts while excluding reference mirrors
## Status