Issue #3607005: Fix the 1.0.0-alpha5 audit findings
Fixes #3607005. Consolidated audit follow-up (full detail in AUDIT.md).
High
- Forbid deleting the default tenant (would brick the engine): access handler + list-builder + predelete guards.
- Add interface-translation directives to 11 submodules so their bundled
fr.pois imported. - Add a route-access functional test for the public HTTP API.
Medium
- API consumer with an empty/dangling tenant binding fails closed (no default fallback).
- Engine
spawn()takes the token lock and re-checks committed status before forking. - CM form no longer offers a second start node; validates a single start.
- Views attach the tenant cache context independently of the filter (cross-tenant render-cache leak for custom views).
- Lineage resolution batch-loads the parent chain.
- Audit trail: opt-in strict mode + variable name/scope routed to the permanent bucket.
- Example workflows install schema-clean without modeler_api.
- Interaction catch-up keeps a branch-scoped link branch-scoped.
Low
- RedirectInteraction rejects non-http(s) and uses a branch-scoped return token; remove the stray pre-1.0 update hook; content-task completion re-checks access; document the forced moderation transition and full-privilege action execution; ECA token-bag snapshot/restore;
Variable::setValuethrows on json_encode failure + deterministic internal reads; split the API permission into read/write, cap variable size, wrap API reads, fix composer suggest/description.
Adds tests across the changed areas. Kernel + unit suites pass locally (217 tests); functional tests run under CI.