Part of #4707. Execution sub-card cut by the triage seat per the maintainer's 2026-08-06 ruling recorded on that thread (demand 3 = do).
Task
When a seed run (or any isSystem write batch) writes rows to an object covered by an active sharing rule and materialises zero grants because the record-write hooks skip isSystem sessions, emit one INFO line naming the behaviour and the remedy, per the ruling's wording: include the guidance "sharing materialisation skipped for isSystem writes; re-evaluate rules or restart to backfill".
Anchors (re-verified on origin/main @ e1e7629)
- The skip itself:
packages/plugins/plugin-sharing/src/rule-hooks.ts:157, :165, :180, :194 — each record-write hook returns early on (ctx?.session as any)?.isSystem.
- The eventual heal the INFO line should point at: the boot backfill (
sharing-plugin.ts, whose own comment at :47 documents that seed rows are written with isSystem and the hooks deliberately skip them).
- The original symptom (hotcrm#640): fresh install, 9 active rules, 9 matching accounts,
sys_record_share empty — every visible layer said "configured", nothing said "inert".
Shape notes for the dev (from the parent card, not a ruling)
- The signal must be one line per seed run/batch, not per row — the failure mode being fixed is silence, not verbosity.
- Behaviour is otherwise correct (boot backfill heals it); ⛔ do not change the skip itself, and do not make the INFO an error/warn — the ruling asked for INFO.
- Demand 2 of the parent is decided (the flag is NOT being split); this card must not introduce any new switch.
Scope
packages/plugins/plugin-sharing only (identity lane).
Refs: #4707 (anchor card — closure rides on the sub-cards landing), hotcrm#640 / PR hotcrm#652, sibling devx sub-card for demand 1.
Part of #4707. Execution sub-card cut by the triage seat per the maintainer's 2026-08-06 ruling recorded on that thread (demand 3 = do).
Task
When a seed run (or any
isSystemwrite batch) writes rows to an object covered by an active sharing rule and materialises zero grants because the record-write hooks skipisSystemsessions, emit one INFO line naming the behaviour and the remedy, per the ruling's wording: include the guidance "sharing materialisation skipped for isSystem writes; re-evaluate rules or restart to backfill".Anchors (re-verified on
origin/main@e1e7629)packages/plugins/plugin-sharing/src/rule-hooks.ts:157,:165,:180,:194— each record-write hook returns early on(ctx?.session as any)?.isSystem.sharing-plugin.ts, whose own comment at:47documents that seed rows are written withisSystemand the hooks deliberately skip them).sys_record_shareempty — every visible layer said "configured", nothing said "inert".Shape notes for the dev (from the parent card, not a ruling)
Scope
packages/plugins/plugin-sharingonly (identity lane).Refs: #4707 (anchor card — closure rides on the sub-cards landing), hotcrm#640 / PR hotcrm#652, sibling devx sub-card for demand 1.