slipwai 1.3.0.dev8__tar.gz → 1.3.0.dev15__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 (1327) hide show
  1. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/PKG-INFO +1 -1
  2. slipwai-1.3.0.dev15/VERSION +1 -0
  3. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/benchmark.py +47 -21
  4. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/code_index.py +79 -20
  5. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-codegraph.py +7 -1
  6. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-decisions.py +77 -8
  7. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-ux-gates.py +7 -5
  8. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/codegraph +3 -3
  9. slipwai-1.3.0.dev15/changelog.d/gates-a-migration-can-pass.md +33 -0
  10. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/changelog.d/ux-gates-at-scale.md +5 -1
  11. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/adversary.py +3 -1
  12. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/agent_targets.py +7 -3
  13. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/benchmark.py +3 -2
  14. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/docs.py +1 -1
  15. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/makefile.py +1 -1
  16. slipwai-1.3.0.dev8/VERSION +0 -1
  17. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/.gitignore +0 -0
  18. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/CHANGELOG.md +0 -0
  19. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/LICENSE +0 -0
  20. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/NOTICE +0 -0
  21. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/README.md +0 -0
  22. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/README.md +0 -0
  23. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/docs/change-strategy.md +0 -0
  24. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/scripts/check-convergence.py +0 -0
  25. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/scripts/ratchet.py +0 -0
  26. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/support.json +0 -0
  27. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/wrappers/gradle/gradle-wrapper.jar.base64 +0 -0
  28. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/wrappers/gradle/gradle-wrapper.properties +0 -0
  29. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/wrappers/gradle/gradlew +0 -0
  30. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/wrappers/gradle/gradlew.bat +0 -0
  31. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/adoption/wrappers/gradle/source-notes.md +0 -0
  32. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/docker-compose.yml +0 -0
  33. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/env.example +0 -0
  34. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_contract.go +0 -0
  35. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_memory.go +0 -0
  36. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_memory_test.go +0 -0
  37. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_postgres.go +0 -0
  38. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_postgres_integration_test.go +0 -0
  39. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_sqlite.go +0 -0
  40. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/checkpoint_store_sqlite_test.go +0 -0
  41. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/config.go +0 -0
  42. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/config_test.go +0 -0
  43. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_contract.go +0 -0
  44. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_memory.go +0 -0
  45. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_memory_test.go +0 -0
  46. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_postgres.go +0 -0
  47. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_postgres_integration_test.go +0 -0
  48. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_sqlite.go +0 -0
  49. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/event_store_sqlite_test.go +0 -0
  50. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/events.go +0 -0
  51. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/http_app.go +0 -0
  52. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/http_app_test.go +0 -0
  53. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/http_openapi_test.go +0 -0
  54. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/http_security.go +0 -0
  55. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/http_security_test.go +0 -0
  56. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/migrate_main.go +0 -0
  57. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/migrate_main_test.go +0 -0
  58. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/migrations_embed.go +0 -0
  59. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/migrations_keep +0 -0
  60. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/oidc_keycloak.go +0 -0
  61. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/oidc_keycloak_test.go +0 -0
  62. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/openapi.yaml +0 -0
  63. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/projections.go +0 -0
  64. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/projections_test.go +0 -0
  65. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/projections_ticker.go +0 -0
  66. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/projections_ticker_test.go +0 -0
  67. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/read_models.go +0 -0
  68. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/serve_main.go +0 -0
  69. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/tracing.go +0 -0
  70. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/tracing_test.go +0 -0
  71. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/users_oidc_keycloak.go +0 -0
  72. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/go/users_oidc_keycloak_test.go +0 -0
  73. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/actor.java +0 -0
  74. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/append_result.java +0 -0
  75. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/causation_id.java +0 -0
  76. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/checkpoint_store_memory.java +0 -0
  77. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/checkpoint_store_postgres.java +0 -0
  78. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/checkpoint_store_sqlite.java +0 -0
  79. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/committed_event.java +0 -0
  80. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/condition.java +0 -0
  81. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/conditional_append_result.java +0 -0
  82. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/correlation_id.java +0 -0
  83. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/database_url.java +0 -0
  84. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/domain_event.java +0 -0
  85. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store.java +0 -0
  86. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store_exception.java +0 -0
  87. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store_memory.java +0 -0
  88. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store_memory_database.java +0 -0
  89. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store_postgres.java +0 -0
  90. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_store_sqlite.java +0 -0
  91. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/event_visitor.java +0 -0
  92. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/http_schema_failure.java +0 -0
  93. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/migrate_main.java +0 -0
  94. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/oidc_keycloak.java +0 -0
  95. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/projection.java +0 -0
  96. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/projections.java +0 -0
  97. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/read_models.java +0 -0
  98. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tag_query.java +0 -0
  99. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tagged_read.java +0 -0
  100. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tags_of.java +0 -0
  101. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/checkpoint_store_contract.java +0 -0
  102. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/checkpoint_store_memory_test.java +0 -0
  103. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/checkpoint_store_sqlite_test.java +0 -0
  104. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/database_url_test.java +0 -0
  105. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/event_store_contract.java +0 -0
  106. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/event_store_memory_test.java +0 -0
  107. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/event_store_sqlite_test.java +0 -0
  108. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/oidc_keycloak_test.java +0 -0
  109. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/projections_test.java +0 -0
  110. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/tests/users_oidc_keycloak_test.java +0 -0
  111. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/transactions.java +0 -0
  112. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java/users_oidc_keycloak.java +0 -0
  113. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/config_source_registration +0 -0
  114. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/database_url_config_source.java +0 -0
  115. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/http_flags_resource.java +0 -0
  116. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/http_health_check.java +0 -0
  117. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/http_not_found_mapper.java +0 -0
  118. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/jta_transactions.java +0 -0
  119. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/oidc_keycloak_augmentor.java +0 -0
  120. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/scheduled_projections.java +0 -0
  121. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/tests/checkpoint_store_postgres_it.java +0 -0
  122. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/tests/event_store_postgres_it.java +0 -0
  123. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/tests/http_app_test.java +0 -0
  124. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-quarkus/users_current_customer.java +0 -0
  125. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/database_url_environment_post_processor.java +0 -0
  126. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/environment_post_processor_registration +0 -0
  127. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/http_flags_controller.java +0 -0
  128. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/http_health_indicator.java +0 -0
  129. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/http_not_found_advice.java +0 -0
  130. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/oidc_keycloak_security.java +0 -0
  131. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/scheduled_projections.java +0 -0
  132. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/spring_transactions.java +0 -0
  133. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/tests/checkpoint_store_postgres_it.java +0 -0
  134. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/tests/event_store_postgres_it.java +0 -0
  135. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/tests/http_app_test.java +0 -0
  136. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/java-spring/users_security.java +0 -0
  137. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/keycloak/README.md +0 -0
  138. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/keycloak/realms/app.json +0 -0
  139. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/keycloak/realms/customers.json +0 -0
  140. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/prune.py +0 -0
  141. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/checkpoint_store_memory.py +0 -0
  142. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/checkpoint_store_postgres.py +0 -0
  143. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/checkpoint_store_sqlite.py +0 -0
  144. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/event_store_memory.py +0 -0
  145. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/event_store_postgres.py +0 -0
  146. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/event_store_sqlite.py +0 -0
  147. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/events.py +0 -0
  148. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/http_app.py +0 -0
  149. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/logging_setup.py +0 -0
  150. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/main.py +0 -0
  151. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/migrations_apply.py +0 -0
  152. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/oidc_keycloak.py +0 -0
  153. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/openapi-flags.json +0 -0
  154. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/openapi.json +0 -0
  155. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/openapi_export.py +0 -0
  156. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/projections.py +0 -0
  157. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/projections_lifespan.py +0 -0
  158. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/read_models.py +0 -0
  159. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/settings.py +0 -0
  160. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/checkpoint_store_contract.py +0 -0
  161. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/conftest.py +0 -0
  162. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/event_store_contract.py +0 -0
  163. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_checkpoint_store_memory.py +0 -0
  164. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_checkpoint_store_postgres.py +0 -0
  165. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_checkpoint_store_sqlite.py +0 -0
  166. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_event_store_memory.py +0 -0
  167. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_event_store_postgres.py +0 -0
  168. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_event_store_sqlite.py +0 -0
  169. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_http_app.py +0 -0
  170. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_logging_setup.py +0 -0
  171. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_oidc_keycloak.py +0 -0
  172. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_projections.py +0 -0
  173. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_projections_lifespan.py +0 -0
  174. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_settings.py +0 -0
  175. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_tracing.py +0 -0
  176. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tests/test_users_oidc_keycloak.py +0 -0
  177. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/tracing.py +0 -0
  178. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/python/users_oidc_keycloak.py +0 -0
  179. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/sql/001_events.sql +0 -0
  180. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/sql/002_events_append_only.sql +0 -0
  181. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/sql/003_projection_checkpoints.sql +0 -0
  182. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/sql/004_event_tags.sql +0 -0
  183. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/checkpoint-store-memory.ts +0 -0
  184. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/checkpoint-store-postgres.ts +0 -0
  185. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/checkpoint-store-sqlite.ts +0 -0
  186. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/config.ts +0 -0
  187. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/event-store-memory.ts +0 -0
  188. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/event-store-postgres.ts +0 -0
  189. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/event-store-sqlite.ts +0 -0
  190. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/events.ts +0 -0
  191. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/http-app.ts +0 -0
  192. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/main.ts +0 -0
  193. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/migrations/001_events.js +0 -0
  194. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/migrations/002_events_append_only.js +0 -0
  195. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/migrations/003_projection_checkpoints.js +0 -0
  196. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/migrations/004_event_tags.js +0 -0
  197. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/oidc-keycloak.ts +0 -0
  198. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/openapi-export.ts +0 -0
  199. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/openapi-flags.json +0 -0
  200. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/openapi.json +0 -0
  201. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/projections-plugin.ts +0 -0
  202. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/projections.ts +0 -0
  203. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/read-models.ts +0 -0
  204. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/checkpoint-store-contract.ts +0 -0
  205. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/checkpoint-store-memory.test.ts +0 -0
  206. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/checkpoint-store-postgres.test.ts +0 -0
  207. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/checkpoint-store-sqlite.test.ts +0 -0
  208. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/event-store-contract.ts +0 -0
  209. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/event-store-memory.test.ts +0 -0
  210. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/event-store-postgres.test.ts +0 -0
  211. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/event-store-sqlite.test.ts +0 -0
  212. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/http-app.test.ts +0 -0
  213. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/oidc-keycloak.test.ts +0 -0
  214. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/projections-plugin.test.ts +0 -0
  215. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/projections.test.ts +0 -0
  216. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/tracing.test.ts +0 -0
  217. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tests/users-oidc-keycloak.test.ts +0 -0
  218. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/tracing.ts +0 -0
  219. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/users-oidc-keycloak.ts +0 -0
  220. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/backing-services/typescript/vitest.integration.config.ts +0 -0
  221. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/api-client/package.json +0 -0
  222. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/api-client/src/index.ts +0 -0
  223. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/index.html +0 -0
  224. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/package.json +0 -0
  225. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/src/App.tsx +0 -0
  226. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/src/main.tsx +0 -0
  227. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/src/styles/base.css +0 -0
  228. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/src/styles/tokens.css +0 -0
  229. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/tests/App.test.tsx +0 -0
  230. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/tests/setup.ts +0 -0
  231. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/tsconfig.json +0 -0
  232. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app/vite.config.ts +0 -0
  233. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-flags-local/flags.test.ts +0 -0
  234. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-flags-local/flags.ts +0 -0
  235. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-flags-target/flags.test.ts +0 -0
  236. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-flags-target/flags.ts +0 -0
  237. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-route-client/Home.test.tsx +0 -0
  238. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-route-client/Home.tsx +0 -0
  239. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-route-plain/Home.test.tsx +0 -0
  240. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/app-route-plain/Home.tsx +0 -0
  241. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/features/users-keycloak/src/auth/Account.tsx +0 -0
  242. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/features/users-keycloak/src/auth/users.tsx +0 -0
  243. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/features/users-keycloak/tests/auth/Account.test.tsx +0 -0
  244. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/features/users-keycloak/tests/auth/users.test.ts +0 -0
  245. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/frontend-only-users-keycloak.json +0 -0
  246. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/frontend-only.json +0 -0
  247. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres-users-keycloak.json +0 -0
  248. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres.json +0 -0
  249. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-fastify-users-keycloak.json +0 -0
  250. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-fastify.json +0 -0
  251. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-postgres-users-keycloak.json +0 -0
  252. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-postgres.json +0 -0
  253. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend-users-keycloak.json +0 -0
  254. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/frontends/react-vite/locks/typescript-backend.json +0 -0
  255. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/app/.gremlins.yaml +0 -0
  256. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/app/application/README.md +0 -0
  257. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/app/domain/README.md +0 -0
  258. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/app/health/health.go +0 -0
  259. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/app/health/health_test.go +0 -0
  260. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/event-port/application/ports/events/events.go +0 -0
  261. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/event-port/application/ports/events/events_test.go +0 -0
  262. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  263. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  264. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  265. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  266. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  267. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/branded-id-types.md +0 -0
  268. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/create-child-through-root.md +0 -0
  269. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/decider-pattern-order.md +0 -0
  270. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  271. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  272. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  273. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  274. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  275. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  276. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  277. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  278. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  279. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  280. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  281. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  282. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  283. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  284. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/money-value-object-factory.md +0 -0
  285. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  286. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  287. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  288. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  289. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  290. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  291. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  292. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  293. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/pledge-result-types.md +0 -0
  294. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  295. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  296. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  297. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  298. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  299. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/specification-can-pledge.md +0 -0
  300. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/test-decide-order-events.md +0 -0
  301. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  302. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  303. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  304. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  305. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  306. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  307. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  308. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  309. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  310. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  311. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/balance-view-projection.md +0 -0
  312. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  313. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/command-handler-loop.md +0 -0
  314. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  315. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/decide-withdraw-example.md +0 -0
  316. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  317. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  318. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/decider-type.md +0 -0
  319. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/decision-result-type.md +0 -0
  320. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  321. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/event-envelope-type.md +0 -0
  322. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/event-store-port-interface.md +0 -0
  323. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/event-store-port.md +0 -0
  324. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  325. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  326. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  327. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  328. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  329. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  330. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/order-placed-upcaster.md +0 -0
  331. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  332. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  333. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  334. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/todo-list-claiming.md +0 -0
  335. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  336. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  337. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  338. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  339. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  340. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  341. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  342. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  343. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  344. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  345. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  346. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  347. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  348. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  349. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  350. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  351. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  352. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  353. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  354. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  355. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  356. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  357. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  358. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  359. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  360. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  361. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  362. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  363. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  364. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  365. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  366. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  367. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  368. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  369. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  370. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  371. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  372. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  373. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  374. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  375. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  376. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  377. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  378. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  379. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  380. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  381. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/correct-complete-factory-object.md +0 -0
  382. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/correct-fresh-state-per-test.md +0 -0
  383. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/correct-import-real-schema.md +0 -0
  384. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  385. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/correct-testing-behavior-public-api.md +0 -0
  386. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  387. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  388. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  389. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  390. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  391. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  392. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  393. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  394. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/factory-basic-pattern.md +0 -0
  395. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/factory-complete-example.md +0 -0
  396. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/factory-composition.md +0 -0
  397. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/reach-validation-through-behavior.md +0 -0
  398. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  399. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/wrong-incomplete-factory-object.md +0 -0
  400. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  401. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  402. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/examples/testing/wrong-testing-implementation-detail.md +0 -0
  403. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/flags/flags/flags.go +0 -0
  404. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/flags/flags/flags_test.go +0 -0
  405. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/base/go.mod +0 -0
  406. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/base/go.sum +0 -0
  407. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/postgres/go.mod +0 -0
  408. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/postgres/go.sum +0 -0
  409. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/sqlite/go.mod +0 -0
  410. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/modules/sqlite/go.sum +0 -0
  411. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/scripts/go-coverage.py +0 -0
  412. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/go/scripts/go-mutation.py +0 -0
  413. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/.gitattributes +0 -0
  414. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/.mvn/wrapper/maven-wrapper.properties +0 -0
  415. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/config/checkstyle.xml +0 -0
  416. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/config/pmd-ruleset.xml +0 -0
  417. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/config/spotbugs-exclude.xml +0 -0
  418. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/mvnw +0 -0
  419. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/build/mvnw.cmd +0 -0
  420. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  421. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  422. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  423. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  424. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  425. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/branded-id-types.md +0 -0
  426. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/create-child-through-root.md +0 -0
  427. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/decider-pattern-order.md +0 -0
  428. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  429. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  430. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  431. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  432. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  433. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  434. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  435. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  436. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  437. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  438. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  439. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  440. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  441. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  442. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/money-value-object-factory.md +0 -0
  443. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  444. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  445. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  446. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  447. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  448. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  449. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  450. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  451. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/pledge-result-types.md +0 -0
  452. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  453. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  454. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  455. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  456. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  457. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/specification-can-pledge.md +0 -0
  458. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/test-decide-order-events.md +0 -0
  459. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  460. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  461. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  462. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  463. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  464. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  465. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  466. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  467. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  468. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  469. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/balance-view-projection.md +0 -0
  470. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  471. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/command-handler-loop.md +0 -0
  472. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  473. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/decide-withdraw-example.md +0 -0
  474. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  475. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  476. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/decider-type.md +0 -0
  477. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/decision-result-type.md +0 -0
  478. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  479. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/event-envelope-type.md +0 -0
  480. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/event-store-port-interface.md +0 -0
  481. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/event-store-port.md +0 -0
  482. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  483. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  484. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  485. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  486. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  487. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  488. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/order-placed-upcaster.md +0 -0
  489. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  490. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  491. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  492. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/todo-list-claiming.md +0 -0
  493. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  494. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  495. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  496. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  497. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  498. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  499. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  500. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  501. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  502. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  503. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  504. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  505. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  506. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  507. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  508. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  509. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  510. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  511. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  512. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  513. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  514. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  515. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  516. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  517. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  518. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  519. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  520. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  521. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  522. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  523. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  524. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  525. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  526. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  527. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  528. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  529. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  530. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  531. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  532. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  533. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  534. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  535. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  536. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  537. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  538. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  539. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/correct-complete-factory-object.md +0 -0
  540. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/correct-fresh-state-per-test.md +0 -0
  541. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/correct-import-real-schema.md +0 -0
  542. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  543. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/correct-testing-behavior-public-api.md +0 -0
  544. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  545. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  546. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  547. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  548. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  549. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  550. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  551. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  552. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/factory-basic-pattern.md +0 -0
  553. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/factory-complete-example.md +0 -0
  554. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/factory-composition.md +0 -0
  555. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/reach-validation-through-behavior.md +0 -0
  556. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  557. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/wrong-incomplete-factory-object.md +0 -0
  558. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  559. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  560. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/examples/testing/wrong-testing-implementation-detail.md +0 -0
  561. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/flags/src/main/java/com/example/deliverystarter/flags/Flags.java +0 -0
  562. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java/flags/src/test/java/com/example/deliverystarter/flags/FlagsTest.java +0 -0
  563. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/pom.xml +0 -0
  564. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
  565. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
  566. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
  567. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/src/main/resources/application.properties +0 -0
  568. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-quarkus/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
  569. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/pom.xml +0 -0
  570. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/ServiceApplication.java +0 -0
  571. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
  572. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
  573. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
  574. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/main/resources/application.properties +0 -0
  575. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/java-spring/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
  576. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/app/pyproject.toml +0 -0
  577. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/app/src/delivery_starter/__init__.py +0 -0
  578. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/app/src/delivery_starter/application/README.md +0 -0
  579. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/app/src/delivery_starter/domain/README.md +0 -0
  580. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/app/tests/test_health.py +0 -0
  581. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/event-port/src/delivery_starter/application/ports/events.py +0 -0
  582. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/event-port/tests/test_events.py +0 -0
  583. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  584. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  585. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  586. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  587. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  588. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/branded-id-types.md +0 -0
  589. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/create-child-through-root.md +0 -0
  590. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/decider-pattern-order.md +0 -0
  591. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  592. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  593. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  594. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  595. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  596. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  597. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  598. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  599. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  600. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  601. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  602. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  603. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  604. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  605. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/money-value-object-factory.md +0 -0
  606. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  607. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  608. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  609. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  610. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  611. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  612. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  613. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  614. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/pledge-result-types.md +0 -0
  615. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  616. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  617. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  618. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  619. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  620. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/specification-can-pledge.md +0 -0
  621. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/test-decide-order-events.md +0 -0
  622. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  623. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  624. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  625. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  626. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  627. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  628. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  629. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  630. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  631. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  632. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/balance-view-projection.md +0 -0
  633. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  634. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/command-handler-loop.md +0 -0
  635. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  636. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/decide-withdraw-example.md +0 -0
  637. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  638. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  639. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/decider-type.md +0 -0
  640. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/decision-result-type.md +0 -0
  641. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  642. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/event-envelope-type.md +0 -0
  643. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/event-store-port-interface.md +0 -0
  644. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/event-store-port.md +0 -0
  645. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  646. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  647. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  648. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  649. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  650. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  651. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/order-placed-upcaster.md +0 -0
  652. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  653. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  654. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  655. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/todo-list-claiming.md +0 -0
  656. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  657. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  658. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  659. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  660. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  661. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  662. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  663. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  664. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  665. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  666. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  667. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  668. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  669. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  670. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  671. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  672. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  673. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  674. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  675. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  676. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  677. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  678. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  679. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  680. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  681. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  682. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  683. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  684. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  685. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  686. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  687. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  688. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  689. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  690. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  691. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  692. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  693. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  694. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  695. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  696. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  697. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  698. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  699. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  700. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  701. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  702. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/correct-complete-factory-object.md +0 -0
  703. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/correct-fresh-state-per-test.md +0 -0
  704. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/correct-import-real-schema.md +0 -0
  705. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  706. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/correct-testing-behavior-public-api.md +0 -0
  707. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  708. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  709. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  710. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  711. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  712. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  713. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  714. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  715. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/factory-basic-pattern.md +0 -0
  716. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/factory-complete-example.md +0 -0
  717. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/factory-composition.md +0 -0
  718. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/reach-validation-through-behavior.md +0 -0
  719. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  720. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/wrong-incomplete-factory-object.md +0 -0
  721. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  722. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  723. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/examples/testing/wrong-testing-implementation-detail.md +0 -0
  724. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/flags/src/delivery_starter/flags.py +0 -0
  725. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/flags/tests/test_flags.py +0 -0
  726. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/locks/uv-fastapi-postgres.lock +0 -0
  727. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/locks/uv-fastapi.lock +0 -0
  728. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/locks/uv-postgres.lock +0 -0
  729. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/python/locks/uv.lock +0 -0
  730. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/app/package.json +0 -0
  731. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/app/src/application/README.md +0 -0
  732. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/app/src/domain/README.md +0 -0
  733. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/app/src/health.ts +0 -0
  734. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/app/tests/health.test.ts +0 -0
  735. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/biome/biome.jsonc +0 -0
  736. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/biome/domain-purity.grit +0 -0
  737. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  738. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  739. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  740. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  741. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  742. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/branded-id-types.md +0 -0
  743. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/create-child-through-root.md +0 -0
  744. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/decider-pattern-order.md +0 -0
  745. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  746. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  747. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  748. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  749. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  750. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  751. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  752. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  753. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  754. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  755. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  756. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  757. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  758. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  759. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/money-value-object-factory.md +0 -0
  760. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  761. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  762. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  763. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  764. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  765. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  766. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  767. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  768. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/pledge-result-types.md +0 -0
  769. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  770. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  771. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  772. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  773. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  774. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/specification-can-pledge.md +0 -0
  775. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/test-decide-order-events.md +0 -0
  776. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  777. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  778. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  779. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  780. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  781. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  782. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  783. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  784. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  785. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  786. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/balance-view-projection.md +0 -0
  787. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  788. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/command-handler-loop.md +0 -0
  789. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  790. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/decide-withdraw-example.md +0 -0
  791. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  792. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  793. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/decider-type.md +0 -0
  794. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/decision-result-type.md +0 -0
  795. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  796. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/event-envelope-type.md +0 -0
  797. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/event-store-port-interface.md +0 -0
  798. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/event-store-port.md +0 -0
  799. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  800. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  801. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  802. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  803. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  804. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  805. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/order-placed-upcaster.md +0 -0
  806. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  807. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  808. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  809. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/todo-list-claiming.md +0 -0
  810. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  811. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  812. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  813. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  814. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  815. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  816. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  817. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  818. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  819. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  820. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  821. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  822. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  823. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  824. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  825. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  826. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  827. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  828. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  829. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  830. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  831. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  832. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  833. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  834. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  835. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  836. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  837. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  838. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  839. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  840. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  841. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  842. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  843. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  844. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  845. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  846. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  847. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  848. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  849. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  850. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  851. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  852. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  853. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  854. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  855. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  856. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/correct-complete-factory-object.md +0 -0
  857. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/correct-fresh-state-per-test.md +0 -0
  858. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/correct-import-real-schema.md +0 -0
  859. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  860. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/correct-testing-behavior-public-api.md +0 -0
  861. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  862. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  863. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  864. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  865. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  866. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  867. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  868. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  869. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/factory-basic-pattern.md +0 -0
  870. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/factory-complete-example.md +0 -0
  871. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/factory-composition.md +0 -0
  872. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/reach-validation-through-behavior.md +0 -0
  873. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  874. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/wrong-incomplete-factory-object.md +0 -0
  875. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  876. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  877. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/examples/testing/wrong-testing-implementation-detail.md +0 -0
  878. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/flags/src/flags.ts +0 -0
  879. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/flags/tests/flags.test.ts +0 -0
  880. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/locks/package-lock-fastify-postgres.json +0 -0
  881. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/locks/package-lock-fastify.json +0 -0
  882. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/locks/package-lock-postgres.json +0 -0
  883. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/languages/typescript/locks/package-lock.json +0 -0
  884. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/.specify/presets/.registry +0 -0
  885. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/.specify/presets/event-modelling/preset.yml +0 -0
  886. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/constitution-template.md +0 -0
  887. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/plan-template.md +0 -0
  888. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/tasks-template.md +0 -0
  889. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/commands/example-map.md +0 -0
  890. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/commands/validate-code-against-model.md +0 -0
  891. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/event-modelling/docs/speckit-preset.md +0 -0
  892. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/.specify/presets/.registry +0 -0
  893. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/.specify/presets/standard/preset.yml +0 -0
  894. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/.specify/presets/standard/templates/constitution-template.md +0 -0
  895. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/docs/adr/0001-record-architecture-decisions.md +0 -0
  896. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/docs/speckit-preset.md +0 -0
  897. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/skills/adversarial-testing/SKILL.md +0 -0
  898. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
  899. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/profiles/standard/skills/architecture-decisions/SKILL.md +0 -0
  900. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/README.md +0 -0
  901. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/bootstrap/main.tf +0 -0
  902. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/bootstrap/outputs.tf +0 -0
  903. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/bootstrap/variables.tf +0 -0
  904. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/scripts/bootstrap.py +0 -0
  905. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/scripts/check-deploy-role.py +0 -0
  906. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/scripts/check-flags.py +0 -0
  907. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/scripts/deploy.py +0 -0
  908. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/auth0.tf +0 -0
  909. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/cognito_customers.tf +0 -0
  910. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/cognito_staff.tf +0 -0
  911. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/flags.auto.tfvars +0 -0
  912. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/flags.tf +0 -0
  913. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/frontend.tf +0 -0
  914. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/ingress.tf +0 -0
  915. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/main.tf +0 -0
  916. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/network.tf +0 -0
  917. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/no-auth0.tf +0 -0
  918. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/no-frontend.tf +0 -0
  919. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/outputs.tf +0 -0
  920. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/production.tfvars +0 -0
  921. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/rds.tf +0 -0
  922. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/staging.tfvars +0 -0
  923. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/variables.tf +0 -0
  924. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/aws/service/versions.tf +0 -0
  925. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/README.md +0 -0
  926. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/bootstrap/main.tf +0 -0
  927. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/bootstrap/outputs.tf +0 -0
  928. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/bootstrap/variables.tf +0 -0
  929. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/scripts/bootstrap.py +0 -0
  930. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/scripts/check-flags.py +0 -0
  931. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/scripts/deploy.py +0 -0
  932. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/auth0.tf +0 -0
  933. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/entra_staff.tf +0 -0
  934. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/flags.auto.tfvars +0 -0
  935. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/flags.tf +0 -0
  936. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/frontend.tf +0 -0
  937. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/ingress.tf +0 -0
  938. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/main.tf +0 -0
  939. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/no-auth0.tf +0 -0
  940. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/no-frontend.tf +0 -0
  941. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/outputs.tf +0 -0
  942. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/postgres.tf +0 -0
  943. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/production.tfvars +0 -0
  944. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/staging.tfvars +0 -0
  945. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/variables.tf +0 -0
  946. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/targets/azure/service/versions.tf +0 -0
  947. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/.specify/extensions.yml +0 -0
  948. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/adr/0001-record-architecture-decisions.md +0 -0
  949. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/agent-harnesses.md +0 -0
  950. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/delegated-agent-safety.md +0 -0
  951. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/event-model/README.md +0 -0
  952. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/event-model/model.yaml +0 -0
  953. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/event-modeling-to-code.md +0 -0
  954. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/docs/first-slice.md +0 -0
  955. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/cruise.py +0 -0
  956. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/drive.py +0 -0
  957. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/models.py +0 -0
  958. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/project.py +0 -0
  959. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/agents/registry.json +0 -0
  960. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-constitution.py +0 -0
  961. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-imports.py +0 -0
  962. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-migrations.py +0 -0
  963. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-slice-scope.py +0 -0
  964. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-speckit.py +0 -0
  965. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/check-styles.py +0 -0
  966. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/board-plan.test.ts +0 -0
  967. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/board-plan.ts +0 -0
  968. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/check.py +0 -0
  969. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/check.ts +0 -0
  970. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/drawio.test.ts +0 -0
  971. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/drawio.ts +0 -0
  972. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/example-model.ts +0 -0
  973. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/mermaid.ts +0 -0
  974. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/model.ts +0 -0
  975. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/package.json +0 -0
  976. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/page.ts +0 -0
  977. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/palette.ts +0 -0
  978. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/patch-mermaid-swimlanes.ts +0 -0
  979. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/readme.ts +0 -0
  980. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/render-drawio.ts +0 -0
  981. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/render.ts +0 -0
  982. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/requirements.txt +0 -0
  983. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/validate.ts +0 -0
  984. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/event-model/workspace.ts +0 -0
  985. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/codegraph/init.py +0 -0
  986. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/guidance.py +0 -0
  987. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/menu.py +0 -0
  988. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/project.py +0 -0
  989. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/uipro/init.py +0 -0
  990. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/extensions/ux-gates/init.py +0 -0
  991. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/scripts/test_benchmark.py +0 -0
  992. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/LICENSE +0 -0
  993. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/REFERENCES.md +0 -0
  994. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/acceptance-review/LICENSE +0 -0
  995. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/acceptance-review/SKILL.md +0 -0
  996. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/acceptance-review/agents/openai.yaml +0 -0
  997. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/acceptance-review/references/source-notes.md +0 -0
  998. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/adversarial-testing/SKILL.md +0 -0
  999. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
  1000. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/LICENSE +0 -0
  1001. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/SKILL.md +0 -0
  1002. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/api-evolution.md +0 -0
  1003. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/api-security.md +0 -0
  1004. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/auth-security.md +0 -0
  1005. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/http-fundamentals.md +0 -0
  1006. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/problem-details.md +0 -0
  1007. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/api-design/resources/source-notes.md +0 -0
  1008. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/architecture-decisions/SKILL.md +0 -0
  1009. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/SKILL.md +0 -0
  1010. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/agents/openai.yaml +0 -0
  1011. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/references/adoption-and-granularity.md +0 -0
  1012. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/references/aggregation-and-resilience.md +0 -0
  1013. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/references/alternatives.md +0 -0
  1014. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-design/references/upstream-identity.md +0 -0
  1015. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/SKILL.md +0 -0
  1016. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/agents/openai.yaml +0 -0
  1017. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/browser-session-coordination.md +0 -0
  1018. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/endpoint-protection.md +0 -0
  1019. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/enforcement-and-testing.md +0 -0
  1020. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/hexagonal-auth-boundaries.md +0 -0
  1021. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/hono-example.md +0 -0
  1022. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/bff-entry-points/references/realtime-entry-points.md +0 -0
  1023. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/characterisation-tests/SKILL.md +0 -0
  1024. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/characterisation-tests/resources/modern-tooling.md +0 -0
  1025. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/characterisation-tests/resources/writing-process.md +0 -0
  1026. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/ci-debugging/SKILL.md +0 -0
  1027. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/LICENSE +0 -0
  1028. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/SKILL.md +0 -0
  1029. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/resources/composability.md +0 -0
  1030. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/resources/output-architecture.md +0 -0
  1031. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/resources/source-notes.md +0 -0
  1032. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/resources/stream-contracts.md +0 -0
  1033. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/cli-design/resources/testing-cli.md +0 -0
  1034. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/LICENSE +0 -0
  1035. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/SKILL.md +0 -0
  1036. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/agents/openai.yaml +0 -0
  1037. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/references/deepening.md +0 -0
  1038. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/references/design-it-twice.md +0 -0
  1039. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/codebase-design/references/source-notes.md +0 -0
  1040. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/debugging/SKILL.md +0 -0
  1041. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/debugging/agents/openai.yaml +0 -0
  1042. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/debugging/references/source-notes.md +0 -0
  1043. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/diagrams/NOTICE +0 -0
  1044. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/diagrams/SKILL.md +0 -0
  1045. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/diagrams/references/source-notes.md +0 -0
  1046. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/SKILL.md +0 -0
  1047. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/aggregate-design.md +0 -0
  1048. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/bounded-contexts.md +0 -0
  1049. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/domain-events.md +0 -0
  1050. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/domain-services.md +0 -0
  1051. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/error-modeling.md +0 -0
  1052. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/modelling-process.md +0 -0
  1053. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/references.md +0 -0
  1054. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/domain-driven-design/resources/testing-by-layer.md +0 -0
  1055. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/double-check/SKILL.md +0 -0
  1056. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/double-check/resources/brief-template.md +0 -0
  1057. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/double-check/resources/providers.md +0 -0
  1058. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/evaluate-existing-solutions/SKILL.md +0 -0
  1059. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/evaluate-existing-solutions/agents/openai.yaml +0 -0
  1060. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/evaluate-existing-solutions/assets/solution-decision-template.md +0 -0
  1061. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/evaluate-existing-solutions/references/evaluation-dimensions.md +0 -0
  1062. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/evaluate-existing-solutions/references/evidence-and-currentness.md +0 -0
  1063. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-modeling/NOTICE +0 -0
  1064. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-modeling/SKILL.md +0 -0
  1065. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-modeling/references/gwt-template.md +0 -0
  1066. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-modeling/references/nine-steps.md +0 -0
  1067. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/SKILL.md +0 -0
  1068. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/decider-and-rehydration.md +0 -0
  1069. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/event-store.md +0 -0
  1070. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/event-versioning.md +0 -0
  1071. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/modelling-events.md +0 -0
  1072. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/production-concerns.md +0 -0
  1073. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/projections-and-read-models.md +0 -0
  1074. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/references.md +0 -0
  1075. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/testing-event-sourced-systems.md +0 -0
  1076. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/event-sourcing/resources/when-to-use-event-sourcing.md +0 -0
  1077. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/expectations/SKILL.md +0 -0
  1078. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/find-gaps/SKILL.md +0 -0
  1079. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/find-skills/LICENSE +0 -0
  1080. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/find-skills/SKILL.md +0 -0
  1081. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/find-skills/references/source-notes.md +0 -0
  1082. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/finding-seams/SKILL.md +0 -0
  1083. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/finding-seams/resources/creating-seams.md +0 -0
  1084. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/finding-seams/resources/oop-patterns.md +0 -0
  1085. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/finding-seams/resources/seam-types.md +0 -0
  1086. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/folder-structure/SKILL.md +0 -0
  1087. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/folder-structure/agents/openai.yaml +0 -0
  1088. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/front-end-testing/SKILL.md +0 -0
  1089. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/front-end-testing/resources/async-patterns.md +0 -0
  1090. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/front-end-testing/resources/dom-testing-library-legacy.md +0 -0
  1091. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/front-end-testing/resources/msw.md +0 -0
  1092. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/front-end-testing/resources/playwright-e2e.md +0 -0
  1093. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/frontend-design/LICENSE +0 -0
  1094. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/frontend-design/SKILL.md +0 -0
  1095. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/frontend-design/references/source-notes.md +0 -0
  1096. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/functional/SKILL.md +0 -0
  1097. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/functional/resources/composition-patterns.md +0 -0
  1098. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/functional/resources/immutability-catalog.md +0 -0
  1099. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/global-event-model/SKILL.md +0 -0
  1100. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/SKILL.md +0 -0
  1101. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/cqrs-lite.md +0 -0
  1102. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/cross-cutting-concerns.md +0 -0
  1103. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/greenfield-sequence.md +0 -0
  1104. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/incremental-adoption.md +0 -0
  1105. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/references.md +0 -0
  1106. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/testing-hex-arch.md +0 -0
  1107. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/hexagonal-architecture/resources/worked-example.md +0 -0
  1108. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/improve-codebase-architecture/LICENSE +0 -0
  1109. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/improve-codebase-architecture/SKILL.md +0 -0
  1110. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/improve-codebase-architecture/agents/openai.yaml +0 -0
  1111. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/improve-codebase-architecture/references/html-report.md +0 -0
  1112. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/improve-codebase-architecture/references/source-notes.md +0 -0
  1113. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/mutation-testing/SKILL.md +0 -0
  1114. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/mutation-testing/resources/mutator-rules.md +0 -0
  1115. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/observability/SKILL.md +0 -0
  1116. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/observability/resources/node-patterns.md +0 -0
  1117. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/observability/resources/references.md +0 -0
  1118. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/observability/resources/slo-alerting.md +0 -0
  1119. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/observability/resources/testing-telemetry.md +0 -0
  1120. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/planning/SKILL.md +0 -0
  1121. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/production-parity-skill-builder/SKILL.md +0 -0
  1122. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/production-parity-skill-builder/resources/generated-skill-template.md +0 -0
  1123. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/production-parity-skill-builder/resources/parity-surface-catalog.md +0 -0
  1124. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/production-parity-skill-builder/resources/question-patterns.md +0 -0
  1125. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/react-testing/SKILL.md +0 -0
  1126. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/react-testing/resources/testing-library-react-legacy.md +0 -0
  1127. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/reduce-system-complexity/LICENSE +0 -0
  1128. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/reduce-system-complexity/SKILL.md +0 -0
  1129. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/reduce-system-complexity/agents/openai.yaml +0 -0
  1130. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/reduce-system-complexity/references/ledger-template.md +0 -0
  1131. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/reduce-system-complexity/references/source-notes.md +0 -0
  1132. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/refactoring/SKILL.md +0 -0
  1133. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/SKILL.md +0 -0
  1134. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/agents/openai.yaml +0 -0
  1135. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/references/attack-and-test-catalog.md +0 -0
  1136. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/references/oidc-validation.md +0 -0
  1137. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/references/review-and-delivery.md +0 -0
  1138. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/references/rfc9700-control-catalog.md +0 -0
  1139. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/secure-oauth-oidc/references/standards-map.md +0 -0
  1140. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/specification/SKILL.md +0 -0
  1141. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/specification/resources/references.md +0 -0
  1142. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/specification/resources/spec-review-template.html +0 -0
  1143. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/stack-pull-requests/SKILL.md +0 -0
  1144. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/stack-pull-requests/agents/openai.yaml +0 -0
  1145. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/stack-pull-requests/references/source-notes.md +0 -0
  1146. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/story-splitting/SKILL.md +0 -0
  1147. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/story-splitting/resources/pattern-catalog.md +0 -0
  1148. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/story-splitting/resources/source-notes.md +0 -0
  1149. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/storyboard/SKILL.md +0 -0
  1150. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/SKILL.md +0 -0
  1151. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/agents/openai.yaml +0 -0
  1152. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/references/backend-patterns.md +0 -0
  1153. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/references/enforcement-and-migration.md +0 -0
  1154. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/references/frontend-patterns.md +0 -0
  1155. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/references/research-notes.md +0 -0
  1156. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/structure-codebase/references/visible-hexagon.md +0 -0
  1157. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/tdd/SKILL.md +0 -0
  1158. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/tdd/resources/vitest-watch-feedback.md +0 -0
  1159. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/SKILL.md +0 -0
  1160. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/resources/assessment-patterns.md +0 -0
  1161. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/resources/course-generation.md +0 -0
  1162. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/resources/html-lessons.md +0 -0
  1163. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/resources/learning-science.md +0 -0
  1164. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/teach-me/resources/session-management.md +0 -0
  1165. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/LICENSE +0 -0
  1166. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/SKILL.md +0 -0
  1167. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/agent-docs.md +0 -0
  1168. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/doc-types.md +0 -0
  1169. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/docs-quality.md +0 -0
  1170. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/formatting.md +0 -0
  1171. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/readme.md +0 -0
  1172. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/references.md +0 -0
  1173. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/technical-writing/resources/source-notes.md +0 -0
  1174. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/test-design-reviewer/SKILL.md +0 -0
  1175. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/test-design-reviewer/references/source-notes.md +0 -0
  1176. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/testing/SKILL.md +0 -0
  1177. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/twelve-factor/SKILL.md +0 -0
  1178. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/twelve-factor/resources/node-patterns.md +0 -0
  1179. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/typescript-strict/SKILL.md +0 -0
  1180. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/ubiquitous-language/SKILL.md +0 -0
  1181. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/ubiquitous-language/resources/glossary-format.md +0 -0
  1182. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/ubiquitous-language/resources/language-protocol.md +0 -0
  1183. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/web-interface-guidelines/LICENSE +0 -0
  1184. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/web-interface-guidelines/SKILL.md +0 -0
  1185. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/web-interface-guidelines/references/guidelines.md +0 -0
  1186. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/web-interface-guidelines/references/source-notes.md +0 -0
  1187. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/wtf/LICENSE +0 -0
  1188. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/wtf/SKILL.md +0 -0
  1189. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/wtf/agents/openai.yaml +0 -0
  1190. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/assets/toolkit/skills/wtf/references/source-notes.md +0 -0
  1191. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/catalog.json +0 -0
  1192. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/changelog.d/README.md +0 -0
  1193. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/changelog.d/code-index-held.md +0 -0
  1194. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/changelog.d/deploy-role-scope.md +0 -0
  1195. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/changelog.d/setup-go-workspace-cache.md +0 -0
  1196. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/pyproject.toml +0 -0
  1197. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/__init__.py +0 -0
  1198. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/__main__.py +0 -0
  1199. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/add_service.py +0 -0
  1200. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/adopt.py +0 -0
  1201. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/adopt_report.py +0 -0
  1202. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/assets.py +0 -0
  1203. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/axes.py +0 -0
  1204. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/backends.py +0 -0
  1205. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/capabilities.py +0 -0
  1206. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/catalog.py +0 -0
  1207. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/catch_up.py +0 -0
  1208. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/changelog.py +0 -0
  1209. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/cli.py +0 -0
  1210. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/cli_add.py +0 -0
  1211. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/cli_adopt.py +0 -0
  1212. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/cli_prompts.py +0 -0
  1213. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/converge.py +0 -0
  1214. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/convergence.py +0 -0
  1215. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/delivery_facts.py +0 -0
  1216. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/ecosystems.py +0 -0
  1217. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/errors.py +0 -0
  1218. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/examples.py +0 -0
  1219. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/extensions.py +0 -0
  1220. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/features.py +0 -0
  1221. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/images.py +0 -0
  1222. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/layout.py +0 -0
  1223. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/manifest.py +0 -0
  1224. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/migrate.py +0 -0
  1225. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/naming.py +0 -0
  1226. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/origin.py +0 -0
  1227. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/platform.py +0 -0
  1228. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/preflight.py +0 -0
  1229. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/probes.py +0 -0
  1230. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/programme.py +0 -0
  1231. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/__init__.py +0 -0
  1232. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/add_commands.py +0 -0
  1233. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/adopted.py +0 -0
  1234. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/adopted_ci.py +0 -0
  1235. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/adopted_targets.py +0 -0
  1236. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/agent_settings.py +0 -0
  1237. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/agents.py +0 -0
  1238. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/aws_docs.py +0 -0
  1239. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/azure_docs.py +0 -0
  1240. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/backing_service_prose.py +0 -0
  1241. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/backing_services.py +0 -0
  1242. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/biome.py +0 -0
  1243. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/ci_services.py +0 -0
  1244. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/ci_workflows.py +0 -0
  1245. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/commands.py +0 -0
  1246. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/compose.py +0 -0
  1247. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/composition.py +0 -0
  1248. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/constitution_journey.py +0 -0
  1249. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/converge_stage.py +0 -0
  1250. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/convergence_page.py +0 -0
  1251. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise.py +0 -0
  1252. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_agents.py +0 -0
  1253. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_hand.py +0 -0
  1254. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_record.py +0 -0
  1255. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_seat.py +0 -0
  1256. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_stops.py +0 -0
  1257. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_told.py +0 -0
  1258. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/cruise_unblock.py +0 -0
  1259. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/decisions.py +0 -0
  1260. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/demo_stop.py +0 -0
  1261. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/deploy_workflow.py +0 -0
  1262. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/design_page.py +0 -0
  1263. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/docs_index.py +0 -0
  1264. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/drive_adoption.py +0 -0
  1265. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/drive_settings.py +0 -0
  1266. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/entry_stores.py +0 -0
  1267. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/event_model.py +0 -0
  1268. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/evolving.py +0 -0
  1269. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/existing.py +0 -0
  1270. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/flag_route.py +0 -0
  1271. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/flags.py +0 -0
  1272. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/frontend.py +0 -0
  1273. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/gitignore.py +0 -0
  1274. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/ground_command.py +0 -0
  1275. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/guidance.py +0 -0
  1276. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/infra.py +0 -0
  1277. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/init_production.py +0 -0
  1278. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/init_script.py +0 -0
  1279. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/integration.py +0 -0
  1280. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/__init__.py +0 -0
  1281. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/go.py +0 -0
  1282. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/java.py +0 -0
  1283. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/java_quarkus.py +0 -0
  1284. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/java_spring.py +0 -0
  1285. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/python.py +0 -0
  1286. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/languages/typescript.py +0 -0
  1287. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/metadata.py +0 -0
  1288. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/model_targets.py +0 -0
  1289. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/model_to_code.py +0 -0
  1290. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/mutation.py +0 -0
  1291. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/native_commands.py +0 -0
  1292. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/openapi.py +0 -0
  1293. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/parallel_slices.py +0 -0
  1294. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/pin_commands.py +0 -0
  1295. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/pins.py +0 -0
  1296. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/production.py +0 -0
  1297. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/provisioning.py +0 -0
  1298. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/read_side_layouts.py +0 -0
  1299. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/readme.py +0 -0
  1300. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/renovate.py +0 -0
  1301. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/repository.py +0 -0
  1302. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/rules.py +0 -0
  1303. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/run_skill.py +0 -0
  1304. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/service_layouts.py +0 -0
  1305. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/shared_packages.py +0 -0
  1306. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/skills_page.py +0 -0
  1307. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/stage_models.py +0 -0
  1308. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/strangle_command.py +0 -0
  1309. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/structure_page.py +0 -0
  1310. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/target_docs.py +0 -0
  1311. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/whats_next.py +0 -0
  1312. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/project/where_are_we.py +0 -0
  1313. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/quick_wins.py +0 -0
  1314. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/replay.py +0 -0
  1315. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/resurvey.py +0 -0
  1316. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/scaffold.py +0 -0
  1317. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/selection.py +0 -0
  1318. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/services.py +0 -0
  1319. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/strategy.py +0 -0
  1320. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/structure.py +0 -0
  1321. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/survey.py +0 -0
  1322. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/targets.py +0 -0
  1323. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/tooling.py +0 -0
  1324. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/toolkit.py +0 -0
  1325. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/upgrade.py +0 -0
  1326. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/versions.py +0 -0
  1327. {slipwai-1.3.0.dev8 → slipwai-1.3.0.dev15}/src/slipwai/wrappers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: slipwai
3
- Version: 1.3.0.dev8
3
+ Version: 1.3.0.dev15
4
4
  Summary: One-shot scaffolder for product monorepos: a walking skeleton, a verify gate, a path to production, and a repository set up for coding agents.
5
5
  Project-URL: Homepage, https://github.com/ROBCOATVG/slipwai
6
6
  Project-URL: Repository, https://git.treyco.dev/ROBCOATVG/slipwai
@@ -0,0 +1 @@
1
+ 1.3.0.dev15
@@ -12,7 +12,7 @@ slice loop, `specs/<feature>/benchmark.json`. `/drive` opens an entry before a s
12
12
  python3 scripts/agents/benchmark.py overview [shop] # writes specs/<feature>/benchmark.md; `/benchmark`
13
13
  python3 scripts/agents/benchmark.py --json
14
14
  python3 scripts/agents/benchmark.py cut-off "<why>" # close what an iteration left open; the runner's
15
- python3 scripts/agents/benchmark.py check # the gate: nothing open, every done slice recorded
15
+ python3 scripts/agents/benchmark.py check # warns: anything open, a done slice unrecorded
16
16
 
17
17
  Everything that a transcript, `tasks.md`, git or the record itself can say is read from there, never asked:
18
18
  wall time; the agent type each delegate ran as, where the transcript attributes one; tokens by model, from the
