chore: ignore PDF source artifacts

Keep generated PDF source files local while publishing the final PDF.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@gabriel.pereira
2026-09-11 10:49:23 -03:00
parent 9e9ae249bc
commit 61cdabb6b3
4 changed files with 3 additions and 118 deletions

3
.gitignore vendored
View File

@@ -1 +1,4 @@
local/
case_study.css
case_study_one_page.html
case_study_one_page.md

View File

@@ -1,14 +0,0 @@
@page { size: A4; margin: 14mm; }
body { font-family: Arial, sans-serif; color: #1f2933; font-size: 10pt; line-height: 1.25; }
h1 { color: #0b4f71; font-size: 24pt; margin: 0 0 2pt; }
h2 { color: #0b4f71; font-size: 13pt; margin: 10pt 0 4pt; border-bottom: 1px solid #b8c9d3; padding-bottom: 2pt; }
h3 { color: #0b4f71; font-size: 11pt; margin: 7pt 0 2pt; }
p { margin: 4pt 0; }
table { width: 100%; border-collapse: collapse; margin: 4pt 0 7pt; font-size: 9pt; }
th { background: #0b4f71; color: white; text-align: left; }
th, td { border: 1px solid #cbd5e1; padding: 4pt; vertical-align: top; }
code, pre { font-family: monospace; font-size: 8pt; }
pre { background: #eef4f7; padding: 6pt; border-left: 3px solid #0b4f71; }
ul { margin: 3pt 0 5pt 15pt; padding: 0; }
li { margin: 1pt 0; }
strong { color: #0b4f71; }

View File

@@ -1,49 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Talk-to-Data Case Study</title>
<style>
@page{size:A4;margin:14mm}body{font-family:Arial,sans-serif;color:#1f2933;font-size:10pt;line-height:1.25}h1{color:#0b4f71;font-size:24pt;margin:0 0 2pt}h2{color:#0b4f71;font-size:13pt;margin:10pt 0 4pt;border-bottom:1px solid #b8c9d3;padding-bottom:2pt}p{margin:4pt 0}table{width:100%;border-collapse:collapse;margin:4pt 0 7pt;font-size:9pt}th{background:#0b4f71;color:#fff;text-align:left}th,td{border:1px solid #cbd5e1;padding:4pt;vertical-align:top}pre{background:#eef4f7;padding:6pt;border-left:3px solid #0b4f71;font-size:8pt}strong{color:#0b4f71}
</style>
</head>
<body>
<h1>Talk-to-Data</h1>
<p><strong>Governance-first semantic analytics for enterprise quotation workflows</strong></p>
<h2>The challenge</h2>
<p>More than 30 salespeople could depend on internal experts to answer routine quotation questions about products, discounts, and customer agreements. Manual lookup and email or chat coordination introduced an estimated <strong>530 minute delay per question</strong>.</p>
<h2>The approach</h2>
<p>Build a proof of concept around a curated semantic layer instead of exposing raw enterprise tables to an LLM.</p>
<pre>SAP ERP
│ daily batch
Snowflake raw → dbt staging → dbt transforms
Semantic views
Cortex guardrails & audit
┌────────┴────────┐
▼ ▼
Snowflake UI Internal chatbot</pre>
<h2>Architecture decisions</h2>
<table><tr><th>Decision</th><th>Why</th></tr>
<tr><td>Snowflake + Cortex</td><td>Fast POC path with data, AI, and governance in one platform.</td></tr>
<tr><td>dbt layers</td><td>Reproducible SQL, lineage, testing, and versioned business logic.</td></tr>
<tr><td>Semantic views</td><td>One business contract for dashboards and natural-language queries.</td></tr>
<tr><td>Daily refresh</td><td>Sufficient for quotation research; avoids premature real-time complexity.</td></tr>
<tr><td>Guardrails in data layer</td><td>Protection of personal and customer information, access control, freshness checks, and exception escalation are enforceable—not only prompt instructions.</td></tr></table>
<h2>Estimated outcome</h2>
<table><tr><th>Signal</th><th>Estimate</th></tr>
<tr><td>Routine answer latency</td><td><strong>530 min → &lt;1 min</strong></td></tr>
<tr><td>Sales users in scope</td><td><strong>30+</strong></td></tr>
<tr><td>Data freshness</td><td><strong>Daily batch</strong></td></tr>
<tr><td>Main benefit</td><td>Less coordination overhead and faster quote responses.</td></tr></table>
<p>These are <strong>estimates based on the human workflow</strong>, not measured production KPIs. The next delivery step is a controlled pilot that captures actual latency, adoption, escalation rate, and answer quality.</p>
<h2>Delivery lesson</h2>
<p>The reusable asset was not just the chatbot. It was the delivery pattern: establish the semantic contract, encode business rules, apply governance, and then expose the smallest useful interface.</p>
<p><strong>Stack:</strong> SAP source system · Snowflake · dbt · Snowflake semantic views · Cortex Analytics · internal chatbot workspace</p>
<p><em>All examples are anonymized and contain no proprietary source data.</em></p>
</body>
</html>

View File

@@ -1,55 +0,0 @@
# Talk-to-Data
## Governance-first semantic analytics for quotation workflows
### The challenge
More than 30 salespeople could depend on internal experts to answer routine quotation questions about products, discounts, and customer agreements. Manual lookup and email or chat coordination introduced an estimated **530 minute delay per question**.
### The approach
Build a proof of concept around a curated semantic layer instead of exposing raw enterprise tables to an LLM.
```text
SAP ERP
│ daily batch
Snowflake raw → dbt staging → dbt transforms
Semantic views
Cortex guardrails & audit
┌────────┴────────┐
▼ ▼
Snowflake UI Internal chatbot
```
### Architecture decisions
| Decision | Why |
|---|---|
| Snowflake + Cortex | Fast POC path with data, AI, and governance in one platform |
| dbt layers | Reproducible SQL, lineage, testing, and versioned business logic |
| Semantic views | One business contract for dashboards and natural-language queries |
| Daily refresh | Sufficient for the quotation research use case; avoids premature real-time complexity |
| Guardrails in the data layer | Protection of personal and customer information, access control, freshness checks, and exception escalation are enforceable—not only prompt instructions |
### Estimated outcome
| Signal | Estimate |
|---|---:|
| Routine answer latency | **530 min → <1 min** |
| Sales users in scope | **30+** |
| Data freshness | **Daily batch** |
| Main benefit | Less coordination overhead and faster quote responses |
These are **estimates based on the human workflow**, not measured production KPIs. The next delivery step is a controlled pilot that captures actual latency, adoption, escalation rate, and answer quality.
### Delivery lesson
The reusable asset was not just the chatbot. It was the delivery pattern: establish the semantic contract, encode business rules, apply governance, and then expose the smallest useful interface.
**Stack:** SAP source system · Snowflake · dbt · Snowflake semantic views · Cortex Analytics · internal chatbot workspace
*All examples are anonymized and contain no proprietary source data.*