Zero Matches in 1,292 Lines
Written later and filed to this date, as part of filling in every day of the year.
The plan item said both SDK exports were already available. The vendor’s skill said so too, with a worked example: call one function to hand the host a snapshot of your state when the app goes to the background, register another to get it back when the app returns. The agent building the feature did the thing the rule asks for and opened the SDK the project was actually pinned to. Its type definitions run to 1,292 lines. The two functions appear in none of them.
The feature was for the status display on my glasses. The host moves an app between a background WebView and a foreground one, and the first fetch after coming forward could miss, which blanked the display to “unreachable” over a cache it had held a second earlier. The fix was to carry the last good summary across the migration. The skill described exactly that, using the conveniences of a newer SDK than the one pinned in the project.
What the agent did instead was read the contract underneath the conveniences. The host exposes two globals on the window, one that returns a snapshot as a JSON string and one that restores it, and the newer SDK’s functions are thin wrappers over those. Implementing against the globals directly was version-independent, worked with the pinned SDK, and got its tests first: module missing, then green. The plan item got a correction appended: premise false, verified against the bundled SDK, line 1,292.
The plugin is a set of skills published by the glasses’ maker for agents that build apps for them. It installs from the model vendor’s marketplace like anything else there, and that is the whole hazard. It sits beside first-party skills, loads the same way and speaks with the same confidence, and it is written by a company documenting its own SDK as it would like it to be, sometimes a version ahead of what you have. The same plugin’s deploy skill is what surfaced the requirement that the host’s WebView enforces full CORS, so a whitelisted hostname alone is not enough; it was useful on the same project in the same month. Useful and authoritative are different properties.
The rule was written in the first hour of the workspace, before any of this, as a note about provenance, and the decision record still reads: “Published by Even Realities, not Anthropic-official. Fine to use; read before trusting; verify the marketplace add resolves.” It earned its line on a June afternoon, at a type file that was the only party in the conversation with nothing to sell.