Skip to content

chore: scrub customer and personal references - #1302

Merged
aleksdotbar merged 3 commits into
mainfrom
claude/busy-pasteur-25fc6a
Jun 11, 2026
Merged

chore: scrub customer and personal references#1302
aleksdotbar merged 3 commits into
mainfrom
claude/busy-pasteur-25fc6a

Conversation

@aleksdotbar

@aleksdotbar aleksdotbar commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Deployment docs, dbt comments, migrations, identity docs, and test fixtures carried customer names, employee names/emails, and workstation paths.

  • replace customer env examples with acme/globex placeholders
  • replace real personas in identity walkthroughs and test fixtures with fictional ones (John/Jane Doe, example.com)
  • drop hardcoded customer email-domain filter from gold-views migration (view superseded; runner replays by filename, no checksums)
  • rename customer-named env template to .env.remote.example, neutralize contents
  • rewrite org-specific comment rationale as generic rules

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Email identity lookups are now case-insensitive.
    • Observation uniqueness relaxed so repeated observations at different times are preserved.
    • Commit-counting view broadened to include non-null author emails (not limited to a single domain).
  • Documentation

    • Clarified remote-cluster deployment guidance and KUBECONFIG placeholder.
    • Replaced customer-specific names with generic examples across docs and ADRs.
    • Developer scripts usage examples now include a remote env option.
  • Chores

    • Updated test data and example values to use generic names.

Deployment docs, dbt comments, migrations, identity docs, and test
fixtures carried customer names, employee names/emails, and
workstation paths.

- replace customer env examples with acme/globex placeholders
- replace real personas in identity walkthroughs and test fixtures
  with fictional ones (John/Jane Doe, example.com)
- drop hardcoded customer email-domain filter from gold-views
  migration (view superseded; runner replays by filename, no checksums)
- rename customer-named env template to .env.remote.example, neutralize
  contents
- rewrite org-specific comment rationale as generic rules

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3829a877-85d7-4c4c-8646-09574e1bf4c5

📥 Commits

Reviewing files that changed from the base of the PR and between 86c88f3 and be5488d.

📒 Files selected for processing (2)
  • docs/domain/identity-resolution/specs/DESIGN.md
  • src/ingestion/scripts/migrations/20260422000000_gold-views.sql

📝 Walkthrough

Walkthrough

This PR generalizes environment/customer-specific examples across docs/scripts, replaces the identity-resolution walkthrough with a new Andrei Sokolov scenario, aligns identity migration/tests for case-insensitive value_id, and clarifies ingestion/dbt comments plus broadens a commits view filter.

Changes

Environment and deployment configuration

Layer / File(s) Summary
Dev scripts and .env template
.claude/skills/connector-status.md, .env.remote.example, DEVLOG.md, dev-restart.sh, dev-up.sh
Replace Virtuozzo-specific examples with generic/remote wording and kubeconfig placeholder; add remote usage examples in dev scripts.
GitOps, Makefile, and SOP examples
docs/components/deployment/gitops/README.md, docs/components/deployment/specs/..., docs/components/deployment/specs/sop/connector-image-rebuild.md
Generalize customer names to acme/globex/stage, parameterize environment paths as <env>, and update example kube-contexts, PROTECTED_ENVS, and confirmation tokens.
Connector manifest notes & misc examples
docs/components/connectors/*/REPRODUCIBILITY-LOG.md, docs/components/connectors/*/FEATURE.md, docs/domain/ingestion/specs/DESIGN.md
Convert absolute local paths to local-workspace notes and update startup-doc wording to reference targeting dev-owned remote clusters.

Airbyte toolkit and connector docs

