Skip to content
Kumar Chandrachooda
Series

KC Star V6 — Permission-Aware Analytics

In reading order.

  • 5 parts
  • ≈ 22 min total
  • 5 published
Part 1 30 Sep 2025 4 min read

Who Gets to See the Numbers

KC Star V6 layers role-based access control onto the org hierarchy - eight permission types, five hierarchy levels, and grants that expire. Kicking off the series where the warehouse learns that not everyone should see every number.

Part 2 07 Nov 2025 5 min read

Hierarchy as an Ordinal

KC Star V6 decides access by comparing a single integer. An employee's highest LevelOrder against the level being requested - Global sees everything below it, an employee sees only themselves. Coarse, cascading, and a deliberate trade against per-object ACLs.

Part 3 15 Dec 2025 4 min read

The Aggregate That Censors Itself

KC Star V6's GetFilteredAnalyticalData returns different rows to different callers - each row self-selects by the caller's clearance. Two personas, one query, two answers. Here is how permission-filtered aggregates work, and where the filtering really lives.

Part 4 21 Jan 2026 5 min read

The Changelog That Describes a Different System

The KC Star V6 changelog documents an entire RBAC system - tables, functions, triggers, password columns - that appears nowhere in the actual SQL. Here is how I found the drift, why it happened, and why I treat the folder code as ground truth and the changelog as fiction.

Part 5 25 Feb 2026 4 min read

Backfilling the Facts the Pipeline Skipped

Two fix scripts in KC Star repair a V6 database where dimensions were hand-seeded but the fact-generation half of the pipeline never ran. A war story about half-run pipelines, the DO-block backfills that rescue them, and what a MANUAL_SETUP batch id confesses.