Branch Post-Implementation Guide: the fix to release 1 and the conformed mart
Post-Implementation Guide
Branch Delivery Document — Validation Evidence — Post-Implementation Guide
| Effort | Linear DIG-594 — The fix to release 1, keys and missing keys, and the conformed mart of Mary’s questions — branch claude_ws/dig-594-release-1-keys-rebased-2 |
| Governed by | Standard: Branch Delivery Documents (K#12 I#27) |
| References | Design: branch design (D-42 to D-52); mart design (D-1 to D-14) — implementation guide: (steps 39 to 78) — test plan: — QA certification: , QA not yet run |
| Audience | Ray Serrano as reviewer; the QA tester; whoever builds the next release from here |
| Author | Ray Serrano; edited by Claude — 2026-11-01 |
| Classification | Internal — Data Management |
| Official copy method | Copied from this governed template by AGENTIC.DATASKILLS.KNOWLEDGE_ITEM_FROM_TEMPLATE; template SHA-256 recorded in the created item |
1. What shipped
| Planned deliverable | Shipped object or behavior | Repository evidence | Warehouse evidence |
|---|---|---|---|
| The fix to release 1, keys and missing keys (D-42 to D-46) | 18 layer 1 tests, the declare_vault_keys hook, three known-key views, three missing-key inspectors, the production correction script | Commits before b54bb13 on this branch | 27 keys declared in DEV__DV__CLAUDE_WS (15 primary, 12 foreign); 7 missing-key findings |
| Release 1’s findings, site and checks (D-47 to D-52) | finding_kind and finding_row, the excluded-terms guard, the executive summary, the Ask page, the QA retest, counts read from their sources | Commits before b54bb13 | records_not_accepted 3 and rows_missing_key 6 in dev |
| The carrier feed (guide steps 52 to 59; mart design D-11) | Two organization landing tables, the PMC seed row, land_act’s two organization targets, the organization sources, two staging models, organization_h, organization_northfield_s and organization_pinecrest_s | 5cdaa99, 1770f7c, 9ee10b2 | organization_h: NFL, PMC and the two ghost rows; one version per carrier |
| The conformed mart’s dimensions and role views (steps 60 to 69) | person_dim, organization_dim, policy_dim, source_dim, day_dim; client_dim, agent_dim, carrier_dim and the secure insured_dim | 9293bf5, a4e550e | Nine views in DEV__DV__CLAUDE_WS.CONFORMED_DM |
| The facts, semantic layer and MART retirement (steps 70 to 78) | Four facts, ten semantic models, nine metrics, six saved queries, 18 semantic tests; the five MART views removed, and infra/snowflake/drop_mart_views.sql | eda74c8, c27fef2 | Thirteen views in CONFORMED_DM; DEV__DV__CLAUDE_WS.MART emptied |
| Production landing for the organization records (steps 52, 54) | LANDING.NORTHFIELD.ORGANIZATION and LANDING.PINECREST.ORGANIZATION with P-21’s rows | landing.sql and land_act.sql at 5cdaa99 | 2 rows (NFL, acts 1 and 2) and 1 row (PMC, act 2), loaded 2026-11-01 04:44 UTC |
| The structure record and Mary’s surfaces (pull requests 22, 23) | dv.sql records CONFORMED_DM; nine measures and 39 groupings labeled and defined by meaning; the release page and Ask tags in business language; Q-11 counted by policy number, 14 and 1 | 3edb0ff, 693ef67 | Labels in MetricFlow’s manifest; no layer name on any page |
| Everything QA runs, proven in dev first (24) | Three unit tests tagged fusion_only; fixtures with one column set; findings tests after the inspectors; seeds transient; reset_vault_tier.sql; the setup script installs dbt-core; the Ask function’s instructions in business language | f9a6778 | The dev rehearsal from fresh clones on dbt-core and Fusion |
| The structure check, the Ask deploy and the connector’s access (25, 26, 27) | The check ignores dbt’s signature; run.sh packed for every environment; the connector’s session without secondary roles and its read-only grant on the conformed mart | 569f337, 3c3e15d, 67e0f6f | QA runs 3 to 5 |
| The rollback and the promotion acts (28) | rollback_vault_to_time.sql by Time Travel; the production runbook’s restore point, MART drop, connector grant, functions after the data, and rollback | 4ad7057 | Rehearsed in dev and in DV_QA |
2. Verified live output
| Output | Where and when | Value | Evidence |
|---|---|---|---|
| Q-9: roles by type | QA run 6, through QA’s Ask page, 2026-11-01 16:44 UTC | owner 9, insured 3, payor 1 | retest 34 of 34; QA record , 9.1 |
| Q-10: current coverage by carrier | same | Northfield Life 125,000.00 dollars | same |
| Q-11: agents per policy, by policy number | same | 14 policies agree, 1 disagrees; NF-100005 counted once | same; code review F-8 |
| Q-13 and Q-14 | DV_QA through QA’s semantic manifest | Arrivals in 3 groups; 10 versions of terms | QA record 8.3 |
| Q-15: records not accepted; rows missing a key | QA run 6 | 3, all Sunbelt Senior; 6 rows | QA record 7.3, 9.1 |
| The insured mask through the connector’s session | QA run 6, 16:44 UTC | 1952 and FL | QA record 10 |
3. Test outcome
| Test scope | Planned | Passed | Failed | Disposition or evidence |
|---|---|---|---|---|
| Full dev build of the branch | 271 | 271 | 0 | dbt build, 2026-11-01 04:43 UTC |
| The conformed mart’s unit, key and date tests | 43 | 43 | 0 | Steps 61 to 74 |
| The semantic layer’s tests (layers 6 and 7) | 18 | 18 | 0 | Step 77; the dev route is the facts’ own SQL (answer 1a) |
| The carrier feed’s tests | 26 | 26 | 0 | 12 unit, 10 key, 4 source tests |
| QA runs 1 to 5 | the QA job, then the after-build checks | run 1 failed on 3 unit tests; runs 2 to 5 built clean and failed in turn on the structure check, the Ask deploy and the connector’s role | — | , section 5; each fixed by pull requests 24 to 27 |
| QA run 6, certified | 168 and 211 nodes, 34 retest checks, the rollback rehearsal | all | 0 | , all six gates, qa at 4ad7057 |
| The dev rehearsal, before pull requests 24 to 28 | the QA job on dbt-core, Fusion, structure, connector, retest | all | 0 | implementation guide , section 7 |
Finance workbook delivery and UAT evidence
For finance reporting branches, record delivered workbook revision/location, reporting period, repository generation script, query/build references, technical reconciliation evidence and consumer acceptance or pending cases under K#12 I#27. Otherwise state NA with a reason.
Not applicable: this branch is not a finance reporting branch.
4. Deltas from the plan
| Delta | Planned | Actual | Why | Canonical document or standard updated |
|---|---|---|---|---|
| Landing grants | Grants to CLAUDE_WS_ROLE | Ownership to LANDING_ROLE, reads to DV_ROLE and LANDING_READ_ROLE | The file’s own pattern, its exemplar | none |
| land_act on an empty act | One INSERT per act | An act with no profiled rows logs that it has none | Pinecrest has no act 1 row; an empty INSERT fails | none |
| Organization staging’s carrier_code | VARCHAR(8), as the exemplar | VARCHAR(16) | VARCHAR(8) cut the unknown ghost’s code to u | none; policy_h keeps the cut code until release 2 (answer 3b) |
| Carrier feed’s OT2 and OT3 tests | Load times of the real acts | Staging rows loaded 2099-01-01 | The toolkit’s newest-load filter reads the real table, which the release 1 satellite tests also guard against | none |
| day_dim | GENERATOR in the guide’s illustration | dbt_utils.date_spine | Its exemplar, time_spine_day.sql | none |
| organization_dim | Names from both satellite views | Each view filtered by its own record source; a ghost’s code as its name | A ghost row appears in both views | none |
| Masking assertions SM1 and SM2 | Run in their sessions | Each checks only in its own session | CLAUDE_WS_ROLE holds SYSADMIN; SM2 proven as DEV_CLAUDE_WS_ROLE, granted read on the dev CONFORMED_DM | none |
| Semantic YAML | Semantic models and metrics in _conformed_dm.yml | In each model’s property file, release 1’s form; _conformed_dm.yml holds the saved queries | The repository’s form | none |
| finding_row | table, a space, the value | table, a colon, the value | Release 1’s form, which its moved unit test expects | none |
| Reconciliations and saved-query tests | MetricFlow’s compiled answer | The facts’ own SQL in dev; Q-13 and Q-14 pinned to vault figures | MetricFlow cannot compile on the workstation (answers 1a and 2a) | test plan 2.3.4 to follow at agreement |
| Facts and ghost rows | Facts read their links whole | Facts leave out the links’ ghost rows | Ghost rows are dimension members, never fact rows (mart design 3.5) | none |
| Commits for steps 70 to 78 | One commit | Three: eda74c8, c27fef2, 9ee10b2 | The name collision the rule guards against was resolved in the first | none |
| Production landing | At promotion | Delivered 2026-11-01, after the dev proof | So QA can clone LANDING (answer 2y) | none |
| Unit tests on QA’s engine | Every unit test runs on both engines | Three tagged fusion_only, run under Fusion in dev | dbt-core cannot run them as written; Ray’s exception, answer 2b | none |
| The dev rehearsal | Development built on Fusion | Development runs the QA job on dbt-core, from fresh clones, before any pull request | QA run 1 found what Fusion alone had hidden; Ray, nothing is supposed to fail in QA | guide section 7 |
| The structure check | dv.sql compared as written | dbt’s signature stripped before comparing | The signature differs between engines and on every run | none |
| The Ask function | Streaming in dev | Streaming in every environment, run.sh packed for each | Running dev differently from QA or production is a process violation (Ray) | none |
| The connector’s access | Its user’s default session | Secondary roles off; read-only grant on the conformed mart | The session carried SYSADMIN, lifting the insured mask | release 2: its own user (answer 2y) |
| The rollback | Rebuild release 1’s MART | Time Travel clone at the restore point, swapped in | Ray: we have time travel; rehearsed in dev and QA | the production runbook |
| Reconciliations’ route | The facts’ own SQL in dev (answer 1a) | Also MetricFlow, the connector’s version, compiled and run in dev and on QA’s manifest | My claim that MetricFlow could not run here was wrong | none |
5. Known characteristics
| Characteristic | Decision | What it means |
|---|---|---|
| The unknown policy’s carrier code reads u in policy_h | answer 3b | policy_dim maps it to the unknown organization; corrected in release 2 |
| Three unit tests run only under Fusion | Ray’s exception, answer 2b | Covered in development; QA’s engine skips them |
| The rollback reaches back one day | DV’s Time Travel retention | A rollback must start within 24 hours of the promotion |
| The connector signs in as Claude’s user | answer 2y | Read-only on the conformed mart now; its own user in release 2 |
| The functions deploy from the workstation | Ray’s exception to the promotion standard’s section 13, answer 2a | Until GitHub Actions deploy each environment’s stack |
6. Where this feeds
| Downstream consumer or process | Dependency | Handoff reference |
|---|---|---|
| DV Digest, Mary’s connector | Reads the semantic manifest of the QA and production builds | QA record ; probes P-9 to P-15 |
| Mary’s site | site/build_site.py and site/dev/qa_retest.py read records_not_accepted, whose name is unchanged | Release page rebuild with Q-13 and Q-14 |
| The promotion | infra/runbooks/dbt_cloud_prod_environment.md in order: the restore point, the Prod Build, the zero-key correction, the MART drop, the connector’s grant and the structure check on DV, then production’s connector and Ask function from main; the rollback by rollback_vault_to_time.sql within one day | The runbook; the QA record , section 11 |
7. Follow-up work
| Item | Where |
|---|---|
| policy_h’s ghost carrier code | Release 2 (answer 3b) |
| The connector’s own Snowflake user and read-only role | Release 2 (answer 2y) |
| The Ask pages’ own Anthropic workspace and key | Release 2 (answer 2a) |
| GitHub Actions deploying each environment’s stack | The promotion standard’s section 13 |
| The user’s guide, the architecture and agentic sections of the site, the exemplar library, tuning the agents | Release 2, on DIG-594’s list |
| Why dbt-core misplaces two tests’ ghost values | Recorded in each test’s description |