recce-nightly 0.53.0.20250205__tar.gz → 0.53.0.20250209__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/PKG-INFO +11 -4
  2. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/README.md +10 -3
  3. recce_nightly-0.53.0.20250209/recce/VERSION +1 -0
  4. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/404.html +1 -1
  5. recce_nightly-0.53.0.20250209/recce/data/_next/static/chunks/app/page-eaf845374d29b59e.js +1 -0
  6. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/index.html +2 -2
  7. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/index.txt +2 -2
  8. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/histogram.py +17 -2
  9. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/PKG-INFO +11 -4
  10. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/SOURCES.txt +3 -3
  11. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_histogram.py +9 -1
  12. recce_nightly-0.53.0.20250205/recce/VERSION +0 -1
  13. recce_nightly-0.53.0.20250205/recce/data/_next/static/chunks/app/page-b0e5f4fe87e11a8f.js +0 -1
  14. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/LICENSE +0 -0
  15. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/__init__.py +0 -0
  16. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/adapter/__init__.py +0 -0
  17. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/adapter/base.py +0 -0
  18. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/adapter/dbt_adapter/__init__.py +0 -0
  19. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/adapter/dbt_adapter/dbt_version.py +0 -0
  20. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/adapter/sqlmesh_adapter.py +0 -0
  21. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/apis/__init__.py +0 -0
  22. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/apis/check_api.py +0 -0
  23. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/apis/check_func.py +0 -0
  24. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/apis/run_api.py +0 -0
  25. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/apis/run_func.py +0 -0
  26. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/artifact.py +0 -0
  27. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/cli.py +0 -0
  28. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/config.py +0 -0
  29. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/core.py +0 -0
  30. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/157e448a-49151cad1ec51175.js +0 -0
  31. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/29e3cc0d-490dbff344996865.js +0 -0
  32. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/312-3e9b49b718b98737.js +0 -0
  33. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/323-9565a741f1447d32.js +0 -0
  34. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/36e1c10d-3bcdd9bb8564108c.js +0 -0
  35. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/3998a672-e71829c331c77ccb.js +0 -0
  36. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/450c323b-79414be6f43ef15c.js +0 -0
  37. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/47d8844f-ccb4e71fbabd12f3.js +0 -0
  38. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/6dc81886-03da5372308c376d.js +0 -0
  39. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/7a8a3e83-f7fe5f14c56108bf.js +0 -0
  40. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/7f27ae6c-c484e79185298424.js +0 -0
  41. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/868e7b5c-36d94ba5a58a2e6a.js +0 -0
  42. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/9746af58-daab848e55b5faf7.js +0 -0
  43. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/a30376cd-ea4617387c84b12e.js +0 -0
  44. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/app/_not-found/page-c2ee18b5ec3e3d57.js +0 -0
  45. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/app/layout-5b30ab0207459cb8.js +0 -0
  46. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/b3b1872b-97ea0be5bd9b42bc.js +0 -0
  47. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/b63b1b3f-13deddaaba264453.js +0 -0
  48. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/c132bf7d-740a7144e614cb2d.js +0 -0
  49. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/ce84277d-ced9559f73764a27.js +0 -0
  50. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/cf0511cf-88e5bf54e88504a3.js +0 -0
  51. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/fee69bc6-2cf346c884a74e9d.js +0 -0
  52. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
  53. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/main-45628b9d5f140527.js +0 -0
  54. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/main-app-19c0918a6bb54549.js +0 -0
  55. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/pages/_app-ff7f75fed61fbef3.js +0 -0
  56. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/pages/_error-5e587f051118d074.js +0 -0
  57. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  58. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/chunks/webpack-300961f547f48fe7.js +0 -0
  59. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/css/1d7428fe54fca42f.css +0 -0
  60. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.5c8b3804.woff +0 -0
  61. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.c03acce9.woff2 +0 -0
  62. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.83d3554a.woff2 +0 -0
  63. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.8a4a9645.woff +0 -0
  64. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-latin-800-normal.388abfc2.woff2 +0 -0
  65. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-latin-800-normal.e7b55ea8.woff +0 -0
  66. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.40cba3c6.woff +0 -0
  67. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.85728e97.woff2 +0 -0
  68. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.0bd05041.woff +0 -0
  69. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.dfbbc7ba.woff2 +0 -0
  70. {recce_nightly-0.53.0.20250205/recce/data/_next/static/92nbQlx-jhvwO2_xaLbsX → recce_nightly-0.53.0.20250209/recce/data/_next/static/nzmBV7XeR-pSFbTEETZlO}/_buildManifest.js +0 -0
  71. {recce_nightly-0.53.0.20250205/recce/data/_next/static/92nbQlx-jhvwO2_xaLbsX → recce_nightly-0.53.0.20250209/recce/data/_next/static/nzmBV7XeR-pSFbTEETZlO}/_ssgManifest.js +0 -0
  72. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/favicon.ico +0 -0
  73. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/imgs/feedback/thumbs-down.png +0 -0
  74. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/imgs/feedback/thumbs-up.png +0 -0
  75. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/data/logo/recce-logo-white.png +0 -0
  76. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/diff.py +0 -0
  77. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/event/CONFIG +0 -0
  78. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/event/SENTRY_DNS +0 -0
  79. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/event/__init__.py +0 -0
  80. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/event/collector.py +0 -0
  81. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/event/track.py +0 -0
  82. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/exceptions.py +0 -0
  83. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/git.py +0 -0
  84. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/github.py +0 -0
  85. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/models/__init__.py +0 -0
  86. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/models/check.py +0 -0
  87. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/models/run.py +0 -0
  88. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/models/types.py +0 -0
  89. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/pull_request.py +0 -0
  90. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/run.py +0 -0
  91. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/server.py +0 -0
  92. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/state.py +0 -0
  93. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/summary.py +0 -0
  94. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/__init__.py +0 -0
  95. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/core.py +0 -0
  96. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/dataframe.py +0 -0
  97. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/lineage.py +0 -0
  98. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/profile.py +0 -0
  99. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/query.py +0 -0
  100. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/rowcount.py +0 -0
  101. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/schema.py +0 -0
  102. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/top_k.py +0 -0
  103. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/tasks/valuediff.py +0 -0
  104. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/__init__.py +0 -0
  105. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/breaking.py +0 -0
  106. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/cache.py +0 -0
  107. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/io.py +0 -0
  108. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/logger.py +0 -0
  109. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/pydantic_model.py +0 -0
  110. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/recce_cloud.py +0 -0
  111. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/util/singleton.py +0 -0
  112. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce/yaml/__init__.py +0 -0
  113. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/dependency_links.txt +0 -0
  114. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/entry_points.txt +0 -0
  115. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/requires.txt +0 -0
  116. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/recce_nightly.egg-info/top_level.txt +0 -0
  117. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/setup.cfg +0 -0
  118. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/setup.py +0 -0
  119. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/__init__.py +0 -0
  120. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/__init__.py +0 -0
  121. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/dbt_adapter/__init__.py +0 -0
  122. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/dbt_adapter/conftest.py +0 -0
  123. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -0
  124. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -0
  125. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/adapter/dbt_adapter/test_selector.py +0 -0
  126. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/__init__.py +0 -0
  127. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/conftest.py +0 -0
  128. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_lineage.py +0 -0
  129. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_preset_checks.py +0 -0
  130. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_profile.py +0 -0
  131. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_query.py +0 -0
  132. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_row_count.py +0 -0
  133. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_schema.py +0 -0
  134. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_top_k.py +0 -0
  135. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/tasks/test_valuediff.py +0 -0
  136. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_cli.py +0 -0
  137. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_config.py +0 -0
  138. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_core.py +0 -0
  139. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_dbt.py +0 -0
  140. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_pull_request.py +0 -0
  141. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_server.py +0 -0
  142. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_state.py +0 -0
  143. {recce_nightly-0.53.0.20250205 → recce_nightly-0.53.0.20250209}/tests/test_summary.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: recce-nightly
