Skip to content

feat(191): add EfcptForceRegenerate property for IDE-triggered regeneration#203

Merged
JerrettDavis merged 2 commits into
mainfrom
feat/191-force-regenerate
Jul 11, 2026
Merged

feat(191): add EfcptForceRegenerate property for IDE-triggered regeneration#203
JerrettDavis merged 2 commits into
mainfrom
feat/191-force-regenerate

Conversation

@JerrettDavis

Copy link
Copy Markdown
Owner

Summary

Prerequisite ("PR-0") for the VS (#182) and VS Code (#183) extensions: adds a first-class EfcptForceRegenerate MSBuild property (default false) so IDE/CLI integrations can trigger a full model regeneration through a stable public contract instead of poking obj/-relative fingerprint/stamp files directly.

  • New property: EfcptForceRegenerate (default false) added to BuildTransitivePropsFactory.cs → generated JD.Efcpt.Build.props.
  • Condition extended: EfcptGenerateModels's Condition now also runs when EfcptForceRegenerate=true, in addition to the existing fingerprint-changed / stamp-missing checks.
  • Defeating the Inputs/Outputs incremental gate: the Condition change alone isn't sufficient — EfcptGenerateModels also has Inputs/Outputs (Outputs="$(EfcptStampFile)") incremental gating, which can still consider the target up to date and skip its tasks even when the Condition is true. A new internal target, _EfcptForceRegenerateInvalidateStamp, is hooked in with BeforeTargets="EfcptGenerateModels" and — only when EfcptForceRegenerate=true — deletes the stamp file. BeforeTargets-hooked targets run after DependsOnTargets but before the target's own up-to-date evaluation, so by the time MSBuild checks EfcptGenerateModels's Outputs, the stamp file is genuinely missing and the target cannot be skipped. This is the cleanest MSBuild-idiomatic way to force a rebuild without touching the Inputs/Outputs declarations themselves.
  • Regenerated buildTransitive/JD.Efcpt.Build.{props,targets} via JDMSBuildFluentGenerate and committed the output.
  • Tests: targets-content assertions in SqlProjectTargetGenerationTests (property default, extended condition, invalidation-target wiring) plus an executable mechanism test in ForceRegenerateTests that runs dotnet msbuild -t:_EfcptForceRegenerateInvalidateStamp directly and proves the stamp file is deleted only when EfcptForceRegenerate=true (default behavior is untouched otherwise).
  • Docs fix: FINGERPRINTING.md documented the fingerprint path as obj/Debug/net8.0/.efcpt/fingerprint.txt, which contradicts the real props default — EfcptFingerprintFile = $(EfcptOutput)fingerprint.txt, and EfcptOutput defaults to $(BaseIntermediateOutputPath)efcpt\ (obj/efcpt/), not per-configuration/TFM (BaseIntermediateOutputPathIntermediateOutputPath). Corrected throughout, including a previously-wrong "parallel builds have isolated fingerprints" claim — by default they actually share the same file.
  • New doc: docs/user-guide/force-regenerate.md documents the extension-facing contract (EfcptForceRegenerate=true bypasses the fingerprint/incremental cache for one build), with a toc.yml entry.

Backward compatible: default behavior with EfcptForceRegenerate unset is identical to today's incremental/fingerprint-gated generation (verified via tests + full solution build).

Test plan

  • dotnet build JD.Efcpt.Build.sln -c Debug — 0 errors (TreatWarningsAsErrors=true)
  • buildTransitive/*.{props,targets} regenerated and committed; git status clean after build
  • dotnet test tests/JD.Efcpt.Build.Tests --filter "FullyQualifiedName~Target |FullyQualifiedName~Generation|FullyQualifiedName~Fingerprint|FullyQualifiedName~Regenerat" → 107 passed, 2 skipped (pre-existing, require live Snowflake), 0 failed
  • New ForceRegenerateTests (2) + new SqlProjectTargetGenerationTests facts (3) all pass in isolation

Not merging — needs two adversarial reviews first, per the coordinating task.

🤖 Generated with Claude Code

…ration

Adds a first-class EfcptForceRegenerate MSBuild property (default false) so
IDE extensions (VS #182, VS Code #183) and CLI wrappers can trigger a full
model regeneration through a stable public contract instead of deleting
obj/-relative fingerprint/stamp files by hand. Setting it to true bypasses
the fingerprint/incremental cache for one build; unset/false preserves
today's incremental behavior exactly.

- BuildTransitivePropsFactory: EfcptForceRegenerate property + typed struct.
- BuildTransitiveTargetsFactory: EfcptGenerateModels Condition now also
  triggers on EfcptForceRegenerate=true; a new internal
  _EfcptForceRegenerateInvalidateStamp target (BeforeTargets=
  EfcptGenerateModels, gated on EfcptForceRegenerate=true) deletes the stamp
  file before EfcptGenerateModels's own Inputs/Outputs up-to-date check runs,
  so the Outputs are genuinely missing and MSBuild's incremental gate can't
  skip the target - Condition alone would not have been sufficient.
- Regenerated buildTransitive/JD.Efcpt.Build.{props,targets} via
  JDMSBuildFluentGenerate and committed them.
- Added targets-content assertions (SqlProjectTargetGenerationTests) and an
  executable mechanism test (ForceRegenerateTests) proving the stamp file is
  deleted only when EfcptForceRegenerate=true.
- Fixed FINGERPRINTING.md: the documented fingerprint path
  (obj/Debug/net8.0/.efcpt/fingerprint.txt) contradicted the real props
  default (EfcptFingerprintFile = $(EfcptOutput)fingerprint.txt =
  obj/efcpt/fingerprint.txt, not per-configuration/TFM); corrected
  throughout, including the previously-wrong "parallel builds isolation"
  claim.
- Added docs/user-guide/force-regenerate.md documenting the extension-facing
  contract, plus a toc.yml entry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds ForceRegenerateOrderingTests: a synthetic-MSBuild integration test that
proves the crux claim behind #191 (and the #182/#183 integrations) which the
existing direct-invocation tests could not - that a BeforeTargets="Gen" hook
runs BEFORE Gen's own Inputs/Outputs up-to-date evaluation, so deleting Gen's
Outputs from that hook genuinely forces a RE-RUN of a target that would
otherwise be skipped as up-to-date.

The test writes a minimal standalone .proj reproducing the exact pattern (an
Inputs/Outputs-gated target Gen + a Force-gated BeforeTargets _Invalidate that
deletes the stamp) and drives it with real `dotnet msbuild -t:Gen`:
  (a) first build   -> Gen runs, run count = 1
  (b) unforced rebuild, inputs unchanged -> Gen SKIPPED up-to-date (count = 1)
  (c) -p:Force=true, inputs still unchanged -> Gen RE-RUNS (count = 2, stamp
      rewritten with a fresh value)
Step (b)'s skip is asserted explicitly (count must stay 1), so the test is not
tautological; a second sanity scenario independently confirms the incremental
gate is real. No efcpt tool or database required.

Also corrects an inaccurate line in force-regenerate.md: a forced regen does
NOT always write a fresh fingerprint - ComputeFingerprint only writes the
fingerprint file when the computed value changed (HasChanged); when unchanged
the existing correct value is left in place, and the next non-forced build is
still correctly incremental.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added size/l and removed size/m labels Jul 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Summary
  Generated on: 07/11/2026 - 14:11:13
  Coverage date: 07/11/2026 - 13:58:54 - 07/11/2026 - 14:11:10
  Parser: MultiReport (6x Cobertura)
  Assemblies: 11
  Classes: 131
  Files: 92
  Line coverage: 88.7%
  Covered lines: 5472
  Uncovered lines: 692
  Coverable lines: 6164
  Total lines: 14355
  Branch coverage: 70.6% (2143 of 3032)
  Covered branches: 2143
  Total branches: 3032
  Method coverage: 96.2% (1043 of 1084)
  Full method coverage: 85.8% (931 of 1084)
  Covered methods: 1043
  Fully covered methods: 931
  Total methods: 1084

JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager                                                                                                                 80%
  JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager.AwsSecretsManagerClientAdapter                                                                              57.1%
  JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager.AwsSecretsManagerConnectionStringSource                                                                     91.2%

JD.Efcpt.Build.ConnectionStrings.AzureKeyVault                                                                                                                   80.9%
  JD.Efcpt.Build.ConnectionStrings.AzureKeyVault.AzureKeyVaultConnectionStringSource                                                                             94.4%
  JD.Efcpt.Build.ConnectionStrings.AzureKeyVault.AzureSecretClientAdapter                                                                                           0%

JD.Efcpt.Build.Core                                                                                                                                              88.4%
  JD.Efcpt.Build.Core.Config.CodeGenerationOverrides                                                                                                              100%
  JD.Efcpt.Build.Core.Config.EfcptConfigGenerator                                                                                                                77.7%
  JD.Efcpt.Build.Core.Config.EfcptConfigOverrides                                                                                                                 100%
  JD.Efcpt.Build.Core.Config.FileLayoutOverrides                                                                                                                  100%
  JD.Efcpt.Build.Core.Config.NamesOverrides                                                                                                                       100%
  JD.Efcpt.Build.Core.Config.ReplacementsOverrides                                                                                                                100%
  JD.Efcpt.Build.Core.Config.TypeMappingsOverrides                                                                                                                100%
  JD.Efcpt.Build.Core.ConnectionStrings.AppConfigConnectionStringParser                                                                                           100%
  JD.Efcpt.Build.Core.ConnectionStrings.AppSettingsConnectionStringParser                                                                                         100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConfigurationFileTypeValidator                                                                                            100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResolutionChain                                                                                          88.5%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResolutionContext                                                                                         100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResult                                                                                                    100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceContext                                                                                              75%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceException                                                                                           100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceResult                                                                                               90%
  JD.Efcpt.Build.Core.ConnectionStrings.CoreConnectionStringSourceResolver                                                                                          0%
  JD.Efcpt.Build.Core.ConnectionStrings.EnvironmentVariableConnectionStringSource                                                                                 100%
  JD.Efcpt.Build.Core.Diagnostics.DefaultSdkProbe                                                                                                                33.3%
  JD.Efcpt.Build.Core.Diagnostics.DefaultToolAcquirer                                                                                                            68.4%
  JD.Efcpt.Build.Core.Diagnostics.DoctorEngine                                                                                                                   91.8%
  JD.Efcpt.Build.Core.Diagnostics.DoctorInputs                                                                                                                   90.9%
  JD.Efcpt.Build.Core.Diagnostics.DotNetToolUtilities                                                                                                            85.2%
  JD.Efcpt.Build.Core.Diagnostics.SdkProbeCache                                                                                                                    86%
  JD.Efcpt.Build.Core.Diagnostics.ToolAcquisitionOutcome                                                                                                          100%
  JD.Efcpt.Build.Core.Diagnostics.ToolAcquisitionRequest                                                                                                          100%
  JD.Efcpt.Build.Core.FileHash                                                                                                                                    100%
  JD.Efcpt.Build.Core.Logging.NullBuildLog                                                                                                                        100%
  JD.Efcpt.Build.Core.PathUtils                                                                                                                                  91.6%
  JD.Efcpt.Build.Core.Processes.CommandNormalizationStrategy                                                                                                     94.1%
  JD.Efcpt.Build.Core.Processes.ProcessCommand                                                                                                                    100%
  JD.Efcpt.Build.Core.Processes.ProcessResult                                                                                                                     100%
  JD.Efcpt.Build.Core.Processes.ProcessRunner                                                                                                                    80.7%
  JD.Efcpt.Build.Core.Providers.ProviderNames                                                                                                                    96.4%

JD.Efcpt.Build.Firebird                                                                                                                                          98.7%
  JD.Efcpt.Build.Tasks.Schema.Providers.FirebirdProviderAdapter                                                                                                   100%
  JD.Efcpt.Build.Tasks.Schema.Providers.FirebirdSchemaReader                                                                                                     98.6%

JD.Efcpt.Build.MySqlConnector                                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.MySqlProviderAdapter                                                                                                      100%
  JD.Efcpt.Build.Tasks.Schema.Providers.MySqlSchemaReader                                                                                                         100%

JD.Efcpt.Build.Oracle                                                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.Providers.OracleProviderAdapter                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.OracleSchemaReader                                                                                                        100%

JD.Efcpt.Build.PostgreSQL                                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.Providers.PostgreSqlProviderAdapter                                                                                                 100%
  JD.Efcpt.Build.Tasks.Schema.Providers.PostgreSqlSchemaReader                                                                                                    100%

JD.Efcpt.Build.Providers.Abstractions                                                                                                                              98%
  JD.Efcpt.Build.Tasks.Extensions.DataRowExtensions                                                                                                               100%
  JD.Efcpt.Build.Tasks.Extensions.StringExtensions                                                                                                                100%
  JD.Efcpt.Build.Tasks.Schema.ColumnModel                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.ColumnNameMapping                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Schema.ConstraintModel                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.ForeignKeyColumnModel                                                                                                               100%
  JD.Efcpt.Build.Tasks.Schema.ForeignKeyModel                                                                                                                      90%
  JD.Efcpt.Build.Tasks.Schema.IndexColumnModel                                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.IndexModel                                                                                                                         92.8%
  JD.Efcpt.Build.Tasks.Schema.SchemaModel                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.SchemaReaderBase                                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.TableModel                                                                                                                         92.8%

JD.Efcpt.Build.Snowflake                                                                                                                                          100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SnowflakeProviderAdapter                                                                                                  100%

JD.Efcpt.Build.Sqlite                                                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqliteProviderAdapter                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqliteSchemaReader                                                                                                        100%

JD.Efcpt.Build.Tasks                                                                                                                                             87.4%
  JD.Efcpt.Build.Tasks.AddSqlFileWarnings                                                                                                                         100%
  JD.Efcpt.Build.Tasks.ApplyConfigOverrides                                                                                                                       100%
  JD.Efcpt.Build.Tasks.BuildLog                                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Chains.DirectoryResolutionChain                                                                                                           91.6%
  JD.Efcpt.Build.Tasks.Chains.DirectoryResolutionContext                                                                                                          100%
  JD.Efcpt.Build.Tasks.Chains.FileResolutionChain                                                                                                                 100%
  JD.Efcpt.Build.Tasks.Chains.FileResolutionContext                                                                                                               100%
  JD.Efcpt.Build.Tasks.Chains.ResourceResolutionChain                                                                                                            93.1%
  JD.Efcpt.Build.Tasks.Chains.ResourceResolutionContext                                                                                                           100%
  JD.Efcpt.Build.Tasks.CheckSdkVersion                                                                                                                           40.9%
  JD.Efcpt.Build.Tasks.ComputeFingerprint                                                                                                                        97.8%
  JD.Efcpt.Build.Tasks.Config.EfcptConfigOverrideApplicator                                                                                                      93.1%
  JD.Efcpt.Build.Tasks.ConnectionStrings.SatelliteConnectionStringSourceResolver                                                                                 67.2%
  JD.Efcpt.Build.Tasks.DacpacFingerprint                                                                                                                         96.1%
  JD.Efcpt.Build.Tasks.DbContextNameGenerator                                                                                                                    83.6%
  JD.Efcpt.Build.Tasks.Decorators.ProfileInputAttribute                                                                                                           100%
  JD.Efcpt.Build.Tasks.Decorators.ProfileOutputAttribute                                                                                                           50%
  JD.Efcpt.Build.Tasks.Decorators.ProfilingBehavior                                                                                                              91.6%
  JD.Efcpt.Build.Tasks.Decorators.TaskExecutionContext                                                                                                           66.6%
  JD.Efcpt.Build.Tasks.Decorators.TaskExecutionDecorator                                                                                                          100%
  JD.Efcpt.Build.Tasks.DetectSqlProject                                                                                                                            84%
  JD.Efcpt.Build.Tasks.EfcptDoctor                                                                                                                                100%
  JD.Efcpt.Build.Tasks.EnsureDacpacBuilt                                                                                                                         96.1%
  JD.Efcpt.Build.Tasks.Extensions.EnumerableExtensions                                                                                                            100%
  JD.Efcpt.Build.Tasks.FileSystemHelpers                                                                                                                          100%
  JD.Efcpt.Build.Tasks.FinalizeBuildProfiling                                                                                                                     100%
  JD.Efcpt.Build.Tasks.InitializeBuildProfiling                                                                                                                   100%
  JD.Efcpt.Build.Tasks.MessageLevelHelpers                                                                                                                        100%
  JD.Efcpt.Build.Tasks.ModuleInitializer                                                                                                                          100%
  JD.Efcpt.Build.Tasks.MsBuildPropertyHelpers                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Profiling.ArtifactInfo                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Profiling.BuildConfiguration                                                                                                               100%
  JD.Efcpt.Build.Tasks.Profiling.BuildGraph                                                                                                                       100%
  JD.Efcpt.Build.Tasks.Profiling.BuildGraphNode                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Profiling.BuildProfiler                                                                                                                   95.2%
  JD.Efcpt.Build.Tasks.Profiling.BuildProfilerManager                                                                                                             100%
  JD.Efcpt.Build.Tasks.Profiling.BuildRunOutput                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Profiling.DiagnosticMessage                                                                                                                100%
  JD.Efcpt.Build.Tasks.Profiling.JsonTimeSpanConverter                                                                                                            100%
  JD.Efcpt.Build.Tasks.Profiling.ProjectInfo                                                                                                                      100%
  JD.Efcpt.Build.Tasks.Profiling.TaskExecution                                                                                                                    100%
  JD.Efcpt.Build.Tasks.ProfilingHelper                                                                                                                            100%
  JD.Efcpt.Build.Tasks.QuerySchemaMetadata                                                                                                                       93.4%
  JD.Efcpt.Build.Tasks.RenameGeneratedFiles                                                                                                                       100%
  JD.Efcpt.Build.Tasks.ResolveDbContextName                                                                                                                      96.9%
  JD.Efcpt.Build.Tasks.ResolveSqlProjAndInputs                                                                                                                   92.6%
  JD.Efcpt.Build.Tasks.RunEfcpt                                                                                                                                  98.1%
  JD.Efcpt.Build.Tasks.RunSqlPackage                                                                                                                             50.5%
  JD.Efcpt.Build.Tasks.Schema.CustomProviderException                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.DatabaseProviderFactory                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolAcquisitionFailedException                                                                                                 100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolAcquisitionNotConfiguredException                                                                                          100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolNotAvailableOfflineException                                                                                               100%
  JD.Efcpt.Build.Tasks.Schema.ProviderAdapterResolver                                                                                                              95%
  JD.Efcpt.Build.Tasks.Schema.ProviderDriverNotFoundException                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqlServerProviderAdapter                                                                                                  100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqlServerSchemaReader                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.SchemaFingerprinter                                                                                                                 100%
  JD.Efcpt.Build.Tasks.SerializeConfigProperties                                                                                                                  100%
  JD.Efcpt.Build.Tasks.SqlProjectDetector                                                                                                                        94.5%
  JD.Efcpt.Build.Tasks.StageEfcptInputs                                                                                                                          95.7%
  System.Text.RegularExpressions.Generated                                                                                                                       80.3%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__AssemblySymbolsMetadataRegex_1   86.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__DatabaseKeywordRegex_4           75.7%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__DataSourceKeywordRegex_6         72.3%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__FileNameMetadataRegex_0          86.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__InitialCatalogKeywordRegex_5     71.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__NonLetterRegex_2                  100%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__SolutionProjectLineRegex_7       82.5%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__TrailingDigitsRegex_3            95.2%

@codecov

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.19%. Comparing base (7e099a9) to head (35cd672).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #203      +/-   ##
==========================================
+ Coverage   83.70%   92.19%   +8.48%     
==========================================
  Files          92       92              
  Lines        4788     4791       +3     
  Branches      737      737              
==========================================
+ Hits         4008     4417     +409     
+ Misses        485      374     -111     
+ Partials      295        0     -295     
Flag Coverage Δ
unittests 92.19% <ø> (+8.48%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JerrettDavis JerrettDavis merged commit bdb80d6 into main Jul 11, 2026
12 checks passed
@JerrettDavis JerrettDavis deleted the feat/191-force-regenerate branch July 11, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant