Skip to content

fix(security): RBAC catalog seeder swallows unique-violation write failures — 'seeded 0' reported as success while a legacy index vetoes every row #12923

Description

@os-zhuang

The capability-loader-silent-fail class, measured end to end on cloud#1695: with a pre-#8556 platform-wide unique index present, every per-organization catalog INSERT is refused, the seeder's catch swallows it, and the boot log reads as a successful seed of zero rows — for weeks, on a deployed plane. The framework's own legacyUniqueReplacements doc (driver-sql schema-drift.ts) describes the operator-side half; the seeder side must be LOUD: a unique-violation during catalog seeding is a deployment-schema defect and should surface as a boot-visible warning naming the colliding index and the migrate remedy — never a silent zero. Evidence, repro recipe and the exact log lines are in cloud#1695's diagnosis comment. Part of objectstack-ai/cloud#1653 chain.

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