Layer / File(s) Summary
Airbyte ADRs and toolkit design
docs/components/airbyte-toolkit/specs/ADR/*, docs/components/airbyte-toolkit/specs/DESIGN.md
Remove date/cluster-specific qualifiers, generalize drift wording, and change illustrative tenant/resource names from prior customer-specific examples to acme.
Connector manifest notes
docs/components/connectors/*/REPRODUCIBILITY-LOG.md, docs/components/connectors/*/FEATURE.md
Convert absolute local paths to local-workspace-notes for reference manifests.

Identity resolution and persons schema

Layer / File(s) Summary
Identity resolution walkthrough replacement
inbox/IDENTITY_RESOLUTION.md, docs/domain/identity-resolution/specs/DESIGN.md
Replace example identity from Alexei Vavilov to Andrei Sokolov across walkthroughs; update token tables, enrichment seed data, and email-normalization examples (Acme domain).
Identity architecture and seeds
inbox/architecture/IDENTITY_RESOLUTION_V2.md, inbox/architecture/PRODUCT_SPECIFICATION.md, inbox/architecture/STORAGE_TECHNOLOGY_EVALUATION.md
Update architecture docs to use phase-based/generic company examples and update match-rule seed domain aliases to acme.com.
Persons table migration & tests
src/backend/services/identity/.../Migrations/004_persons_relax_constraints.sql, src/backend/services/identity/tests/*
Migration commentary updated; tests and JWT test constants changed to new example emails to reflect case-insensitive value_id collation behavior.

Data ingestion, dbt, and migration docs

Layer / File(s) Summary
dbt models, macros, and audit docs
src/ingestion/connectors/*/dbt/*, src/ingestion/dbt/macros/union_by_tag.sql, src/ingestion/dbt/audit_rmt_read_dedup.py
Clarify api_actor resolution, deduplication rationale (Airbyte full_refresh
Views and migration comments
src/ingestion/scripts/migrations/20260422000000_gold-views.sql, src/ingestion/scripts/migrations/20260427120000_views-from-silver.sql
insight.commits_daily row-filter broadened (removed vendor-domain restriction); explanatory comments generalized from cluster-specific failures to query-time/deployment scope.

Estimated code review effort:
🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • mitasovr
  • mozhaev-dev

"I hopped through docs and names anew,
Cleared company traces, made examples true.
Andrei leads the story now, emails compare—
Case-insensitive, handled with care.
Tests and migrations pruned with cheer."

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the main change: removing customer names, employee references, and personal identifiers from documentation and code throughout the repository.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/busy-pasteur-25fc6a

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/domain/identity-resolution/specs/DESIGN.md (1)

736-737: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Schema contract is outdated for persons.value_id collation.

This section documents value_id as utf8mb4_bin with strict byte comparison, but Migrations/004_persons_relax_constraints.sql changes it to utf8mb4_unicode_ci. Please update this contract text to match runtime schema and avoid downstream implementation drift.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/domain/identity-resolution/specs/DESIGN.md` around lines 736 - 737,
Update the DESIGN.md entry for the `persons.value_id` column to reflect the
runtime collation used in the migrations: change the described collation from
`utf8mb4_bin` to `utf8mb4_unicode_ci` and adjust the description to indicate
case- and accent-insensitive comparison (matching
`Migrations/004_persons_relax_constraints.sql`) while keeping the size
justification (VARCHAR(320)) and the note about `value_type IN
('id','email','username')` and hot-path lookup behavior.
src/ingestion/scripts/migrations/20260422000000_gold-views.sql (1)

140-155: ⚠️ Potential issue | 🟡 Minor

Tenant-scoping replacement for insight.commits_daily is explicit in the superseding migration

20260427120000_views-from-silver.sql replaces insight.commits_daily by DROP VIEW IF EXISTS + CREATE VIEW and the new definition includes INNER JOIN insight.people with WHERE p.status = 'Active' (so the intermediate, non-scoped definition should not persist past the second migration).

Remaining check: ensure no queries depend on insight.commits_daily in the small window between the two migration files during a migration run/replay.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/ingestion/scripts/migrations/20260422000000_gold-views.sql` around lines
140 - 155, The current intermediate view insight.commits_daily can be visible
during migration replay; to avoid a window without tenant-scoping, update the
CREATE VIEW in 20260422000000_gold-views.sql so it matches the scoped definition
used in the later migration: join bronze_bitbucket_cloud.commits to
insight.people (use the same join key as the later migration, e.g.,
lower(author_email) = p.person_id or whatever the later migration uses), include
the INNER JOIN insight.people AS p and add WHERE p.status = 'Active' so the
initial view is tenant-scoped from the start and prevents any dependent queries
from observing an unscoped view.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/components/deployment/gitops/README.md`:
- Line 304: In docs/components/deployment/gitops/README.md locate the sentence
in §3.3 that links to the broken fragment '`#34-engineer-pulls-and-deploys`' and
fix the cross-reference: open the document, find the actual heading for section
3.4 ("Engineer pulls and deploys"), then update the link target to the correct
slug for that heading (or add an explicit HTML anchor) so the reference from
§3.3 points to the real section 3.4 instead of '`#34-engineer-pulls-and-deploys`'.

In `@docs/domain/identity-resolution/specs/DESIGN.md`:
- Line 1337: Update the stale alias example in the DESIGN.md line that reads
"**After name alias enrichment** (`alexei` <-> `alexey`): BambooHR and YouTrack
get synthetic tokens for each other's name spelling." to use the current
walkthrough/seed aliases `andrei` <-> `andrey` so the example matches the Andrei
walkthrough and seed data; locate the "**After name alias enrichment**" sentence
and replace the backticked names `alexei` and `alexey` with `andrei` and
`andrey` respectively.

In `@inbox/IDENTITY_RESOLUTION.md`:
- Around line 188-195: The fenced code block containing the identity-resolution
example (lines like h2 ←— "sokol" —→ h3, h4 ←— "a.sokolov@gmail.com" —→ h5, h5
←— "andrey sokolov" —→ h1) is missing a language tag; add a language identifier
(for example ```text) to the opening backticks of that code fence so the block
is lint-compliant (e.g., change ``` to ```text).

---

Outside diff comments:
In `@docs/domain/identity-resolution/specs/DESIGN.md`:
- Around line 736-737: Update the DESIGN.md entry for the `persons.value_id`
column to reflect the runtime collation used in the migrations: change the
described collation from `utf8mb4_bin` to `utf8mb4_unicode_ci` and adjust the
description to indicate case- and accent-insensitive comparison (matching
`Migrations/004_persons_relax_constraints.sql`) while keeping the size
justification (VARCHAR(320)) and the note about `value_type IN
('id','email','username')` and hot-path lookup behavior.

In `@src/ingestion/scripts/migrations/20260422000000_gold-views.sql`:
- Around line 140-155: The current intermediate view insight.commits_daily can
be visible during migration replay; to avoid a window without tenant-scoping,
update the CREATE VIEW in 20260422000000_gold-views.sql so it matches the scoped
definition used in the later migration: join bronze_bitbucket_cloud.commits to
insight.people (use the same join key as the later migration, e.g.,
lower(author_email) = p.person_id or whatever the later migration uses), include
the INNER JOIN insight.people AS p and add WHERE p.status = 'Active' so the
initial view is tenant-scoped from the start and prevents any dependent queries
from observing an unscoped view.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1b87fa8d-9ab8-49da-9b03-539a190b7a18

📥 Commits

Reviewing files that changed from the base of the PR and between 00ed86a and 3580dcc.

📒 Files selected for processing (35)
  • .claude/skills/connector-status.md
  • .env.remote.example
  • DEVLOG.md
  • dev-restart.sh
  • dev-up.sh
  • docs/components/airbyte-toolkit/specs/ADR/0001-version-driven-reconcile.md
  • docs/components/airbyte-toolkit/specs/ADR/0002-adoption-of-existing-resources.md
  • docs/components/airbyte-toolkit/specs/ADR/0003-credential-rotation-no-env.md
  • docs/components/airbyte-toolkit/specs/ADR/0004-cluster-config-via-configmap.md
  • docs/components/airbyte-toolkit/specs/DESIGN.md
  • docs/components/connectors/collaboration/zulip-proxy/REPRODUCIBILITY-LOG.md
  • docs/components/connectors/collaboration/zulip-proxy/specs/FEATURE.md
  • docs/components/deployment/gitops/README.md
  • docs/components/deployment/specs/DESIGN.md
  • docs/components/deployment/specs/PRD.md
  • docs/components/deployment/specs/sop/connector-image-rebuild.md
  • docs/domain/identity-resolution/specs/DESIGN.md
  • docs/domain/ingestion-data-flow/specs/ADR/0001-rmt-with-version-and-unique-key.md
  • docs/domain/ingestion/specs/DESIGN.md
  • inbox/IDENTITY_RESOLUTION.md
  • inbox/architecture/CONNECTOR_AUTOMATION.md
  • inbox/architecture/IDENTITY_RESOLUTION_V2.md
  • inbox/architecture/PRODUCT_SPECIFICATION.md
  • inbox/architecture/STORAGE_TECHNOLOGY_EVALUATION.md
  • src/backend/services/identity/src/Insight.Identity.Infrastructure/Migrations/004_persons_relax_constraints.sql
  • src/backend/services/identity/tests/Insight.Identity.Tests.Integration/JwtCallerResolveTests.cs
  • src/backend/services/identity/tests/Insight.Identity.Tests.Integration/PersonsSchemaTests.cs
  • src/ingestion/connectors/ai/claude-admin/dbt/claude_admin__ai_dev_usage.sql
  • src/ingestion/connectors/ai/claude-admin/dbt/schema.yml
  • src/ingestion/connectors/collaboration/zoom/dbt/zoom__collab_meeting_activity.sql
  • src/ingestion/connectors/crm/hubspot/dbt/hubspot__crm_deals.sql
  • src/ingestion/dbt/audit_rmt_read_dedup.py
  • src/ingestion/dbt/macros/union_by_tag.sql
  • src/ingestion/scripts/migrations/20260422000000_gold-views.sql
  • src/ingestion/scripts/migrations/20260427120000_views-from-silver.sql
💤 Files with no reviewable changes (1)
  • src/ingestion/connectors/ai/claude-admin/dbt/schema.yml

Comment thread docs/components/deployment/gitops/README.md Outdated
Comment thread docs/domain/identity-resolution/specs/DESIGN.md Outdated
Comment thread inbox/IDENTITY_RESOLUTION.md Outdated
aleksdotbar and others added 2 commits June 11, 2026 19:09
- repoint broken cross-reference to actual deploy section
- align alias example and value_id collation docs with current state
- tenant-scope transient commits_daily via insight.people join

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tenant-scoping join in gold-views and value_id collation doc update
change behavior/spec beyond the reference scrub; deferred to follow-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@aleksdotbar
aleksdotbar merged commit 47b6ded into main Jun 11, 2026
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants