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