@@ -605,33 +605,55 @@ def cut_off(reason: str) -> None:
605
605
  save(path.parent, record)
606
606
 
607
607
 
608
- def done_slices(feature: Path) -> set[str]:
609
- """The slices this feature has finished, as the ladder marks them: a row in the register at
610
- `slices/README.md`, or `status: implemented` in the event model (`commands/drive.md`, *Ready-set selection*)."""
611
- done: set[str] = set()
612
- register = feature / "slices/README.md"
613
- if register.is_file():
614
- for line in register.read_text().splitlines():
615
- if not line.strip().startswith("|"):
616
- continue
617
- first = line.strip().strip("|").split("|")[0].strip().strip("`")
618
- found = re.match(r"([A-Za-z]+\d+)\b", first)
619
- if found:
620
- done.add(found.group(1))
608
+ def implemented() -> list[tuple[str, str | None]]:
609
+ """Every slice `docs/event-model/model.yaml` marks `status: implemented`, with the feature it names: the
610
+ `specs/<feature>/` its `spec` or `gwt` path is under, or None where it names none. The model is the whole
611
+ project's, so a slice in it belongs to one feature, not to every feature that asks."""
621
612
  model = ROOT / "docs/event-model/model.yaml"
613
+ found: list[tuple[str, str | None]] = []
622
614
  if model.is_file():
623
615
  for block in re.split(r"^\s*- id:\s*", model.read_text(), flags=re.M)[1:]:
624
616
  ident = block.split("\n", 1)[0].strip().strip("'\"")
625
617
  if ident and re.search(r"^\s*status:\s*implemented\s*$", block, re.M):
626
- done.add(ident)
618
+ named = re.search(r"^\s*(?:spec|gwt):\s*['\"]?specs/([^/\s'\"]+)/", block, re.M)
619
+ found.append((ident, named.group(1) if named else None))
620
+ return found
621
+
622
+
623
+ def done_slices(feature: Path) -> set[str]:
624
+ """The slices this feature has finished, as the ladder marks them (`commands/drive.md`, *Ready-set selection*):
625
+ a row in its register at `slices/README.md`, or `status: implemented` in the event model on a slice that names
626
+ this feature, or names none and has its folder at `slices/<id>/` here."""
627
+ done: set[str] = set()
628
+ register = feature / "slices/README.md"
629
+ if register.is_file():
630
+ for line in register.read_text().splitlines():
631
+ if line.strip().startswith("|"):
632
+ first = line.strip().strip("|").split("|")[0].strip().strip("`")
633
+ found = re.match(r"([A-Za-z]+\d+)\b", first)
634
+ if found:
635
+ done.add(found.group(1))
636
+ for ident, named in implemented():
637
+ if named == feature.name or (named is None and (feature / "slices" / ident).is_dir()):
638
+ done.add(ident)
627
639
  return done
