From 5a78d477ade24eaa86c9ca199d48348f9fc94203 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 14:23:46 +0000 Subject: [PATCH] docs(objectql): record the delete-phase hook bullet audit for plugin-auth, plugin-sharing and service-storage (#7933) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The three entries #7707 left unverified in engine.ts's `wantsPreImage` bullet list have been read against the functions that bind them (`registerIdentityWriteGuard`, `bindRecordShareCascade`, `installFileReferenceHooks`). All three match what the list claims: same events, same object-less registration, same in-handler filter. No bullet's substance changed — the audit is recorded because "never checked" and "checked and correct" read identically in prose, which is what produced #7933 in the first place. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014C8pAprWdmtecFsEprZax4 --- packages/objectql/src/engine.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/objectql/src/engine.ts b/packages/objectql/src/engine.ts index c08be93f7d..f91a720a1f 100644 --- a/packages/objectql/src/engine.ts +++ b/packages/objectql/src/engine.ts @@ -9253,6 +9253,18 @@ export class ObjectQL implements IObjectQLEngine { // actually serves — plugin-audit's `excludeObjects` face is the worked // example — is what would convert them into skips, and that is each // package's own card, not this one's. + // + // [#7933] Those first three were carried here UNVERIFIED when #7707 + // corrected the `plugin-audit` entry, which was wrong on BOTH halves — + // hook name and term. All three have since been read against the + // function that binds them — `registerIdentityWriteGuard`, + // `bindRecordShareCascade`, `installFileReferenceHooks` — and all three + // match what is claimed above: same events, same object-less + // registration, same in-handler filter. Nothing above needed changing. + // The audit is recorded rather than left implicit because "never + // checked" and "checked and correct" read identically in prose, and + // re-deriving that distinction is most of the cost of trusting a list + // no gate and no test can fail. const deleteSchema = this._registry.getObject(object); const wantsPreImage = this.hasHooksFor('beforeDelete', object) ||