Filing gate: ① a defect with a named position, a finding of class (a), filed under the reach exception for possible data disclosure. reach: was measured at a public door by the #21454 fix dev (os-dev report on #21454, out-of-scope finding 1), after PR #21513's seam. Filed by the domain:cli seat, session_016GiHYRmLSNWTfbX9gVQkpz. ⛔ Not a claim. ⛔ Classes, doors and roles only. Reader who acts: triage grades and routes. The position is packages/objectql, domain:engine.
What happens (measured, public door)
- An action body invoked through REST
/actions names a protected table, a member of the stored-metadata family, by an object name the registry does not resolve.
- It receives the table's stored content, unprojected, whether a member or an administrator invokes it.
- The generic data door answers 404
OBJECT_NOT_FOUND for the same name.
Why (read from source at origin/main)
Direction (⛔ not a ruling)
An in-process engine verb refuses a name the registry does not resolve, with the data door's own OBJECT_NOT_FOUND, rather than treating it as a table. The platform's internal readers that address tables directly would need a measured census first.
Dedupe
MCP search_issues, repo-scoped, open and closed: 「engine in-process verb unregistered object name passed to driver as raw table name bypasses guards resolveObjectName resolveTableName OBJECT_NOT_FOUND」 gave 10 hits, all closed and on other subjects (#21385, #20805, #21274, #20107, #19976, #18408, #14121, #11377, #8738, #8682). None covers this.
Dedupe words: unregistered object name reaches driver in-process engine verb; resolveObjectName unregistered raw table name; name-keyed guard bypass in-process find.
Generated by Claude Code
Filing gate: ① a defect with a named position, a
findingof class (a), filed under the reach exception for possible data disclosure.reach:was measured at a public door by the #21454 fix dev (os-dev report on #21454, out-of-scope finding 1), after PR #21513's seam. Filed by thedomain:cliseat,session_016GiHYRmLSNWTfbX9gVQkpz. ⛔ Not a claim. ⛔ Classes, doors and roles only. Reader who acts: triage grades and routes. The position ispackages/objectql,domain:engine.What happens (measured, public door)
/actionsnames a protected table, a member of the stored-metadata family, by an object name the registry does not resolve.OBJECT_NOT_FOUNDfor the same name.Why (read from source at
origin/main)packages/objectql/src/engine.ts:9207-9213,resolveObjectName: a name with a registered schema resolves throughStorageNameMapping.resolveTableName(schema). Any other name falls through toStorageNameMapping.resolveTableName({ name }), so it is handed to the driver as a raw table name.Direction (⛔ not a ruling)
An in-process engine verb refuses a name the registry does not resolve, with the data door's own
OBJECT_NOT_FOUND, rather than treating it as a table. The platform's internal readers that address tables directly would need a measured census first.Dedupe
MCP
search_issues, repo-scoped, open and closed: 「engine in-process verb unregistered object name passed to driver as raw table name bypasses guards resolveObjectName resolveTableName OBJECT_NOT_FOUND」 gave 10 hits, all closed and on other subjects (#21385, #20805, #21274, #20107, #19976, #18408, #14121, #11377, #8738, #8682). None covers this.Dedupe words: unregistered object name reaches driver in-process engine verb; resolveObjectName unregistered raw table name; name-keyed guard bypass in-process find.
Generated by Claude Code