628
640
 
629
641
 
642
+ def unowned() -> list[str]:
643
+ """Implemented slices no feature holds: the model names no feature for them and no `specs/*/slices/<id>/`
644
+ exists. Not charged to any feature — said, so the model can be given its `spec` or the id corrected."""
645
+ features = [path for path in (ROOT / "specs").iterdir() if path.is_dir()] if (ROOT / "specs").is_dir() else []
646
+ return sorted(ident for ident, named in implemented()
647
+ if named is None and not any((feature / "slices" / ident).is_dir() for feature in features))
648
+
649
+
630
650
  def check() -> list[str]:
631
- """What the gate holds: no entry left open, a record for every slice the ladder calls done, that record
632
- closed, and a feature record once any slice is done — because a delivered slice with no benchmark cannot say
633
- what it cost, and the brackets can only be taken at the time."""
634
- findings = []
651
+ """What `check-benchmark` warns of: an entry left open, a slice the ladder calls done with no record or an
652
+ unclosed one, a feature with done slices and no record above the slice loop, and an implemented slice in the
653
+ model that no feature holds — because a delivered slice with no benchmark cannot say what it cost."""
654
+ findings = [f"docs/event-model/model.yaml: {ident} is implemented but names no feature (`spec`/`gwt` under "
655
+ "specs/<feature>/) and has no specs/*/slices/ folder, so no feature's record is asked for it"
656
+ for ident in unowned()]
635
657
  for path, record in records():
636
658
  for entry in record.get("stages", []):
637
659
  if "ended" not in entry:
@@ -959,10 +981,14 @@ def main() -> None:
959
981
  cut_off(" ".join(rest))
960
982
  return
961
983
  if command == "check":
984
+ # A warning, never a failure: the brackets can only be taken at the time, so a slice finished without
985
+ # one can never be made to pass honestly, and a gate that nothing true satisfies stops every push.
962
986
  findings = check()
963
987
  if findings:
964
- print("\n".join(f"check-benchmark: {finding}" for finding in findings), file=sys.stderr)
965
- raise SystemExit(1)
988
+ print("\n".join(f"check-benchmark: warning: {finding}" for finding in findings), file=sys.stderr)
989
+ print(f"check-benchmark: {len(findings)} warning(s) above — what was not measured stays unmeasured; "
990
+ "not failing verify")
991
+ return
966
992
  held = records()
967
993
  print(f"check-benchmark: {len(held)} record(s), nothing open, every done slice recorded and closed"
968
994
  if held else "check-benchmark: no record and no done slice yet — nothing to hold")
@@ -92,19 +92,48 @@ def adopted() -> bool:
92
92
  return False
93
93
 
94
94
 
95
+ # Why a machine with Node can still have no `npx` on PATH: a hook's shell, and any non-interactive one, sources no
96
+ # profile, so a Node that nvm, volta or fnm put there is not found by name.
97
+ NO_ROUTE = ("neither `npx` nor `codegraph` is on PATH, nor under nvm, volta or fnm — a hook's or non-interactive "
98
+ "shell sources no profile, so a Node one of those manages is found only where it keeps its versions")
99
+
100
+
101
+ def version_of(directory: Path) -> tuple[int, ...]:
102
+ return tuple(int(part) for part in re.findall(r"\d+", directory.name)[:3])
103
+
104
+
105
+ def managed_node() -> Path | None:
106
+ """The `bin/` holding `npx` of the newest Node that nvm, volta or fnm installed, or None where none did."""
107
+ home = Path.home()
108
+ nvm = Path(os.environ.get("NVM_DIR") or home / ".nvm") / "versions/node"
109
+ fnm = [Path(os.environ["FNM_DIR"])] if os.environ.get("FNM_DIR") else []
110
+ fnm += [home / ".local/share/fnm", home / "Library/Application Support/fnm", home / ".fnm"]
111
+ candidates = sorted(nvm.glob("*/bin"), key=lambda found: version_of(found.parent), reverse=True)
112
+ candidates.append(Path(os.environ.get("VOLTA_HOME") or home / ".volta") / "bin")
113
+ for root in fnm:
114
+ candidates += sorted((root / "node-versions").glob("*/installation/bin"),
115
+ key=lambda found: version_of(found.parent.parent), reverse=True)
116
+ return next((found for found in candidates if (found / "npx").is_file()), None)
117
+
118
+
95
119
  def route() -> list[str] | None:
96
- """How to run the pinned CLI: through `npx` where Node is, or an installed `codegraph` where it is not."""
120
+ """How to run the pinned CLI: through `npx` where Node is, or an installed `codegraph` where it is not. A Node
121
+ that nvm, volta or fnm manages counts: its `bin/` goes on this process's PATH, so `npx` finds its `node`."""
97
122
  if shutil.which("npx"):
98
123
  return ["npx", "-y", CODEGRAPH]
99
124
  if shutil.which("codegraph"):
100
125
  return ["codegraph"]
101
- return None
126
+ found = managed_node()
127
+ if found is None:
128
+ return None
129
+ os.environ["PATH"] = f"{found}{os.pathsep}{os.environ.get('PATH', '')}"
130
+ return ["npx", "-y", CODEGRAPH]
102
131
 
103
132
 
104
133
  def cli(*arguments: str, seconds: int = SYNC_SECONDS) -> tuple[bool, str]:
105
134
  command = route()
106
135
  if command is None:
107
- return False, "neither `npx` nor `codegraph` is on PATH"
136
+ return False, NO_ROUTE
108
137
  try:
109
138
  done = subprocess.run([*command, *arguments], cwd=ROOT, text=True, capture_output=True, timeout=seconds,
110
139
  stdin=subprocess.DEVNULL, env={**os.environ, "CODEGRAPH_NO_UPDATE_CHECK": "1"})
@@ -116,13 +145,30 @@ def cli(*arguments: str, seconds: int = SYNC_SECONDS) -> tuple[bool, str]:
116
145
  return done.returncode == 0, said[-1].strip("│└● ").strip() if said else ""
117
146
 
118
147
 
148
+ class Unopened(Exception):
149
+ """The database could not be opened to be checked at all — which says nothing about whether it is sound."""
150
+
151
+
119
152
  def damage() -> str | None:
120
- """Why the database cannot be trusted — it does not open, or SQLite's integrity check fails — or None."""
121
- try:
122
- with sqlite3.connect(f"{DATABASE.as_uri()}?mode=ro", uri=True) as connection:
123
- verdict = connection.execute("PRAGMA integrity_check").fetchone()
124
- except sqlite3.Error as error:
125
- return str(error)
153
+ """Why the database cannot be trusted — SQLite's integrity check fails, or the file is not a database — or None.
154
+ Raises `Unopened` when no read-only open succeeds: that is the environment, not the index.
155
+
156
+ A WAL database left with no `-shm` beside it — how CodeGraph leaves one once its daemon exits — is refused by
157
+ some SQLite builds on a plain read-only open (macOS's system Python: "unable to open database file"), and by any
158
+ build where the directory is not writable. `immutable=1` reads it without the `-shm`, so the check tries that
159
+ before it concludes anything; an open failure alone never has a sound database moved aside."""
160
+ refused: list[str] = []
161
+ for mode in ("mode=ro", "immutable=1"):
162
+ try:
163
+ with sqlite3.connect(f"{DATABASE.as_uri()}?{mode}", uri=True) as connection:
164
+ verdict = connection.execute("PRAGMA integrity_check").fetchone()
165
+ break
166
+ except sqlite3.OperationalError as error: # cannot open, cannot lock, read-only: no reading of the file
167
+ refused.append(f"{mode}: {error}")
168
+ except sqlite3.Error as error: # the file was read, and it is not a sound database
169
+ return str(error)
170
+ else:
171
+ raise Unopened("; ".join(refused))
126
172
  if verdict and verdict[0] == "ok":
127
173
  return None
128
174
  # SQLite reports every damaged cell on its own line; the first says what kind of damage, the count how much.
@@ -160,6 +206,14 @@ def set_aside() -> str:
160
206
  return (ASIDE.relative_to(ROOT)).as_posix()
161
207
 
162
208
 
209
+ def checked() -> str | Unopened | None:
210
+ """`damage()`, with an open failure returned rather than raised."""
211
+ try:
212
+ return damage()
213
+ except Unopened as error:
214
+ return error
215
+
216
+
163
217
  def health() -> dict[str, Any]:
164
218
  """Make the index one an iteration can query, and say what that took: `current`, `synced`, `built`, `rebuilt`,
165
219
  `unreachable` (no route to the CLI) or `failed` (the step ran and the index is still not right). Nothing where
@@ -169,14 +223,16 @@ def health() -> dict[str, Any]:
169
223
  began = time.monotonic()
170
224
  result: dict[str, Any] = {}
171
225
  if route() is None:
172
- result = {"state": "unreachable", "detail": "neither `npx` nor `codegraph` is on PATH, so nothing can "
173
- "maintain or query the index"}
226
+ result = {"state": "unreachable", "detail": f"{NO_ROUTE}; so nothing can maintain or query the index"}
174
227
  elif not DATABASE.is_file():
175
228
  done, said = cli("init", "-y", ".", seconds=BUILD_SECONDS)
176
229
  result = {"state": "built", "detail": "there was no database; built it with `codegraph init`"}
177
230
  if not done:
178
231
  result = {"state": "failed", "detail": f"no database, and `codegraph init` failed: {said}"}
179
- elif (problem := damage()) is not None:
232
+ elif isinstance(problem := checked(), Unopened):
233
+ result = {"state": "failed", "detail": f"the database could not be opened to be checked ({problem}); left "
234
+ "it where it is, since an open failure says nothing about the index"}
235
+ elif problem is not None:
180
236
  where = set_aside()
181
237
  done, said = cli("init", "-y", ".", seconds=BUILD_SECONDS)
182
238
  result = {"state": "rebuilt", "detail": f"the database failed its integrity check ({problem}); moved it "
@@ -195,7 +251,7 @@ def health() -> dict[str, Any]:
195
251
  else:
196
252
  result = {"state": "current", "detail": "opens, passes its integrity check, and describes the tree"}
197
253
  if result["state"] in ("built", "rebuilt", "synced"):
198
- problem, stale = (damage() if DATABASE.is_file() else "no database was written"), None
254
+ problem, stale = (checked() if DATABASE.is_file() else "no database was written"), None
199
255
  if problem is None:
200
256
  stale = behind()
201
257
  if problem is not None or stale:
@@ -212,13 +268,16 @@ def symbols(names: list[str]) -> set[str]:
212
268
  """Which of these names the index holds a definition of."""
213
269
  if not names or not DATABASE.is_file():
214
270
  return set()
215
- try:
216
- with sqlite3.connect(f"{DATABASE.as_uri()}?mode=ro", uri=True) as connection:
217
- marks = ",".join("?" * len(names))
218
- return {row[0] for row in connection.execute(
219
- f"SELECT DISTINCT name FROM nodes WHERE kind NOT IN ('file', 'import') AND name IN ({marks})", names)}
220
- except sqlite3.Error:
221
- return set()
271
+ marks = ",".join("?" * len(names))
272
+ for mode in ("mode=ro", "immutable=1"): # the second for a WAL database with no `-shm`, as `damage()` says
273
+ try:
274
+ with sqlite3.connect(f"{DATABASE.as_uri()}?{mode}", uri=True) as connection:
275
+ return {row[0] for row in connection.execute(
276
+ f"SELECT DISTINCT name FROM nodes WHERE kind NOT IN ('file', 'import') AND name IN ({marks})",
277
+ names)}
278
+ except sqlite3.Error:
279
+ continue
280
+ return set()
222
281
 
223
282
 
224
283
  def symbol_of(pattern: str) -> str | None:
@@ -190,7 +190,13 @@ def main() -> int:
190
190
  "check")
191
191
  return 0
192
192
  tooling = code_index()
193
- problem = tooling.damage()
193
+ try:
194
+ problem = tooling.damage()
195
+ except tooling.Unopened as error:
196
+ print(f"check-codegraph: .codegraph/codegraph.db could not be opened to be checked ({error}). That is "
197
+ "this environment's SQLite or the directory's permissions, not damage, so the database was left "
198
+ "alone; `codegraph status` says whether the index itself is current", file=sys.stderr)
199
+ return 1
194
200
  repairing = os.environ.get("CODEGRAPH_GATE_NO_SYNC") != "1" and tooling.route() is not None
195
201
  repaired = ""
196
202
  if problem is not None and repairing:
@@ -23,7 +23,13 @@ an unwritten row is a pass that has to be run again, and until now nothing notic
23
23
  **Evidence**, **Feedback**; every **Evidence** path exists, beside the log or from the root, or is `none`;
24
24
  - every slice the ladder calls done — a row in `specs/<feature>/slices/README.md`, or `status: implemented` in
25
25
  `docs/event-model/model.yaml` — has a `## <slice-id> · …` row in `specs/<feature>/adversary-log.md`: the attack,
26
- or the recorded skip, that `/adversary` writes after every acceptance.
26
+ or the recorded skip, that `/adversary` writes after every acceptance. The model is the whole project's, so a
27
+ slice in it counts for the feature its `spec` or `gwt` path is under, or, naming none, the one holding
28
+ `slices/<id>/`; an implemented slice no feature holds is noted, not charged to every feature.
29
+
30
+ `python3 scripts/check-decisions.py --adversary-baseline` is for a project that migrated across that last rule: it
31
+ writes, once, a `## <id> · predates the adversary gate · <date>` row for every done slice without one, which the gate accepts
32
+ and which says the slice was never attacked. A second baseline is refused.
27
33
 
28
34
  A project with no record anywhere passes and says so: the gate runs in `make verify` from the first commit.
29
35
  """
@@ -32,6 +38,7 @@ from __future__ import annotations
32
38
 
33
39
  import re
34
40
  import sys
41
+ from datetime import date
35
42
  from pathlib import Path
36
43
 
37
44
 
@@ -149,8 +156,25 @@ def check_demo_log(path: Path) -> list[str]:
149
156
  return findings
150
157
 
151
158
 
159
+ def implemented() -> list[tuple[str, str | None]]:
160
+ """Every slice `docs/event-model/model.yaml` marks `status: implemented`, with the feature it names: the
161
+ `specs/<feature>/` its `spec` or `gwt` path is under, or None where it names none. The model is the whole
162
+ project's, so a slice in it belongs to one feature, not to every feature that asks."""
163
+ model = ROOT / "docs/event-model/model.yaml"
164
+ found: list[tuple[str, str | None]] = []
165
+ if model.is_file():
166
+ for block in re.split(r"^\s*- id:\s*", model.read_text(), flags=re.M)[1:]:
167
+ ident = block.split("\n", 1)[0].strip().strip("'\"")
168
+ if ident and re.search(r"^\s*status:\s*implemented\s*$", block, re.M):
169
+ named = re.search(r"^\s*(?:spec|gwt):\s*['\"]?specs/([^/\s'\"]+)/", block, re.M)
170
+ found.append((ident, named.group(1) if named else None))
171
+ return found
172
+
173
+
152
174
  def done_slices(feature: Path) -> set[str]:
153
- """The slices this feature has finished, as the ladder marks them (`commands/drive.md`, *Ready-set selection*)."""
175
+ """The slices this feature has finished, as the ladder marks them (`commands/drive.md`, *Ready-set selection*):
176
+ a row in its register at `slices/README.md`, or `status: implemented` in the event model on a slice that names
177
+ this feature, or names none and has its folder at `slices/<id>/` here."""
154
178
  done: set[str] = set()
155
179
  register = feature / "slices/README.md"
156
180
  if register.is_file():
@@ -160,15 +184,20 @@ def done_slices(feature: Path) -> set[str]:
160
184
  found = re.match(r"([A-Za-z]+\d+)\b", first)
161
185
  if found:
162
186
  done.add(found.group(1))
163
- model = ROOT / "docs/event-model/model.yaml"
164
- if model.is_file():
165
- for block in re.split(r"^\s*- id:\s*", model.read_text(), flags=re.M)[1:]:
166
- ident = block.split("\n", 1)[0].strip().strip("'\"")
167
- if ident and re.search(r"^\s*status:\s*implemented\s*$", block, re.M):
168
- done.add(ident)
187
+ for ident, named in implemented():
188
+ if named == feature.name or (named is None and (feature / "slices" / ident).is_dir()):
189
+ done.add(ident)
169
190
  return done
170
191
 
171
192
 
193
+ def unowned() -> list[str]:
194
+ """Implemented slices no feature holds: the model names no feature for them and no `specs/*/slices/<id>/`
195
+ exists. Not charged to any feature — said, so the model can be given its `spec` or the id corrected."""
196
+ features = [path for path in (ROOT / "specs").iterdir() if path.is_dir()] if (ROOT / "specs").is_dir() else []
197
+ return sorted(ident for ident, named in implemented()
198
+ if named is None and not any((feature / "slices" / ident).is_dir() for feature in features))
199
+
200
+
172
201
  def check_adversary_rows() -> list[str]:
173
202
  """A finished slice with no row in the adversary log was never attacked and never recorded as skipped."""
174
203
  findings: list[str] = []
@@ -185,7 +214,47 @@ def check_adversary_rows() -> list[str]:
185
214
  return findings
186
215
 
187
216
 
217
+ PREDATES = "predates the adversary gate"
218
+
219
+
220
+ def baseline() -> int:
221
+ """Write, once, a row for every done slice the adversary log lacks, saying it was finished before this gate held
222
+ finished slices to the log — which is true, and which no later slice may cite as an attack. For a project that
223
+ migrated across the gate, whose history cannot be attacked honestly after the fact; refused where any log
224
+ already carries a baseline row, so it is the done set at one moment and not a way past the gate afterwards."""
225
+ logs = sorted(SPECS.glob(f"*/{ADVERSARY_LOG}")) if SPECS.is_dir() else []
226
+ taken = [log for log in logs if f"· {PREDATES}" in log.read_text()]
227
+ if taken:
228
+ print(f"check-decisions: a baseline was already taken ({taken[0].relative_to(ROOT).as_posix()}); a slice "
229
+ "finished since is held to a row `/adversary` writes", file=sys.stderr)
230
+ return 1
231
+ written = 0
232
+ today = date.today().isoformat()
233
+ for feature in sorted(SPECS.iterdir()) if SPECS.is_dir() else []:
234
+ if not (feature / "slices").is_dir():
235
+ continue
236
+ log = feature / ADVERSARY_LOG
237
+ text = log.read_text() if log.is_file() else f"# Adversary log — {feature.name}\n"
238
+ missing = sorted(done_slices(feature) - set(re.findall(r"^## (\S+) · ", text, re.M)))
239
+ if not missing:
240
+ continue
241
+ rows = "".join(f"\n## {ident} · {PREDATES} · {today}\n\nFinished before `check-decisions` held every done "
242
+ "slice to a row here. Never attacked by `/adversary`, so no slice may cite this row as "
243
+ "coverage.\n" for ident in missing)
244
+ log.write_text(text.rstrip("\n") + "\n" + rows)
245
+ written += len(missing)
246
+ print(f"check-decisions: {log.relative_to(ROOT).as_posix()}: {len(missing)} baseline row(s)")
247
+ print(f"check-decisions: baselined {written} done slice(s)" if written
248
+ else "check-decisions: every done slice already has a row — nothing to baseline")
249
+ return 0
250
+
251
+
188
252
  def main() -> int:
253
+ if sys.argv[1:] == ["--adversary-baseline"]:
254
+ return baseline()
255
+ for ident in unowned():
256
+ print(f"check-decisions: note: {ident} is implemented in docs/event-model/model.yaml but names no feature "
257
+ "and has no specs/*/slices/ folder, so no adversary log is asked for it")
189
258
  decisions = sorted(SPECS.glob(f"*/{DECISIONS}")) if SPECS.is_dir() else []
190
259
  logs = sorted(SPECS.glob(f"*/slices/*/{DEMO_LOG}")) if SPECS.is_dir() else []
191
260
  findings: list[str] = check_adversary_rows()
@@ -47,8 +47,8 @@ import sys
47
47
  import tempfile
48
48
  import threading
49
49
  from concurrent.futures import ThreadPoolExecutor
50
- from dataclasses import dataclass
51
50
  from pathlib import Path
51
+ from typing import NamedTuple
52
52
 
53
53
  KEY = "ux-gates"
54
54
  KIT = "tools/ux-gates"
@@ -156,9 +156,10 @@ def say(line: str) -> None:
156
156
  print(line, flush=True)
157
157
 
158
158
 
159
- @dataclass(frozen=True)
160
- class Gate:
161
- """One run of one kit script: over an app's `src/`, its `screens/` directory, or one preview in it."""
159
+ class Gate(NamedTuple):
160
+ """One run of one kit script: over an app's `src/`, its `screens/` directory, or one preview in it. A tuple
161
+ rather than a dataclass, which looks its module up in `sys.modules`: a project's test that loads this file with
162
+ `importlib` and does not register it there would crash on the class instead of testing it."""
162
163
 
163
164
  app: Path
164
165
  script: str
@@ -340,7 +341,8 @@ def main() -> int:
340
341
  if spec:
341
342
  sharded = shard(gates, spec)
342
343
  if sharded is None:
343
- say(f"check-ux-gates: UX_GATES_SHARD={spec} is not k/n with 1 <= k <= n — FAILING rather than guessing")
344
+ say(f"check-ux-gates: UX_GATES_SHARD={spec} is not k/n with 1 <= k <= n — FAILING rather than guessing; "
345
+ "leave it unset to run every gate")
344
346
  return 1
345
347
  gates = sharded
346
348
  say(f"check-ux-gates: shard {spec} — {len(gates)} of {whole} gate(s)")
@@ -17,12 +17,12 @@ from pathlib import Path
17
17
 
18
18
  sys.dont_write_bytecode = True
19
19
  sys.path.insert(0, str(Path(__file__).resolve().parent / "agents"))
20
- from code_index import ROOT, route # noqa: E402
20
+ from code_index import NO_ROUTE, ROOT, route # noqa: E402
21
21
 
22
22
  command = route()
23
23
  if command is None:
24
- sys.exit("scripts/codegraph: neither `npx` nor `codegraph` is on PATH, so the index cannot be asked here; install "
25
- "Node, and say that the answer you give instead is a text search")
24
+ sys.exit(f"scripts/codegraph: {NO_ROUTE}. The index cannot be asked here; install Node (or put the one you have "
25
+ "on PATH), and say that the answer you give instead is a text search")
26
26
  os.chdir(ROOT)
27
27
  os.environ.setdefault("CODEGRAPH_NO_UPDATE_CHECK", "1")
28
28
  os.execvp(command[0], [*command, *sys.argv[1:]])
@@ -0,0 +1,33 @@
1
+ MINOR
2
+
3
+ **A migration no longer lands on gates nothing true can satisfy: `check-benchmark` warns rather than fails, the one
4
+ event model charges a slice to its own feature, and a project's slice history can be baselined for the adversary
5
+ log once.** A project migrating from a 1.2.0 snapshot met two gates that arrived in 1.2.0 without a word in its
6
+ catch-up note. `check-benchmark` failed on every slice finished before benchmark records existed, and those records
7
+ can only be taken at the time, so the only ways to pass were to invent them or never push again. It now prints
8
+ each of those findings as a `warning:` and passes, and its own self-test is still what fails it. Both it and
9
+ `check-decisions` counted every `status: implemented` slice in `docs/event-model/model.yaml`, which is the whole
10
+ project's, against every feature they checked: a second feature failed for the first feature's slices, and
11
+ nothing done inside the second could fix that. A slice now counts only for the feature its `spec` or `gwt` path
12
+ is under, or, where it names none, the feature holding `slices/<id>/`. An implemented slice that no feature holds
13
+ is reported once. `python3 scripts/check-decisions.py --adversary-baseline` writes, once, a `## <id> · predates
14
+ the adversary gate · <date>` row for every done slice with no row. The gate accepts that row. The row says the
15
+ slice was never attacked, and `/adversary` never relies on it. A second baseline is refused.
16
+
17
+ Four smaller fixes, found on the same migration. `make verify` now runs `check-python` first, and it names the
18
+ interpreter when `python3` is older than the 3.10 the gate scripts need. Before this, a non-interactive macOS
19
+ shell that found `/usr/bin/python3` (3.9) first died inside whichever gate first used a newer feature.
20
+ `check-codegraph` and `code_index.py health` now tell a database they cannot open apart from a damaged one. On
21
+ macOS's system SQLite, CodeGraph's WAL database with no `-shm` beside it refuses a read-only open. It is now
22
+ read with `immutable=1`, and an open failure is reported as one and never moves the database aside, so `health`
23
+ no longer rebuilds a sound index in a loop. The code index finds a Node that nvm, volta or fnm installed when a
24
+ hook's shell has none on `PATH`, and says that is the likely cause when it finds none. `check-ux-gates.py` can
25
+ now be loaded with `importlib` without being registered in `sys.modules`, and it says to unset an
26
+ `UX_GATES_SHARD` value it refuses.
27
+
28
+ **Catch-up.** These gates are new or stricter since 1.1: `check-benchmark` (warns since this release),
29
+ `check-decisions`' adversary rows (1.2.0), `check-deploy-role` on `aws` (1.3.0), `check-ux-gates` sharding and
30
+ its CI job (1.3.0), and `check-python` (1.3.0). If `check-decisions` reports `no row for` slices finished
31
+ before you migrated, run `python3 scripts/check-decisions.py --adversary-baseline` once and commit the rows it
32
+ writes. Slices finished after that need the row `/adversary` writes. Make sure the `python3` your shell finds
33
+ first is 3.10 or newer. Nothing else needs doing: the rest arrives whole with the merge.
@@ -14,4 +14,8 @@ on a pull request and whole on `main`. Until now the generated CI never installe
14
14
  were reported skipped there on every run; they are now measured before a deploy, which waits on `verify`.
15
15
 
16
16
  **Catch-up.** Run `./init --extension ux-gates` once in a project that adopted the gates, and commit the job it
17
- adds to `.github/workflows/verify.yml`. A project that wrote its own UX-gate job should remove it first.
17
+ adds to `.github/workflows/verify.yml`. A project that wrote its own UX-gate job should remove it first. A project that patched the gate should know
18
+ what the upstream script no longer takes: `UX_GATES_SHARD` accepts only `k/n` (`1 <= k <= n`), and any other
19
+ value — `none` included — fails the gate, so unset it to run every gate; and `check-ux-gates.py`'s entry points
20
+ are `main()` and the `UX_GATES_*` variables, its helpers are not a contract, and a test that loads it with
21
+ `importlib` should call `main()` with the environment set rather than reach into them.
@@ -113,7 +113,9 @@ Findings: none | …
113
113
 
114
114
  Each selected seam records its file manifest, the type that ran it, its model, and `delegated, fresh
115
115
  context`; each omitted seam records why it was not spawned. A skip is a row too, naming the rows it relied
116
- on, with `Spawned:` empty. Findings include **no findings**, since an empty result is exactly what makes the
116
+ on, with `Spawned:` empty. A `predates the adversary gate` row — written once by `check-decisions.py
117
+ --adversary-baseline` for slices finished before the log was held — records that nothing was attacked, and is
118
+ never a row a skip may rely on. Findings include **no findings**, since an empty result is exactly what makes the
117
119
  next slice's skip decidable.
118
120
 
119
121
  Once every adversary has reported, triage each finding as confirmed, question, duplicate or declined, then
@@ -2,7 +2,9 @@
2
2
 
3
3
  Its own module because `makefile.py` sits at the line budget `scripts/check-structure.py` holds every module
4
4
  to, and because these targets are about the method rather than any service's toolchain: nothing here is per
5
- backend. `check-agents` is where every settings file the ladder reads is held to its shape — the models table,
5
+ backend. `check-python` comes first on `verify` because every gate is a `python3 scripts/…` line, and which
6
+ interpreter a shell finds first decides whether they run: one older than the scripts is named once, rather than
7
+ as whichever gate first uses a newer feature. `check-agents` is where every settings file the ladder reads is held to its shape — the models table,
6
8
  `drive.json` and `cruise.json` — so a hand edit that would leave `/drive` or `/cruise` reading nonsense fails
7
9
  the gate rather than the run. `check-decisions` holds the decision log and demo log `/cruise` writes to their
8
10
  shape, and sits on `verify` because a person overrides a decision by editing that file.
@@ -12,7 +14,9 @@ from __future__ import annotations
12
14
 
13
15
  def agent_targets() -> str:
14
16
  """The `.PHONY` block between the npm workspace targets and the native gate targets."""
15
- return """.PHONY: agents agents-list check-extensions check-agents models check-benchmark benchmark cruise cruise-watch cruise-status cruise-stop cruise-tell check-decisions
17
+ return """.PHONY: check-python agents agents-list check-extensions check-agents models check-benchmark benchmark cruise cruise-watch cruise-status cruise-stop cruise-tell check-decisions
18
+ check-python: ## Fail, first, when python3 is older than the 3.10 every gate script is written for
19
+ \t@python3 -c "import sys; sys.exit(0 if sys.version_info >= (3, 10) else 'check-python: ' + sys.executable + ' is Python ' + sys.version.split()[0] + ', and the gate scripts need 3.10 or newer; put a newer python3 first on PATH (a non-interactive macOS shell finds /usr/bin/python3, which is 3.9, before Homebrew)')"
16
20
  agents: ## Refresh elected extensions, then skills, commands and agent types in every installed agent harness
17
21
  \tpython3 scripts/extensions/project.py
18
22
  \tpython3 scripts/agents/project.py
@@ -25,7 +29,7 @@ check-agents: ## Fail when an initialized agent projection has drifted, or .spec
25
29
  \tpython3 scripts/agents/models.py --check && python3 scripts/agents/drive.py --check && python3 scripts/agents/cruise.py --check
26
30
  models: ## Show which model runs each stage of /drive for the installed harness, and why
27
31
  \tpython3 scripts/agents/models.py
28
- check-benchmark: ## Fail when a benchmark entry is left open, a done slice has no record, or the script's own behaviour regresses
32
+ check-benchmark: ## Fail when the benchmark script's own behaviour regresses; warn of an entry left open or a done slice with no record
29
33
  \tpython3 scripts/test_benchmark.py && python3 scripts/agents/benchmark.py check
30
34
  benchmark: ## Show what each slice cost and how each stage of /drive did, from the records under specs/
31
35
  \tpython3 scripts/agents/benchmark.py
@@ -67,8 +67,9 @@ the bracket whose stage owns the type that ran them, so a skipper round during i
67
67
  and not the implementers. An entry a session leaves open is cut off — by the `/cruise` runner when the iteration
68
68
  ends, and by the next `start` in the same record — with the reason, its tokens read from the transcript it left,
69
69
  and no signals: nothing will close it truthfully afterwards. `{layout.make}
70
- check-benchmark`, in `{layout.make} verify`, fails on an entry still open, on a slice the ladder calls done with no
71
- record or an unclosed one, and on a feature with done slices and no record above the slice loop. Close
70
+ check-benchmark`, in `{layout.make} verify`, warns of an entry still open, a slice the ladder calls done with no
71
+ record or an unclosed one, and a feature with done slices and no record above the slice loop — warns, never fails,
72
+ because a bracket missed cannot be taken afterwards. Close
72
73
  `adversary` after its findings are triaged and before any fix, passing `findings=N` and `seams=N`; each
73
74
  failing test and fix belongs to a new
74
75
  `implement` entry. Bracket `demo` around the actor's session, not the note afterwards, and `mutation` around the
@@ -108,7 +108,7 @@ other direction \u2014 that minimum CD and the practices the skills teach are st
108
108
 
109
109
  `make verify` is the deterministic local and CI entry point. It runs {gate}{(" plus Biome, TypeScript and React component tests for " + web_paths if web else "")}, architecture direction,
110
110
  agent-projection and Spec Kit manifest drift, constitution coverage, event-model validation in the event profile,
111
- and `check-benchmark`, which fails on a benchmark entry left open or a done slice with no record, and
111
+ and `check-benchmark`, which warns of a benchmark entry left open or a done slice with no record, and
112
112
  keeps missing measurements visibly unbracketed. `make help` lists integration,
113
113
  adversarial, mutation, model, benchmark and dependency-audit targets. Mutation and dependency audit remain
114
114
  explicit end-of-phase/CI operations, not hidden costs in every local increment.
@@ -158,7 +158,7 @@ def makefile(project_name: str, profile: str, apps: list[App], target: str = "no
158
158
  if formatting:
159
159
  formatting = f"format: ## Rewrite this project's own code the way `make lint` expects to find it\n\t{formatting}\n"
160
160
  verify_dependencies = (
161
- "lint typecheck check-imports check-migrations check-slice-scope check-extensions check-agents check-speckit "
161
+ "check-python lint typecheck check-imports check-migrations check-slice-scope check-extensions check-agents check-speckit "
162
162
  "check-codegraph check-ux-gates check-constitution check-benchmark check-decisions test"
163
163
  )
164
164
  style_target = ""
@@ -1 +0,0 @@
1
- 1.3.0.dev8
File without changes
File without changes
File without changes
File without changes
File without changes