slipwai 1.2.0.dev35__tar.gz → 1.2.0.dev44__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.
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/PKG-INFO +1 -1
- slipwai-1.2.0.dev44/VERSION +1 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/benchmark.py +274 -30
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/cruise.py +137 -37
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/registry.json +13 -9
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-decisions.py +46 -5
- slipwai-1.2.0.dev44/changelog.d/benchmark-brackets.md +24 -0
- slipwai-1.2.0.dev44/changelog.d/cruise-sweep.md +33 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/agent_targets.py +2 -2
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/benchmark.py +8 -1
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/commands.py +2 -1
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise.py +26 -25
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise_agents.py +7 -3
- slipwai-1.2.0.dev44/src/slipwai/project/cruise_hand.py +43 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise_stops.py +4 -1
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/decisions.py +2 -1
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/docs.py +2 -1
- slipwai-1.2.0.dev35/VERSION +0 -1
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/.gitignore +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/CHANGELOG.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/NOTICE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/docs/change-strategy.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/scripts/check-convergence.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/scripts/ratchet.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/support.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/wrappers/gradle/gradle-wrapper.jar.base64 +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/wrappers/gradle/gradle-wrapper.properties +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/wrappers/gradle/gradlew +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/wrappers/gradle/gradlew.bat +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/adoption/wrappers/gradle/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/docker-compose.yml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/env.example +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_contract.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_memory.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_memory_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_postgres.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_postgres_integration_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_sqlite.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/checkpoint_store_sqlite_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/config.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/config_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_contract.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_memory.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_memory_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_postgres.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_postgres_integration_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_sqlite.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/event_store_sqlite_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/events.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/http_app.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/http_app_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/http_openapi_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/http_security.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/http_security_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/migrate_main.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/migrate_main_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/migrations_embed.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/migrations_keep +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/oidc_keycloak.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/oidc_keycloak_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/openapi.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/projections.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/projections_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/projections_ticker.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/projections_ticker_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/read_models.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/serve_main.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/tracing.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/tracing_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/users_oidc_keycloak.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/go/users_oidc_keycloak_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/actor.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/append_result.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/causation_id.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/checkpoint_store_memory.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/checkpoint_store_postgres.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/checkpoint_store_sqlite.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/committed_event.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/condition.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/conditional_append_result.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/correlation_id.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/database_url.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/domain_event.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store_exception.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store_memory.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store_memory_database.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store_postgres.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_store_sqlite.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/event_visitor.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/http_schema_failure.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/migrate_main.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/oidc_keycloak.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/projection.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/projections.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/read_models.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tag_query.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tagged_read.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tags_of.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/checkpoint_store_contract.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/checkpoint_store_memory_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/checkpoint_store_sqlite_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/database_url_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/event_store_contract.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/event_store_memory_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/event_store_sqlite_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/oidc_keycloak_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/projections_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/tests/users_oidc_keycloak_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/transactions.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java/users_oidc_keycloak.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/config_source_registration +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/database_url_config_source.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/http_flags_resource.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/http_health_check.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/http_not_found_mapper.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/jta_transactions.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/oidc_keycloak_augmentor.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/scheduled_projections.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/tests/checkpoint_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/tests/event_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/tests/http_app_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-quarkus/users_current_customer.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/database_url_environment_post_processor.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/environment_post_processor_registration +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/http_flags_controller.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/http_health_indicator.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/http_not_found_advice.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/oidc_keycloak_security.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/scheduled_projections.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/spring_transactions.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/tests/checkpoint_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/tests/event_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/tests/http_app_test.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/java-spring/users_security.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/keycloak/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/keycloak/realms/app.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/keycloak/realms/customers.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/prune.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/checkpoint_store_memory.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/checkpoint_store_postgres.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/checkpoint_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/event_store_memory.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/event_store_postgres.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/event_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/events.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/http_app.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/logging_setup.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/main.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/migrations_apply.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/openapi-flags.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/openapi.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/openapi_export.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/projections.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/projections_lifespan.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/read_models.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/settings.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/checkpoint_store_contract.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/conftest.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/event_store_contract.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_checkpoint_store_memory.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_checkpoint_store_postgres.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_checkpoint_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_event_store_memory.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_event_store_postgres.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_event_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_http_app.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_logging_setup.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_projections.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_projections_lifespan.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_settings.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_tracing.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tests/test_users_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/tracing.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/python/users_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/sql/001_events.sql +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/sql/002_events_append_only.sql +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/sql/003_projection_checkpoints.sql +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/sql/004_event_tags.sql +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/checkpoint-store-memory.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/checkpoint-store-postgres.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/checkpoint-store-sqlite.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/config.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/event-store-memory.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/event-store-postgres.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/event-store-sqlite.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/events.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/http-app.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/main.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/migrations/001_events.js +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/migrations/002_events_append_only.js +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/migrations/003_projection_checkpoints.js +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/migrations/004_event_tags.js +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/oidc-keycloak.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/openapi-export.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/openapi-flags.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/openapi.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/projections-plugin.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/projections.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/read-models.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/checkpoint-store-contract.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/checkpoint-store-memory.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/checkpoint-store-postgres.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/checkpoint-store-sqlite.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/event-store-contract.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/event-store-memory.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/event-store-postgres.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/event-store-sqlite.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/http-app.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/oidc-keycloak.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/projections-plugin.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/projections.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/tracing.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tests/users-oidc-keycloak.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/tracing.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/users-oidc-keycloak.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/backing-services/typescript/vitest.integration.config.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/api-client/package.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/api-client/src/index.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/index.html +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/package.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/src/App.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/src/main.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/src/styles/base.css +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/src/styles/tokens.css +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/tests/App.test.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/tests/setup.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/tsconfig.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app/vite.config.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-flags-local/flags.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-flags-local/flags.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-flags-target/flags.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-flags-target/flags.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-route-client/Home.test.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-route-client/Home.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-route-plain/Home.test.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/app-route-plain/Home.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/features/users-keycloak/src/auth/Account.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/features/users-keycloak/src/auth/users.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/features/users-keycloak/tests/auth/Account.test.tsx +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/features/users-keycloak/tests/auth/users.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/frontend-only-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/frontend-only.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-fastify-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-fastify.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-postgres-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-postgres.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/frontends/react-vite/locks/typescript-backend.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/app/.gremlins.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/app/application/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/app/domain/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/app/health/health.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/app/health/health_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/event-port/application/ports/events/events.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/event-port/application/ports/events/events_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/flags/flags/flags.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/flags/flags/flags_test.go +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/base/go.mod +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/base/go.sum +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/postgres/go.mod +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/postgres/go.sum +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/sqlite/go.mod +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/modules/sqlite/go.sum +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/scripts/go-coverage.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/go/scripts/go-mutation.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/.gitattributes +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/.mvn/wrapper/maven-wrapper.properties +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/config/checkstyle.xml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/config/pmd-ruleset.xml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/config/spotbugs-exclude.xml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/mvnw +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/build/mvnw.cmd +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/flags/src/main/java/com/example/deliverystarter/flags/Flags.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java/flags/src/test/java/com/example/deliverystarter/flags/FlagsTest.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/pom.xml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/src/main/resources/application.properties +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-quarkus/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/pom.xml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/ServiceApplication.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/main/resources/application.properties +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/java-spring/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/app/pyproject.toml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/app/src/delivery_starter/__init__.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/app/src/delivery_starter/application/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/app/src/delivery_starter/domain/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/app/tests/test_health.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/event-port/src/delivery_starter/application/ports/events.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/event-port/tests/test_events.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/flags/src/delivery_starter/flags.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/flags/tests/test_flags.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/locks/uv-fastapi-postgres.lock +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/locks/uv-fastapi.lock +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/locks/uv-postgres.lock +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/python/locks/uv.lock +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/app/package.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/app/src/application/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/app/src/domain/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/app/src/health.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/app/tests/health.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/biome/biome.jsonc +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/biome/domain-purity.grit +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/flags/src/flags.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/flags/tests/flags.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/locks/package-lock-fastify-postgres.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/locks/package-lock-fastify.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/locks/package-lock-postgres.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/languages/typescript/locks/package-lock.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/.specify/presets/.registry +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/.specify/presets/event-modelling/preset.yml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/constitution-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/plan-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/tasks-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/commands/example-map.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/commands/validate-code-against-model.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/event-modelling/docs/speckit-preset.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/.specify/presets/.registry +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/.specify/presets/standard/preset.yml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/.specify/presets/standard/templates/constitution-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/docs/adr/0001-record-architecture-decisions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/docs/speckit-preset.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/skills/adversarial-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/profiles/standard/skills/architecture-decisions/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/bootstrap/main.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/bootstrap/outputs.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/bootstrap/variables.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/scripts/bootstrap.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/scripts/check-flags.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/scripts/deploy.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/auth0.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/cognito_customers.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/cognito_staff.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/flags.auto.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/flags.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/frontend.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/ingress.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/main.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/network.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/no-auth0.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/no-frontend.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/outputs.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/production.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/rds.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/staging.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/variables.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/aws/service/versions.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/bootstrap/main.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/bootstrap/outputs.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/bootstrap/variables.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/scripts/bootstrap.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/scripts/check-flags.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/scripts/deploy.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/auth0.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/entra_staff.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/flags.auto.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/flags.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/frontend.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/ingress.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/main.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/no-auth0.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/no-frontend.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/outputs.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/postgres.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/production.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/staging.tfvars +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/variables.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/targets/azure/service/versions.tf +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/.specify/extensions.yml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/adr/0001-record-architecture-decisions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/agent-harnesses.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/delegated-agent-safety.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/event-model/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/event-model/model.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/event-modeling-to-code.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/docs/first-slice.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/drive.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/models.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/agents/project.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-codegraph.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-constitution.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-imports.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-migrations.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-slice-scope.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-speckit.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-styles.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/check-ux-gates.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/board-plan.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/board-plan.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/check.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/check.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/drawio.test.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/drawio.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/example-model.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/mermaid.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/model.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/package.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/page.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/palette.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/patch-mermaid-swimlanes.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/readme.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/render-drawio.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/render.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/requirements.txt +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/validate.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/event-model/workspace.ts +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/codegraph/init.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/guidance.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/menu.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/project.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/uipro/init.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/extensions/ux-gates/init.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/scripts/test_benchmark.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/REFERENCES.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/acceptance-review/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/acceptance-review/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/acceptance-review/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/acceptance-review/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/adversarial-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/api-evolution.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/api-security.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/auth-security.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/http-fundamentals.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/problem-details.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/api-design/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/architecture-decisions/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/references/adoption-and-granularity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/references/aggregation-and-resilience.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/references/alternatives.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-design/references/upstream-identity.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/browser-session-coordination.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/endpoint-protection.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/enforcement-and-testing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/hexagonal-auth-boundaries.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/hono-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/bff-entry-points/references/realtime-entry-points.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/characterisation-tests/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/characterisation-tests/resources/modern-tooling.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/characterisation-tests/resources/writing-process.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/ci-debugging/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/resources/composability.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/resources/output-architecture.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/resources/stream-contracts.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/cli-design/resources/testing-cli.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/references/deepening.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/references/design-it-twice.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/codebase-design/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/debugging/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/debugging/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/debugging/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/diagrams/NOTICE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/diagrams/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/diagrams/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/aggregate-design.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/bounded-contexts.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/domain-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/domain-services.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/error-modeling.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/modelling-process.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/domain-driven-design/resources/testing-by-layer.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/double-check/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/double-check/resources/brief-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/double-check/resources/providers.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/evaluate-existing-solutions/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/evaluate-existing-solutions/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/evaluate-existing-solutions/assets/solution-decision-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/evaluate-existing-solutions/references/evaluation-dimensions.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/evaluate-existing-solutions/references/evidence-and-currentness.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-modeling/NOTICE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-modeling/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-modeling/references/gwt-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-modeling/references/nine-steps.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/decider-and-rehydration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/event-store.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/event-versioning.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/modelling-events.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/production-concerns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/projections-and-read-models.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/testing-event-sourced-systems.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/event-sourcing/resources/when-to-use-event-sourcing.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/expectations/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/find-gaps/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/find-skills/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/find-skills/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/find-skills/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/finding-seams/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/finding-seams/resources/creating-seams.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/finding-seams/resources/oop-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/finding-seams/resources/seam-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/folder-structure/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/folder-structure/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/front-end-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/front-end-testing/resources/async-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/front-end-testing/resources/dom-testing-library-legacy.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/front-end-testing/resources/msw.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/front-end-testing/resources/playwright-e2e.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/frontend-design/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/frontend-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/frontend-design/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/functional/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/functional/resources/composition-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/functional/resources/immutability-catalog.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/global-event-model/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/cqrs-lite.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/cross-cutting-concerns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/greenfield-sequence.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/incremental-adoption.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/testing-hex-arch.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/hexagonal-architecture/resources/worked-example.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/improve-codebase-architecture/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/improve-codebase-architecture/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/improve-codebase-architecture/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/improve-codebase-architecture/references/html-report.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/improve-codebase-architecture/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/mutation-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/mutation-testing/resources/mutator-rules.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/observability/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/observability/resources/node-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/observability/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/observability/resources/slo-alerting.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/observability/resources/testing-telemetry.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/planning/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/production-parity-skill-builder/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/production-parity-skill-builder/resources/generated-skill-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/production-parity-skill-builder/resources/parity-surface-catalog.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/production-parity-skill-builder/resources/question-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/react-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/react-testing/resources/testing-library-react-legacy.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/reduce-system-complexity/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/reduce-system-complexity/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/reduce-system-complexity/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/reduce-system-complexity/references/ledger-template.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/reduce-system-complexity/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/refactoring/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/references/attack-and-test-catalog.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/references/oidc-validation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/references/review-and-delivery.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/references/rfc9700-control-catalog.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/secure-oauth-oidc/references/standards-map.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/specification/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/specification/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/specification/resources/spec-review-template.html +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/stack-pull-requests/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/stack-pull-requests/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/stack-pull-requests/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/story-splitting/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/story-splitting/resources/pattern-catalog.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/story-splitting/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/storyboard/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/references/backend-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/references/enforcement-and-migration.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/references/frontend-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/references/research-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/structure-codebase/references/visible-hexagon.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/tdd/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/tdd/resources/vitest-watch-feedback.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/resources/assessment-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/resources/course-generation.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/resources/html-lessons.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/resources/learning-science.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/teach-me/resources/session-management.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/agent-docs.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/doc-types.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/docs-quality.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/formatting.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/readme.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/references.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/technical-writing/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/test-design-reviewer/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/test-design-reviewer/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/twelve-factor/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/twelve-factor/resources/node-patterns.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/typescript-strict/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/ubiquitous-language/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/ubiquitous-language/resources/glossary-format.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/ubiquitous-language/resources/language-protocol.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/web-interface-guidelines/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/web-interface-guidelines/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/web-interface-guidelines/references/guidelines.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/web-interface-guidelines/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/wtf/LICENSE +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/wtf/SKILL.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/wtf/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/assets/toolkit/skills/wtf/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/catalog.json +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/README.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/bosun-decisions-gate.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/code-index-in-headless.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/cruise-runner-everywhere.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/cruise-watch-seat.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/cruise.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/describe-service.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/drawio-canvas.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/init-pyyaml.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/uipro-extension.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/ux-design-skills.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/changelog.d/ux-gates-extension.md +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/pyproject.toml +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/__init__.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/__main__.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/add_service.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/adopt.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/adopt_report.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/assets.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/axes.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/backends.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/capabilities.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/catalog.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/catch_up.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/changelog.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/cli.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/cli_add.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/cli_adopt.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/cli_prompts.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/converge.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/convergence.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/delivery_facts.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/ecosystems.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/errors.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/examples.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/extensions.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/features.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/images.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/layout.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/manifest.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/migrate.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/naming.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/origin.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/platform.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/preflight.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/probes.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/programme.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/__init__.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/add_commands.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/adopted.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/adopted_ci.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/adopted_targets.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/adversary.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/agent_settings.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/agents.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/aws_docs.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/azure_docs.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/backing_service_prose.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/backing_services.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/biome.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/ci_services.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/ci_workflows.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/compose.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/composition.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/constitution_journey.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/converge_stage.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/convergence_page.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise_record.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise_seat.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/cruise_unblock.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/demo_stop.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/deploy_workflow.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/design_page.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/docs_index.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/drive_adoption.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/drive_settings.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/entry_stores.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/event_model.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/evolving.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/existing.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/flag_route.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/flags.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/frontend.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/gitignore.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/ground_command.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/guidance.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/infra.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/init_production.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/init_script.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/integration.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/__init__.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/go.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/java.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/java_quarkus.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/java_spring.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/python.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/languages/typescript.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/makefile.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/metadata.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/model_targets.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/model_to_code.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/mutation.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/native_commands.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/openapi.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/parallel_slices.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/pin_commands.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/pins.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/production.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/provisioning.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/read_side_layouts.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/readme.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/renovate.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/repository.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/rules.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/run_skill.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/service_layouts.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/shared_packages.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/skills_page.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/stage_models.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/strangle_command.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/structure_page.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/target_docs.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/whats_next.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/project/where_are_we.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/quick_wins.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/replay.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/resurvey.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/scaffold.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/selection.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/services.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/strategy.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/structure.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/survey.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/targets.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/tooling.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/toolkit.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/upgrade.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/versions.py +0 -0
- {slipwai-1.2.0.dev35 → slipwai-1.2.0.dev44}/src/slipwai/wrappers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: slipwai
|
|
3
|
-
Version: 1.2.0.
|
|
3
|
+
Version: 1.2.0.dev44
|
|
4
4
|
Summary: One-shot scaffolder for product monorepos: a walking skeleton, a verify gate, a path to production, and a repository set up for coding agents.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ROBCOATVG/slipwai
|
|
6
6
|
Project-URL: Repository, https://git.treyco.dev/ROBCOATVG/slipwai
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.2.0.dev44
|
|
@@ -11,6 +11,8 @@ slice loop, `specs/<feature>/benchmark.json`. `/drive` opens an entry before a s
|
|
|
11
11
|
python3 scripts/agents/benchmark.py # the aggregate; `make benchmark`
|
|
12
12
|
python3 scripts/agents/benchmark.py overview [shop] # writes specs/<feature>/benchmark.md; `/benchmark`
|
|
13
13
|
python3 scripts/agents/benchmark.py --json
|
|
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
|
|
14
16
|
|
|
15
17
|
Everything that a transcript, `tasks.md`, git or the record itself can say is read from there, never asked:
|
|
16
18
|
wall time; the agent type each delegate ran as, where the transcript attributes one; tokens by model, from the
|
|
@@ -70,6 +72,11 @@ COMMENT = (
|
|
|
70
72
|
"docs/agent-harnesses.md says what the numbers can and cannot be compared with."
|
|
71
73
|
)
|
|
72
74
|
USAGE_KEYS = ("input", "output", "cache_read", "cache_creation")
|
|
75
|
+
# Which stage a delegate type's lines belong to, whatever bracket was open when they were written: a skipper round
|
|
76
|
+
# opened while the implementers run must not count their tokens, and the implement entry must not lose them to it.
|
|
77
|
+
OWNERS = {"drive-implement": ("implement",), "drive-converge": ("converge",), "drive-gaps": ("gaps",),
|
|
78
|
+
"drive-adversary": ("adversary",), "drive-mutation": ("mutation",), "drive-tasks": ("tasks",),
|
|
79
|
+
"drive-hand": ("demo", "hand"), "drive-skipper": ("skipper",), "drive-bosun": ("bosun",)}
|
|
73
80
|
|
|
74
81
|
|
|
75
82
|
def now() -> str:
|
|
@@ -187,23 +194,89 @@ def cursor() -> dict[str, Any]:
|
|
|
187
194
|
return {"source": None, "reason": f"the registry records no transcript to read for {named}"}
|
|
188
195
|
|
|
189
196
|
|
|
190
|
-
def
|
|
197
|
+
def lines_with_offsets(path: Path, offset: int) -> list[tuple[int, dict[str, Any]]]:
|
|
198
|
+
"""Each JSON line after `offset` with the byte offset it starts at — the coordinate a bracket's window is in."""
|
|
191
199
|
if not path.is_file():
|
|
192
200
|
return []
|
|
193
201
|
with path.open("rb") as handle:
|
|
194
202
|
handle.seek(offset)
|
|
195
203
|
raw = handle.read()
|
|
196
204
|
items = []
|
|
197
|
-
|
|
205
|
+
position = offset
|
|
206
|
+
for line in raw.split(b"\n"):
|
|
207
|
+
start, position = position, position + len(line) + 1
|
|
198
208
|
try:
|
|
199
|
-
item = json.loads(line)
|
|
209
|
+
item = json.loads(line.decode("utf-8", errors="replace"))
|
|
200
210
|
except ValueError:
|
|
201
211
|
continue
|
|
202
212
|
if isinstance(item, dict):
|
|
203
|
-
items.append(item)
|
|
213
|
+
items.append((start, item))
|
|
204
214
|
return items
|
|
205
215
|
|
|
206
216
|
|
|
217
|
+
def lines_after(path: Path, offset: int) -> list[dict[str, Any]]:
|
|
218
|
+
return [item for _, item in lines_with_offsets(path, offset)]
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class Window:
|
|
222
|
+
"""Where one bracket sits in the transcripts: a byte range per file, open-ended while the entry is. A line is
|
|
223
|
+
counted by the innermost bracket covering it, except that a delegate's lines go to the bracket whose stage owns
|
|
224
|
+
the type that ran them, so two brackets open at once — a skipper round during implementation — never both
|
|
225
|
+
count the same request, and neither loses what is its own."""
|
|
226
|
+
|
|
227
|
+
def __init__(self, stage: str, started: str, from_: dict[str, int], to: dict[str, int] | None) -> None:
|
|
228
|
+
self.stage, self.started, self.from_, self.to = stage, started, from_, to
|
|
229
|
+
# Which of two brackets started later: the clock, then — two starts in one second — where the transcripts
|
|
230
|
+
# stood, which only ever grows.
|
|
231
|
+
self.order = (started, sum(from_.values()))
|
|
232
|
+
|
|
233
|
+
def later_than(self, other: "Window") -> bool:
|
|
234
|
+
return self.order > other.order
|
|
235
|
+
|
|
236
|
+
def covers(self, path: str, offset: int) -> bool:
|
|
237
|
+
if offset < self.from_.get(path, 0):
|
|
238
|
+
return False
|
|
239
|
+
return self.to is None or offset < self.to.get(path, 0)
|
|
240
|
+
|
|
241
|
+
def owns(self, agent: str | None) -> bool:
|
|
242
|
+
return self.stage in OWNERS.get(agent or "", ())
|
|
243
|
+
|
|
244
|
+
def counts(self, path: str, offset: int, agent: str | None, others: list["Window"]) -> bool:
|
|
245
|
+
covering = [other for other in others if other.covers(path, offset)]
|
|
246
|
+
if agent is not None and self.owns(agent) and not any(other.owns(agent) and other.later_than(self)
|
|
247
|
+
for other in covering):
|
|
248
|
+
return True
|
|
249
|
+
if any(other.owns(agent) for other in covering):
|
|
250
|
+
return False
|
|
251
|
+
return not any(other.later_than(self) for other in covering)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
def window_of(entry: dict[str, Any]) -> Window | None:
|
|
255
|
+
"""An entry's window, from its closed `span` or, while it is open, its start cursor; none for an entry from
|
|
256
|
+
before spans were recorded, which is not held against any other."""
|
|
257
|
+
span = entry.get("span")
|
|
258
|
+
if isinstance(span, dict):
|
|
259
|
+
return Window(entry["stage"], entry.get("started", ""), dict(span.get("from", {})), dict(span.get("to", {})))
|
|
260
|
+
mark = entry.get("cursor")
|
|
261
|
+
if isinstance(mark, dict) and mark.get("source"):
|
|
262
|
+
return Window(entry["stage"], entry.get("started", ""), {**mark.get("files", {}), **mark.get("subagents", {})},
|
|
263
|
+
None)
|
|
264
|
+
return None
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
def other_windows(except_path: Path, except_index: int) -> list[Window]:
|
|
268
|
+
"""Every other bracket in the project's records, open or closed, that could overlap this one."""
|
|
269
|
+
found = []
|
|
270
|
+
for path, record in records():
|
|
271
|
+
for index, entry in enumerate(record.get("stages", [])):
|
|
272
|
+
if path == except_path and index == except_index:
|
|
273
|
+
continue
|
|
274
|
+
window = window_of(entry)
|
|
275
|
+
if window is not None:
|
|
276
|
+
found.append(window)
|
|
277
|
+
return found
|
|
278
|
+
|
|
279
|
+
|
|
207
280
|
def empty_usage() -> dict[str, int]:
|
|
208
281
|
return dict.fromkeys(USAGE_KEYS, 0)
|
|
209
282
|
|
|
@@ -222,7 +295,8 @@ CODEX_FIELDS = {"input": "input_tokens", "output": "output_tokens", "cache_read"
|
|
|
222
295
|
|
|
223
296
|
|
|
224
297
|
def claude_usage(items: list[dict[str, Any]], by_model: dict[str, dict[str, int]], seen: set[str],
|
|
225
|
-
agents: set[str] | None = None
|
|
298
|
+
agents: set[str] | None = None, keep: Callable[[int, str | None], bool] | None = None,
|
|
299
|
+
offsets: list[int] | None = None) -> None:
|
|
226
300
|
"""One API response is written as one line per content block, each carrying the same usage: count a
|
|
227
301
|
request once (592 of 1090 assistant lines on this machine's transcripts were repeats).
|
|
228
302
|
|
|
@@ -231,7 +305,7 @@ def claude_usage(items: list[dict[str, Any]], by_model: dict[str, dict[str, int]
|
|
|
231
305
|
particular. That is read rather than asked, the way the model is, so a record can only claim a type that
|
|
232
306
|
actually ran (the transcripts Claude Code 2.1.268 wrote on this machine, read 2026-09-15).
|
|
233
307
|
"""
|
|
234
|
-
for item in items:
|
|
308
|
+
for position, item in enumerate(items):
|
|
235
309
|
if item.get("type") != "assistant":
|
|
236
310
|
continue
|
|
237
311
|
message = item.get("message") or {}
|
|
@@ -239,9 +313,12 @@ def claude_usage(items: list[dict[str, Any]], by_model: dict[str, dict[str, int]
|
|
|
239
313
|
key = item.get("requestId") or message.get("id") or item.get("uuid")
|
|
240
314
|
if not isinstance(usage, dict) or not key or key in seen:
|
|
241
315
|
continue
|
|
316
|
+
agent = item.get("attributionAgent") if isinstance(item.get("attributionAgent"), str) else None
|
|
317
|
+
if keep is not None and offsets is not None and not keep(offsets[position], agent):
|
|
318
|
+
continue
|
|
242
319
|
seen.add(str(key))
|
|
243
|
-
if agents is not None and
|
|
244
|
-
agents.add(
|
|
320
|
+
if agents is not None and agent is not None:
|
|
321
|
+
agents.add(agent)
|
|
245
322
|
add_usage(by_model.setdefault(str(message.get("model") or "unknown"), empty_usage()), usage, CLAUDE_FIELDS)
|
|
246
323
|
|
|
247
324
|
|
|
@@ -259,12 +336,13 @@ def codex_total(path: Path, offset: int) -> dict[str, int] | None:
|
|
|
259
336
|
return total
|
|
260
337
|
|
|
261
338
|
|
|
262
|
-
def codex_usage(path: Path, offset: int, start_total: dict[str, int] | None
|
|
339
|
+
def codex_usage(path: Path, offset: int, start_total: dict[str, int] | None,
|
|
340
|
+
keep: Callable[[int], bool] | None = None, shared: bool = False) -> tuple[dict[str, dict[str, int]], str]:
|
|
263
341
|
by_model: dict[str, dict[str, int]] = {}
|
|
264
342
|
seen: set[str] = set()
|
|
265
343
|
model = "unknown"
|
|
266
|
-
|
|
267
|
-
for item in
|
|
344
|
+
records_seen = False
|
|
345
|
+
for position, item in lines_with_offsets(path, offset):
|
|
268
346
|
payload = item.get("payload") if isinstance(item.get("payload"), dict) else item
|
|
269
347
|
if item.get("type") == "turn_context" and isinstance(payload.get("model"), str):
|
|
270
348
|
model = payload["model"]
|
|
@@ -273,40 +351,82 @@ def codex_usage(path: Path, offset: int, start_total: dict[str, int] | None) ->
|
|
|
273
351
|
if key in seen:
|
|
274
352
|
continue
|
|
275
353
|
seen.add(key)
|
|
276
|
-
|
|
354
|
+
records_seen = True
|
|
355
|
+
if keep is not None and not keep(position):
|
|
356
|
+
continue
|
|
277
357
|
add_usage(by_model.setdefault(model, empty_usage()), payload["usage"], CODEX_FIELDS)
|
|
278
|
-
if
|
|
358
|
+
if records_seen:
|
|
279
359
|
return by_model, "token_usage_record lines, one per response"
|
|
280
360
|
end_total = codex_total(path, offset)
|
|
281
361
|
if start_total is None or end_total is None:
|
|
282
362
|
return {}, "no token_count event either side of the stage"
|
|
283
|
-
return {model: {key: end_total[key] - start_total[key] for key in USAGE_KEYS}},
|
|
363
|
+
return ({model: {key: end_total[key] - start_total[key] for key in USAGE_KEYS}},
|
|
364
|
+
"the difference between token_count totals"
|
|
365
|
+
+ (", which a bracket open at the same time shares" if shared else ""))
|
|
284
366
|
|
|
285
367
|
|
|
286
|
-
def
|
|
287
|
-
"""
|
|
368
|
+
def span_now(mark: dict[str, Any]) -> dict[str, dict[str, int]]:
|
|
369
|
+
"""The window this bracket closes with: from its cursor to the transcripts' present ends."""
|
|
370
|
+
from_ = {**mark.get("files", {}), **mark.get("subagents", {})}
|
|
371
|
+
if mark.get("source") == "claude":
|
|
372
|
+
main, subagents = claude_transcripts(mark["session"])
|
|
373
|
+
to = sizes([path for path in [main, *subagents] if path is not None])
|
|
374
|
+
elif mark.get("source") == "codex":
|
|
375
|
+
rollout = codex_rollout(mark["session"])
|
|
376
|
+
to = sizes([rollout]) if rollout is not None else {}
|
|
377
|
+
else:
|
|
378
|
+
to = {}
|
|
379
|
+
return {"from": from_, "to": to}
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
def usage_since(mark: dict[str, Any], own: Window | None = None, others: list[Window] | None = None,
|
|
383
|
+
live: bool = True) -> dict[str, Any]:
|
|
384
|
+
"""Tokens by model between the cursor and now, split host/sub-agents, or why there are none. With the bracket's
|
|
385
|
+
own window and every other bracket's, a line another bracket owns — one nested inside this one, or one whose
|
|
386
|
+
stage owns the delegate type that wrote it — is left to that bracket. `live` is `end`'s reading, in the session
|
|
387
|
+
that opened the bracket; a cut-off reads the transcript the cursor names after that session is gone."""
|
|
288
388
|
if mark.get("source") is None:
|
|
289
389
|
return {"source": None, "reason": mark.get("reason", "no transcript")}
|
|
390
|
+
overlapping = [other for other in (others or []) if own is not None]
|
|
290
391
|
if mark["source"] == "claude":
|
|
291
|
-
if os.environ.get("CLAUDE_CODE_SESSION_ID") != mark["session"]:
|
|
392
|
+
if live and os.environ.get("CLAUDE_CODE_SESSION_ID") != mark["session"]:
|
|
292
393
|
return {"source": None, "reason": f"the session changed since the stage started ({mark['session']})"}
|
|
293
394
|
main, subagents = claude_transcripts(mark["session"])
|
|
294
395
|
host: dict[str, dict[str, int]] = {}
|
|
295
396
|
delegated: dict[str, dict[str, int]] = {}
|
|
296
397
|
seen: set[str] = set()
|
|
297
398
|
types: set[str] = set()
|
|
399
|
+
shared = 0
|
|
400
|
+
|
|
401
|
+
def reader(path: Path) -> Callable[[int, str | None], bool]:
|
|
402
|
+
def keep(offset: int, agent: str | None) -> bool:
|
|
403
|
+
nonlocal shared
|
|
404
|
+
kept = own is None or own.counts(str(path), offset, agent, overlapping)
|
|
405
|
+
shared += not kept
|
|
406
|
+
return kept
|
|
407
|
+
return keep
|
|
408
|
+
|
|
298
409
|
for path in [main] if main else []:
|
|
299
|
-
|
|
410
|
+
lines = lines_with_offsets(path, mark["files"].get(str(path), 0))
|
|
411
|
+
claude_usage([item for _, item in lines], host, seen, keep=reader(path), offsets=[o for o, _ in lines])
|
|
300
412
|
for path in subagents:
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
413
|
+
lines = lines_with_offsets(path, mark["subagents"].get(str(path), 0))
|
|
414
|
+
claude_usage([item for _, item in lines], delegated, seen, types, keep=reader(path),
|
|
415
|
+
offsets=[o for o, _ in lines])
|
|
416
|
+
read = "message.usage on each assistant line, once per requestId"
|
|
417
|
+
if shared:
|
|
418
|
+
read += f"; {shared} request(s) left to a bracket open at the same time"
|
|
419
|
+
return {"source": "claude", "session": mark["session"], "read": read, "host": host, "subagents": delegated,
|
|
420
|
+
"agents": sorted(types)}
|
|
421
|
+
if live and os.environ.get("CODEX_THREAD_ID") != mark["session"]:
|
|
305
422
|
return {"source": None, "reason": f"the thread changed since the stage started ({mark['session']})"}
|
|
306
423
|
rollout = codex_rollout(mark["session"])
|
|
307
424
|
if rollout is None:
|
|
308
425
|
return {"source": None, "reason": "the rollout disappeared"}
|
|
309
|
-
|
|
426
|
+
keep_codex = (lambda offset: own.counts(str(rollout), offset, None, overlapping)) if own is not None else None
|
|
427
|
+
shared = any(other.covers(str(rollout), mark["files"].get(str(rollout), 0)) or other.later_than(own)
|
|
428
|
+
for other in overlapping) if own is not None else False
|
|
429
|
+
by_model, how = codex_usage(rollout, mark["files"].get(str(rollout), 0), mark.get("total"), keep_codex, shared)
|
|
310
430
|
return {"source": "codex", "session": mark["session"], "read": how, "host": by_model, "subagents": {}}
|
|
311
431
|
|
|
312
432
|
|
|
@@ -345,15 +465,20 @@ def parse_signals(arguments: list[str]) -> dict[str, Any]:
|
|
|
345
465
|
|
|
346
466
|
|
|
347
467
|
def start(directory: Path, stage: str) -> None:
|
|
468
|
+
"""Open an entry — after closing any this record still has open, as cut off: the stages of one record run one
|
|
469
|
+
after another, so an entry still open at the next `start` was left by a session that ended without ending it,
|
|
470
|
+
and a second one stacked on top would leave the first open for good with its hours uncounted."""
|
|
348
471
|
record = load(directory)
|
|
349
|
-
|
|
472
|
+
for index, entry in enumerate(record["stages"]):
|
|
473
|
+
if "ended" not in entry:
|
|
474
|
+
cut_off_entry(directory / RECORD, index, entry, f"a new `{stage}` entry started while it was open")
|
|
475
|
+
print(f"benchmark: {record.get('slice') or '(feature)'} {entry['stage']}: cut off — {entry['cut_off']}")
|
|
350
476
|
mark = cursor()
|
|
351
477
|
record["stages"].append({"stage": stage, "started": now(), "planned": planned(stage),
|
|
352
478
|
"tasks": {"start": task_counts(directory)}, "cursor": mark})
|
|
353
479
|
save(directory, record)
|
|
354
480
|
where = f"usage from {mark['source']}" if mark.get("source") else f"no usage: {mark.get('reason')}"
|
|
355
|
-
|
|
356
|
-
print(f"benchmark: {stage} started ({(directory / RECORD).relative_to(ROOT)}; {where}{note})")
|
|
481
|
+
print(f"benchmark: {stage} started ({(directory / RECORD).relative_to(ROOT)}; {where})")
|
|
357
482
|
|
|
358
483
|
|
|
359
484
|
def end(directory: Path, stage: str, arguments: list[str], clock: Callable[[], str] = now) -> None:
|
|
@@ -361,12 +486,19 @@ def end(directory: Path, stage: str, arguments: list[str], clock: Callable[[], s
|
|
|
361
486
|
start and the end in the same moment on purpose, without a mocking framework replacing this module."""
|
|
362
487
|
record = load(directory)
|
|
363
488
|
signals = parse_signals(arguments)
|
|
364
|
-
|
|
365
|
-
|
|
489
|
+
index = next((index for index in range(len(record["stages"]) - 1, -1, -1)
|
|
490
|
+
if record["stages"][index]["stage"] == stage and "ended" not in record["stages"][index]), None)
|
|
491
|
+
if index is None:
|
|
366
492
|
raise RuntimeError(f"no open `{stage}` entry in {(directory / RECORD).relative_to(ROOT)}; `start` it first")
|
|
493
|
+
entry = record["stages"][index]
|
|
367
494
|
entry["ended"] = clock()
|
|
368
495
|
entry["seconds"] = int((moment(entry["ended"]) - moment(entry["started"])).total_seconds())
|
|
369
|
-
|
|
496
|
+
mark = entry.pop("cursor", {"source": None, "reason": "no cursor was recorded"})
|
|
497
|
+
own = None
|
|
498
|
+
if mark.get("source"):
|
|
499
|
+
entry["span"] = span_now(mark)
|
|
500
|
+
own = Window(stage, entry["started"], entry["span"]["from"], entry["span"]["to"])
|
|
501
|
+
usage = usage_since(mark, own, other_windows(directory / RECORD, index))
|
|
370
502
|
entry["usage"] = usage
|
|
371
503
|
ran = models_that_ran(usage)
|
|
372
504
|
entry["ran"] = ran or ([signals["model"]] if "model" in signals else None)
|
|
@@ -431,6 +563,100 @@ def close(directory: Path) -> None:
|
|
|
431
563
|
print(aggregate())
|
|
432
564
|
|
|
433
565
|
|
|
566
|
+
def cut_off_entry(path: Path, index: int, entry: dict[str, Any], reason: str) -> None:
|
|
567
|
+
"""Close an entry nothing will `end`: the session that opened it is gone. Its wall is real, and its tokens are
|
|
568
|
+
read from the transcript the cursor names — a file on this machine, whoever's session it was — up to where
|
|
569
|
+
that transcript stopped, so the hours before the interruption still count; its signals were never reported,
|
|
570
|
+
and the record says so rather than guessing. The window is kept, so a bracket that enclosed it leaves it its
|
|
571
|
+
lines."""
|
|
572
|
+
entry["ended"] = now()
|
|
573
|
+
entry["seconds"] = int((moment(entry["ended"]) - moment(entry["started"])).total_seconds())
|
|
574
|
+
mark = entry.pop("cursor", {"source": None, "reason": "no cursor was recorded"})
|
|
575
|
+
own = None
|
|
576
|
+
if mark.get("source"):
|
|
577
|
+
entry["span"] = span_now(mark)
|
|
578
|
+
own = Window(entry["stage"], entry["started"], entry["span"]["from"], entry["span"]["to"])
|
|
579
|
+
usage = usage_since(mark, own, other_windows(path, index), live=False)
|
|
580
|
+
if usage.get("source"):
|
|
581
|
+
usage["read"] += "; read after the session that opened the entry had ended"
|
|
582
|
+
else:
|
|
583
|
+
usage = {"source": None, "reason": f"cut off — {reason}"}
|
|
584
|
+
entry["usage"] = usage
|
|
585
|
+
entry["ran"] = models_that_ran(usage) or None
|
|
586
|
+
entry["agents"] = types_that_ran(usage) or None
|
|
587
|
+
entry["delegated"] = any(any(tokens.values()) for tokens in (usage.get("subagents") or {}).values())
|
|
588
|
+
entry.setdefault("tasks", {})["end"] = task_counts(path.parent)
|
|
589
|
+
entry["signals"] = {}
|
|
590
|
+
entry["cut_off"] = reason
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
def cut_off(reason: str) -> None:
|
|
594
|
+
"""Close every entry still open in any record: the runner's iteration ended, or was ended, so nothing will
|
|
595
|
+
`end` them, and an entry left open reads as a stage still running."""
|
|
596
|
+
for path, record in records():
|
|
597
|
+
changed = False
|
|
598
|
+
for index, entry in enumerate(record.get("stages", [])):
|
|
599
|
+
if "ended" in entry:
|
|
600
|
+
continue
|
|
601
|
+
cut_off_entry(path, index, entry, reason)
|
|
602
|
+
changed = True
|
|
603
|
+
print(f"benchmark: {record.get('slice') or '(feature)'} {entry['stage']}: cut off — {reason}")
|
|
604
|
+
if changed:
|
|
605
|
+
save(path.parent, record)
|
|
606
|
+
|
|
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))
|
|
621
|
+
model = ROOT / "docs/event-model/model.yaml"
|
|
622
|
+
if model.is_file():
|
|
623
|
+
for block in re.split(r"^\s*- id:\s*", model.read_text(), flags=re.M)[1:]:
|
|
624
|
+
ident = block.split("\n", 1)[0].strip().strip("'\"")
|
|
625
|
+
if ident and re.search(r"^\s*status:\s*implemented\s*$", block, re.M):
|
|
626
|
+
done.add(ident)
|
|
627
|
+
return done
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
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 = []
|
|
635
|
+
for path, record in records():
|
|
636
|
+
for entry in record.get("stages", []):
|
|
637
|
+
if "ended" not in entry:
|
|
638
|
+
findings.append(f"{path.relative_to(ROOT)}: `{entry['stage']}` has been open since {entry['started']} — "
|
|
639
|
+
"`benchmark.py end` closes it, and the runner cuts an entry off when its iteration ends")
|
|
640
|
+
specs = ROOT / "specs"
|
|
641
|
+
for feature in sorted(specs.iterdir()) if specs.is_dir() else []:
|
|
642
|
+
if not (feature / "slices").is_dir():
|
|
643
|
+
continue
|
|
644
|
+
done = done_slices(feature)
|
|
645
|
+
for ident in sorted(done):
|
|
646
|
+
record_path = feature / "slices" / ident / RECORD
|
|
647
|
+
where = f"specs/{feature.name}/slices/{ident}"
|
|
648
|
+
if not record_path.is_file():
|
|
649
|
+
findings.append(f"{where} is done but has no {RECORD}: no stage of it was bracketed "
|
|
650
|
+
"(commands/drive.md, *What each stage costs*)")
|
|
651
|
+
elif "shape" not in json.loads(record_path.read_text()):
|
|
652
|
+
findings.append(f"{where} is done but its record was never closed — "
|
|
653
|
+
f"`python3 scripts/agents/benchmark.py close {where}`")
|
|
654
|
+
if done and not (feature / RECORD).is_file():
|
|
655
|
+
findings.append(f"specs/{feature.name}/{RECORD} is missing while {len(done)} slice(s) are done: the stages "
|
|
656
|
+
"above the slice loop were not bracketed")
|
|
657
|
+
return findings
|
|
658
|
+
|
|
659
|
+
|
|
434
660
|
# --- the aggregate ---------------------------------------------------------------------------------------------
|
|
435
661
|
|
|
436
662
|
def totals(entry: dict[str, Any]) -> dict[str, int]:
|
|
@@ -619,6 +845,10 @@ def notes(summaries: list[dict[str, Any]], records_: list[dict[str, Any]]) -> li
|
|
|
619
845
|
usage = entry.get("usage")
|
|
620
846
|
if "ended" in entry and usage is not None and not usage.get("source"):
|
|
621
847
|
lines.append(f"{record.get('slice') or '(feature)'} {entry['stage']}: tokens unknown — {usage.get('reason')}")
|
|
848
|
+
if entry.get("cut_off"):
|
|
849
|
+
lines.append(f"{record.get('slice') or '(feature)'} {entry['stage']}: cut off — {entry['cut_off']}; "
|
|
850
|
+
"its wall is real, its signals were never reported"
|
|
851
|
+
+ ("" if (entry.get("usage") or {}).get("source") else ", its tokens unknown"))
|
|
622
852
|
if is_unbracketed(entry):
|
|
623
853
|
lines.append(
|
|
624
854
|
f"{record.get('slice') or '(feature)'} {entry['stage']}: not bracketed around its work — "
|
|
@@ -723,9 +953,23 @@ def main() -> None:
|
|
|
723
953
|
for page in overview(rest[0] if rest else None):
|
|
724
954
|
print(f"benchmark: {page.relative_to(ROOT)} written")
|
|
725
955
|
return
|
|
956
|
+
if command == "cut-off":
|
|
957
|
+
if not rest:
|
|
958
|
+
raise RuntimeError("cut-off takes the reason, in words")
|
|
959
|
+
cut_off(" ".join(rest))
|
|
960
|
+
return
|
|
961
|
+
if command == "check":
|
|
962
|
+
findings = check()
|
|
963
|
+
if findings:
|
|
964
|
+
print("\n".join(f"check-benchmark: {finding}" for finding in findings), file=sys.stderr)
|
|
965
|
+
raise SystemExit(1)
|
|
966
|
+
held = records()
|
|
967
|
+
print(f"check-benchmark: {len(held)} record(s), nothing open, every done slice recorded and closed"
|
|
968
|
+
if held else "check-benchmark: no record and no done slice yet — nothing to hold")
|
|
969
|
+
return
|
|
726
970
|
if command not in ("start", "end", "close") or not rest:
|
|
727
971
|
raise RuntimeError("usage: benchmark.py start|end <dir> <stage> [key=value ...] | close <dir> | overview "
|
|
728
|
-
"[feature] | [--json]")
|
|
972
|
+
"[feature] | cut-off <why> | check | [--json]")
|
|
729
973
|
directory = (ROOT / rest[0]).resolve()
|
|
730
974
|
if ROOT not in directory.parents:
|
|
731
975
|
raise RuntimeError(f"{rest[0]} is outside the repository")
|