Skip to content

Extend the exact-symbol façade gate to @agent-device/ad-script #1579

Description

@thymikee

Small tooling chip, split out of the #1478 P5 follow-ups and named a prerequisite by #1557 (S1) — previously untracked.

Gap (verified on main761317deb): scripts/layering/package-boundaries.test.ts pins @agent-device/ad-script only at the export-map level (exportTargets keys = ['@agent-device/ad-script'], workspace deps), while @agent-device/ad-replay additionally gets the readNamedExports exact exported-symbol pin on packages/ad-replay/src/index.ts (the #1555 review's "reviewer-required exact exported-symbol gate", with export * / export default rejection). ad-script's façade widened during P5 (identity vocabulary, classifyTargetBindingMatch, the vars module moved in) with no symbol-level ratchet — a stray export currently slips through the exports-subpath check.

Scope: mirror the ad-replay pattern — one readNamedExports assertion pinning the exact symbol list of packages/ad-script/src/index.ts, added beside the existing ad-script boundary rows. Pure test/tooling change; no production code.

Sequencing: land before the S1 spike (#1557) runs, per that issue's "after #1555 merges and the façade-ratchet follow-up lands".

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions