slipwai 1.2.0.dev46__tar.gz → 1.2.1.dev8__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.1.dev8/CHANGELOG.md +419 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/PKG-INFO +68 -8
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/README.md +67 -7
- slipwai-1.2.1.dev8/VERSION +1 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/cruise.py +118 -1
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/registry.json +1 -1
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-migrations.py +21 -6
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-slice-scope.py +48 -11
- slipwai-1.2.1.dev8/assets/toolkit/scripts/check-ux-gates.py +245 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/ux-gates/init.py +9 -6
- slipwai-1.2.1.dev8/changelog.d/gates-are-not-the-runs-to-change.md +30 -0
- slipwai-1.2.1.dev8/changelog.d/slice-scope-record-and-canvas.md +31 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/add_commands.py +4 -4
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/agent_settings.py +5 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/agents.py +5 -5
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise.py +10 -10
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_agents.py +20 -5
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_record.py +10 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_unblock.py +13 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/decisions.py +3 -1
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/evolving.py +2 -1
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/parallel_slices.py +13 -8
- slipwai-1.2.0.dev46/CHANGELOG.md +0 -136
- slipwai-1.2.0.dev46/VERSION +0 -1
- slipwai-1.2.0.dev46/assets/toolkit/scripts/check-ux-gates.py +0 -168
- slipwai-1.2.0.dev46/changelog.d/benchmark-brackets.md +0 -24
- slipwai-1.2.0.dev46/changelog.d/bosun-decisions-gate.md +0 -10
- slipwai-1.2.0.dev46/changelog.d/code-index-in-headless.md +0 -25
- slipwai-1.2.0.dev46/changelog.d/cruise-runner-everywhere.md +0 -21
- slipwai-1.2.0.dev46/changelog.d/cruise-sweep.md +0 -33
- slipwai-1.2.0.dev46/changelog.d/cruise-tell.md +0 -18
- slipwai-1.2.0.dev46/changelog.d/cruise-watch-seat.md +0 -34
- slipwai-1.2.0.dev46/changelog.d/cruise.md +0 -33
- slipwai-1.2.0.dev46/changelog.d/describe-service.md +0 -12
- slipwai-1.2.0.dev46/changelog.d/drawio-canvas.md +0 -21
- slipwai-1.2.0.dev46/changelog.d/init-pyyaml.md +0 -14
- slipwai-1.2.0.dev46/changelog.d/uipro-extension.md +0 -15
- slipwai-1.2.0.dev46/changelog.d/ux-design-skills.md +0 -17
- slipwai-1.2.0.dev46/changelog.d/ux-gates-extension.md +0 -18
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/.gitignore +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/NOTICE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/docs/change-strategy.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/scripts/check-convergence.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/scripts/ratchet.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/support.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/wrappers/gradle/gradle-wrapper.jar.base64 +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/wrappers/gradle/gradle-wrapper.properties +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/wrappers/gradle/gradlew +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/wrappers/gradle/gradlew.bat +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/adoption/wrappers/gradle/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/docker-compose.yml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/env.example +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_contract.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_memory.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_memory_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_postgres.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_postgres_integration_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_sqlite.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/checkpoint_store_sqlite_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/config.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/config_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_contract.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_memory.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_memory_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_postgres.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_postgres_integration_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_sqlite.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/event_store_sqlite_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/events.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/http_app.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/http_app_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/http_openapi_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/http_security.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/http_security_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/migrate_main.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/migrate_main_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/migrations_embed.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/migrations_keep +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/oidc_keycloak.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/oidc_keycloak_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/openapi.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/projections.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/projections_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/projections_ticker.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/projections_ticker_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/read_models.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/serve_main.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/tracing.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/tracing_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/users_oidc_keycloak.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/go/users_oidc_keycloak_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/actor.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/append_result.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/causation_id.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/checkpoint_store_memory.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/checkpoint_store_postgres.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/checkpoint_store_sqlite.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/committed_event.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/condition.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/conditional_append_result.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/correlation_id.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/database_url.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/domain_event.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store_exception.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store_memory.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store_memory_database.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store_postgres.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_store_sqlite.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/event_visitor.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/http_schema_failure.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/migrate_main.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/oidc_keycloak.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/projection.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/projections.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/read_models.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tag_query.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tagged_read.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tags_of.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/checkpoint_store_contract.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/checkpoint_store_memory_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/checkpoint_store_sqlite_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/database_url_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/event_store_contract.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/event_store_memory_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/event_store_sqlite_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/oidc_keycloak_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/projections_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/tests/users_oidc_keycloak_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/transactions.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java/users_oidc_keycloak.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/config_source_registration +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/database_url_config_source.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/http_flags_resource.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/http_health_check.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/http_not_found_mapper.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/jta_transactions.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/oidc_keycloak_augmentor.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/scheduled_projections.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/tests/checkpoint_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/tests/event_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/tests/http_app_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-quarkus/users_current_customer.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/database_url_environment_post_processor.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/environment_post_processor_registration +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/http_flags_controller.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/http_health_indicator.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/http_not_found_advice.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/oidc_keycloak_security.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/scheduled_projections.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/spring_transactions.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/tests/checkpoint_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/tests/event_store_postgres_it.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/tests/http_app_test.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/java-spring/users_security.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/keycloak/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/keycloak/realms/app.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/keycloak/realms/customers.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/prune.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/checkpoint_store_memory.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/checkpoint_store_postgres.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/checkpoint_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/event_store_memory.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/event_store_postgres.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/event_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/events.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/http_app.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/logging_setup.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/main.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/migrations_apply.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/openapi-flags.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/openapi.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/openapi_export.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/projections.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/projections_lifespan.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/read_models.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/settings.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/checkpoint_store_contract.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/conftest.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/event_store_contract.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_checkpoint_store_memory.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_checkpoint_store_postgres.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_checkpoint_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_event_store_memory.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_event_store_postgres.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_event_store_sqlite.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_http_app.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_logging_setup.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_projections.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_projections_lifespan.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_settings.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_tracing.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tests/test_users_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/tracing.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/python/users_oidc_keycloak.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/sql/001_events.sql +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/sql/002_events_append_only.sql +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/sql/003_projection_checkpoints.sql +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/sql/004_event_tags.sql +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/checkpoint-store-memory.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/checkpoint-store-postgres.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/checkpoint-store-sqlite.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/config.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/event-store-memory.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/event-store-postgres.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/event-store-sqlite.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/events.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/http-app.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/main.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/migrations/001_events.js +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/migrations/002_events_append_only.js +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/migrations/003_projection_checkpoints.js +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/migrations/004_event_tags.js +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/oidc-keycloak.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/openapi-export.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/openapi-flags.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/openapi.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/projections-plugin.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/projections.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/read-models.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/checkpoint-store-contract.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/checkpoint-store-memory.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/checkpoint-store-postgres.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/checkpoint-store-sqlite.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/event-store-contract.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/event-store-memory.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/event-store-postgres.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/event-store-sqlite.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/http-app.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/oidc-keycloak.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/projections-plugin.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/projections.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/tracing.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tests/users-oidc-keycloak.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/tracing.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/users-oidc-keycloak.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/backing-services/typescript/vitest.integration.config.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/api-client/package.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/api-client/src/index.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/index.html +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/package.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/src/App.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/src/main.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/src/styles/base.css +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/src/styles/tokens.css +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/tests/App.test.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/tests/setup.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/tsconfig.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app/vite.config.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-flags-local/flags.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-flags-local/flags.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-flags-target/flags.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-flags-target/flags.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-route-client/Home.test.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-route-client/Home.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-route-plain/Home.test.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/app-route-plain/Home.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/features/users-keycloak/src/auth/Account.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/features/users-keycloak/src/auth/users.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/features/users-keycloak/tests/auth/Account.test.tsx +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/features/users-keycloak/tests/auth/users.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/frontend-only-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/frontend-only.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-fastify-postgres.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-fastify-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-fastify.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-postgres-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-postgres.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend-users-keycloak.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/frontends/react-vite/locks/typescript-backend.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/app/.gremlins.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/app/application/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/app/domain/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/app/health/health.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/app/health/health_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/event-port/application/ports/events/events.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/event-port/application/ports/events/events_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/flags/flags/flags.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/flags/flags/flags_test.go +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/base/go.mod +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/base/go.sum +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/postgres/go.mod +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/postgres/go.sum +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/sqlite/go.mod +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/modules/sqlite/go.sum +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/scripts/go-coverage.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/go/scripts/go-mutation.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/.gitattributes +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/.mvn/wrapper/maven-wrapper.properties +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/config/checkstyle.xml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/config/pmd-ruleset.xml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/config/spotbugs-exclude.xml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/mvnw +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/build/mvnw.cmd +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/flags/src/main/java/com/example/deliverystarter/flags/Flags.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java/flags/src/test/java/com/example/deliverystarter/flags/FlagsTest.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/pom.xml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/src/main/resources/application.properties +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-quarkus/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/pom.xml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/ServiceApplication.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/application/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/domain/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/main/java/com/example/deliverystarter/health/HealthStatus.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/main/resources/application.properties +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/java-spring/app/src/test/java/com/example/deliverystarter/health/HealthStatusTest.java +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/app/pyproject.toml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/app/src/delivery_starter/__init__.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/app/src/delivery_starter/application/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/app/src/delivery_starter/domain/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/app/tests/test_health.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/event-port/src/delivery_starter/application/ports/events.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/event-port/tests/test_events.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/flags/src/delivery_starter/flags.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/flags/tests/test_flags.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/locks/uv-fastapi-postgres.lock +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/locks/uv-fastapi.lock +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/locks/uv-postgres.lock +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/python/locks/uv.lock +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/app/package.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/app/src/application/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/app/src/domain/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/app/src/health.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/app/tests/health.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/biome/biome.jsonc +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/biome/domain-purity.grit +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/accept-child-id-remove-exercise.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/acl-stripe-payment-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/aggregate-sizing-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/aggregate-vs-read-model.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/always-valid-occasion-invariants.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/branded-id-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/create-child-through-root.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/decider-pattern-order.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/describe-order-exhaustive-switch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/discriminated-union-pledge-result.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/domain-behavioral-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/domain-service-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/domain-service-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/domain-service-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/entity-rename-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/error-propagation-through-layers.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/exception-vs-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/explicit-return-pledge-no-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/fake-vs-mock-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/in-process-event-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/integration-test-order-repository.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/invariant-driven-vending-machine.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/money-value-object-factory.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/multiple-error-reasons-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/naming-signature-domain-vs-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/occasion-repository-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/one-aggregate-per-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-repository-save.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/optimistic-locking-version-field.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/order-lifecycle-union.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/outbox-pattern-dispatch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/pledge-result-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/process-manager-gift-purchase.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/property-based-test-pledge-budget.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/purity-test-domain-vs-presentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/readonly-array-child-collection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/shared-kernel-package-layout.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/specification-can-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/test-decide-order-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/test-error-funding-closed.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/test-factory-get-occasion.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/ubiquitous-language-glossary-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/use-case-test-pledge-contribution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/wrong-catch-rethrow-context.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/wrong-exception-for-business-rule.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/wrong-generic-error-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/domain-driven-design/zod-branded-type-bridging.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/account-decider-and-evolve.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/balance-view-apply-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/balance-view-projection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/catch-up-checkpoint-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/command-handler-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/command-handler-retry-loop.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/decide-withdraw-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/decider-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/decider-insufficient-funds-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/decider-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/decision-result-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/deposit-money-command-with-timestamp.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/event-envelope-type.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/event-store-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/event-store-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/evolve-behaviour-via-withdraw-limit.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/generic-rehydrate-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/idempotent-projection-dedupe.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/in-memory-event-store-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/inline-view-in-append-transaction.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/live-view-bounded-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/order-placed-upcaster.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/projection-behaviour-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/rehydrate-left-fold.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/tags-of-from-identifying-attributes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/todo-list-claiming.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/tolerant-reader-read-path.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/event-sourcing/upcaster-behaviour-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/adapter-error-translation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-business-logic-in-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-bypass-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-domain-depends-on-infrastructure.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-pattern-shaped-names.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/antipattern-technology-shaped-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-http-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/composition-root-queue-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-dashboard-query-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cqrs-lite-domain-transform-read-data.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-auth-driving-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-authorization.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-domain-probe-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-error-formatting-http.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-technical-telemetry-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-transactional-persistence-port.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/cross-cutting-use-case-identity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/dependency-injection-order-placement.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/driven-adapter-and-fake-implementation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driven-port-fake.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/greenfield-driving-port-constant.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-after-thin-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-before-tangled-handler.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-adapter.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-create-use-case.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-domain-function.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/incremental-extract-port-interface.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/port-interface-definitions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/reads-vs-writes-query-function-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-create-test-db-helper.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-domain-unit-test-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-fake-order-repo.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-narrow-integration-tests.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-recording-fake-instrumentation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/testing-use-case-primary-boundary.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-function-record-pledge.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-domain-unit-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driven-adapters.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-driving-adapter-entrypoint.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-fakes-for-testing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-port-interfaces.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-orchestration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/hexagonal-architecture/worked-example-use-case-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/correct-complete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/correct-fresh-state-per-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/correct-import-real-schema.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/correct-inline-tested-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/correct-testing-behavior-public-api.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-assert-called-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-branch-coverage-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-happy-path-only-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-mock-function-under-test-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-correct.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/coverage-theater-trivial-getter-setter-wrong.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/factory-basic-pattern.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/factory-complete-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/factory-composition.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/reach-validation-through-behavior.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/wrong-extracted-helper-with-own-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/wrong-incomplete-factory-object.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/wrong-redefine-schema-in-test.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/wrong-shared-mutable-fixture.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/examples/testing/wrong-testing-implementation-detail.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/flags/src/flags.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/flags/tests/flags.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/locks/package-lock-fastify-postgres.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/locks/package-lock-fastify.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/locks/package-lock-postgres.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/languages/typescript/locks/package-lock.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/.specify/presets/.registry +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/.specify/presets/event-modelling/preset.yml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/constitution-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/plan-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/.specify/presets/event-modelling/templates/tasks-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/commands/example-map.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/commands/validate-code-against-model.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/event-modelling/docs/speckit-preset.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/.specify/presets/.registry +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/.specify/presets/standard/preset.yml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/.specify/presets/standard/templates/constitution-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/docs/adr/0001-record-architecture-decisions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/docs/speckit-preset.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/skills/adversarial-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/profiles/standard/skills/architecture-decisions/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/bootstrap/main.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/bootstrap/outputs.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/bootstrap/variables.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/scripts/bootstrap.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/scripts/check-flags.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/scripts/deploy.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/auth0.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/cognito_customers.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/cognito_staff.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/flags.auto.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/flags.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/frontend.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/ingress.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/main.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/network.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/no-auth0.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/no-frontend.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/outputs.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/production.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/rds.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/staging.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/variables.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/aws/service/versions.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/bootstrap/main.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/bootstrap/outputs.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/bootstrap/variables.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/scripts/bootstrap.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/scripts/check-flags.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/scripts/deploy.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/auth0.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/entra_staff.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/flags.auto.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/flags.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/frontend.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/ingress.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/main.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/no-auth0.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/no-frontend.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/outputs.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/postgres.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/production.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/staging.tfvars +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/variables.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/targets/azure/service/versions.tf +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/.specify/extensions.yml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/adr/0001-record-architecture-decisions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/agent-harnesses.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/delegated-agent-safety.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/event-model/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/event-model/model.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/event-modeling-to-code.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/docs/first-slice.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/benchmark.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/drive.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/models.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/agents/project.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-codegraph.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-constitution.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-decisions.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-imports.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-speckit.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/check-styles.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/board-plan.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/board-plan.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/check.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/check.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/drawio.test.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/drawio.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/example-model.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/mermaid.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/model.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/package.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/page.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/palette.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/patch-mermaid-swimlanes.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/readme.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/render-drawio.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/render.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/requirements.txt +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/validate.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/event-model/workspace.ts +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/codegraph/init.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/guidance.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/menu.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/project.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/extensions/uipro/init.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/scripts/test_benchmark.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/REFERENCES.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/acceptance-review/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/acceptance-review/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/acceptance-review/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/acceptance-review/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/adversarial-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/adversarial-testing/resources/attack-catalogue.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/api-evolution.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/api-security.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/auth-security.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/http-fundamentals.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/problem-details.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/api-design/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/architecture-decisions/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/references/adoption-and-granularity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/references/aggregation-and-resilience.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/references/alternatives.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-design/references/upstream-identity.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/browser-session-coordination.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/endpoint-protection.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/enforcement-and-testing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/hexagonal-auth-boundaries.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/hono-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/bff-entry-points/references/realtime-entry-points.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/characterisation-tests/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/characterisation-tests/resources/modern-tooling.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/characterisation-tests/resources/writing-process.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/ci-debugging/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/resources/composability.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/resources/output-architecture.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/resources/stream-contracts.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/cli-design/resources/testing-cli.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/references/deepening.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/references/design-it-twice.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/codebase-design/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/debugging/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/debugging/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/debugging/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/diagrams/NOTICE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/diagrams/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/diagrams/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/aggregate-design.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/bounded-contexts.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/domain-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/domain-services.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/error-modeling.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/modelling-process.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/domain-driven-design/resources/testing-by-layer.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/double-check/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/double-check/resources/brief-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/double-check/resources/providers.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/evaluate-existing-solutions/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/evaluate-existing-solutions/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/evaluate-existing-solutions/assets/solution-decision-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/evaluate-existing-solutions/references/evaluation-dimensions.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/evaluate-existing-solutions/references/evidence-and-currentness.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-modeling/NOTICE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-modeling/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-modeling/references/gwt-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-modeling/references/nine-steps.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/decider-and-rehydration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/event-store.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/event-versioning.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/modelling-events.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/production-concerns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/projections-and-read-models.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/testing-event-sourced-systems.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/event-sourcing/resources/when-to-use-event-sourcing.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/expectations/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/find-gaps/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/find-skills/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/find-skills/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/find-skills/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/finding-seams/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/finding-seams/resources/creating-seams.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/finding-seams/resources/oop-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/finding-seams/resources/seam-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/folder-structure/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/folder-structure/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/front-end-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/front-end-testing/resources/async-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/front-end-testing/resources/dom-testing-library-legacy.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/front-end-testing/resources/msw.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/front-end-testing/resources/playwright-e2e.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/frontend-design/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/frontend-design/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/frontend-design/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/functional/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/functional/resources/composition-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/functional/resources/immutability-catalog.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/global-event-model/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/cqrs-lite.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/cross-cutting-concerns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/greenfield-sequence.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/incremental-adoption.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/testing-hex-arch.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/hexagonal-architecture/resources/worked-example.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/improve-codebase-architecture/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/improve-codebase-architecture/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/improve-codebase-architecture/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/improve-codebase-architecture/references/html-report.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/improve-codebase-architecture/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/mutation-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/mutation-testing/resources/mutator-rules.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/observability/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/observability/resources/node-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/observability/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/observability/resources/slo-alerting.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/observability/resources/testing-telemetry.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/planning/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/production-parity-skill-builder/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/production-parity-skill-builder/resources/generated-skill-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/production-parity-skill-builder/resources/parity-surface-catalog.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/production-parity-skill-builder/resources/question-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/react-testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/react-testing/resources/testing-library-react-legacy.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/reduce-system-complexity/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/reduce-system-complexity/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/reduce-system-complexity/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/reduce-system-complexity/references/ledger-template.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/reduce-system-complexity/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/refactoring/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/references/attack-and-test-catalog.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/references/oidc-validation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/references/review-and-delivery.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/references/rfc9700-control-catalog.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/secure-oauth-oidc/references/standards-map.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/specification/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/specification/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/specification/resources/spec-review-template.html +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/stack-pull-requests/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/stack-pull-requests/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/stack-pull-requests/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/story-splitting/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/story-splitting/resources/pattern-catalog.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/story-splitting/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/storyboard/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/references/backend-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/references/enforcement-and-migration.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/references/frontend-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/references/research-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/structure-codebase/references/visible-hexagon.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/tdd/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/tdd/resources/vitest-watch-feedback.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/resources/assessment-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/resources/course-generation.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/resources/html-lessons.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/resources/learning-science.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/teach-me/resources/session-management.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/agent-docs.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/doc-types.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/docs-quality.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/formatting.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/readme.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/references.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/technical-writing/resources/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/test-design-reviewer/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/test-design-reviewer/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/testing/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/twelve-factor/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/twelve-factor/resources/node-patterns.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/typescript-strict/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/ubiquitous-language/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/ubiquitous-language/resources/glossary-format.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/ubiquitous-language/resources/language-protocol.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/web-interface-guidelines/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/web-interface-guidelines/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/web-interface-guidelines/references/guidelines.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/web-interface-guidelines/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/wtf/LICENSE +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/wtf/SKILL.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/wtf/agents/openai.yaml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/assets/toolkit/skills/wtf/references/source-notes.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/catalog.json +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/changelog.d/README.md +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/pyproject.toml +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/__init__.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/__main__.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/add_service.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/adopt.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/adopt_report.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/assets.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/axes.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/backends.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/capabilities.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/catalog.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/catch_up.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/changelog.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/cli.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/cli_add.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/cli_adopt.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/cli_prompts.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/converge.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/convergence.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/delivery_facts.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/ecosystems.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/errors.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/examples.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/extensions.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/features.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/images.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/layout.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/manifest.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/migrate.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/naming.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/origin.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/platform.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/preflight.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/probes.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/programme.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/__init__.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/adopted.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/adopted_ci.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/adopted_targets.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/adversary.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/agent_targets.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/aws_docs.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/azure_docs.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/backing_service_prose.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/backing_services.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/benchmark.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/biome.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/ci_services.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/ci_workflows.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/commands.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/compose.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/composition.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/constitution_journey.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/converge_stage.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/convergence_page.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_hand.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_seat.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_stops.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/cruise_told.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/demo_stop.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/deploy_workflow.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/design_page.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/docs.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/docs_index.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/drive_adoption.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/drive_settings.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/entry_stores.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/event_model.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/existing.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/flag_route.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/flags.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/frontend.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/gitignore.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/ground_command.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/guidance.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/infra.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/init_production.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/init_script.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/integration.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/__init__.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/go.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/java.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/java_quarkus.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/java_spring.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/python.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/languages/typescript.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/makefile.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/metadata.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/model_targets.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/model_to_code.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/mutation.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/native_commands.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/openapi.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/pin_commands.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/pins.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/production.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/provisioning.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/read_side_layouts.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/readme.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/renovate.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/repository.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/rules.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/run_skill.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/service_layouts.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/shared_packages.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/skills_page.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/stage_models.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/strangle_command.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/structure_page.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/target_docs.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/whats_next.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/project/where_are_we.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/quick_wins.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/replay.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/resurvey.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/scaffold.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/selection.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/services.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/strategy.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/structure.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/survey.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/targets.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/tooling.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/toolkit.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/upgrade.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/versions.py +0 -0
- {slipwai-1.2.0.dev46 → slipwai-1.2.1.dev8}/src/slipwai/wrappers.py +0 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
No public releases yet. Release notes are recorded here newest first.
|
|
4
|
+
|
|
5
|
+
## 1.2.0 — MINOR
|
|
6
|
+
|
|
7
|
+
**A benchmark bracket now counts only its own lines, an entry a session leaves open is cut off rather than left
|
|
8
|
+
running, and a delivered slice with no record fails `make verify`.** A run's records showed all three holes: two
|
|
9
|
+
skipper rounds opened while the implementers were running counted the implementers' Sonnet tokens as the
|
|
10
|
+
skipper's; two entries opened by an iteration that was then stopped stayed open for good; and a whole slice was
|
|
11
|
+
delivered with no record at all, through a gate that only ran the script's self-test. Now a line goes to the
|
|
12
|
+
innermost bracket covering it, and a delegate's lines to the bracket whose stage owns the type that ran them,
|
|
13
|
+
across every record in the project, with the request count left to another bracket written into the entry's
|
|
14
|
+
`read`. The `/cruise` runner closes what an iteration left open — when it ends, or when `stop --now` ends it —
|
|
15
|
+
and so does the next `start` in the same record, which used to stack a second entry on top and leave the first
|
|
16
|
+
open for good: each is `cut off` with the reason, its tokens read from the transcript it left up to where that
|
|
17
|
+
transcript stopped, and no signals, and the overview's notes say so. And
|
|
18
|
+
`python3 scripts/agents/benchmark.py check`, run by `make check-benchmark`, fails on an entry still open, on a
|
|
19
|
+
slice the ladder calls done (a row in `slices/README.md`, or `status: implemented` in the event model) with no
|
|
20
|
+
record or an unclosed one, and on a feature with done slices and no record above the slice loop. Two things
|
|
21
|
+
found on the way: `make check-decisions` now also holds every finished slice to a row in `adversary-log.md`,
|
|
22
|
+
the attack or the recorded skip `/adversary` writes after every acceptance, which nothing checked; and the
|
|
23
|
+
runner ends an iteration's whole process group, so `stop --now` no longer leaves a dev server the session
|
|
24
|
+
started running on.
|
|
25
|
+
|
|
26
|
+
**Catch-up.** `slipwai migrate` brings the script, the runner and the Make target. A project whose delivered slices
|
|
27
|
+
have no record will fail `make verify` on the next run: those brackets cannot be recovered, so either write the
|
|
28
|
+
missing records by hand as unbracketed entries, or accept the finding until the next slice.
|
|
29
|
+
|
|
30
|
+
**A bosun's decision entry passes the gate it was written for.** `commands/cruise.md` tells `drive-bosun` to
|
|
31
|
+
record every workaround as a decision entry with `Decided by: drive-bosun`, and `scripts/check-decisions.py`
|
|
32
|
+
accepted only the host, the skipper and a human — so the first run that needed the bosun left `make verify`
|
|
33
|
+
failing on the entry the bosun was told to write. The gate and the record template now name the bosun, alone
|
|
34
|
+
or with its model, beside the other four.
|
|
35
|
+
|
|
36
|
+
**Catch-up.** `slipwai migrate` brings the gate and the command text; an entry already written as
|
|
37
|
+
`drive-bosun` passes as it stands.
|
|
38
|
+
|
|
39
|
+
**Every tool the factory gives a project now reaches a headless `/cruise` iteration, the code index included.**
|
|
40
|
+
A run in a fresh checkout kept `check-codegraph` green with `codegraph sync` and answered every *who calls this*
|
|
41
|
+
with grep, because the only thing that connected an agent to the index was the user-level config CodeGraph's own
|
|
42
|
+
installer writes on the one machine `./init` ran on — nothing a container, a CI runner or the runner's fresh session
|
|
43
|
+
ever sees. Three things change. `./init --extension codegraph` (and `slipwai migrate`, `make agents` or a later
|
|
44
|
+
`./init --integration <agent>`, for a project that adopted it earlier) names the server, started through `npx`
|
|
45
|
+
so the connection is true wherever Node is, in the project-scoped MCP file of every harness installed here and
|
|
46
|
+
commits it: `.mcp.json` for Claude Code, `.codex/config.toml` for Codex, `.gemini/settings.json` for Gemini CLI,
|
|
47
|
+
`.cursor/mcp.json` for Cursor, `opencode.json` for opencode, `.kiro/settings/mcp.json` for Kiro — the registry's
|
|
48
|
+
new `projectMcp` column, each read from the harness's own documentation and dated, null with a reason for the
|
|
49
|
+
thirty harnesses nobody has checked, which reach the index through the CLI from the shell. Every file is a merge
|
|
50
|
+
target, so a server a person added stays. Every project's `.claude/settings.json` approves that server and allows
|
|
51
|
+
its tools, inert until the file exists. And the runner passes each row's `headlessFlags` whenever the file exists —
|
|
52
|
+
`--mcp-config .mcp.json` on Claude Code, whose print session in a checkout nobody has trusted ignores the
|
|
53
|
+
project's settings and the servers they approve (its hooks still run); a one-run trust override on Codex, which
|
|
54
|
+
skips every project `.codex/` layer in an untrusted project — while the Claude Code row names every tool family
|
|
55
|
+
the ladder reaches for in `--allowedTools` — `Bash`, `Skill`, `Agent`, `WebFetch`, `WebSearch`,
|
|
56
|
+
`mcp__codegraph__*` — each tried from a print session first. What an iteration needs travels on its command line. The runner says before the first iteration how the index will be
|
|
57
|
+
reached, or that it cannot be, and `status` says afterwards in how many iterations it was asked, so an index kept
|
|
58
|
+
fresh and never queried is seen rather than suspected; an index call is one line of the feed like any command.
|
|
59
|
+
|
|
60
|
+
**Catch-up.** `slipwai migrate` writes each installed harness's project MCP file where `codegraph` was adopted,
|
|
61
|
+
the settings entries, the registry column and the runner; commit the new files.
|
|
62
|
+
|
|
63
|
+
**A typed `/cruise` now keeps going on every harness: it starts the runner, detached, instead of running the
|
|
64
|
+
ladder in a session nothing re-invokes.** The loop that continues a run used to have two paths — the runner
|
|
65
|
+
from a terminal, and an in-session ladder that only held where Claude Code's Stop hook could refuse a turn — so
|
|
66
|
+
in Cursor and every other harness the session ended on `cruise: continue` and waited for a person. Now the
|
|
67
|
+
runner is the one continuation mechanism: `python3 scripts/agents/cruise.py start` detaches it from the
|
|
68
|
+
session, writes its pid and a log under `.specify/`, and the command ends its turn with what `start` printed;
|
|
69
|
+
`stop` (and `make cruise-stop`) ends a run after the iteration in flight, or at once with `--now`; `status`
|
|
70
|
+
says whether a runner is running. The runner drives whichever CLI harness the machine has: the registry's
|
|
71
|
+
`headless` column now has a verified command for 27 of the 36 harnesses, each read from its own documentation
|
|
72
|
+
and dated, and the nine without say why; the runner takes the first installed harness with one on the PATH,
|
|
73
|
+
else any harness on the PATH, and asks every harness but Claude Code to read `commands/cruise.md` rather than
|
|
74
|
+
resolve a slash command. Hooks are the seatbelt inside a runner's iteration, not the control: the registry's new
|
|
75
|
+
`hooks` column says which harnesses can refuse the end of a turn, `scripts/agents/project.py` writes the hook
|
|
76
|
+
file where its shape was read (`.cursor/hooks.json` for Cursor, merged into `.gemini/settings.json` for Gemini
|
|
77
|
+
CLI), and `stopping` answers each in its own spelling and only in a session the runner started.
|
|
78
|
+
|
|
79
|
+
**Catch-up.** `slipwai migrate` brings the new runner, command text, Makefile targets and registry; a
|
|
80
|
+
repository with Cursor or Gemini CLI initialised gets its hook file on the next `./init` or `make agents`. The
|
|
81
|
+
stop file, the runner's pid and log, and the kept last response are now gitignored.
|
|
82
|
+
|
|
83
|
+
**Seven things `/drive` does, or a person configures, no longer drop out under `/cruise`.** A sweep of the
|
|
84
|
+
autopilot against the ladder it runs found each of these, and each is now held by a test or a gate. A Codex
|
|
85
|
+
iteration can write: `codex exec` is read-only by default, so its registry row now runs `--sandbox
|
|
86
|
+
workspace-write`. The ladder's concurrent slices can edit their worktrees: a Claude Code print session under
|
|
87
|
+
`acceptEdits` is refused every edit outside its working directory, and the worktrees sit beside the checkout,
|
|
88
|
+
so the row's new `worktreeFlags` pass `--add-dir` for the directory the checkout sits in on every iteration.
|
|
89
|
+
The runner no longer drives a CLI that is on PATH but was never initialised here — nothing is projected for
|
|
90
|
+
it, so `/cruise` was unknown to it, and a run spent its stuck budget on that before parking for the wrong
|
|
91
|
+
reason; the refusal names the `./init --integration <key>` that adds the CLI beside what is installed. The
|
|
92
|
+
`hand` setting reaches the hand: the delegation brief names the rung the ladder starts at, the delegate's own
|
|
93
|
+
brief says it never climbs above it, and `http` and `cli` mean what the settings table says. A fetch that
|
|
94
|
+
could not run — no remote, or one the environment cannot reach — is what the ladder says it is, said in the
|
|
95
|
+
evidence line, and the run goes on; the first stop row used to park there, which parked a local-only project
|
|
96
|
+
on its first iteration for good. What a demo leaves running is stopped: the command stops the app once the
|
|
97
|
+
hand's verdict is recorded, since no person is coming to open it, and the runner ends the iteration's process
|
|
98
|
+
group after the session exits and says so in the feed, so the next slice's demo finds its port free. And a
|
|
99
|
+
refusal inside an iteration — `enabled` turned off mid-run, a missing specification — ends on a last line the
|
|
100
|
+
runner reads, `cruise: stopped: human` or `cruise: parked: …`, rather than a plain sentence the runner counted
|
|
101
|
+
as no progress. Along the way the runner now reads `.specify/cruise.json` before every iteration, which is
|
|
102
|
+
what `/cruise-settings` always promised: a budget, the stuck window, the poll and `enabled` change at the next
|
|
103
|
+
iteration, and a file a hand edit broke keeps the last good settings and says so. And the driver's own model
|
|
104
|
+
is a setting: `.specify/cruise.json` gains `model` (`/cruise-settings model=opus`; `null`, the default, is the
|
|
105
|
+
harness's own), which the runner passes through the registry row's new `modelFlag` — `--model` on Claude Code,
|
|
106
|
+
Codex and Gemini CLI — on every iteration, saying before the first which model the iteration runs on or that
|
|
107
|
+
the row has no flag for it. Under `/drive` a person chose that model when they opened the session; under
|
|
108
|
+
`/cruise` nobody did, and every stage `.specify/models.json` maps to `host` ran on an unchosen default.
|
|
109
|
+
|
|
110
|
+
**Catch-up.** `slipwai migrate` brings the runner, the registry rows, the command text and the hand's brief;
|
|
111
|
+
`make agents` re-projects the delegate types. A project driven by Codex needs nothing else. A project whose
|
|
112
|
+
`/cruise` was reaching the ladder through a CLI it never initialised now needs `./init --integration <key>`
|
|
113
|
+
for that CLI, which the refusal names.
|
|
114
|
+
|
|
115
|
+
**A person can tell a running `/cruise` something without stopping it.** `/cruise-tell <message>` in any
|
|
116
|
+
session, `make cruise-tell MSG="…"`, or `python3 scripts/agents/cruise.py tell …` queues the message in
|
|
117
|
+
`.specify/cruise-inbox.jsonl`; the runner reads the inbox before it starts each iteration and hands the message
|
|
118
|
+
over as `told: <message>` in that iteration's argument — the route the kick-off takes — and the command reads it
|
|
119
|
+
before the first stage and acts on it first, writing what must outlive the iteration into the owner brief or a
|
|
120
|
+
decision entry. Between stages an iteration runs `python3 scripts/agents/cruise.py told` for what was queued since
|
|
121
|
+
it started, so a message can land mid-iteration without cutting a stage. A parked run resumes with a message
|
|
122
|
+
within the second, and a message waiting when a run is stuck goes in place of the bosun's `unblock:` iteration.
|
|
123
|
+
`--now` as the first word ends the iteration in flight for the message, the way `stop --now` does, and starts the
|
|
124
|
+
next at once; the log entry says so, and an interrupted iteration is not counted by the stuck detector. Every
|
|
125
|
+
message delivered is in that iteration's entry in `specs/cruise-log.jsonl` under `told`, and `/cruise-status` lists
|
|
126
|
+
what is queued. The watch seat queues what a person types for the run the same way and repeats what the script
|
|
127
|
+
said. Every setting keeps its meaning; a message never changes one.
|
|
128
|
+
|
|
129
|
+
**Catch-up.** `slipwai migrate` brings the runner, the command files and the Make target; the inbox and the
|
|
130
|
+
delivered file are gitignored.
|
|
131
|
+
|
|
132
|
+
**The session that types `/cruise` now watches the run, and a run can no longer park on its first command.**
|
|
133
|
+
`/cruise` used to start the runner and end its turn, so a run that parked thirty seconds in — as every run in a
|
|
134
|
+
TypeScript or Go project did, because the generated `.claude/settings.json` allowed no `python3` and the headless
|
|
135
|
+
iteration under `acceptEdits` cannot ask — was found only by someone typing `make cruise-status`. Three things
|
|
136
|
+
change. `python3 scripts/agents/cruise.py watch` is the watch seat: it prints the feed from where the last watch
|
|
137
|
+
left off and returns at the iteration's end, a park, the run's end, once the feed has gone quiet for twenty
|
|
138
|
+
seconds, or after a minute and a half with nothing new, saying which — on quiet, because a harness shows a
|
|
139
|
+
command's output when it returns, and the feed has to reach a person as it happens; the command runs it after `start`, again while the run continues, and ends the turn when
|
|
140
|
+
it says parked or ended, and a person typing into that session is answered — the feed, the settings, the status,
|
|
141
|
+
the decision log, a setting changed through `/cruise-settings` — and then watched for again; every line `watch`
|
|
142
|
+
printed goes into the reply unchanged, because a harness folds a command's output and the feed has to reach the
|
|
143
|
+
person. `make cruise-watch` is the same seat from a terminal, and two commands sit beside it in every session:
|
|
144
|
+
`/cruise-status` (the runner's state and the feed's tail) and `/cruise-stop` (after the iteration in flight, or
|
|
145
|
+
`now`). The feed is the harness's own event stream rendered one line per command, file,
|
|
146
|
+
and delegate out and back: the registry's `headless` row for Claude Code now runs `--output-format stream-json
|
|
147
|
+
--verbose` and Codex's `exec --json`, each row saying so with its `stream`, the runner keeps the raw stream in
|
|
148
|
+
`.specify/cruise-stream.jsonl` beside the log, and a refused permission is in the feed the moment it happens.
|
|
149
|
+
And an iteration is no longer refused its own commands: Claude Code's headless row runs with `--allowedTools
|
|
150
|
+
Bash`, the shell allowed wholesale because no list names the compound commands an agent writes, while the
|
|
151
|
+
project's new `deny` rules — a plain force-push, `reset --hard`, `clean` — still refuse what they name; the
|
|
152
|
+
allowlist every project's `.claude/settings.json` carries now includes the toolkit's own scripts
|
|
153
|
+
(`python3 scripts/*`) and the Git a slice is made of, whatever the language, so a person's own session stops
|
|
154
|
+
prompting at every hook and gate, and a test holds it to every command `commands/cruise.md` and the hooks
|
|
155
|
+
issue. Which tools a whole build needs is measured rather than guessed: `python3 scripts/agents/cruise.py
|
|
156
|
+
denials` lists every refusal in the raw stream by tool and command with the iterations it happened in, and
|
|
157
|
+
`status` says when there are any. What is typed
|
|
158
|
+
after `/cruise` is the kick-off — what the run is for, where the PRD is — and reaches the first iteration only;
|
|
159
|
+
every later one runs bare and derives from disk, so the first iteration writes down what must outlive it. Every
|
|
160
|
+
setting keeps its meaning.
|
|
161
|
+
|
|
162
|
+
**Catch-up.** `slipwai migrate` brings the runner, the command text, the Make target, the registry rows and the
|
|
163
|
+
allowlist; `make agents` re-projects the hook files. The raw stream and the watch cursor are gitignored.
|
|
164
|
+
|
|
165
|
+
**A generated project can now run `/drive` on its own until the specification is satisfied: `/cruise`.**
|
|
166
|
+
`/drive` stops for a product decision, an unavailable input, an exhausted split and the demo, because three of
|
|
167
|
+
those belong to a person. `/cruise` runs the same ladder with nobody at the wheel: it decides what the ladder
|
|
168
|
+
would have asked — on the host where the stage recommends an answer or a standing decision covers it, through
|
|
169
|
+
a new `drive-skipper` delegate where the question is open — runs each demo as the actor through a new
|
|
170
|
+
`drive-hand` delegate, with a browser where the slice has a screen, and audits the specification against what
|
|
171
|
+
shipped when the split runs out, so *done* means satisfied rather than exhausted. Every decision is written
|
|
172
|
+
where `/drive` would have written a person's and once more in `specs/<feature>/decisions.md`, every demo in
|
|
173
|
+
the slice's `demo-log.md`, and a person overturns either by editing it. A block is work before it is a stop: a third delegate, `drive-bosun`, stubs the
|
|
174
|
+
missing thing behind its port, takes the reading that keeps every MUST, or repairs the run, and writes down what
|
|
175
|
+
it did; a run parks only at the catastrophic — destroying, releasing, spending, weakening security — or when the
|
|
176
|
+
bosun could not move it. It stops for a human and for nothing
|
|
177
|
+
else: `scripts/agents/cruise.py run` (`make cruise`) re-invokes it with a fresh context until it says `done`,
|
|
178
|
+
parks when nothing can move, and detects a run that stopped making progress. `.specify/cruise.json` holds its
|
|
179
|
+
settings, `/cruise-settings` changes them checked, and it ships disabled: a project has to ask for this.
|
|
180
|
+
`.specify/models.json` gains a `skipper` role and the `skipper`, `hand` and `bosun` stages, and the benchmark records
|
|
181
|
+
`driver=cruise` on every stage a run bracketed.
|
|
182
|
+
|
|
183
|
+
Three things the first runs taught it. An iteration has a unit before the split exists — the upstream stages
|
|
184
|
+
together, through to the first ready set — and ends only on one of its four last lines: on Claude Code,
|
|
185
|
+
`.claude/settings.json` runs `scripts/agents/cruise.py stopping` as the `Stop` hook, which refuses a turn that
|
|
186
|
+
ends mid-iteration on anything else, or on `continue` in a session no runner started (the runner marks its
|
|
187
|
+
sessions with `CRUISE_RUNNER`; `cruise.py loop` says which kind a session is), handing back the checkpoint's
|
|
188
|
+
`Next:` line. And the session running `/cruise` allocates every identifier a decision carries — the `D<n>`
|
|
189
|
+
goes out in the skipper's brief, the entry comes back and is appended in number order, requirements and
|
|
190
|
+
criteria are numbered after concurrent delegates return — so four delegates deciding at once cannot come
|
|
191
|
+
back as two `D3`s with overlapping requirement ranges.
|
|
192
|
+
|
|
193
|
+
**Catch-up.** `slipwai migrate` brings the command, the three agent types, the settings file and the two new rows
|
|
194
|
+
of `.specify/models.json`; then `./init` reprojects the agent types and, as with every new type, the harness
|
|
195
|
+
reads them at its next session start. Nothing runs until `enabled` is set with `/cruise-settings enabled=true`.
|
|
196
|
+
|
|
197
|
+
**A service's purpose and bounded contexts can be recorded after the scaffold: `slipwai describe-service`.**
|
|
198
|
+
`purpose` and `contexts` are what the delivery loop places a slice against, and `generate` and `add-service`
|
|
199
|
+
take them at scaffold time — but a purpose is often left unsaid at the start, and the contexts are found later,
|
|
200
|
+
in the model's lanes or the specification's vocabulary, which is where `/drive` says to record them. Until now
|
|
201
|
+
that meant editing `project.json` by hand against a file the factory owns, while `docs/architecture.md` went on
|
|
202
|
+
saying "no purpose recorded yet". `describe-service <name> --purpose "..." --context <name>` edits the entry in
|
|
203
|
+
place — a field given replaces what was recorded, one not given is kept — and regenerates every file that
|
|
204
|
+
prints the two fields, derived the same way `add-service` derives its set. `/drive`, `/cruise`, the
|
|
205
|
+
architecture page and the `add-service` report now name it wherever they say a purpose or a context is
|
|
206
|
+
recorded.
|
|
207
|
+
|
|
208
|
+
**An event-profile project now commits a draw.io canvas of its model, and `make verify` proves it current.**
|
|
209
|
+
Everything `make model` draws — the slice diagrams, the README's segments, the whole-timeline SVG, the
|
|
210
|
+
browsable page — is rendered through a headless browser, which is why none of it could ever be committed or
|
|
211
|
+
checked on every commit: a picture nothing checks quietly stops matching `model.yaml`, and that is how a
|
|
212
|
+
model stops being trusted. `make model-drawio` writes `docs/event-model/model.drawio`, the whole timeline as
|
|
213
|
+
one editable draw.io page, from arithmetic and a string — no browser, no account, no network — and
|
|
214
|
+
`make check-drawio`, inside `verify`, regenerates it in memory and fails on a missing or stale file with the
|
|
215
|
+
fix in its message. The canvas advances in the same order as the Mermaid diagram, puts each box in the same
|
|
216
|
+
lane, draws the same arrows and uses the same colours, because the lane and the arrows are answered once in
|
|
217
|
+
`scripts/event-model/model.ts` and the palette is one table both renderers read. A read of an event modelled
|
|
218
|
+
far earlier detours below the bands rather than crossing every box in between, every reader of one event
|
|
219
|
+
shares that event's corridor, and a caption under each reader names every event it reads.
|
|
220
|
+
`make model-drawio-test` runs the planner's and serialiser's own tests. `make model` and `make check-model`
|
|
221
|
+
are unchanged.
|
|
222
|
+
|
|
223
|
+
**Catch-up.** After merging, run `make model-drawio` and commit `docs/event-model/model.drawio`; until then
|
|
224
|
+
`make verify` fails on the missing canvas, and says so. `make verify` now needs Node in every event-profile
|
|
225
|
+
project — it installs `scripts/event-model`'s three dependencies on first run — and the regenerated
|
|
226
|
+
`.github/workflows/verify.yml` sets a Node up where the project has none of its own.
|
|
227
|
+
|
|
228
|
+
**`./init` checks that Spec Kit's scripts have the PyYAML they compose the preset templates with, and puts it
|
|
229
|
+
right where it can.** From Spec Kit 1.0.9 its bash scripts read a preset's `preset.yml` through the bare
|
|
230
|
+
`python3` they call, and a project whose python3 lacks the module learned so at its first `/speckit-specify`:
|
|
231
|
+
"PyYAML is required to resolve preset template composition", with no remedy — and on a Homebrew or Debian
|
|
232
|
+
Python the obvious `pip install` is refused too (PEP 668). Where the installed Spec Kit's scripts mention it
|
|
233
|
+
and `python3` cannot import it, `./init` now installs it into the user site, or, where that Python refuses
|
|
234
|
+
pip outside a venv, into a venv at `.delivery-tools/venv` that shares the system's packages and prints the
|
|
235
|
+
`PATH` line that puts it first; where neither is possible it says exactly what to install. Never fatal, and
|
|
236
|
+
silent on a Spec Kit whose scripts never mention it. `docs/speckit-preset.md` says the same.
|
|
237
|
+
|
|
238
|
+
**Catch-up.** `slipwai migrate` brings the new `./init`; rerun it once after the merge on a machine whose
|
|
239
|
+
`python3` lacks PyYAML.
|
|
240
|
+
|
|
241
|
+
**`./init --extension uipro` installs UI/UX Pro Max as a skill in the project's own catalogue.** It is an
|
|
242
|
+
offline design-system generator — a Python search over local data that answers which pattern, style,
|
|
243
|
+
palette, type pairing, chart types and UX rules fit a product of this kind — and it lands in the root
|
|
244
|
+
`skills/` as one skill, so `make agents` projects it into every harness and `check-agents` holds the
|
|
245
|
+
projections to it, rather than as the fifteen per-harness copies its own installer would write. The copy is
|
|
246
|
+
ignored by Git and reproducible from the pinned CLI version. The `AGENTS.md` block says when to reach for it
|
|
247
|
+
(the first screen `docs/design.md` has no decision for), that the persisted `design-system/<slug>/MASTER.md`
|
|
248
|
+
is committed as the input `tokens.css` is filled from, and that the design page stays the one a slice reads
|
|
249
|
+
first and wins where the two disagree. A project with no browser app is refused with the command that would
|
|
250
|
+
change that.
|
|
251
|
+
|
|
252
|
+
**Catch-up.** Nothing arrives by merge. Adopt it with `./init --extension uipro` where a browser app exists;
|
|
253
|
+
a checkout that adopted it elsewhere sees the pointer and reinstalls with the same command.
|
|
254
|
+
|
|
255
|
+
**A project with a browser app now gets two design skills, and its design page and demo stop tell a slice
|
|
256
|
+
when to use them.** The catalogue had 49 skills about how work is done and none about what a screen should
|
|
257
|
+
look like or how to check one before it is demonstrated. `frontend-design` (Anthropic's, vendored verbatim at
|
|
258
|
+
a pinned commit, Apache-2.0) is the deciding half: ground the design in the subject, plan a compact token
|
|
259
|
+
system, review it against the brief for the generic defaults a generated page tends to cluster around, then
|
|
260
|
+
build. `web-interface-guidelines` is the checking half: Vercel's Web Interface Guidelines — accessibility,
|
|
261
|
+
focus, forms, motion, typography, content handling, the anti-patterns to flag — pinned into the skill as a
|
|
262
|
+
file rather than fetched before each review, because a review that needs the network is one that silently
|
|
263
|
+
does not happen in a sandbox or a CI runner. Both declare `capabilities: frontend` and ship only where there
|
|
264
|
+
is a browser app to design; `docs/design.md`'s *Rules a slice follows* now says to reach for the first before
|
|
265
|
+
the first screen and the second before the demo, and the demo stop's styled check names the review as its
|
|
266
|
+
second half. Skill counts in the docs are 51.
|
|
267
|
+
|
|
268
|
+
**Catch-up.** A merge brings both skills whole; `make agents` (or `./init`) re-projects them into every
|
|
269
|
+
harness. A project with no browser app receives nothing new.
|
|
270
|
+
|
|
271
|
+
**`./init --extension ux-gates` puts objective UX gates in `make verify`.** It installs plugin87's
|
|
272
|
+
ux-ui-agent-skills kit under `tools/ux-gates/` (ignored by Git, pinned, reproducible) and adds
|
|
273
|
+
`check-ux-gates`: the kit's no-literal-values gate over each browser app's `src/` — a colour, pixel size or
|
|
274
|
+
duration outside `tokens.css` fails the build, which is the rule `docs/design.md` already stated, now
|
|
275
|
+
measured — and, where Node and Playwright are present, its real-render gates over every `*.html` under
|
|
276
|
+
`<app>/screens/`: contrast in light and dark across default, hover and focus, visible focus, target size,
|
|
277
|
+
no overflow at phone widths, and axe. With no browser the render gates are reported as skipped, never as
|
|
278
|
+
passed; a checkout without the kit is likewise skipped, and `UX_GATES_REQUIRE=1` makes that the failure it
|
|
279
|
+
is wherever the kit is expected. The generated baseline passes the file gate: the focus ring's width and
|
|
280
|
+
offset became tokens (`--focus-ring`, `--focus-ring-offset`) rather than the two literal pixels they were.
|
|
281
|
+
Every generated Makefile carries the target whether or not the extension is adopted; unadopted, it says so
|
|
282
|
+
and passes.
|
|
283
|
+
|
|
284
|
+
**Catch-up.** A merge brings the new Makefile target and `scripts/check-ux-gates.py`, and the tokenised
|
|
285
|
+
focus ring in `tokens.css` and `base.css` (take the factory's side unless the project restyled the ring).
|
|
286
|
+
Adopt the gates with `./init --extension ux-gates` where a browser app exists.
|
|
287
|
+
|
|
288
|
+
## 1.1.0 — MINOR
|
|
289
|
+
|
|
290
|
+
**`/drive` bounds its convergence loop, checks the branch before it reads the artifacts, and gives a
|
|
291
|
+
delegate the one legal way to watch a test fail.** Measured on a project running the generated workflow:
|
|
292
|
+
convergence and the rework it ordered cost one slice 12.9 times its implementation, because the stage's exit
|
|
293
|
+
condition was the judgement of the model being looped and nothing bounded it; a `/drive` on a branch
|
|
294
|
+
fifty-seven commits behind trunk wrote a second example map for a slice that had shipped, because every
|
|
295
|
+
artifact the ladder reads is a property of the commit it is on; and two delegates in a row reached for
|
|
296
|
+
`git stash` and a copied-aside backup, both forbidden, because they needed to observe a failure without
|
|
297
|
+
dirtying the tree and the safety page forbade the routes without naming one. Now the convergence rung stops
|
|
298
|
+
at two passes by default and appends what is still open as Phase 4 tasks, only a `CRITICAL` or `HIGH` finding
|
|
299
|
+
re-opens it and only a `CRITICAL` re-opens it past the bound, the first pass is handed every abstraction level to account for, the tree is checked clean after
|
|
300
|
+
every pass including a stopped one, and a stopped pass's last line is a lead to re-run rather than a finding
|
|
301
|
+
to file. The entry-stage evidence names the branch, its head and its distance from trunk, and an unreachable
|
|
302
|
+
remote reads as *could not verify*, never as *current* or as every slice unclaimed. The implement brief and
|
|
303
|
+
the safety page name the sanctioned move — change the production file, run the test, restore that one path —
|
|
304
|
+
and ask whether each RED was observed before the implementation existed. A brief may name where a fact lives
|
|
305
|
+
without asserting what it says, the host derives concurrency from disjoint manifests rather than waiting for a
|
|
306
|
+
`[P]` the task list only applies to production-code contention, and `./init` says to restart the session
|
|
307
|
+
before delegating, since a harness reads its agent types once.
|
|
308
|
+
|
|
309
|
+
**`/drive` delegates implementation on two settings a project sets once and changes at any time — how much
|
|
310
|
+
one delegate is handed, and how many RED tests one cycle opens with — with `/drive-settings` as the checked
|
|
311
|
+
way to change either.** A project running the generated workflow measured most of a slice's implementation
|
|
312
|
+
wall as each fresh delegate re-reading the same plan, map, precedent and test file, one task at a time, and
|
|
313
|
+
ten of that slice's tasks as proofs with nothing to turn green because a rule had been cut up to fit one test
|
|
314
|
+
per increment. `.specify/drive.json`, beside the models table, now carries `delegate` — `story`, every rule of
|
|
315
|
+
one user story as its own cycle in one context; `rule`; or `task` — and `cycle` — `rule`, a rule's examples
|
|
316
|
+
together, each failing for its own stated reason, stub-first; or `example`, one at a time. The defaults are
|
|
317
|
+
`story` and `rule`. A story is never a cycle unit, since that is the batch Principle V prohibits, and
|
|
318
|
+
`scripts/agents/drive.py` refuses it. Two vetoes override the defaults on a slice: no story tags falls to
|
|
319
|
+
`rule`, and a map without numbered rules falls to `task` and `example`. Whatever the boundary, siblings with
|
|
320
|
+
disjoint manifests run concurrently and a delegate may fan its work out inside its boundary under four
|
|
321
|
+
constraints; one cycle is never parallel. `make check-agents` holds the file's shape, the stage line says both
|
|
322
|
+
settings beside the model, and the implement entry records `delegate=`, `cycle=` and `split=N`, which `make
|
|
323
|
+
benchmark` shows per slice.
|
|
324
|
+
|
|
325
|
+
`/who-runs` is renamed `/model-delegation-settings`, so the two commands that set how `/drive` delegates read as a
|
|
326
|
+
pair: which model runs each stage, and how implementation is handed out and driven. Its behaviour is unchanged.
|
|
327
|
+
|
|
328
|
+
`/whats-next` joins `/where-are-we`: the board answers how far along the work is, and this answers what to do
|
|
329
|
+
now — one slice, one stage, one command and the reason, in at most six lines, read off the same artifacts and
|
|
330
|
+
running nothing.
|
|
331
|
+
|
|
332
|
+
With it, four smaller things the same project reported. The generated Makefile names its Go modules once, in
|
|
333
|
+
`GO_MODULES`, and both `lint` and `format` read it, so the two can no longer cover different paths. `./init`
|
|
334
|
+
installs Spec Kit at the release `project.json` now records as `speckitSource`, so restoring the ignored
|
|
335
|
+
projections is no longer a silent upgrade to upstream HEAD; `SPECIFY_SOURCE` still overrides it. The
|
|
336
|
+
extension contract gains its sixth obligation: a file the user must hand-edit is a merge target, never a write
|
|
337
|
+
target. And the event-model renderer says which variable to set when Chromium refuses to start as root.
|
|
338
|
+
|
|
339
|
+
**Catch-up.** `commands/who-runs.md` is gone and `commands/model-delegation-settings.md` arrives in its place;
|
|
340
|
+
the merge offers the deletion and `make agents` reprojects the harness copies, so a harness that still lists
|
|
341
|
+
`/who-runs` has not been reprojected. `.specify/drive.json` and the `speckitSource` field of `project.json` arrive
|
|
342
|
+
through the merge;
|
|
343
|
+
a project that wants one delegate per task, or one test per cycle, runs `/drive-settings` once. A project that
|
|
344
|
+
wants to stay on the Spec Kit it has edits `speckitSource` before its next `./init --integration`. `make
|
|
345
|
+
format` and `make lint` now read `GO_MODULES`: a Go module the project added under `packages/` by hand goes on
|
|
346
|
+
that line, once.
|
|
347
|
+
|
|
348
|
+
**`make mutation` on a Go service keeps its report, and `make mutation SINCE=<branch-or-commit>` prices the
|
|
349
|
+
stage per change rather than per repository.** The report was Gremlins' own `gremlins.json`, written inside
|
|
350
|
+
the staging tree `scripts/go-mutation.py` builds and deletes, so the target left a scrollback where a slice
|
|
351
|
+
record expects its evidence; it is now copied to `<service>/gremlins.json` before the cleanup, whether the
|
|
352
|
+
run passed or failed, and git-ignored beside `coverage.out`. `SINCE` scopes the run to the production files
|
|
353
|
+
that differ from that ref: a project measured 324 mutants in 31 minutes where seven belonged to the change
|
|
354
|
+
being driven, and a stage that expensive gets routed around rather than read. The unscoped target is
|
|
355
|
+
unchanged and is the full sweep.
|
|
356
|
+
|
|
357
|
+
The scope is computed from git before anything is staged, not handed to Gremlins' `--diff`, which is
|
|
358
|
+
unusable from a module in a subdirectory: it resolves changed paths against the repository root, matches
|
|
359
|
+
them against paths within the module, and reports every mutant SKIPPED and the run successful — verified
|
|
360
|
+
against 0.6.0, from the module directory and the repository root alike. Gremlins has no include list either,
|
|
361
|
+
so the scope is a complement of `--exclude-files` patterns generated per run, and because that flag replaces
|
|
362
|
+
the yaml's list rather than adding to it, the wrapper reads `.gremlins.yaml`'s own exclusions and passes
|
|
363
|
+
them back. A change confined to files the project already excludes scopes to nothing and says so, rather
|
|
364
|
+
than failing as a run that mutated nothing. An `exclude-files` written inline is a loud failure: a scope
|
|
365
|
+
silently read as empty is the one outcome that would mutate what the project excluded on purpose.
|
|
366
|
+
|
|
367
|
+
**Catch-up.** A Go service's mutation stage takes all of this through the merge — `scripts/go-mutation.py`,
|
|
368
|
+
the `mutation:` recipe, the `.gitignore` line, the note above the target and the yaml's comments — so there
|
|
369
|
+
is nothing to install and no answer to give. Two things to look at while resolving that merge. A project
|
|
370
|
+
that edited `apps/<service>/.gremlins.yaml` or the `mutation:` recipe meets a conflict in the comments or on
|
|
371
|
+
the recipe line: keep its own values and take the `$(if $(SINCE),...)`, which
|
|
372
|
+
is what makes `SINCE` reach the script. And `gremlins.json` is now ignored at any depth, the way
|
|
373
|
+
`coverage.out` already is — a mutation report a project keeps deliberately, as a slice record's evidence,
|
|
374
|
+
must not be named `gremlins.json` or it stops being committed; name it for the run it belongs to, as a
|
|
375
|
+
report recovered by hand before this version already had to be. Anything a project built to rescue the
|
|
376
|
+
report from the staging directory can go.
|
|
377
|
+
|
|
378
|
+
**The unit of a RED-GREEN-REFACTOR increment is one rule of the example map, not one test, and RED is a
|
|
379
|
+
failing assertion rather than a failing build.** A project running the generated workflow found the tasks
|
|
380
|
+
command routinely emitting tasks with an empty GREEN — proofs over behaviour earlier tasks had produced,
|
|
381
|
+
ten of one slice's twenty-five — every one passing the moment it was written, which the constitution
|
|
382
|
+
template classifies as a defect in the test. Both documents came from this factory and disagreed. The
|
|
383
|
+
proof-only task is a symptom of the unit being too small: a rule had to be cut up to fit one test per
|
|
384
|
+
increment, and the offcuts are the tasks that produce nothing. So Principle V in both profiles' constitution
|
|
385
|
+
templates now takes one rule with its examples as the increment, written together or one at a time as the
|
|
386
|
+
implementer judges, never spanning rules; and it adds the clause that makes that safe — whatever an example
|
|
387
|
+
names exists far enough to compile against before the example is written, so each example fails for its own
|
|
388
|
+
stated reason and a red build is never a red test. `/example-map` writes rules that own their examples
|
|
389
|
+
(`R1`…`Rn`, each heading carrying its scenarios), never renumbered once cited and never retrofitted onto a
|
|
390
|
+
map already implemented. The tasks brief and template cut one task per rule and fold a proof-only task into
|
|
391
|
+
the increment it guards, and the implement delegate takes a task or a rule, chooses how to drive it, and may
|
|
392
|
+
fan its increment out to sub-delegates over disjoint files under four constraints: a manifest that is a
|
|
393
|
+
subset of its own, evidence verified against the tree rather than relayed, nothing it spawns writing
|
|
394
|
+
`tasks.md`, and one report with one cycle's evidence.
|
|
395
|
+
|
|
396
|
+
**Catch-up.** A ratified `.specify/memory/constitution.md` is human-owned and is not overwritten by the
|
|
397
|
+
merge. Amend its Principle V by hand if this project wants the rule as its unit — the amendment is MINOR under
|
|
398
|
+
the template's own versioning policy, since work built one test at a time stays compliant — and carry the
|
|
399
|
+
stub-first clause even if it does not, since that clause holds whatever the unit. Maps already agreed keep
|
|
400
|
+
their shape; the rule-owned format applies from the next slice mapped.
|
|
401
|
+
|
|
402
|
+
## 1.0.0
|
|
403
|
+
|
|
404
|
+
**A `./init` rerun that asks nothing of Spec Kit no longer reinstalls it, so adding an extension or
|
|
405
|
+
re-answering an axis finishes where github.com is unreachable.** Every `./init` ran
|
|
406
|
+
`specify init --here --force`, and where the `specify` CLI is not already installed that means fetching
|
|
407
|
+
Spec Kit from its repository — so `./init --extension codegraph` in an offline sandbox, or
|
|
408
|
+
`./init --repository <url>` once the forge tools were finally there, died on the network before doing any
|
|
409
|
+
of the local work it was actually asked for. Now, when the argument scan leaves nothing to forward and
|
|
410
|
+
`.specify/integration.json` records an installed integration — the file only `specify init` writes, since
|
|
411
|
+
generation itself ships presets under `.specify/` — the bootstrap is skipped and the script says so.
|
|
412
|
+
Anything Spec Kit-bound still delegates exactly as before: the first `./init`, and any rerun passing
|
|
413
|
+
`--integration <agent>` or another forwarded flag.
|
|
414
|
+
|
|
415
|
+
**Slipwai is available as an open-source project.** Version 1.0.0 is the first
|
|
416
|
+
release in the public version line: a one-shot scaffolder for product
|
|
417
|
+
monorepos, with generated verification, delivery workflows, migration support,
|
|
418
|
+
and coding-agent guidance.
|
|
419
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: slipwai
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.1.dev8
|
|
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
|
|
@@ -49,8 +49,8 @@ make verify # the gate, the same one CI runs
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
**Jump to** — [New to this](#new-to-this--start-here) · [What it is](#what-it-is) ·
|
|
52
|
-
[Getting started](#getting-started) · [
|
|
53
|
-
[The answers you give](#the-answers-you-give) · [Documentation](#documentation)
|
|
52
|
+
[Getting started](#getting-started) · [Cruise](#cruise-drive-with-nobody-at-the-wheel) ·
|
|
53
|
+
[What you get](#what-you-get) · [The answers you give](#the-answers-you-give) · [Documentation](#documentation)
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
@@ -218,11 +218,71 @@ make demo # the whole thing in containers, printing the addresses once it
|
|
|
218
218
|
Then open an agent session and type `/drive`. It walks the ladder from principles to a demo the actor can
|
|
219
219
|
see, and enters at the first stage whose artifact is missing. See [The delivery loop](docs/delivery-loop.md).
|
|
220
220
|
|
|
221
|
-
`/drive` stops when it needs a person: for a product decision, and at every demo. `/cruise`
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
221
|
+
`/drive` stops when it needs a person: for a product decision, and at every demo. `/cruise` answers those
|
|
222
|
+
stops itself and keeps going until the specification is satisfied. It has
|
|
223
|
+
[a section of its own](#cruise-drive-with-nobody-at-the-wheel), next.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Cruise: `/drive` with nobody at the wheel
|
|
228
|
+
|
|
229
|
+
`/cruise` is the same ladder as `/drive`, with the two stops that wait for a person answered by the machine.
|
|
230
|
+
It decides as the product owner. It runs each demo as the actor. It goes on, one iteration after another,
|
|
231
|
+
until the specification is satisfied, and it stops only for you. Nothing about what a stage produces
|
|
232
|
+
changes. What changes is who answers.
|
|
233
|
+
|
|
234
|
+
**What it promises.**
|
|
235
|
+
|
|
236
|
+
- **It stops only for a human.** A stop file, Ctrl-C, or you typing into the session ends a run. A finished
|
|
237
|
+
slice, a demo, a product question, a stale checkout or a full context does not.
|
|
238
|
+
- **Every answer is written down twice.** Once where `/drive` would have written yours, and once in one
|
|
239
|
+
decision log per feature, `specs/<feature>/decisions.md`: the question, the options, the decision, the
|
|
240
|
+
reason, who decided, and what it was written into. Overturn any entry by changing its status and writing
|
|
241
|
+
the answer you want into the artifact it names. The next iteration re-enters the ladder from there. A
|
|
242
|
+
decision that would cost a migration to reverse — an event's schema, stream identity, tenancy, the store,
|
|
243
|
+
personal data — is also an ADR at `Proposed` under `docs/adr/`, for you to accept or supersede.
|
|
244
|
+
- **It never invents a fact.** A credential, an external system, a person's approval: the slice is marked
|
|
245
|
+
blocked, the run takes the next ready slice, and a strong delegate works around the block — a fake behind
|
|
246
|
+
the port, recorded as a fake, or the narrower reading that keeps every rule — and writes down what it did.
|
|
247
|
+
- **It never makes a gate pass by changing the gate.** `scripts/`, the `Makefile`, `tools/`, CI and the hook
|
|
248
|
+
settings are not an iteration's to edit: Claude Code refuses the edit before it lands, and the runner parks
|
|
249
|
+
the run on any change to them, on every harness. A gate the tree cannot satisfy parks the run with the
|
|
250
|
+
gate's own words as the reason.
|
|
251
|
+
- **Every merge is dark.** Under the default release setting each slice ships behind a flag seeded off.
|
|
252
|
+
Nothing the run merged reaches a real actor until you turn a key on.
|
|
253
|
+
- **Done means the specification is satisfied.** When the split runs out, an audit reads the specification
|
|
254
|
+
against what shipped. Each finding becomes a new slice, or a recorded decision that it is out of scope.
|
|
255
|
+
Only an audit with nothing left ends the run.
|
|
256
|
+
|
|
257
|
+
**How to run one.** It ships switched off.
|
|
258
|
+
|
|
259
|
+
```sh
|
|
260
|
+
/cruise-settings enabled=true # switch it on; commits .specify/cruise.json
|
|
261
|
+
/cruise use the PRD in docs/prd.md # start the runner, detached, and watch it from this session
|
|
262
|
+
/cruise-status # is it running, how the last iteration ended, the feed's tail
|
|
263
|
+
/cruise-tell take the payments feature next # queued for the next iteration; --now ends the one in flight
|
|
264
|
+
/cruise-stop # end the run after the iteration in flight; `now` ends it now
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Or `make cruise` from a terminal. Either way the runner is the one thing that continues a run: one fresh
|
|
268
|
+
headless session per iteration, through any coding-agent CLI on the PATH, until the last line says `done`.
|
|
269
|
+
The session you typed in takes the watch seat. It shows the feed as the iteration works — each command, file
|
|
270
|
+
and delegate — answers you while it watches, and changes a setting when you ask. Leaving the seat ends
|
|
271
|
+
nothing; `/cruise` typed again later sits back down where the feed left off.
|
|
272
|
+
|
|
273
|
+
**Steer it without stopping it.** `.specify/product-owner.md` is the owner brief: who the actor is, what the
|
|
274
|
+
product is for, priorities and tie-breakers, taste, what is out of scope, and what must always ask a person.
|
|
275
|
+
The skipper reads it before every decision, so editing it steers the next one. `/cruise-settings` sets who
|
|
276
|
+
decides, how it releases, what a demo is driven with, which model the iteration runs on, and the budgets —
|
|
277
|
+
iterations, hours, and how many unchanged iterations count as stuck.
|
|
278
|
+
|
|
279
|
+
**Afterwards, read** `specs/<feature>/cruise-report.md` for what shipped and what was ruled out, then
|
|
280
|
+
`decisions.md` for every decision and its reason, then each slice's `demo-log.md` and the evidence under
|
|
281
|
+
`demo/`, then the flags: nothing is visible until you turn one on.
|
|
282
|
+
|
|
283
|
+
**Run it in a sandbox.** An unattended loop runs with the permissions a normal run has; bypassing them all
|
|
284
|
+
needs the runner's `--sandbox` flag, and a container around the run. [Cruise](docs/cruise.md) has the whole
|
|
285
|
+
of it: the three roles, what it does at each of `/drive`'s stops, every setting, and the limits.
|
|
226
286
|
|
|
227
287
|
---
|
|
228
288
|
|
|
@@ -20,8 +20,8 @@ make verify # the gate, the same one CI runs
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
**Jump to** — [New to this](#new-to-this--start-here) · [What it is](#what-it-is) ·
|
|
23
|
-
[Getting started](#getting-started) · [
|
|
24
|
-
[The answers you give](#the-answers-you-give) · [Documentation](#documentation)
|
|
23
|
+
[Getting started](#getting-started) · [Cruise](#cruise-drive-with-nobody-at-the-wheel) ·
|
|
24
|
+
[What you get](#what-you-get) · [The answers you give](#the-answers-you-give) · [Documentation](#documentation)
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -189,11 +189,71 @@ make demo # the whole thing in containers, printing the addresses once it
|
|
|
189
189
|
Then open an agent session and type `/drive`. It walks the ladder from principles to a demo the actor can
|
|
190
190
|
see, and enters at the first stage whose artifact is missing. See [The delivery loop](docs/delivery-loop.md).
|
|
191
191
|
|
|
192
|
-
`/drive` stops when it needs a person: for a product decision, and at every demo. `/cruise`
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
192
|
+
`/drive` stops when it needs a person: for a product decision, and at every demo. `/cruise` answers those
|
|
193
|
+
stops itself and keeps going until the specification is satisfied. It has
|
|
194
|
+
[a section of its own](#cruise-drive-with-nobody-at-the-wheel), next.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Cruise: `/drive` with nobody at the wheel
|
|
199
|
+
|
|
200
|
+
`/cruise` is the same ladder as `/drive`, with the two stops that wait for a person answered by the machine.
|
|
201
|
+
It decides as the product owner. It runs each demo as the actor. It goes on, one iteration after another,
|
|
202
|
+
until the specification is satisfied, and it stops only for you. Nothing about what a stage produces
|
|
203
|
+
changes. What changes is who answers.
|
|
204
|
+
|
|
205
|
+
**What it promises.**
|
|
206
|
+
|
|
207
|
+
- **It stops only for a human.** A stop file, Ctrl-C, or you typing into the session ends a run. A finished
|
|
208
|
+
slice, a demo, a product question, a stale checkout or a full context does not.
|
|
209
|
+
- **Every answer is written down twice.** Once where `/drive` would have written yours, and once in one
|
|
210
|
+
decision log per feature, `specs/<feature>/decisions.md`: the question, the options, the decision, the
|
|
211
|
+
reason, who decided, and what it was written into. Overturn any entry by changing its status and writing
|
|
212
|
+
the answer you want into the artifact it names. The next iteration re-enters the ladder from there. A
|
|
213
|
+
decision that would cost a migration to reverse — an event's schema, stream identity, tenancy, the store,
|
|
214
|
+
personal data — is also an ADR at `Proposed` under `docs/adr/`, for you to accept or supersede.
|
|
215
|
+
- **It never invents a fact.** A credential, an external system, a person's approval: the slice is marked
|
|
216
|
+
blocked, the run takes the next ready slice, and a strong delegate works around the block — a fake behind
|
|
217
|
+
the port, recorded as a fake, or the narrower reading that keeps every rule — and writes down what it did.
|
|
218
|
+
- **It never makes a gate pass by changing the gate.** `scripts/`, the `Makefile`, `tools/`, CI and the hook
|
|
219
|
+
settings are not an iteration's to edit: Claude Code refuses the edit before it lands, and the runner parks
|
|
220
|
+
the run on any change to them, on every harness. A gate the tree cannot satisfy parks the run with the
|
|
221
|
+
gate's own words as the reason.
|
|
222
|
+
- **Every merge is dark.** Under the default release setting each slice ships behind a flag seeded off.
|
|
223
|
+
Nothing the run merged reaches a real actor until you turn a key on.
|
|
224
|
+
- **Done means the specification is satisfied.** When the split runs out, an audit reads the specification
|
|
225
|
+
against what shipped. Each finding becomes a new slice, or a recorded decision that it is out of scope.
|
|
226
|
+
Only an audit with nothing left ends the run.
|
|
227
|
+
|
|
228
|
+
**How to run one.** It ships switched off.
|
|
229
|
+
|
|
230
|
+
```sh
|
|
231
|
+
/cruise-settings enabled=true # switch it on; commits .specify/cruise.json
|
|
232
|
+
/cruise use the PRD in docs/prd.md # start the runner, detached, and watch it from this session
|
|
233
|
+
/cruise-status # is it running, how the last iteration ended, the feed's tail
|
|
234
|
+
/cruise-tell take the payments feature next # queued for the next iteration; --now ends the one in flight
|
|
235
|
+
/cruise-stop # end the run after the iteration in flight; `now` ends it now
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Or `make cruise` from a terminal. Either way the runner is the one thing that continues a run: one fresh
|
|
239
|
+
headless session per iteration, through any coding-agent CLI on the PATH, until the last line says `done`.
|
|
240
|
+
The session you typed in takes the watch seat. It shows the feed as the iteration works — each command, file
|
|
241
|
+
and delegate — answers you while it watches, and changes a setting when you ask. Leaving the seat ends
|
|
242
|
+
nothing; `/cruise` typed again later sits back down where the feed left off.
|
|
243
|
+
|
|
244
|
+
**Steer it without stopping it.** `.specify/product-owner.md` is the owner brief: who the actor is, what the
|
|
245
|
+
product is for, priorities and tie-breakers, taste, what is out of scope, and what must always ask a person.
|
|
246
|
+
The skipper reads it before every decision, so editing it steers the next one. `/cruise-settings` sets who
|
|
247
|
+
decides, how it releases, what a demo is driven with, which model the iteration runs on, and the budgets —
|
|
248
|
+
iterations, hours, and how many unchanged iterations count as stuck.
|
|
249
|
+
|
|
250
|
+
**Afterwards, read** `specs/<feature>/cruise-report.md` for what shipped and what was ruled out, then
|
|
251
|
+
`decisions.md` for every decision and its reason, then each slice's `demo-log.md` and the evidence under
|
|
252
|
+
`demo/`, then the flags: nothing is visible until you turn one on.
|
|
253
|
+
|
|
254
|
+
**Run it in a sandbox.** An unattended loop runs with the permissions a normal run has; bypassing them all
|
|
255
|
+
needs the runner's `--sandbox` flag, and a container around the run. [Cruise](docs/cruise.md) has the whole
|
|
256
|
+
of it: the three roles, what it does at each of `/drive`'s stops, every setting, and the limits.
|
|
197
257
|
|
|
198
258
|
---
|
|
199
259
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.2.1.dev8
|