3
- Version: 0.53.0.20250205
3
+ Version: 0.53.0.20250209
4
4
  Summary: Environment diff tool for dbt
5
5
  Home-page: https://github.com/InfuseAI/recce
6
6
  Author: InfuseAI Dev Team
@@ -153,24 +153,31 @@ Don't forget to click the Checks tab to view the Recce Checklist, and perform yo
153
153
 
154
154
  This pull request adjusts the **logic** for how customer lifetime value is calculated:
155
155
 
156
- - [Demo #1](https://pr1.cloud.datarecce.io/)
156
+ - [Demo #1](https://pr1.demo.datarecce.io/)
157
157
  - [Pull request #1](https://github.com/DataRecce/jaffle_shop_duckdb/pull/1)
158
158
 
159
159
  ### Demo 2: Refactoring
160
160
 
161
161
  This pull request performs some **refactoring** on the customers model by turning two CTEs into intermediate models, enhancing readability and maintainability:
162
162
 
163
- - [Demo #2](https://pr2.cloud.datarecce.io/)
163
+ - [Demo #2](https://pr2.demo.datarecce.io/)
164
164
  - [Pull request #2](https://github.com/DataRecce/jaffle_shop_duckdb/pull/2)
165
165
 
166
166
  ### Demo 3: Analysis
167
167
 
168
168
  This pull request introduces a new Rounding Effect **Analysis** feature, aimed at analyzing and reporting the impacts of rounding in our data processing.
169
169
 
170
- - [Demo #3](https://pr3.cloud.datarecce.io/)
170
+ - [Demo #3](https://pr3.demo.datarecce.io/)
171
171
  - [Pull request #3](https://github.com/DataRecce/jaffle_shop_duckdb/pull/3)
172
172
 
173
173
 
174
+ ### Demo 4: Enhancing the existing model
175
+
176
+ This pull request **enhances** the existing `customers` model by categorizing whether a customer has placed an order as part of a promotion.
177
+
178
+ - [Demo #4](https://pr44.demo.datarecce.io/)
179
+ - [Pull request #44](https://github.com/DataRecce/jaffle_shop_duckdb/pull/44)
180
+
174
181
  ## Why `Recce`
175
182
 
176
183
  [dbt](https://www.getdbt.com/) has brought many software best practices to data projects, such as:
@@ -92,24 +92,31 @@ Don't forget to click the Checks tab to view the Recce Checklist, and perform yo
92
92
 
93
93
  This pull request adjusts the **logic** for how customer lifetime value is calculated:
94
94
 
95
- - [Demo #1](https://pr1.cloud.datarecce.io/)
95
+ - [Demo #1](https://pr1.demo.datarecce.io/)
96
96
  - [Pull request #1](https://github.com/DataRecce/jaffle_shop_duckdb/pull/1)
97
97
 
98
98
  ### Demo 2: Refactoring
99
99
 
100
100
  This pull request performs some **refactoring** on the customers model by turning two CTEs into intermediate models, enhancing readability and maintainability:
101
101
 
102
- - [Demo #2](https://pr2.cloud.datarecce.io/)
102
+ - [Demo #2](https://pr2.demo.datarecce.io/)
103
103
  - [Pull request #2](https://github.com/DataRecce/jaffle_shop_duckdb/pull/2)
104
104
 
105
105
  ### Demo 3: Analysis
106
106
 
107
107
  This pull request introduces a new Rounding Effect **Analysis** feature, aimed at analyzing and reporting the impacts of rounding in our data processing.
108
108
 
109
- - [Demo #3](https://pr3.cloud.datarecce.io/)
109
+ - [Demo #3](https://pr3.demo.datarecce.io/)
110
110
  - [Pull request #3](https://github.com/DataRecce/jaffle_shop_duckdb/pull/3)
111
111
 
112
112
 
113
+ ### Demo 4: Enhancing the existing model
114
+
115
+ This pull request **enhances** the existing `customers` model by categorizing whether a customer has placed an order as part of a promotion.
116
+
117
+ - [Demo #4](https://pr44.demo.datarecce.io/)
118
+ - [Pull request #44](https://github.com/DataRecce/jaffle_shop_duckdb/pull/44)
119
+
113
120
  ## Why `Recce`
114
121
 
115
122
  [dbt](https://www.getdbt.com/) has brought many software best practices to data projects, such as:
@@ -0,0 +1 @@
1
+ 0.53.0.20250209
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"92nbQlx-jhvwO2_xaLbsX\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"nzmBV7XeR-pSFbTEETZlO\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>