Skip to content

finding: objectstack build lowers a hook body calling ctx.api.object('x').create() although the QuickJS sandbox installs no create leaf — the extractor ledger advertises the verb, the lint rules read it as a live write, and the body throws TypeError: not a function on its first run #16249

Description

@claude

Found while landing #15394 (PR #16248), out of that card's scope; filed unassigned.

What was measured (origin/main 159dbad)

Suggested shape

Refuse .create( at lowering the way .sudo( is refused (a FORBIDDEN_PATTERNS entry whose reason names .insert() as the spelling the sandbox has), and drop create from the extractor's advertised api-crud-literal syntax and API_WRITE_METHODS so the advisory rule stops grading a call that cannot run. Alternatively install a create alias in installCtx — but the spec contract declares insert only, so the refusal is the contract-first route.

Not this

The host-side ObjectRepository.create() alias is reachable by in-process handlers and actions and is not the defect; only the L2 body surface is.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions