slipwai 1.2.1.dev5__tar.gz → 1.2.1.dev11__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 (1322) hide show
  1. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/PKG-INFO +9 -3
  2. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/README.md +8 -2
  3. slipwai-1.2.1.dev11/VERSION +1 -0
  4. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/cruise.py +173 -1
  5. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/registry.json +1 -1
  6. slipwai-1.2.1.dev11/assets/toolkit/scripts/check-ux-gates.py +245 -0
  7. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/ux-gates/init.py +9 -6
  8. slipwai-1.2.1.dev11/changelog.d/gates-are-not-the-runs-to-change.md +42 -0
  9. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/agent_settings.py +5 -0
  10. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/commands.py +4 -2
  11. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise.py +4 -23
  12. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_agents.py +12 -4
  13. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_record.py +3 -0
  14. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_seat.py +60 -3
  15. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_told.py +6 -0
  16. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_unblock.py +13 -0
  17. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/whats_next.py +3 -1
  18. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/where_are_we.py +3 -1
  19. slipwai-1.2.1.dev5/VERSION +0 -1
  20. slipwai-1.2.1.dev5/assets/toolkit/scripts/check-ux-gates.py +0 -168
  21. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/.gitignore +0 -0
  22. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/CHANGELOG.md +0 -0
  23. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/LICENSE +0 -0
  24. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/NOTICE +0 -0
  25. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/README.md +0 -0
  26. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/docs/change-strategy.md +0 -0
  27. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/scripts/check-convergence.py +0 -0
  28. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/scripts/ratchet.py +0 -0
  29. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/support.json +0 -0
  30. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/wrappers/gradle/gradle-wrapper.jar.base64 +0 -0
  31. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/wrappers/gradle/gradle-wrapper.properties +0 -0
  32. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/wrappers/gradle/gradlew +0 -0
  33. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/wrappers/gradle/gradlew.bat +0 -0
  34. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/adoption/wrappers/gradle/source-notes.md +0 -0
  35. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/docker-compose.yml +0 -0
  36. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/env.example +0 -0
  37. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_contract.go +0 -0
  38. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_memory.go +0 -0
  39. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_memory_test.go +0 -0
  40. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_postgres.go +0 -0
  41. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_postgres_integration_test.go +0 -0
  42. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_sqlite.go +0 -0
  43. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/checkpoint_store_sqlite_test.go +0 -0
  44. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/config.go +0 -0
  45. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/config_test.go +0 -0
  46. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_contract.go +0 -0
  47. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_memory.go +0 -0
  48. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_memory_test.go +0 -0
  49. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_postgres.go +0 -0
  50. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_postgres_integration_test.go +0 -0
  51. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_sqlite.go +0 -0
  52. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/event_store_sqlite_test.go +0 -0
  53. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/events.go +0 -0
  54. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/http_app.go +0 -0
  55. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/http_app_test.go +0 -0
  56. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/http_openapi_test.go +0 -0
  57. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/http_security.go +0 -0
  58. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/http_security_test.go +0 -0
  59. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/migrate_main.go +0 -0
  60. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/migrate_main_test.go +0 -0
  61. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/migrations_embed.go +0 -0
  62. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/migrations_keep +0 -0
  63. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/oidc_keycloak.go +0 -0
  64. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/oidc_keycloak_test.go +0 -0
  65. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/openapi.yaml +0 -0
  66. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/projections.go +0 -0
  67. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/projections_test.go +0 -0
  68. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/projections_ticker.go +0 -0
  69. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/projections_ticker_test.go +0 -0
  70. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/read_models.go +0 -0
  71. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/serve_main.go +0 -0
  72. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/tracing.go +0 -0
  73. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/tracing_test.go +0 -0
  74. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/users_oidc_keycloak.go +0 -0
  75. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/go/users_oidc_keycloak_test.go +0 -0
  76. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/actor.java +0 -0
  77. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/append_result.java +0 -0
  78. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/causation_id.java +0 -0
  79. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/checkpoint_store_memory.java +0 -0
  80. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/checkpoint_store_postgres.java +0 -0
  81. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/checkpoint_store_sqlite.java +0 -0
  82. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/committed_event.java +0 -0
  83. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/condition.java +0 -0
  84. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/conditional_append_result.java +0 -0
  85. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/correlation_id.java +0 -0
  86. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/database_url.java +0 -0
  87. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/domain_event.java +0 -0
  88. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store.java +0 -0
  89. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store_exception.java +0 -0
  90. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store_memory.java +0 -0
  91. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store_memory_database.java +0 -0
  92. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store_postgres.java +0 -0
  93. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_store_sqlite.java +0 -0
  94. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/event_visitor.java +0 -0
  95. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/http_schema_failure.java +0 -0
  96. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/migrate_main.java +0 -0
  97. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/oidc_keycloak.java +0 -0
  98. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/projection.java +0 -0
  99. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/projections.java +0 -0
  100. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/read_models.java +0 -0
  101. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tag_query.java +0 -0
  102. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tagged_read.java +0 -0
  103. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tags_of.java +0 -0
  104. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/checkpoint_store_contract.java +0 -0
  105. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/checkpoint_store_memory_test.java +0 -0
  106. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/checkpoint_store_sqlite_test.java +0 -0
  107. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/database_url_test.java +0 -0
  108. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/event_store_contract.java +0 -0
  109. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/event_store_memory_test.java +0 -0
  110. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/event_store_sqlite_test.java +0 -0
  111. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/oidc_keycloak_test.java +0 -0
  112. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/projections_test.java +0 -0
  113. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/tests/users_oidc_keycloak_test.java +0 -0
  114. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/transactions.java +0 -0
  115. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java/users_oidc_keycloak.java +0 -0
  116. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/config_source_registration +0 -0
  117. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/database_url_config_source.java +0 -0
  118. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/http_flags_resource.java +0 -0
  119. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/http_health_check.java +0 -0
  120. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/http_not_found_mapper.java +0 -0
  121. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/jta_transactions.java +0 -0
  122. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/oidc_keycloak_augmentor.java +0 -0
  123. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/scheduled_projections.java +0 -0
  124. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/tests/checkpoint_store_postgres_it.java +0 -0
  125. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/tests/event_store_postgres_it.java +0 -0
  126. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/tests/http_app_test.java +0 -0
  127. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-quarkus/users_current_customer.java +0 -0
  128. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/database_url_environment_post_processor.java +0 -0
  129. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/environment_post_processor_registration +0 -0
  130. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/http_flags_controller.java +0 -0
  131. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/http_health_indicator.java +0 -0
  132. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/http_not_found_advice.java +0 -0
  133. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/oidc_keycloak_security.java +0 -0
  134. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/scheduled_projections.java +0 -0
  135. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/spring_transactions.java +0 -0
  136. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/tests/checkpoint_store_postgres_it.java +0 -0
  137. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/tests/event_store_postgres_it.java +0 -0
  138. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/tests/http_app_test.java +0 -0
  139. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/java-spring/users_security.java +0 -0
  140. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/keycloak/README.md +0 -0
  141. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/keycloak/realms/app.json +0 -0
  142. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/keycloak/realms/customers.json +0 -0
  143. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/prune.py +0 -0
  144. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/checkpoint_store_memory.py +0 -0
  145. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/checkpoint_store_postgres.py +0 -0
  146. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/checkpoint_store_sqlite.py +0 -0
  147. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/event_store_memory.py +0 -0
  148. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/event_store_postgres.py +0 -0
  149. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/event_store_sqlite.py +0 -0
  150. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/events.py +0 -0
  151. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/http_app.py +0 -0
  152. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/logging_setup.py +0 -0
  153. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/main.py +0 -0
  154. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/migrations_apply.py +0 -0
  155. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/oidc_keycloak.py +0 -0
  156. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/openapi-flags.json +0 -0
  157. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/openapi.json +0 -0
  158. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/openapi_export.py +0 -0
  159. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/projections.py +0 -0
  160. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/projections_lifespan.py +0 -0
  161. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/read_models.py +0 -0
  162. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/settings.py +0 -0
  163. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/checkpoint_store_contract.py +0 -0
  164. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/conftest.py +0 -0
  165. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/event_store_contract.py +0 -0
  166. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_checkpoint_store_memory.py +0 -0
  167. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_checkpoint_store_postgres.py +0 -0
  168. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_checkpoint_store_sqlite.py +0 -0
  169. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_event_store_memory.py +0 -0
  170. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_event_store_postgres.py +0 -0
  171. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_event_store_sqlite.py +0 -0
  172. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_http_app.py +0 -0
  173. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_logging_setup.py +0 -0
  174. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_oidc_keycloak.py +0 -0
  175. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_projections.py +0 -0
  176. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_projections_lifespan.py +0 -0
  177. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_settings.py +0 -0
  178. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_tracing.py +0 -0
  179. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tests/test_users_oidc_keycloak.py +0 -0
  180. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/tracing.py +0 -0
  181. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/python/users_oidc_keycloak.py +0 -0
  182. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/sql/001_events.sql +0 -0
  183. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/sql/002_events_append_only.sql +0 -0
  184. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/sql/003_projection_checkpoints.sql +0 -0
  185. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/sql/004_event_tags.sql +0 -0
  186. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/checkpoint-store-memory.ts +0 -0
  187. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/checkpoint-store-postgres.ts +0 -0
  188. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/checkpoint-store-sqlite.ts +0 -0
  189. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/config.ts +0 -0
  190. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/event-store-memory.ts +0 -0
  191. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/event-store-postgres.ts +0 -0
  192. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/event-store-sqlite.ts +0 -0
  193. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/events.ts +0 -0
  194. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/http-app.ts +0 -0
  195. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/main.ts +0 -0
  196. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/migrations/001_events.js +0 -0
  197. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/migrations/002_events_append_only.js +0 -0
  198. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/migrations/003_projection_checkpoints.js +0 -0
  199. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/migrations/004_event_tags.js +0 -0
  200. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/oidc-keycloak.ts +0 -0
  201. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/openapi-export.ts +0 -0
  202. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/openapi-flags.json +0 -0
  203. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/openapi.json +0 -0
  204. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/projections-plugin.ts +0 -0
  205. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/projections.ts +0 -0
  206. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/read-models.ts +0 -0
  207. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/checkpoint-store-contract.ts +0 -0
  208. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/checkpoint-store-memory.test.ts +0 -0
  209. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/checkpoint-store-postgres.test.ts +0 -0
  210. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/checkpoint-store-sqlite.test.ts +0 -0
  211. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/event-store-contract.ts +0 -0
  212. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/event-store-memory.test.ts +0 -0
  213. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/event-store-postgres.test.ts +0 -0
  214. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/event-store-sqlite.test.ts +0 -0
  215. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/http-app.test.ts +0 -0
  216. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/oidc-keycloak.test.ts +0 -0
  217. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/projections-plugin.test.ts +0 -0
  218. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/projections.test.ts +0 -0
  219. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/tracing.test.ts +0 -0
  220. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tests/users-oidc-keycloak.test.ts +0 -0
  221. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/tracing.ts +0 -0
  222. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/users-oidc-keycloak.ts +0 -0
  223. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/backing-services/typescript/vitest.integration.config.ts +0 -0
  224. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/api-client/package.json +0 -0
  225. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/api-client/src/index.ts +0 -0
  226. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/index.html +0 -0
  227. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/package.json +0 -0
  228. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/src/App.tsx +0 -0
  229. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/src/main.tsx +0 -0
  230. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/src/styles/base.css +0 -0
  231. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/src/styles/tokens.css +0 -0
  232. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/tests/App.test.tsx +0 -0
  233. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/tests/setup.ts +0 -0
  234. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/tsconfig.json +0 -0
  235. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app/vite.config.ts +0 -0
  236. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-flags-local/flags.test.ts +0 -0
  237. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-flags-local/flags.ts +0 -0
  238. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-flags-target/flags.test.ts +0 -0
  239. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-flags-target/flags.ts +0 -0
  240. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-route-client/Home.test.tsx +0 -0
  241. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-route-client/Home.tsx +0 -0
  242. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-route-plain/Home.test.tsx +0 -0
  243. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/app-route-plain/Home.tsx +0 -0
  244. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/features/users-keycloak/src/auth/Account.tsx +0 -0
  245. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/features/users-keycloak/src/auth/users.tsx +0 -0
  246. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/features/users-keycloak/tests/auth/Account.test.tsx +0 -0
  247. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/features/users-keycloak/tests/auth/users.test.ts +0 -0
  248. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/frontend-only-users-keycloak.json +0 -0
  249. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/frontend-only.json +0 -0
  250. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres-users-keycloak.json +0 -0
  251. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres.json +0 -0
  252. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-fastify-users-keycloak.json +0 -0
  253. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-fastify.json +0 -0
  254. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-postgres-users-keycloak.json +0 -0
  255. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-postgres.json +0 -0
  256. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend-users-keycloak.json +0 -0
  257. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/frontends/react-vite/locks/typescript-backend.json +0 -0
  258. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/app/.gremlins.yaml +0 -0
  259. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/app/application/README.md +0 -0
  260. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/app/domain/README.md +0 -0
  261. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/app/health/health.go +0 -0
  262. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/app/health/health_test.go +0 -0
  263. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/event-port/application/ports/events/events.go +0 -0
  264. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/event-port/application/ports/events/events_test.go +0 -0
  265. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  266. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  267. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  268. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  269. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  270. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/branded-id-types.md +0 -0
  271. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/create-child-through-root.md +0 -0
  272. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/decider-pattern-order.md +0 -0
  273. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  274. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  275. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  276. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  277. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  278. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  279. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  280. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  281. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  282. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  283. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  284. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  285. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  286. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  287. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/money-value-object-factory.md +0 -0
  288. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  289. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  290. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  291. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  292. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  293. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  294. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  295. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  296. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/pledge-result-types.md +0 -0
  297. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  298. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  299. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  300. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  301. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  302. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/specification-can-pledge.md +0 -0
  303. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/test-decide-order-events.md +0 -0
  304. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  305. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  306. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  307. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  308. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  309. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  310. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  311. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  312. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  313. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  314. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/balance-view-projection.md +0 -0
  315. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  316. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/command-handler-loop.md +0 -0
  317. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  318. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/decide-withdraw-example.md +0 -0
  319. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  320. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  321. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/decider-type.md +0 -0
  322. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/decision-result-type.md +0 -0
  323. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  324. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/event-envelope-type.md +0 -0
  325. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/event-store-port-interface.md +0 -0
  326. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/event-store-port.md +0 -0
  327. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  328. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  329. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  330. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  331. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  332. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  333. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/order-placed-upcaster.md +0 -0
  334. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  335. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  336. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  337. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/todo-list-claiming.md +0 -0
  338. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  339. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  340. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  341. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  342. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  343. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  344. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  345. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  346. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  347. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  348. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  349. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  350. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  351. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  352. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  353. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  354. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  355. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  356. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  357. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  358. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  359. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  360. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  361. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  362. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  363. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  364. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  365. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  366. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  367. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  368. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  369. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  370. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  371. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  372. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  373. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  374. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  375. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  376. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  377. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  378. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  379. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  380. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  381. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  382. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  383. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  384. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/correct-complete-factory-object.md +0 -0
  385. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/correct-fresh-state-per-test.md +0 -0
  386. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/correct-import-real-schema.md +0 -0
  387. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  388. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/correct-testing-behavior-public-api.md +0 -0
  389. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  390. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  391. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  392. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  393. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  394. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  395. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  396. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  397. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/factory-basic-pattern.md +0 -0
  398. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/factory-complete-example.md +0 -0
  399. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/factory-composition.md +0 -0
  400. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/reach-validation-through-behavior.md +0 -0
  401. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  402. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/wrong-incomplete-factory-object.md +0 -0
  403. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  404. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  405. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/examples/testing/wrong-testing-implementation-detail.md +0 -0
  406. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/flags/flags/flags.go +0 -0
  407. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/flags/flags/flags_test.go +0 -0
  408. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/base/go.mod +0 -0
  409. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/base/go.sum +0 -0
  410. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/postgres/go.mod +0 -0
  411. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/postgres/go.sum +0 -0
  412. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/sqlite/go.mod +0 -0
  413. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/modules/sqlite/go.sum +0 -0
  414. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/scripts/go-coverage.py +0 -0
  415. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/go/scripts/go-mutation.py +0 -0
  416. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/.gitattributes +0 -0
  417. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/.mvn/wrapper/maven-wrapper.properties +0 -0
  418. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/config/checkstyle.xml +0 -0
  419. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/config/pmd-ruleset.xml +0 -0
  420. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/config/spotbugs-exclude.xml +0 -0
  421. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/mvnw +0 -0
  422. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/build/mvnw.cmd +0 -0
  423. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  424. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  425. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  426. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  427. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  428. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/branded-id-types.md +0 -0
  429. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/create-child-through-root.md +0 -0
  430. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/decider-pattern-order.md +0 -0
  431. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  432. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  433. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  434. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  435. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  436. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  437. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  438. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  439. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  440. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  441. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  442. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  443. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  444. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  445. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/money-value-object-factory.md +0 -0
  446. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  447. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  448. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  449. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  450. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  451. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  452. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  453. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  454. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/pledge-result-types.md +0 -0
  455. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  456. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  457. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  458. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  459. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  460. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/specification-can-pledge.md +0 -0
  461. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/test-decide-order-events.md +0 -0
  462. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  463. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  464. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  465. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  466. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  467. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  468. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  469. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  470. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  471. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  472. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/balance-view-projection.md +0 -0
  473. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  474. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/command-handler-loop.md +0 -0
  475. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  476. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/decide-withdraw-example.md +0 -0
  477. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  478. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  479. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/decider-type.md +0 -0
  480. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/decision-result-type.md +0 -0
  481. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  482. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/event-envelope-type.md +0 -0
  483. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/event-store-port-interface.md +0 -0
  484. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/event-store-port.md +0 -0
  485. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  486. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  487. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  488. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  489. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  490. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  491. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/order-placed-upcaster.md +0 -0
  492. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  493. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  494. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  495. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/todo-list-claiming.md +0 -0
  496. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  497. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  498. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  499. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  500. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  501. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  502. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  503. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  504. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  505. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  506. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  507. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  508. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  509. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  510. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  511. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  512. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  513. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  514. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  515. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  516. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  517. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  518. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  519. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  520. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  521. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  522. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  523. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  524. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  525. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  526. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  527. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  528. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  529. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  530. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  531. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  532. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  533. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  534. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  535. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  536. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  537. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  538. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  539. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  540. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  541. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  542. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/correct-complete-factory-object.md +0 -0
  543. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/correct-fresh-state-per-test.md +0 -0
  544. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/correct-import-real-schema.md +0 -0
  545. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  546. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/correct-testing-behavior-public-api.md +0 -0
  547. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  548. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  549. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  550. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  551. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  552. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  553. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  554. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  555. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/factory-basic-pattern.md +0 -0
  556. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/factory-complete-example.md +0 -0
  557. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/factory-composition.md +0 -0
  558. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/reach-validation-through-behavior.md +0 -0
  559. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  560. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/wrong-incomplete-factory-object.md +0 -0
  561. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  562. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  563. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/examples/testing/wrong-testing-implementation-detail.md +0 -0
  564. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/flags/src/main/java/com/example/deliverystarter/flags/Flags.java +0 -0
  565. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java/flags/src/test/java/com/example/deliverystarter/flags/FlagsTest.java +0 -0
  566. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/pom.xml +0 -0
  567. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
  568. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
  569. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
  570. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/src/main/resources/application.properties +0 -0
  571. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-quarkus/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
  572. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/pom.xml +0 -0
  573. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/ServiceApplication.java +0 -0
  574. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
  575. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
  576. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
  577. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/main/resources/application.properties +0 -0
  578. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/java-spring/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
  579. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/app/pyproject.toml +0 -0
  580. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/app/src/delivery_starter/__init__.py +0 -0
  581. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/app/src/delivery_starter/application/README.md +0 -0
  582. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/app/src/delivery_starter/domain/README.md +0 -0
  583. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/app/tests/test_health.py +0 -0
  584. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/event-port/src/delivery_starter/application/ports/events.py +0 -0
  585. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/event-port/tests/test_events.py +0 -0
  586. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  587. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  588. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  589. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  590. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  591. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/branded-id-types.md +0 -0
  592. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/create-child-through-root.md +0 -0
  593. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/decider-pattern-order.md +0 -0
  594. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  595. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  596. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  597. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  598. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  599. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  600. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  601. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  602. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  603. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  604. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  605. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  606. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  607. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  608. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/money-value-object-factory.md +0 -0
  609. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  610. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  611. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  612. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  613. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  614. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  615. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  616. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  617. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/pledge-result-types.md +0 -0
  618. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  619. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  620. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  621. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  622. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  623. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/specification-can-pledge.md +0 -0
  624. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/test-decide-order-events.md +0 -0
  625. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  626. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  627. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  628. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  629. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  630. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  631. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  632. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  633. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  634. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  635. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/balance-view-projection.md +0 -0
  636. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  637. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/command-handler-loop.md +0 -0
  638. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  639. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/decide-withdraw-example.md +0 -0
  640. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  641. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  642. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/decider-type.md +0 -0
  643. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/decision-result-type.md +0 -0
  644. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  645. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/event-envelope-type.md +0 -0
  646. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/event-store-port-interface.md +0 -0
  647. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/event-store-port.md +0 -0
  648. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  649. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  650. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  651. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  652. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  653. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  654. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/order-placed-upcaster.md +0 -0
  655. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  656. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  657. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  658. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/todo-list-claiming.md +0 -0
  659. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  660. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  661. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  662. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  663. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  664. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  665. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  666. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  667. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  668. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  669. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  670. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  671. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  672. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  673. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  674. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  675. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  676. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  677. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  678. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  679. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  680. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  681. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  682. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  683. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  684. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  685. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  686. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  687. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  688. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  689. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  690. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  691. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  692. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  693. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  694. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  695. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  696. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  697. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  698. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  699. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  700. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  701. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  702. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  703. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  704. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  705. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/correct-complete-factory-object.md +0 -0
  706. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/correct-fresh-state-per-test.md +0 -0
  707. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/correct-import-real-schema.md +0 -0
  708. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  709. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/correct-testing-behavior-public-api.md +0 -0
  710. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  711. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  712. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  713. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  714. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  715. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  716. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  717. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  718. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/factory-basic-pattern.md +0 -0
  719. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/factory-complete-example.md +0 -0
  720. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/factory-composition.md +0 -0
  721. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/reach-validation-through-behavior.md +0 -0
  722. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  723. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/wrong-incomplete-factory-object.md +0 -0
  724. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  725. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  726. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/examples/testing/wrong-testing-implementation-detail.md +0 -0
  727. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/flags/src/delivery_starter/flags.py +0 -0
  728. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/flags/tests/test_flags.py +0 -0
  729. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/locks/uv-fastapi-postgres.lock +0 -0
  730. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/locks/uv-fastapi.lock +0 -0
  731. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/locks/uv-postgres.lock +0 -0
  732. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/python/locks/uv.lock +0 -0
  733. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/app/package.json +0 -0
  734. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/app/src/application/README.md +0 -0
  735. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/app/src/domain/README.md +0 -0
  736. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/app/src/health.ts +0 -0
  737. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/app/tests/health.test.ts +0 -0
  738. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/biome/biome.jsonc +0 -0
  739. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/biome/domain-purity.grit +0 -0
  740. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
  741. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
  742. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
  743. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
  744. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
  745. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/branded-id-types.md +0 -0
  746. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/create-child-through-root.md +0 -0
  747. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/decider-pattern-order.md +0 -0
  748. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
  749. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
  750. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
  751. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
  752. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
  753. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
  754. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/entity-rename-occasion.md +0 -0
  755. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
  756. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/exception-vs-result-type.md +0 -0
  757. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
  758. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
  759. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
  760. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/integration-test-order-repository.md +0 -0
  761. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
  762. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/money-value-object-factory.md +0 -0
  763. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
  764. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
  765. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/occasion-repository-interface.md +0 -0
  766. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
  767. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
  768. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
  769. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/order-lifecycle-union.md +0 -0
  770. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
  771. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/pledge-result-types.md +0 -0
  772. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
  773. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
  774. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
  775. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
  776. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
  777. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/specification-can-pledge.md +0 -0
  778. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/test-decide-order-events.md +0 -0
  779. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/test-error-funding-closed.md +0 -0
  780. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
  781. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
  782. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
  783. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
  784. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
  785. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
  786. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
  787. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/account-decider-and-evolve.md +0 -0
  788. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/balance-view-apply-fold.md +0 -0
  789. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/balance-view-projection.md +0 -0
  790. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
  791. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/command-handler-loop.md +0 -0
  792. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/command-handler-retry-loop.md +0 -0
  793. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/decide-withdraw-example.md +0 -0
  794. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/decider-behaviour-tests.md +0 -0
  795. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
  796. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/decider-type.md +0 -0
  797. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/decision-result-type.md +0 -0
  798. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
  799. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/event-envelope-type.md +0 -0
  800. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/event-store-port-interface.md +0 -0
  801. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/event-store-port.md +0 -0
  802. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
  803. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
  804. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
  805. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
  806. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
  807. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/live-view-bounded-fold.md +0 -0
  808. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/order-placed-upcaster.md +0 -0
  809. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/projection-behaviour-tests.md +0 -0
  810. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/rehydrate-left-fold.md +0 -0
  811. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
  812. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/todo-list-claiming.md +0 -0
  813. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
  814. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
  815. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
  816. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
  817. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
  818. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
  819. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
  820. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
  821. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
  822. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
  823. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
  824. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
  825. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
  826. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
  827. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
  828. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
  829. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
  830. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
  831. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
  832. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
  833. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
  834. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
  835. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
  836. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
  837. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
  838. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
  839. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
  840. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
  841. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
  842. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
  843. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
  844. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
  845. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
  846. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
  847. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
  848. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
  849. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
  850. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
  851. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
  852. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
  853. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
  854. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
  855. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
  856. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
  857. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
  858. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
  859. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/correct-complete-factory-object.md +0 -0
  860. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/correct-fresh-state-per-test.md +0 -0
  861. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/correct-import-real-schema.md +0 -0
  862. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/correct-inline-tested-through-behavior.md +0 -0
  863. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/correct-testing-behavior-public-api.md +0 -0
  864. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
  865. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
  866. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
  867. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
  868. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
  869. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
  870. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
  871. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
  872. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/factory-basic-pattern.md +0 -0
  873. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/factory-complete-example.md +0 -0
  874. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/factory-composition.md +0 -0
  875. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/reach-validation-through-behavior.md +0 -0
  876. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
  877. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/wrong-incomplete-factory-object.md +0 -0
  878. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/wrong-redefine-schema-in-test.md +0 -0
  879. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/wrong-shared-mutable-fixture.md +0 -0
  880. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/examples/testing/wrong-testing-implementation-detail.md +0 -0
  881. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/flags/src/flags.ts +0 -0
  882. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/flags/tests/flags.test.ts +0 -0
  883. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/locks/package-lock-fastify-postgres.json +0 -0
  884. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/locks/package-lock-fastify.json +0 -0
  885. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/locks/package-lock-postgres.json +0 -0
  886. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/languages/typescript/locks/package-lock.json +0 -0
  887. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/.specify/presets/.registry +0 -0
  888. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/.specify/presets/event-modelling/preset.yml +0 -0
  889. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/constitution-template.md +0 -0
  890. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/plan-template.md +0 -0
  891. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/tasks-template.md +0 -0
  892. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/commands/example-map.md +0 -0
  893. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/commands/validate-code-against-model.md +0 -0
  894. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/event-modelling/docs/speckit-preset.md +0 -0
  895. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/.specify/presets/.registry +0 -0
  896. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/.specify/presets/standard/preset.yml +0 -0
  897. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/.specify/presets/standard/templates/constitution-template.md +0 -0
  898. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/docs/adr/0001-record-architecture-decisions.md +0 -0
  899. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/docs/speckit-preset.md +0 -0
  900. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/skills/adversarial-testing/SKILL.md +0 -0
  901. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
  902. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/profiles/standard/skills/architecture-decisions/SKILL.md +0 -0
  903. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/README.md +0 -0
  904. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/bootstrap/main.tf +0 -0
  905. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/bootstrap/outputs.tf +0 -0
  906. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/bootstrap/variables.tf +0 -0
  907. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/scripts/bootstrap.py +0 -0
  908. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/scripts/check-flags.py +0 -0
  909. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/scripts/deploy.py +0 -0
  910. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/auth0.tf +0 -0
  911. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/cognito_customers.tf +0 -0
  912. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/cognito_staff.tf +0 -0
  913. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/flags.auto.tfvars +0 -0
  914. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/flags.tf +0 -0
  915. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/frontend.tf +0 -0
  916. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/ingress.tf +0 -0
  917. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/main.tf +0 -0
  918. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/network.tf +0 -0
  919. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/no-auth0.tf +0 -0
  920. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/no-frontend.tf +0 -0
  921. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/outputs.tf +0 -0
  922. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/production.tfvars +0 -0
  923. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/rds.tf +0 -0
  924. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/staging.tfvars +0 -0
  925. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/variables.tf +0 -0
  926. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/aws/service/versions.tf +0 -0
  927. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/README.md +0 -0
  928. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/bootstrap/main.tf +0 -0
  929. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/bootstrap/outputs.tf +0 -0
  930. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/bootstrap/variables.tf +0 -0
  931. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/scripts/bootstrap.py +0 -0
  932. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/scripts/check-flags.py +0 -0
  933. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/scripts/deploy.py +0 -0
  934. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/auth0.tf +0 -0
  935. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/entra_staff.tf +0 -0
  936. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/flags.auto.tfvars +0 -0
  937. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/flags.tf +0 -0
  938. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/frontend.tf +0 -0
  939. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/ingress.tf +0 -0
  940. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/main.tf +0 -0
  941. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/no-auth0.tf +0 -0
  942. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/no-frontend.tf +0 -0
  943. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/outputs.tf +0 -0
  944. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/postgres.tf +0 -0
  945. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/production.tfvars +0 -0
  946. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/staging.tfvars +0 -0
  947. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/variables.tf +0 -0
  948. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/targets/azure/service/versions.tf +0 -0
  949. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/.specify/extensions.yml +0 -0
  950. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/adr/0001-record-architecture-decisions.md +0 -0
  951. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/agent-harnesses.md +0 -0
  952. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/delegated-agent-safety.md +0 -0
  953. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/event-model/README.md +0 -0
  954. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/event-model/model.yaml +0 -0
  955. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/event-modeling-to-code.md +0 -0
  956. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/docs/first-slice.md +0 -0
  957. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/benchmark.py +0 -0
  958. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/drive.py +0 -0
  959. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/models.py +0 -0
  960. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/agents/project.py +0 -0
  961. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-codegraph.py +0 -0
  962. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-constitution.py +0 -0
  963. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-decisions.py +0 -0
  964. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-imports.py +0 -0
  965. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-migrations.py +0 -0
  966. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-slice-scope.py +0 -0
  967. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-speckit.py +0 -0
  968. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/check-styles.py +0 -0
  969. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/board-plan.test.ts +0 -0
  970. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/board-plan.ts +0 -0
  971. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/check.py +0 -0
  972. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/check.ts +0 -0
  973. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/drawio.test.ts +0 -0
  974. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/drawio.ts +0 -0
  975. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/example-model.ts +0 -0
  976. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/mermaid.ts +0 -0
  977. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/model.ts +0 -0
  978. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/package.json +0 -0
  979. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/page.ts +0 -0
  980. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/palette.ts +0 -0
  981. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/patch-mermaid-swimlanes.ts +0 -0
  982. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/readme.ts +0 -0
  983. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/render-drawio.ts +0 -0
  984. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/render.ts +0 -0
  985. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/requirements.txt +0 -0
  986. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/validate.ts +0 -0
  987. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/event-model/workspace.ts +0 -0
  988. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/codegraph/init.py +0 -0
  989. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/guidance.py +0 -0
  990. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/menu.py +0 -0
  991. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/project.py +0 -0
  992. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/extensions/uipro/init.py +0 -0
  993. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/scripts/test_benchmark.py +0 -0
  994. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/LICENSE +0 -0
  995. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/REFERENCES.md +0 -0
  996. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/acceptance-review/LICENSE +0 -0
  997. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/acceptance-review/SKILL.md +0 -0
  998. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/acceptance-review/agents/openai.yaml +0 -0
  999. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/acceptance-review/references/source-notes.md +0 -0
  1000. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/adversarial-testing/SKILL.md +0 -0
  1001. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
  1002. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/LICENSE +0 -0
  1003. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/SKILL.md +0 -0
  1004. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/api-evolution.md +0 -0
  1005. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/api-security.md +0 -0
  1006. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/auth-security.md +0 -0
  1007. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/http-fundamentals.md +0 -0
  1008. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/problem-details.md +0 -0
  1009. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/api-design/resources/source-notes.md +0 -0
  1010. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/architecture-decisions/SKILL.md +0 -0
  1011. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/SKILL.md +0 -0
  1012. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/agents/openai.yaml +0 -0
  1013. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/references/adoption-and-granularity.md +0 -0
  1014. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/references/aggregation-and-resilience.md +0 -0
  1015. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/references/alternatives.md +0 -0
  1016. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-design/references/upstream-identity.md +0 -0
  1017. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/SKILL.md +0 -0
  1018. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/agents/openai.yaml +0 -0
  1019. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/browser-session-coordination.md +0 -0
  1020. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/endpoint-protection.md +0 -0
  1021. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/enforcement-and-testing.md +0 -0
  1022. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/hexagonal-auth-boundaries.md +0 -0
  1023. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/hono-example.md +0 -0
  1024. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/bff-entry-points/references/realtime-entry-points.md +0 -0
  1025. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/characterisation-tests/SKILL.md +0 -0
  1026. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/characterisation-tests/resources/modern-tooling.md +0 -0
  1027. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/characterisation-tests/resources/writing-process.md +0 -0
  1028. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/ci-debugging/SKILL.md +0 -0
  1029. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/LICENSE +0 -0
  1030. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/SKILL.md +0 -0
  1031. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/resources/composability.md +0 -0
  1032. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/resources/output-architecture.md +0 -0
  1033. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/resources/source-notes.md +0 -0
  1034. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/resources/stream-contracts.md +0 -0
  1035. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/cli-design/resources/testing-cli.md +0 -0
  1036. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/LICENSE +0 -0
  1037. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/SKILL.md +0 -0
  1038. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/agents/openai.yaml +0 -0
  1039. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/references/deepening.md +0 -0
  1040. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/references/design-it-twice.md +0 -0
  1041. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/codebase-design/references/source-notes.md +0 -0
  1042. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/debugging/SKILL.md +0 -0
  1043. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/debugging/agents/openai.yaml +0 -0
  1044. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/debugging/references/source-notes.md +0 -0
  1045. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/diagrams/NOTICE +0 -0
  1046. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/diagrams/SKILL.md +0 -0
  1047. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/diagrams/references/source-notes.md +0 -0
  1048. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/SKILL.md +0 -0
  1049. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/aggregate-design.md +0 -0
  1050. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/bounded-contexts.md +0 -0
  1051. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/domain-events.md +0 -0
  1052. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/domain-services.md +0 -0
  1053. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/error-modeling.md +0 -0
  1054. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/modelling-process.md +0 -0
  1055. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/references.md +0 -0
  1056. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/domain-driven-design/resources/testing-by-layer.md +0 -0
  1057. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/double-check/SKILL.md +0 -0
  1058. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/double-check/resources/brief-template.md +0 -0
  1059. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/double-check/resources/providers.md +0 -0
  1060. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/evaluate-existing-solutions/SKILL.md +0 -0
  1061. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/evaluate-existing-solutions/agents/openai.yaml +0 -0
  1062. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/evaluate-existing-solutions/assets/solution-decision-template.md +0 -0
  1063. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/evaluate-existing-solutions/references/evaluation-dimensions.md +0 -0
  1064. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/evaluate-existing-solutions/references/evidence-and-currentness.md +0 -0
  1065. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-modeling/NOTICE +0 -0
  1066. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-modeling/SKILL.md +0 -0
  1067. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-modeling/references/gwt-template.md +0 -0
  1068. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-modeling/references/nine-steps.md +0 -0
  1069. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/SKILL.md +0 -0
  1070. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/decider-and-rehydration.md +0 -0
  1071. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/event-store.md +0 -0
  1072. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/event-versioning.md +0 -0
  1073. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/modelling-events.md +0 -0
  1074. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/production-concerns.md +0 -0
  1075. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/projections-and-read-models.md +0 -0
  1076. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/references.md +0 -0
  1077. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/testing-event-sourced-systems.md +0 -0
  1078. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/event-sourcing/resources/when-to-use-event-sourcing.md +0 -0
  1079. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/expectations/SKILL.md +0 -0
  1080. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/find-gaps/SKILL.md +0 -0
  1081. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/find-skills/LICENSE +0 -0
  1082. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/find-skills/SKILL.md +0 -0
  1083. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/find-skills/references/source-notes.md +0 -0
  1084. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/finding-seams/SKILL.md +0 -0
  1085. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/finding-seams/resources/creating-seams.md +0 -0
  1086. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/finding-seams/resources/oop-patterns.md +0 -0
  1087. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/finding-seams/resources/seam-types.md +0 -0
  1088. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/folder-structure/SKILL.md +0 -0
  1089. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/folder-structure/agents/openai.yaml +0 -0
  1090. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/front-end-testing/SKILL.md +0 -0
  1091. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/front-end-testing/resources/async-patterns.md +0 -0
  1092. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/front-end-testing/resources/dom-testing-library-legacy.md +0 -0
  1093. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/front-end-testing/resources/msw.md +0 -0
  1094. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/front-end-testing/resources/playwright-e2e.md +0 -0
  1095. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/frontend-design/LICENSE +0 -0
  1096. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/frontend-design/SKILL.md +0 -0
  1097. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/frontend-design/references/source-notes.md +0 -0
  1098. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/functional/SKILL.md +0 -0
  1099. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/functional/resources/composition-patterns.md +0 -0
  1100. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/functional/resources/immutability-catalog.md +0 -0
  1101. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/global-event-model/SKILL.md +0 -0
  1102. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/SKILL.md +0 -0
  1103. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/cqrs-lite.md +0 -0
  1104. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/cross-cutting-concerns.md +0 -0
  1105. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/greenfield-sequence.md +0 -0
  1106. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/incremental-adoption.md +0 -0
  1107. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/references.md +0 -0
  1108. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/testing-hex-arch.md +0 -0
  1109. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/hexagonal-architecture/resources/worked-example.md +0 -0
  1110. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/improve-codebase-architecture/LICENSE +0 -0
  1111. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/improve-codebase-architecture/SKILL.md +0 -0
  1112. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/improve-codebase-architecture/agents/openai.yaml +0 -0
  1113. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/improve-codebase-architecture/references/html-report.md +0 -0
  1114. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/improve-codebase-architecture/references/source-notes.md +0 -0
  1115. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/mutation-testing/SKILL.md +0 -0
  1116. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/mutation-testing/resources/mutator-rules.md +0 -0
  1117. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/observability/SKILL.md +0 -0
  1118. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/observability/resources/node-patterns.md +0 -0
  1119. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/observability/resources/references.md +0 -0
  1120. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/observability/resources/slo-alerting.md +0 -0
  1121. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/observability/resources/testing-telemetry.md +0 -0
  1122. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/planning/SKILL.md +0 -0
  1123. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/production-parity-skill-builder/SKILL.md +0 -0
  1124. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/production-parity-skill-builder/resources/generated-skill-template.md +0 -0
  1125. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/production-parity-skill-builder/resources/parity-surface-catalog.md +0 -0
  1126. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/production-parity-skill-builder/resources/question-patterns.md +0 -0
  1127. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/react-testing/SKILL.md +0 -0
  1128. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/react-testing/resources/testing-library-react-legacy.md +0 -0
  1129. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/reduce-system-complexity/LICENSE +0 -0
  1130. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/reduce-system-complexity/SKILL.md +0 -0
  1131. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/reduce-system-complexity/agents/openai.yaml +0 -0
  1132. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/reduce-system-complexity/references/ledger-template.md +0 -0
  1133. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/reduce-system-complexity/references/source-notes.md +0 -0
  1134. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/refactoring/SKILL.md +0 -0
  1135. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/SKILL.md +0 -0
  1136. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/agents/openai.yaml +0 -0
  1137. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/references/attack-and-test-catalog.md +0 -0
  1138. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/references/oidc-validation.md +0 -0
  1139. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/references/review-and-delivery.md +0 -0
  1140. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/references/rfc9700-control-catalog.md +0 -0
  1141. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/secure-oauth-oidc/references/standards-map.md +0 -0
  1142. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/specification/SKILL.md +0 -0
  1143. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/specification/resources/references.md +0 -0
  1144. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/specification/resources/spec-review-template.html +0 -0
  1145. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/stack-pull-requests/SKILL.md +0 -0
  1146. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/stack-pull-requests/agents/openai.yaml +0 -0
  1147. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/stack-pull-requests/references/source-notes.md +0 -0
  1148. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/story-splitting/SKILL.md +0 -0
  1149. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/story-splitting/resources/pattern-catalog.md +0 -0
  1150. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/story-splitting/resources/source-notes.md +0 -0
  1151. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/storyboard/SKILL.md +0 -0
  1152. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/SKILL.md +0 -0
  1153. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/agents/openai.yaml +0 -0
  1154. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/references/backend-patterns.md +0 -0
  1155. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/references/enforcement-and-migration.md +0 -0
  1156. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/references/frontend-patterns.md +0 -0
  1157. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/references/research-notes.md +0 -0
  1158. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/structure-codebase/references/visible-hexagon.md +0 -0
  1159. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/tdd/SKILL.md +0 -0
  1160. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/tdd/resources/vitest-watch-feedback.md +0 -0
  1161. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/SKILL.md +0 -0
  1162. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/resources/assessment-patterns.md +0 -0
  1163. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/resources/course-generation.md +0 -0
  1164. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/resources/html-lessons.md +0 -0
  1165. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/resources/learning-science.md +0 -0
  1166. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/teach-me/resources/session-management.md +0 -0
  1167. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/LICENSE +0 -0
  1168. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/SKILL.md +0 -0
  1169. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/agent-docs.md +0 -0
  1170. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/doc-types.md +0 -0
  1171. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/docs-quality.md +0 -0
  1172. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/formatting.md +0 -0
  1173. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/readme.md +0 -0
  1174. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/references.md +0 -0
  1175. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/technical-writing/resources/source-notes.md +0 -0
  1176. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/test-design-reviewer/SKILL.md +0 -0
  1177. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/test-design-reviewer/references/source-notes.md +0 -0
  1178. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/testing/SKILL.md +0 -0
  1179. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/twelve-factor/SKILL.md +0 -0
  1180. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/twelve-factor/resources/node-patterns.md +0 -0
  1181. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/typescript-strict/SKILL.md +0 -0
  1182. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/ubiquitous-language/SKILL.md +0 -0
  1183. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/ubiquitous-language/resources/glossary-format.md +0 -0
  1184. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/ubiquitous-language/resources/language-protocol.md +0 -0
  1185. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/web-interface-guidelines/LICENSE +0 -0
  1186. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/web-interface-guidelines/SKILL.md +0 -0
  1187. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/web-interface-guidelines/references/guidelines.md +0 -0
  1188. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/web-interface-guidelines/references/source-notes.md +0 -0
  1189. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/wtf/LICENSE +0 -0
  1190. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/wtf/SKILL.md +0 -0
  1191. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/wtf/agents/openai.yaml +0 -0
  1192. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/assets/toolkit/skills/wtf/references/source-notes.md +0 -0
  1193. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/catalog.json +0 -0
  1194. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/changelog.d/README.md +0 -0
  1195. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/changelog.d/slice-scope-record-and-canvas.md +0 -0
  1196. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/pyproject.toml +0 -0
  1197. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/__init__.py +0 -0
  1198. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/__main__.py +0 -0
  1199. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/add_service.py +0 -0
  1200. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/adopt.py +0 -0
  1201. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/adopt_report.py +0 -0
  1202. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/assets.py +0 -0
  1203. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/axes.py +0 -0
  1204. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/backends.py +0 -0
  1205. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/capabilities.py +0 -0
  1206. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/catalog.py +0 -0
  1207. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/catch_up.py +0 -0
  1208. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/changelog.py +0 -0
  1209. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/cli.py +0 -0
  1210. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/cli_add.py +0 -0
  1211. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/cli_adopt.py +0 -0
  1212. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/cli_prompts.py +0 -0
  1213. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/converge.py +0 -0
  1214. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/convergence.py +0 -0
  1215. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/delivery_facts.py +0 -0
  1216. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/ecosystems.py +0 -0
  1217. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/errors.py +0 -0
  1218. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/examples.py +0 -0
  1219. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/extensions.py +0 -0
  1220. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/features.py +0 -0
  1221. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/images.py +0 -0
  1222. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/layout.py +0 -0
  1223. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/manifest.py +0 -0
  1224. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/migrate.py +0 -0
  1225. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/naming.py +0 -0
  1226. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/origin.py +0 -0
  1227. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/platform.py +0 -0
  1228. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/preflight.py +0 -0
  1229. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/probes.py +0 -0
  1230. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/programme.py +0 -0
  1231. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/__init__.py +0 -0
  1232. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/add_commands.py +0 -0
  1233. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/adopted.py +0 -0
  1234. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/adopted_ci.py +0 -0
  1235. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/adopted_targets.py +0 -0
  1236. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/adversary.py +0 -0
  1237. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/agent_targets.py +0 -0
  1238. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/agents.py +0 -0
  1239. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/aws_docs.py +0 -0
  1240. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/azure_docs.py +0 -0
  1241. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/backing_service_prose.py +0 -0
  1242. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/backing_services.py +0 -0
  1243. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/benchmark.py +0 -0
  1244. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/biome.py +0 -0
  1245. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/ci_services.py +0 -0
  1246. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/ci_workflows.py +0 -0
  1247. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/compose.py +0 -0
  1248. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/composition.py +0 -0
  1249. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/constitution_journey.py +0 -0
  1250. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/converge_stage.py +0 -0
  1251. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/convergence_page.py +0 -0
  1252. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_hand.py +0 -0
  1253. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/cruise_stops.py +0 -0
  1254. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/decisions.py +0 -0
  1255. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/demo_stop.py +0 -0
  1256. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/deploy_workflow.py +0 -0
  1257. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/design_page.py +0 -0
  1258. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/docs.py +0 -0
  1259. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/docs_index.py +0 -0
  1260. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/drive_adoption.py +0 -0
  1261. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/drive_settings.py +0 -0
  1262. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/entry_stores.py +0 -0
  1263. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/event_model.py +0 -0
  1264. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/evolving.py +0 -0
  1265. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/existing.py +0 -0
  1266. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/flag_route.py +0 -0
  1267. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/flags.py +0 -0
  1268. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/frontend.py +0 -0
  1269. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/gitignore.py +0 -0
  1270. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/ground_command.py +0 -0
  1271. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/guidance.py +0 -0
  1272. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/infra.py +0 -0
  1273. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/init_production.py +0 -0
  1274. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/init_script.py +0 -0
  1275. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/integration.py +0 -0
  1276. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/__init__.py +0 -0
  1277. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/go.py +0 -0
  1278. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/java.py +0 -0
  1279. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/java_quarkus.py +0 -0
  1280. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/java_spring.py +0 -0
  1281. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/python.py +0 -0
  1282. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/languages/typescript.py +0 -0
  1283. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/makefile.py +0 -0
  1284. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/metadata.py +0 -0
  1285. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/model_targets.py +0 -0
  1286. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/model_to_code.py +0 -0
  1287. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/mutation.py +0 -0
  1288. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/native_commands.py +0 -0
  1289. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/openapi.py +0 -0
  1290. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/parallel_slices.py +0 -0
  1291. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/pin_commands.py +0 -0
  1292. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/pins.py +0 -0
  1293. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/production.py +0 -0
  1294. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/provisioning.py +0 -0
  1295. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/read_side_layouts.py +0 -0
  1296. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/readme.py +0 -0
  1297. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/renovate.py +0 -0
  1298. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/repository.py +0 -0
  1299. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/rules.py +0 -0
  1300. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/run_skill.py +0 -0
  1301. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/service_layouts.py +0 -0
  1302. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/shared_packages.py +0 -0
  1303. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/skills_page.py +0 -0
  1304. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/stage_models.py +0 -0
  1305. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/strangle_command.py +0 -0
  1306. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/structure_page.py +0 -0
  1307. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/project/target_docs.py +0 -0
  1308. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/quick_wins.py +0 -0
  1309. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/replay.py +0 -0
  1310. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/resurvey.py +0 -0
  1311. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/scaffold.py +0 -0
  1312. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/selection.py +0 -0
  1313. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/services.py +0 -0
  1314. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/strategy.py +0 -0
  1315. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/structure.py +0 -0
  1316. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/survey.py +0 -0
  1317. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/targets.py +0 -0
  1318. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/tooling.py +0 -0
  1319. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/toolkit.py +0 -0
  1320. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/upgrade.py +0 -0
  1321. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/versions.py +0 -0
  1322. {slipwai-1.2.1.dev5 → slipwai-1.2.1.dev11}/src/slipwai/wrappers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: slipwai
3
- Version: 1.2.1.dev5
3
+ Version: 1.2.1.dev11
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
@@ -244,6 +244,10 @@ changes. What changes is who answers.
244
244
  - **It never invents a fact.** A credential, an external system, a person's approval: the slice is marked
245
245
  blocked, the run takes the next ready slice, and a strong delegate works around the block — a fake behind
246
246
  the port, recorded as a fake, or the narrower reading that keeps every rule — and writes down what it did.
247
+ - **It never makes a gate pass by changing the gate.** `scripts/`, the `Makefile`, `tools/`, CI and the hook
248
+ settings are not an iteration's to edit: Claude Code refuses the edit before it lands, and the runner parks
249
+ the run on any change to them, on every harness. A gate the tree cannot satisfy parks the run with the
250
+ gate's own words as the reason.
247
251
  - **Every merge is dark.** Under the default release setting each slice ships behind a flag seeded off.
248
252
  Nothing the run merged reaches a real actor until you turn a key on.
249
253
  - **Done means the specification is satisfied.** When the split runs out, an audit reads the specification
@@ -256,6 +260,7 @@ changes. What changes is who answers.
256
260
  /cruise-settings enabled=true # switch it on; commits .specify/cruise.json
257
261
  /cruise use the PRD in docs/prd.md # start the runner, detached, and watch it from this session
258
262
  /cruise-status # is it running, how the last iteration ended, the feed's tail
263
+ /cruise-watch # sit back down at the watch seat, where the feed left off
259
264
  /cruise-tell take the payments feature next # queued for the next iteration; --now ends the one in flight
260
265
  /cruise-stop # end the run after the iteration in flight; `now` ends it now
261
266
  ```
@@ -313,8 +318,8 @@ the paths and toolchains named in them are real.
313
318
  |---|---|
314
319
  | `/drive` | Takes one slice from wherever it stands to a demo the actor can see |
315
320
  | `/cruise` | Runs `/drive` on its own, deciding as the product owner and demoing as the actor, until the specification is satisfied. Stops only for a person. `/cruise <kick-off>` gives the first iteration a brief; the session then watches the run and answers you |
316
- | `/whats-next` | Says what is next — one slice, one stage, one command. Reads the disk and changes nothing |
317
- | `/where-are-we` | Shows the progress board: what works, what is in progress, what is still to come |
321
+ | `/whats-next` | Says what is next — one slice, one stage, one command. Reads the disk and changes nothing; beside a running `/cruise`, says what the runner is on instead |
322
+ | `/where-are-we` | Shows the progress board: what works, what is in progress, what is still to come; beside a running `/cruise`, the next row is the runner's |
318
323
  | `/gaps` | Reviews an artifact for holes, before they become rewritten tests |
319
324
  | `/example-map` | *Event profile.* Turns one slice of the event model into rules, examples and executable scenarios |
320
325
  | `/validate-code-against-model` | *Event profile.* Checks that the code and the event model still agree |
@@ -331,6 +336,7 @@ the paths and toolchains named in them are real.
331
336
  | `/cruise-status` | Says whether a `/cruise` runner is running, how its last iteration ended, and shows the tail of its feed |
332
337
  | `/cruise-stop` | Ends a `/cruise` run after the iteration in flight, or at once with `now` |
333
338
  | `/cruise-tell` | Queues a message for a running `/cruise`, which the next iteration carries; `--now` ends the iteration in flight for it |
339
+ | `/cruise-watch` | Takes the watch seat beside a running `/cruise`: prints the feed as it is written and watches again, starting nothing |
334
340
 
335
341
  [The delivery loop](docs/delivery-loop.md) describes each one in full, and the ladder they sit on.
336
342
 
@@ -215,6 +215,10 @@ changes. What changes is who answers.
215
215
  - **It never invents a fact.** A credential, an external system, a person's approval: the slice is marked
216
216
  blocked, the run takes the next ready slice, and a strong delegate works around the block — a fake behind
217
217
  the port, recorded as a fake, or the narrower reading that keeps every rule — and writes down what it did.
218
+ - **It never makes a gate pass by changing the gate.** `scripts/`, the `Makefile`, `tools/`, CI and the hook
219
+ settings are not an iteration's to edit: Claude Code refuses the edit before it lands, and the runner parks
220
+ the run on any change to them, on every harness. A gate the tree cannot satisfy parks the run with the
221
+ gate's own words as the reason.
218
222
  - **Every merge is dark.** Under the default release setting each slice ships behind a flag seeded off.
219
223
  Nothing the run merged reaches a real actor until you turn a key on.
220
224
  - **Done means the specification is satisfied.** When the split runs out, an audit reads the specification
@@ -227,6 +231,7 @@ changes. What changes is who answers.
227
231
  /cruise-settings enabled=true # switch it on; commits .specify/cruise.json
228
232
  /cruise use the PRD in docs/prd.md # start the runner, detached, and watch it from this session
229
233
  /cruise-status # is it running, how the last iteration ended, the feed's tail
234
+ /cruise-watch # sit back down at the watch seat, where the feed left off
230
235
  /cruise-tell take the payments feature next # queued for the next iteration; --now ends the one in flight
231
236
  /cruise-stop # end the run after the iteration in flight; `now` ends it now
232
237
  ```
@@ -284,8 +289,8 @@ the paths and toolchains named in them are real.
284
289
  |---|---|
285
290
  | `/drive` | Takes one slice from wherever it stands to a demo the actor can see |
286
291
  | `/cruise` | Runs `/drive` on its own, deciding as the product owner and demoing as the actor, until the specification is satisfied. Stops only for a person. `/cruise <kick-off>` gives the first iteration a brief; the session then watches the run and answers you |
287
- | `/whats-next` | Says what is next — one slice, one stage, one command. Reads the disk and changes nothing |
288
- | `/where-are-we` | Shows the progress board: what works, what is in progress, what is still to come |
292
+ | `/whats-next` | Says what is next — one slice, one stage, one command. Reads the disk and changes nothing; beside a running `/cruise`, says what the runner is on instead |
293
+ | `/where-are-we` | Shows the progress board: what works, what is in progress, what is still to come; beside a running `/cruise`, the next row is the runner's |
289
294
  | `/gaps` | Reviews an artifact for holes, before they become rewritten tests |
290
295
  | `/example-map` | *Event profile.* Turns one slice of the event model into rules, examples and executable scenarios |
291
296
  | `/validate-code-against-model` | *Event profile.* Checks that the code and the event model still agree |
@@ -302,6 +307,7 @@ the paths and toolchains named in them are real.
302
307
  | `/cruise-status` | Says whether a `/cruise` runner is running, how its last iteration ended, and shows the tail of its feed |
303
308
  | `/cruise-stop` | Ends a `/cruise` run after the iteration in flight, or at once with `now` |
304
309
  | `/cruise-tell` | Queues a message for a running `/cruise`, which the next iteration carries; `--now` ends the iteration in flight for it |
310
+ | `/cruise-watch` | Takes the watch seat beside a running `/cruise`: prints the feed as it is written and watches again, starting nothing |
305
311
 
306
312
  [The delivery loop](docs/delivery-loop.md) describes each one in full, and the ladder they sit on.
307
313
 
@@ -0,0 +1 @@
1
+ 1.2.1.dev11
@@ -129,8 +129,26 @@ WATCH_QUIET_SECONDS = 20.0
129
129
  # checkpoint at every stage boundary, so a checkpoint held this often without a rewrite is a session that is
130
130
  # not moving, and a hook that never let go would spend tokens forever on it.
131
131
  HOLD_LIMIT = 3
132
+ # How long `stop --now` waits for the runner it signalled to be gone before it returns: the runner ends the
133
+ # iteration's session first, and a harness session shutting down takes a moment.
134
+ STOP_WAIT_SECONDS = 30.0
132
135
  REGISTRY = SCRIPT.with_name("registry.json")
133
136
  INTEGRATION = ROOT / ".specify/integration.json"
137
+ # What a run may never change to get moving — the gates that judge it and the controls that hold it: `make
138
+ # verify`'s scripts and everything beside them, the Makefile that runs them, the tools they run (`tools/`, ignored by
139
+ # Git and installed by an extension), CI, and the hook files the harnesses read this script from. A gate is
140
+ # satisfied in the tree it measures; an iteration that changed one of these instead has the run parked with the
141
+ # change as the reason (`controls_changed` on its log entry), and Claude Code's `PreToolUse` hook (`guard`) refuses
142
+ # the edit before it lands. Under `tools/` a file added is an install, which `./init --extension` does; a file
143
+ # changed or removed is an edit.
144
+ CONTROL_PATHS = (DELIVERY / "Makefile", DELIVERY / "scripts", ROOT / "Makefile", ROOT / "tools",
145
+ ROOT / ".github/workflows", ROOT / ".gitea/workflows", ROOT / ".claude/settings.json")
146
+ INSTALLED = ROOT / "tools"
147
+ SKIPPED_DIRECTORIES = {".git", "__pycache__", "node_modules"}
148
+ GUARD_REASON = ("cruise: `{path}` is a gate or a control of this run, and an iteration never edits one — a gate is "
149
+ "satisfied in the tree it measures, or the run parks with the gate's own output as the reason "
150
+ "(`cruise: parked: <gate>: <what it said>`). The bosun's brief and commands/cruise.md, *Blocked: the "
151
+ "bosun protocol*, say so; the runner parks the run at the end of an iteration that changed one anyway.")
134
152
  # Every setting: the values it takes — a tuple of words, or a kind — its default, and what it controls. The
135
153
  # factory writes the same list into `.specify/cruise.json` and `commands/cruise-settings.md`.
136
154
  CHOICES: dict[str, tuple[str, ...]] = {
@@ -488,6 +506,82 @@ def child_environment(harness: dict[str, Any] | None) -> dict[str, str]:
488
506
  return environment
489
507
 
490
508
 
509
+ def control_paths() -> list[Path]:
510
+ """Every gate and control the run is held by, present or not: the fixed ones, and the hook file of every harness
511
+ whose registry row projects one."""
512
+ paths = list(CONTROL_PATHS)
513
+ for row in registry().values():
514
+ projection = (row.get("hooks") or {}).get("projection") if isinstance(row.get("hooks"), dict) else None
515
+ if isinstance(projection, dict) and projection.get("where"):
516
+ paths.append(ROOT / str(projection["where"]))
517
+ return list(dict.fromkeys(paths))
518
+
519
+
520
+ def controls_signature() -> dict[str, str]:
521
+ """Every file under the controls by its content, taken before an iteration and compared after it."""
522
+ signature: dict[str, str] = {}
523
+ for control in control_paths():
524
+ if control.is_file():
525
+ files = [control]
526
+ elif control.is_dir():
527
+ files = []
528
+ for directory, names, filenames in os.walk(control):
529
+ names[:] = sorted(name for name in names if name not in SKIPPED_DIRECTORIES)
530
+ files += [Path(directory) / name for name in sorted(filenames)]
531
+ else:
532
+ continue
533
+ for path in files:
534
+ try:
535
+ if path.is_file():
536
+ signature[path.relative_to(ROOT).as_posix()] = hashlib.sha256(path.read_bytes()).hexdigest()
537
+ except OSError:
538
+ continue
539
+ return signature
540
+
541
+
542
+ def controls_changed(before: dict[str, str], after: dict[str, str]) -> list[str]:
543
+ """What an iteration did to the controls, each with its kind — except a file installed under `tools/`."""
544
+ installed = INSTALLED.relative_to(ROOT).as_posix() + "/"
545
+ changes = []
546
+ for path in sorted(set(before) | set(after)):
547
+ if path in before and path in after:
548
+ if before[path] != after[path]:
549
+ changes.append(f"{path} (modified)")
550
+ elif path in before:
551
+ changes.append(f"{path} (deleted)")
552
+ elif not path.startswith(installed):
553
+ changes.append(f"{path} (added)")
554
+ return changes
555
+
556
+
557
+ def guard() -> None:
558
+ """Claude Code's `PreToolUse` hook on the editing tools — Edit, Write, MultiEdit, NotebookEdit: in a session the
559
+ runner started, refuse an edit to a gate or a control before it lands, with the reason on stderr and exit 2,
560
+ which is how that harness reads a refusal (a 2.1.281 print session, probed 2026-09-24: the tool result carries
561
+ the reason, the model reads it, the file is not written). Outside a runner's iteration the hook does nothing, so
562
+ a person's `/drive` session edits what it likes. The shell is not covered here — a command can write anything —
563
+ which is why the runner compares the controls after every iteration too."""
564
+ if not os.environ.get(RUNNER_VARIABLE):
565
+ return
566
+ event = read_event()
567
+ given = event.get("tool_input") if isinstance(event.get("tool_input"), dict) else {}
568
+ target = given.get("file_path") or given.get("notebook_path")
569
+ if not target:
570
+ return
571
+ path = Path(str(target))
572
+ if not path.is_absolute():
573
+ path = Path(str(event.get("cwd") or ROOT)) / path
574
+ path = path.resolve()
575
+ for control in control_paths():
576
+ if path == control or control in path.parents:
577
+ try:
578
+ shown = path.relative_to(ROOT).as_posix()
579
+ except ValueError:
580
+ shown = str(path)
581
+ print(GUARD_REASON.format(path=shown), file=sys.stderr)
582
+ raise SystemExit(2)
583
+
584
+
491
585
  def stream_of(harness: dict[str, Any] | None) -> str | None:
492
586
  """Which event stream the harness's headless command emits, for the feed: `CRUISE_HARNESS_STREAM` where set
493
587
  (a rehearsal against a fake harness), else the headless row's `stream`, else none — plain text, echoed."""
@@ -1135,6 +1229,7 @@ def drive(table: dict[str, Any], harness: dict[str, Any] | None, template: str,
1135
1229
  INTERRUPTED = False
1136
1230
  print(f"cruise: iteration {iteration} started {started}, running `{ask}`", flush=True)
1137
1231
  began = time.monotonic()
1232
+ controls_before = controls_signature()
1138
1233
  # The model flag is read with the settings, so `/cruise-settings model=…` holds from the next iteration.
1139
1234
  last = iterate(template + model_flags(harness, table["model"]), ask, environment, iteration, stream)
1140
1235
  if INTERRUPTED:
@@ -1151,6 +1246,9 @@ def drive(table: dict[str, Any], harness: dict[str, Any] | None, template: str,
1151
1246
  "last_line": last or "no last line", "fingerprint": seen}
1152
1247
  if attempt is not None:
1153
1248
  entry["attempt"] = attempt
1249
+ changed = controls_changed(controls_before, controls_signature())
1250
+ if changed:
1251
+ entry["controls_changed"] = changed
1154
1252
  given = delivered()
1155
1253
  if given:
1156
1254
  entry["told"] = [str(each["text"]) for each in given]
@@ -1164,6 +1262,13 @@ def drive(table: dict[str, Any], harness: dict[str, Any] | None, template: str,
1164
1262
  # The boundary `watch` returns on: the iteration, what it ended on, and how long it took.
1165
1263
  print(f"cruise: iteration {iteration} ended — {last or 'no last line'} ({duration(time.monotonic() - began)})",
1166
1264
  flush=True)
1265
+ if changed:
1266
+ # A gate made to pass is no pass, whatever the last line says: the run parks on the change itself, and a
1267
+ # person reverts it, or keeps it on purpose and resumes with a message.
1268
+ park(f"iteration {iteration} changed a gate or a control of the run — {', '.join(changed)} — and a gate "
1269
+ "is satisfied in the tree it measures, never edited; revert the change, or keep it on purpose and "
1270
+ "resume with a message", no_park, poll, seen)
1271
+ continue
1167
1272
  if INTERRUPTED:
1168
1273
  # Ended for a message, not by its own last line: the next iteration is where the message goes, and it
1169
1274
  # starts now — there is nothing to park on and nothing to count.
@@ -1376,6 +1481,18 @@ def stop(arguments: list[str]) -> None:
1376
1481
  return
1377
1482
  if "--now" in arguments:
1378
1483
  os.kill(running[0], signal.SIGTERM)
1484
+ # Said once it has ended, not once it was told to. The runner ends the iteration's session before it goes,
1485
+ # and a `start` typed the moment this returned found the old runner still alive and declined to start one
1486
+ # — after which nobody was running, and the watch seat found nobody to watch.
1487
+ for _ in range(int(STOP_WAIT_SECONDS / 0.05)):
1488
+ if running_pid() is None:
1489
+ break
1490
+ time.sleep(0.05)
1491
+ else:
1492
+ print(f"cruise: {relative(STOP)} written and the runner (pid {running[0]}) told to end; it is still ending "
1493
+ f"the iteration in flight after {STOP_WAIT_SECONDS:g}s — `python3 scripts/agents/cruise.py status` "
1494
+ "says when it has gone")
1495
+ return
1379
1496
  print(f"cruise: {relative(STOP)} written and the runner (pid {running[0]}) terminated with the iteration "
1380
1497
  "in flight; its increment commits are on the slice branch, and the next run re-derives from disk")
1381
1498
  return
@@ -1524,8 +1641,63 @@ def status() -> None:
1524
1641
  print(line)
1525
1642
 
1526
1643
 
1644
+ def checkpoint_fields() -> dict[str, str]:
1645
+ """The checkpoint's labelled fields — Feature, Slice, Stage, Written, Delegates out, Open question, Next — as
1646
+ the command writes them (`CHECKPOINT_ENTRY`), or nothing where no checkpoint is written."""
1647
+ if not CHECKPOINT.is_file():
1648
+ return {}
1649
+ fields: dict[str, str] = {}
1650
+ label: str | None = None
1651
+ for line in CHECKPOINT.read_text().splitlines():
1652
+ found = re.findall(r"\*\*([A-Za-z ]+):\*\* (.*?)(?= · \*\*|$)", line)
1653
+ if found:
1654
+ for label, value in found:
1655
+ fields[label] = value.strip()
1656
+ elif label is not None and line.startswith(" ") and label in ("Delegates out", "Open question", "Next"):
1657
+ fields[label] = f"{fields[label]} {line.strip()}"
1658
+ return fields
1659
+
1660
+
1661
+ def where() -> None:
1662
+ """Where a run stands, for `/where-are-we` and `/whats-next` typed beside it — and nothing at all where no runner
1663
+ is running, so that both commands answer exactly as they do without `/cruise`. With a runner alive: the run,
1664
+ the iteration in flight or the park it waits in, the checkpoint's slice, stage and next step, and what a
1665
+ person can do from here, which is never to run a stage themselves."""
1666
+ running = running_pid()
1667
+ if running is None:
1668
+ return
1669
+ log = entries()
1670
+ tail = RUN_LOG.read_text(errors="replace").rstrip().splitlines()[-2:] if RUN_LOG.is_file() else []
1671
+ parked = next((line.removeprefix("cruise: parked — ") for line in tail if line.startswith("cruise: parked — ")),
1672
+ None) if tail and tail[-1].startswith("cruise: waiting;") else None
1673
+ print(f"cruise: a run is going here — runner pid {running[0]} since {running[1]}, {len(log)} iteration(s) logged, "
1674
+ + (f"parked after iteration {len(log)}" if parked else f"iteration {len(log) + 1} in flight"))
1675
+ fields = checkpoint_fields()
1676
+ if fields:
1677
+ print(f"cruise: feature {fields.get('Feature', '?')} · slice {fields.get('Slice', '?')} · stage "
1678
+ f"{fields.get('Stage', '?')} · checkpoint written {fields.get('Written', '?')}")
1679
+ for label in ("Open question", "Delegates out"):
1680
+ if fields.get(label) and fields[label].lower() != "none":
1681
+ print(f"cruise: {label.lower()} — {fields[label]}")
1682
+ print(f"cruise: next — {fields.get('Next', '(the checkpoint names no next step)')}")
1683
+ else:
1684
+ print("cruise: no checkpoint written yet — the iteration has not reached its first stage boundary")
1685
+ if parked:
1686
+ print(f"cruise: parked — {parked}")
1687
+ print("cruise: nothing to run from here — a person provides what the park names; `/cruise-tell` with it resumes "
1688
+ "the run, `/cruise-stop` ends it")
1689
+ else:
1690
+ print("cruise: nothing to run from here — the runner is on it; `/cruise` watches it, `/cruise-tell` steers it, "
1691
+ "`/cruise-stop` ends it")
1692
+
1693
+
1527
1694
  def main() -> None:
1528
1695
  arguments = sys.argv[1:]
1696
+ if arguments[:1] == ["where"]:
1697
+ # Before the settings check: a project with no `/cruise` settings has no run, and the commands that ask
1698
+ # this read silence as "answer as without /cruise".
1699
+ where()
1700
+ return
1529
1701
  if not CONFIG.is_file():
1530
1702
  print(ABSENT)
1531
1703
  return
@@ -1533,7 +1705,7 @@ def main() -> None:
1533
1705
  "watch": lambda: watch(arguments[1:]), "stop": lambda: stop(arguments[1:]), "status": status,
1534
1706
  "tell": lambda: tell(arguments[1:]), "told": told,
1535
1707
  "denials": denials, "resume": resume, "compacting": compacting, "loop": loop, "stopping": stopping,
1536
- "responded": responded}
1708
+ "responded": responded, "guard": guard}
1537
1709
  if arguments and arguments[0] in verbs:
1538
1710
  verbs[arguments[0]]()
1539
1711
  return
@@ -216,7 +216,7 @@
216
216
  },
217
217
  "hooks": {
218
218
  "holds": true,
219
- "how": "`Stop` runs when the model tries to end its turn; a hook printing {\"decision\": \"block\", \"reason\": \"...\"} refuses the end and the reason is read next; the event carries `last_assistant_message` and `transcript_path`. Hooks run in `-p` sessions. Source: the installed Claude Code 2.1.278's hook events and the Stop hook decision it acted on during /cruise runs, read 2026-09-22.",
219
+ "how": "`Stop` runs when the model tries to end its turn; a hook printing {\"decision\": \"block\", \"reason\": \"...\"} refuses the end and the reason is read next; the event carries `last_assistant_message` and `transcript_path`. Hooks run in `-p` sessions. Source: the installed Claude Code 2.1.278's hook events and the Stop hook decision it acted on during /cruise runs, read 2026-09-22. `PreToolUse` runs before a tool call, with `tool_name` and `tool_input` (`file_path` for Edit, Write and MultiEdit, `notebook_path` for NotebookEdit) in the event; a hook command that exits 2 refuses the call, its stderr is the tool's result the model reads, and the refusal is listed under `permission_denials` in the final `result` event — from a 2.1.281 print session under `acceptEdits --allowedTools Bash` in an untrusted workspace, where the project's `.claude/settings.json` hook still ran with the runner's environment variables inherited, probed 2026-09-24; `scripts/agents/cruise.py guard` runs there.",
220
220
  "projection": null,
221
221
  "why": "the factory writes `.claude/settings.json` itself, hooks included (Stop, PreCompact, SessionStart); Grok Build reads that file too"
222
222
  },
@@ -0,0 +1,245 @@
1
+ #!/usr/bin/env python3
2
+ """Run the adopted UX gates over every browser app, and fail when one of them does.
3
+
4
+ The gates are plugin87's ux-ui-agent-skills kit, installed under `tools/ux-gates/` by `./init --extension
5
+ ux-gates`. Two kinds run here. The file gate always: `lint_hardcodes.py` over each browser app's `src/`,
6
+ which fails on a literal colour, pixel size or duration that is not a token — the rule `docs/design.md`
7
+ states, measured. The render gates when they can: over every `*.html` under each browser app's `screens/`,
8
+ in a real headless browser, contrast in light and dark across default, hover and focus, visible focus,
9
+ target size, overflow at phone widths, and axe. Which browser is asked once, before any of them runs: the
10
+ kit launches Chrome (`channel: 'chrome'`), and in 2.8.0 two of its scripts — `verify_responsive.mjs` and
11
+ `verify_target_size.mjs` — crash where Chrome is not installed instead of falling back to Playwright's own
12
+ Chromium the way the other three do. So where Chrome is absent and that Chromium opens, every render gate
13
+ runs with a Node preload that retries a launch without the channel; where no browser opens, or Playwright
14
+ is not resolvable, the render gates are reported as skipped, never as passed, and a gate that still could
15
+ not open a browser is reported the same way rather than as a failure.
16
+
17
+ Three states are not failures, and each is said out loud. Not adopted: the extension is optional, and a
18
+ project that never asked for it has nothing to run. Adopted but not installed here: `tools/ux-gates/` is
19
+ ignored by Git, so a fresh clone or a CI runner has the election and not the kit — reported as skipped,
20
+ or as a failure when `UX_GATES_REQUIRE=1`, which is what to set wherever the kit is expected. No browser
21
+ app: nothing to measure.
22
+
23
+ Standard library only, like every gate script here; the kit's scripts are run as subprocesses.
24
+ """
25
+ from __future__ import annotations
26
+
27
+ import json
28
+ import os
29
+ import shutil
30
+ import subprocess
31
+ import sys
32
+ import tempfile
33
+ from pathlib import Path
34
+
35
+ KEY = "ux-gates"
36
+ KIT = "tools/ux-gates"
37
+ # Directory-wide render gates, then per-file ones; each with the flags that make light and dark both count.
38
+ DIRECTORY_GATES = (
39
+ ("verify_responsive.mjs", ()),
40
+ ("verify_target_size.mjs", ()),
41
+ ("measure_render.mjs", ()),
42
+ ("measure_render.mjs", ("--dark",)),
43
+ )
44
+ FILE_GATES = (
45
+ ("axe_audit.mjs", ()),
46
+ ("axe_audit.mjs", ("--dark",)),
47
+ ("verify_states.mjs", ()),
48
+ ("verify_states.mjs", ("--dark",)),
49
+ )
50
+ # Which browser the kit's scripts can open, Playwright resolved from the kit's directory the way its scripts resolve
51
+ # it from `scripts/` beneath — the same `node_modules` chain — and answered in one word: `chrome` (the channel the kit asks for), `bundled` (Playwright's own Chromium, which
52
+ # `npx playwright install chromium` puts in place), `none`, or `no-playwright`.
53
+ PROBE = """
54
+ let chromium;
55
+ try { ({ chromium } = await import("playwright")); }
56
+ catch { console.log("no-playwright"); process.exit(0); }
57
+ if (!chromium) { console.log("no-playwright"); process.exit(0); }
58
+ for (const [word, options] of [["chrome", { channel: "chrome" }], ["bundled", {}]]) {
59
+ try { const browser = await chromium.launch(options); await browser.close(); console.log(word); process.exit(0); }
60
+ catch {}
61
+ }
62
+ console.log("none");
63
+ """
64
+ # What every render gate is started with where only the bundled Chromium opens: the same Playwright the kit imports,
65
+ # its `chromium.launch` retried without the channel when the channel is what failed. A CommonJS preload runs before
66
+ # an ES module entry, and the kit's `import('playwright')` returns the same object this patched.
67
+ PRELOAD = """
68
+ const { createRequire } = require("node:module");
69
+ const playwright = createRequire({scripts})("playwright");
70
+ const launch = playwright.chromium.launch.bind(playwright.chromium);
71
+ playwright.chromium.launch = async (options = {}) => {
72
+ try { return await launch(options); }
73
+ catch (error) {
74
+ if (!options.channel) throw error;
75
+ const { channel, ...rest } = options;
76
+ return launch(rest);
77
+ }
78
+ };
79
+ """
80
+ # The words Playwright's launch failure carries, on stderr, when a kit script could not open a browser.
81
+ LAUNCH_FAILED = "browserType.launch"
82
+
83
+
84
+ def project_root(script: Path, depth: int) -> Path:
85
+ """The nearest parent holding `project.json`, with a source-tree fallback."""
86
+ for candidate in script.parents:
87
+ if (candidate / "project.json").is_file():
88
+ return candidate
89
+ return script.parents[depth]
90
+
91
+
92
+ ROOT = project_root(Path(__file__).resolve(), 1)
93
+
94
+
95
+ def adopted() -> bool:
96
+ """Elected in the committed record, or marked in `AGENTS.md` by a project older than the record."""
97
+ record = ROOT / ".slipwai/extensions.json"
98
+ if record.is_file():
99
+ try:
100
+ document = json.loads(record.read_text())
101
+ except ValueError:
102
+ document = {}
103
+ if KEY in (document.get("extensions") or []):
104
+ return True
105
+ agents = ROOT / "AGENTS.md"
106
+ return agents.is_file() and f"<!-- extension:{KEY}:begin -->" in agents.read_text()
107
+
108
+
109
+ def browser_apps() -> list[Path]:
110
+ manifest = ROOT / "project.json"
111
+ if not manifest.is_file():
112
+ return []
113
+ deployables = json.loads(manifest.read_text()).get("deployables")
114
+ if not isinstance(deployables, dict):
115
+ return []
116
+ return [
117
+ ROOT / str(deployable["path"])
118
+ for deployable in deployables.values()
119
+ if isinstance(deployable, dict)
120
+ and "frontend" in deployable.get("capabilities", [])
121
+ and (ROOT / str(deployable.get("path", ""))).is_dir()
122
+ ]
123
+
124
+
125
+ def say(line: str) -> None:
126
+ """Flushed, so this script's lines land in order with the kit's, which write straight to the terminal."""
127
+ print(line, flush=True)
128
+
129
+
130
+ def browser() -> str:
131
+ """Which browser the render gates can open, asked once: `chrome`, `bundled`, `none` or `no-playwright`. A probe
132
+ that could not answer — node failing before the question — is `none`, with what it said on stderr."""
133
+ completed = subprocess.run(["node", "--input-type=module", "-e", PROBE], cwd=ROOT / KIT, check=False,
134
+ text=True, capture_output=True)
135
+ word = completed.stdout.strip().splitlines()[-1] if completed.stdout.strip() else ""
136
+ if completed.returncode == 0 and word in ("chrome", "bundled", "none", "no-playwright"):
137
+ return word
138
+ sys.stderr.write(completed.stderr)
139
+ return "none"
140
+
141
+
142
+ def run(script: str, *arguments: str, preload: Path | None = None) -> str:
143
+ """One kit script, from the kit's own directory so its relative imports resolve, started with the preload where
144
+ one is given. Its output is passed through, and the verdict is one of three words: `passed`, `failed`, or
145
+ `skipped` — the kit's own word when a gate could not open a browser, which exits 0 upstream and is refused as
146
+ a pass here, or a launch failure on stderr, which is the same fact told as a crash."""
147
+ kit = ROOT / KIT
148
+ interpreter = [sys.executable] if script.endswith(".py") else ["node"]
149
+ if preload is not None and script.endswith(".mjs"):
150
+ interpreter += ["--require", str(preload)]
151
+ environment = dict(os.environ)
152
+ if environment.get("UX_GATES_REQUIRE") == "1":
153
+ environment["DS_REQUIRE_BROWSER"] = "1" # the kit's own switch for the same demand
154
+ completed = subprocess.run(
155
+ [*interpreter, str(kit / "scripts" / script), *arguments],
156
+ cwd=kit, env=environment, check=False, text=True, capture_output=True,
157
+ )
158
+ sys.stdout.write(completed.stdout)
159
+ sys.stderr.write(completed.stderr)
160
+ sys.stdout.flush()
161
+ if completed.returncode != 0 and LAUNCH_FAILED in completed.stderr:
162
+ say(f"check-ux-gates: {script} could not open a browser — SKIPPED, not passed")
163
+ return "skipped"
164
+ if completed.returncode != 0:
165
+ return "failed"
166
+ return "skipped" if "SKIPPED" in completed.stdout else "passed"
167
+
168
+
169
+ def render_gates(app: Path, screens: list[Path], opened: str, preload: Path | None) -> tuple[list[str], int]:
170
+ """Every render gate over one app's previews, or all of them counted as skipped where no browser opens."""
171
+ relative = app.relative_to(ROOT).as_posix()
172
+ gates = [(script, flags, str(app / "screens")) for script, flags in DIRECTORY_GATES]
173
+ gates += [(script, flags, str(screen)) for screen in screens for script, flags in FILE_GATES]
174
+ if opened in ("none", "no-playwright"):
175
+ why = ("playwright is not resolvable from the kit" if opened == "no-playwright"
176
+ else "no browser opens — neither Chrome nor Playwright's Chromium (`npx playwright install chromium`)")
177
+ say(f"check-ux-gates: {relative}/screens/ — {why}; {len(gates)} render gate(s) SKIPPED, not passed")
178
+ return [], len(gates)
179
+ say(f"check-ux-gates: {relative}/screens/ — {len(screens)} preview(s) through the render gates"
180
+ + (" on Playwright's Chromium, Chrome not being installed" if opened == "bundled" else ""))
181
+ failures, skipped = [], 0
182
+ for script, flags, target in gates:
183
+ verdict = run(script, target, *flags, preload=preload)
184
+ if verdict == "failed":
185
+ failures.append(f"{Path(target).relative_to(ROOT).as_posix()}: {script} {' '.join(flags)}".rstrip())
186
+ elif verdict == "skipped":
187
+ skipped += 1
188
+ return failures, skipped
189
+
190
+
191
+ def main() -> int:
192
+ if not adopted():
193
+ say("check-ux-gates: not adopted (./init --extension ux-gates); nothing to check")
194
+ return 0
195
+ kit = ROOT / KIT
196
+ required = os.environ.get("UX_GATES_REQUIRE") == "1"
197
+ if not (kit / "scripts/lint_hardcodes.py").is_file():
198
+ say(
199
+ f"check-ux-gates: adopted, but {KIT}/ is not installed in this checkout — "
200
+ + ("REQUIRED, FAILING" if required else "SKIPPED, not passed")
201
+ + "; `./init --extension ux-gates` installs it"
202
+ )
203
+ return 1 if required else 0
204
+ apps = browser_apps()
205
+ if not apps:
206
+ say("check-ux-gates: no browser app to measure")
207
+ return 0
208
+ failures: list[str] = []
209
+ skipped = 0
210
+ opened: str | None = None # asked the first time a preview needs a browser, and once
211
+ with tempfile.TemporaryDirectory() as scratch:
212
+ preload = Path(scratch) / "preload.cjs"
213
+ preload.write_text(PRELOAD.replace("{scripts}", json.dumps(str(kit / "scripts/preload.cjs"))))
214
+ for app in apps:
215
+ relative = app.relative_to(ROOT).as_posix()
216
+ source = app / "src"
217
+ if source.is_dir():
218
+ say(f"check-ux-gates: {relative}/src — literal values outside the tokens")
219
+ if run("lint_hardcodes.py", str(source)) == "failed":
220
+ failures.append(f"{relative}/src carries literal values the tokens should own")
221
+ screens = sorted((app / "screens").glob("*.html")) if (app / "screens").is_dir() else []
222
+ if not screens:
223
+ say(f"check-ux-gates: {relative}/screens/ has no previews; the render gates have nothing to open")
224
+ continue
225
+ if shutil.which("node") is None:
226
+ say(f"check-ux-gates: {relative}/screens/ — node not found, render gates SKIPPED, not passed")
227
+ skipped += len(DIRECTORY_GATES) + len(FILE_GATES) * len(screens)
228
+ continue
229
+ opened = browser() if opened is None else opened
230
+ failed, unopened = render_gates(app, screens, opened, preload if opened == "bundled" else None)
231
+ failures += failed
232
+ skipped += unopened
233
+ if failures:
234
+ say("check-ux-gates: FAILED\n - " + "\n - ".join(failures))
235
+ return 1
236
+ if skipped:
237
+ say(f"check-ux-gates: passed where a gate could run; {skipped} render gate(s) SKIPPED, not passed — "
238
+ "each says above what it could not open")
239
+ return 1 if required else 0
240
+ say("check-ux-gates: every gate passed")
241
+ return 0
242
+
243
+
244
+ if __name__ == "__main__":
245
+ raise SystemExit(main())
@@ -54,12 +54,15 @@ the gates in it that are objective: a screen either passes or it does not.
54
54
  - **Always:** `{KIT_DIR}/scripts/lint_hardcodes.py` over each browser app's `src/`. A literal colour,
55
55
  pixel size or duration outside `tokens.css` fails the build; it is the rule `docs/design.md` already
56
56
  states, now measured. A justified exception carries a `ds-allow-hardcode` comment on its line.
57
- - **Where a browser is present** (`node`, and `playwright` resolvable from the project root): the render
58
- gates over every `*.html` under each browser app's `screens/` — contrast in light and dark across
59
- default, hover and focus states, visible focus, target size, no overflow at 280/320/414px, and axe. A
60
- screen preview under `screens/` is what puts a screen under those gates; the live routes are not
61
- rendered, because the gates read files and the app needs its API. With no browser the render gates are
62
- reported as skipped, never as passed.
57
+ - **Where a browser is present** (`node`, `playwright` resolvable from the project root, and Chrome or
58
+ Playwright's own Chromium — `npx playwright install chromium`): the render gates over every `*.html`
59
+ under each browser app's `screens/` — contrast in light and dark across default, hover and focus states,
60
+ visible focus, target size, no overflow at 280/320/414px, and axe. A screen preview under `screens/` is
61
+ what puts a screen under those gates; the live routes are not rendered, because the gates read files and
62
+ the app needs its API. With no browser the render gates are reported as skipped, never as passed, and the
63
+ gate says which browser it ran on. A gate that fails or crashes is never made to pass by editing
64
+ `scripts/check-ux-gates.py` or anything under `{KIT_DIR}/`: fix the screen, install the browser, or
65
+ report the gate's own words.
63
66
 
64
67
  **Run `make check-ux-gates` before the demo stop of any slice with a screen**, and fix what it finds
65
68
  rather than carrying it as a note. For the judgement the gates cannot make, the kit's checklists are files:
@@ -0,0 +1,42 @@
1
+ PATCH
2
+
3
+ **A `/cruise` run can no longer make a gate pass by changing the gate.** A run met `check-ux-gates` failing
4
+ because two of the kit's scripts crash where Chrome is not installed, and the bosun patched
5
+ `scripts/check-ux-gates.py` to report that as skipped, committed it, and went on. Its brief now forbids
6
+ touching anything under `scripts/`, the `Makefile`, anything under `tools/`, CI or a harness's hook settings,
7
+ and says what a gate the tree cannot satisfy becomes: a park with the gate's own words as the reason. The rule
8
+ is held in two places rather than said louder. `.claude/settings.json` runs `scripts/agents/cruise.py guard`
9
+ as Claude Code's `PreToolUse` hook on every editing tool, and in a session the runner started it refuses an
10
+ edit to any of those paths before it lands. And the runner takes the content of every gate and control before
11
+ each iteration and compares it after, on every harness: a file modified, deleted or added — a file installed
12
+ under `tools/` excepted — parks the run at once, names the files on the log entry as `controls_changed`, and
13
+ counts the iteration's last line for nothing. A person's own session meets neither.
14
+
15
+ **`check-ux-gates` runs on Playwright's own Chromium where Chrome is not installed, and never reports a
16
+ crash as a pass or a failure.** The gate now asks once which browser Playwright can open — Chrome, its bundled
17
+ Chromium, or neither — and where only the bundled one opens, starts every render gate with a Node preload that
18
+ retries the kit's `channel: 'chrome'` launch without the channel, so `verify_responsive.mjs` and
19
+ `verify_target_size.mjs` run there like the kit's other three. Where no browser opens, or Playwright is not
20
+ resolvable, the render gates are counted skipped without running one, and a gate that still fails on its launch
21
+ is reported skipped rather than as a finding; `UX_GATES_REQUIRE=1` still makes every skip a failure.
22
+
23
+ **`stop --now` returns once the runner has gone, not once it was told to go.** The runner ends the iteration's
24
+ session before it exits, which takes a moment, and a `start` typed the moment `stop --now` returned found the old
25
+ runner still alive and declined to start one — after which nobody was running and the watch seat found nobody to
26
+ watch. It now waits for the runner to be gone, up to thirty seconds, and says so if it is still ending after that.
27
+
28
+ **`/where-are-we` and `/whats-next` answer beside a running `/cruise`.** Both used to answer as if the person's
29
+ session were about to take the next slice — "Run: /drive S13" while the runner was on S13. Each now runs
30
+ `scripts/agents/cruise.py where` first, a read that prints the runner's iteration, the checkpoint's slice, stage
31
+ and next step, and a park's reason, and puts those lines in the reply; the step for a person is then the runner's,
32
+ with `/cruise`, `/cruise-tell` and `/cruise-stop` as what they can do. Where no runner is running the verb prints
33
+ nothing and both commands answer exactly as before, so nothing changes outside a run.
34
+
35
+ **`/cruise-watch` takes the watch seat on its own.** `/cruise-status` reads once and stops, and a session that
36
+ typed it to answer a question had left the seat; the way back was `/cruise`, which reads as starting a run.
37
+ `/cruise-watch` sits back down where the feed left off and starts nothing, with the seat's rules — its words
38
+ and `commands/cruise.md`'s are one text — and `make cruise-watch` stays the same seat from a terminal.
39
+
40
+ **Catch-up.** `slipwai migrate` brings the hook, the runner, the gate and the command text. A run that already
41
+ carries a patched gate is found by `git log -- scripts/` and reverted by hand; the runner parks on the next
42
+ change, not on the standing one.