Skip to content

Presentations/vegas#2

Merged
TaleLearnCode merged 4 commits intomainfrom
presentations/Vegas
Mar 7, 2026
Merged

Presentations/vegas#2
TaleLearnCode merged 4 commits intomainfrom
presentations/Vegas

Conversation

@TaleLearnCode
Copy link
Owner

No description provided.

chadgreen and others added 4 commits March 1, 2026 18:18
Complete delivery of SQLDemoFast: streamlined SQL Server temporal tables demonstration for Azure SQL.

**Deliverables:**
- 3 SQL scripts: 01-Setup.sql, 02-Observe.sql, 03-TimeTravel.sql
- Terraform infrastructure: Azure SQL S0 with firewall rules and connection output
- Comprehensive README with presenter notes, timing estimates, troubleshooting
- Full .squad/ orchestration logs, session log, and merged decisions

**Features:**
- Pre-seeded history with known 2024 timestamps (reliable queries)
- Employee domain with compelling narrative arc (Alice promotion, Bob restructure, Carol conversion, David departure)
- 3 FOR SYSTEM_TIME query types: AS OF (point-in-time), BETWEEN (interval), ALL (complete audit trail)
- HIDDEN period columns for clean current-state output
- All critical and major fixes applied per Biff's review; demo approved for presentation

**Timeline:**
- Doc: Design plan (Product Pricing domain)
- Marty: Analysis of 14 existing scripts; implementation with Employee domain override
- Biff: Identified 1 critical + 3 major issues (expected result counts, comments, timing)
- Doc: Applied all fixes; all must-pass criteria satisfied
- Biff: Re-review approved ✅

Status: APPROVED FOR PRESENTATION

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Build EFCoreDemoFast .NET 8 console app demonstrating EF Core 8
temporal table support against Azure SQL:
- TemporalContext with IsTemporal() configuration
- EF migration generating temporal table + history table
- Program.cs with all 5 temporal LINQ extensions
- TemporalAll, TemporalAsOf, TemporalBetween, TemporalFromTo, TemporalContainedIn
- Uses TemporalEFDemo database (same server as Demo 1)
- Biff-approved ✅

Also: Terraform adds TemporalEFDemo database resource

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 7, 2026 18:55
@gitguardian
Copy link

gitguardian bot commented Mar 7, 2026

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
28007910 Triggered Generic Password 40c8ba0 Demos/SQLDemoFast/terraform/terraform.tfvars.example View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@TaleLearnCode TaleLearnCode merged commit af7cd62 into main Mar 7, 2026
5 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR prepares the "Time Travelling Data" conference presentation for the Visual Studio Live! Las Vegas 2026 session by adding two new fast demo tracks (SQLDemoFast and EFCoreDemoFast) with shared Azure infrastructure (Terraform), along with a comprehensive Squad AI team management framework for coordinating demo development.

Changes:

  • Updates README.md to link the now-available slides for the VS Live Vegas 2026 session.
  • Adds Demos/SQLDemoFast/ (3 T-SQL scripts, Terraform, docs) and Demos/EFCoreDemoFast/ (.NET 10 console app, EF Core temporal queries, docs) as fast 2-minute demo variants.
  • Adds Squad AI team scaffolding (.squad/, .squad-templates/, .github/workflows/, .github/copilot-instructions.md) for project management and CI automation.

Reviewed changes

Copilot reviewed 97 out of 102 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
README.md Updates the VS Live Vegas entry to link the uploaded slide deck
Demos/SQLDemoFast/01-Setup.sql Creates Employee temporal table and pre-seeds history
Demos/SQLDemoFast/02-Observe.sql Live DML operations showing automatic history tracking
Demos/SQLDemoFast/03-TimeTravel.sql FOR SYSTEM_TIME queries (AS OF, BETWEEN, ALL)
Demos/SQLDemoFast/README.md Presenter guide with timing, talking points, troubleshooting
Demos/FastSetup/terraform/main.tf Azure SQL Server + two databases provisioned via Terraform
Demos/FastSetup/terraform/variables.tf Terraform variable definitions with validations
Demos/FastSetup/terraform/outputs.tf Terraform outputs including connection strings
Demos/FastSetup/terraform/README.md Step-by-step Terraform deployment guide
Demos/FastSetup/terraform/terraform.tfvars.example Safe placeholder variables file for source control
Demos/FastSetup/terraform/.gitignore Excludes secrets and state files
Demos/FastSetup/README.md Overview of shared infrastructure setup
Demos/EFCoreDemoFast/Program.cs .NET 10 console app demonstrating all 5 EF Core temporal LINQ extensions
Demos/EFCoreDemoFast/Models/Employee.cs POCO model with no period columns (EF shadow properties)
Demos/EFCoreDemoFast/Data/TemporalContext.cs DbContext with IsTemporal() configuration
Demos/EFCoreDemoFast/Migrations/ Reference migration files showing EF temporal DDL
Demos/EFCoreDemoFast/EFCoreDemoFast.csproj .NET 10 project targeting EF Core 10.0.3
Demos/EFCoreDemoFast/README.md 2-minute presenter script and troubleshooting guide
Demos/EFCoreDemoFast/appsettings.example.json Safe placeholder connection string for source control
Demos/EFCoreDemoFast/.gitignore Excludes real appsettings.json and build artifacts
.squad/team.md AI agent team roster for demo coordination
.squad/routing.md Work routing rules for the agent team
.squad/agents/*/ Individual agent charters and history files
.squad/orchestration-log/ Per-session agent execution logs
.squad/casting/, .squad/identity/, .squad/decisions/ Squad framework state files
.squad/skills/, .squad-templates/ Squad conventions and template files
.github/workflows/ Squad label management, triage, CI, and release workflows
.github/copilot-instructions.md Repository conventions for GitHub Copilot
.gitattributes Union merge strategy for append-only Squad state files
.copilot/mcp-config.json Example MCP server configuration

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +50 to +53
validation {
condition = length(var.sql_admin_password) >= 12
error_message = "SQL admin password must be at least 12 characters long."
}
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The sql_admin_password validation only checks that the password is at least 12 characters long (line 51). Azure SQL requires passwords to contain at least one uppercase letter, one lowercase letter, one digit, and one symbol. The README and example file also recommend this complexity, but it is not enforced by Terraform validation. A presenter who sets a password like "aaaaaaaaaaaa" (12 chars) would get a Terraform validation pass but an Azure deployment failure.

Copilot uses AI. Check for mistakes.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: false)
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The TemporalContext.OnConfiguring reads appsettings.json with optional: false (line 14). If the file is missing (e.g., a new contributor who hasn't yet copied appsettings.example.json), this will throw an exception with a confusing error rather than a helpful message. The README mentions this, but since the file is gitignored, it's a common first-run failure. Consider using optional: true and validating the connection string explicitly, or adding a custom error message.

Copilot uses AI. Check for mistakes.

// ══════════════════════════════════════════════════════════════════
// TIME TRAVELLING DATA — EF Core Demo (Demo 2 of 2)
// Shows EF Core 8 temporal table support against Azure SQL
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The comment on line 7 says "Shows EF Core 8 temporal table support" but the project targets .NET 10 with EF Core 10.0.3 (as specified in EFCoreDemoFast.csproj). This comment is misleading for an audience-facing demo where presenters and attendees will read the code. It should say "EF Core 10" to match the actual package versions in use.

Copilot uses AI. Check for mistakes.
Comment on lines +38 to +41
output "ef_demo_connection_string" {
description = "Connection string for the EF Core demo database (update with actual password)"
value = "Server=tcp:${azurerm_mssql_server.temporal_demo.fully_qualified_domain_name},1433;Initial Catalog=${azurerm_mssql_database.temporal_ef_demo.name};Persist Security Info=False;User ID=${var.sql_admin_username};Password=<your-password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
sensitive = false
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The ef_demo_connection_string output has sensitive = false (line 41), but the value interpolates var.sql_admin_password, which is a sensitive variable. Setting sensitive = false on an output that includes a sensitive input means the password will be printed in plain text in the Terraform plan output and logs. This should be sensitive = true to prevent credential exposure.

Copilot uses AI. Check for mistakes.
Comment on lines +11 to +13
- `Demos/SQLDemoFast/terraform/main.tf` — Updated with TemporalEFDemo database resource
- `Demos/SQLDemoFast/terraform/outputs.tf` — Updated with TemporalEFDemo connection outputs

Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The orchestration log references the wrong path for the Terraform files. It says Demos/SQLDemoFast/terraform/main.tf and Demos/SQLDemoFast/terraform/outputs.tf, but the actual Terraform files are located under Demos/FastSetup/terraform/ (as shown in the diff for main.tf and outputs.tf). This is an incorrect file reference in the log.

Copilot uses AI. Check for mistakes.
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.

3 participants