aegis-stack 0.13.0__tar.gz → 0.13.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2021) hide show
  1. aegis_stack-0.13.2/CHANGELOG.md +1760 -0
  2. aegis_stack-0.13.2/PKG-INFO +319 -0
  3. aegis_stack-0.13.2/README.md +259 -0
  4. aegis_stack-0.13.2/aegis/__init__.py +5 -0
  5. aegis_stack-0.13.2/aegis/commands/add_service.py +653 -0
  6. aegis_stack-0.13.2/aegis/core/component_files.py +539 -0
  7. aegis_stack-0.13.2/aegis/core/manual_updater.py +1907 -0
  8. aegis_stack-0.13.2/aegis/core/migration_generator.py +902 -0
  9. aegis_stack-0.13.2/aegis/core/post_gen_tasks.py +1306 -0
  10. aegis_stack-0.13.2/aegis/core/services.py +1340 -0
  11. aegis_stack-0.13.2/aegis/i18n/locales/de.py +1231 -0
  12. aegis_stack-0.13.2/aegis/i18n/locales/en.py +1336 -0
  13. aegis_stack-0.13.2/aegis/i18n/locales/es.py +1235 -0
  14. aegis_stack-0.13.2/aegis/i18n/locales/fr.py +1236 -0
  15. aegis_stack-0.13.2/aegis/i18n/locales/ja.py +1216 -0
  16. aegis_stack-0.13.2/aegis/i18n/locales/ko.py +1181 -0
  17. aegis_stack-0.13.2/aegis/i18n/locales/ru.py +1198 -0
  18. aegis_stack-0.13.2/aegis/i18n/locales/zh.py +1068 -0
  19. aegis_stack-0.13.2/aegis/i18n/locales/zh_hant.py +1068 -0
  20. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/.queryspy-baseline.json +2280 -0
  21. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/record.py.jinja +348 -0
  22. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/migrate_gen.py.jinja +443 -0
  23. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/migrate_owners.py.jinja +128 -0
  24. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/chat.py.jinja +307 -0
  25. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/speech.py.jinja +395 -0
  26. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/status.py.jinja +69 -0
  27. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/documents/pages.py +163 -0
  28. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/documents/router.py +314 -0
  29. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/accounts.py +302 -0
  30. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/analyst.py.jinja +98 -0
  31. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/budgets.py +182 -0
  32. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/categories.py +171 -0
  33. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/changes.py +168 -0
  34. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/connections.py.jinja +346 -0
  35. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/declare.py +273 -0
  36. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/goals.py +420 -0
  37. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/imports.py +207 -0
  38. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/insights.py +62 -0
  39. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/investments.py +334 -0
  40. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/overview.py +158 -0
  41. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/payees.py +282 -0
  42. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/planning.py +154 -0
  43. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/recurring.py +487 -0
  44. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/register.py +379 -0
  45. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/logfire_tracing.py.jinja +207 -0
  46. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/database_init.py.jinja +448 -0
  47. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/schema_recovery.py +216 -0
  48. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/views/legacy_dashboard.py.jinja +79 -0
  49. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/session_health.py +159 -0
  50. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/dialog.py +236 -0
  51. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/system_dashboard.py +272 -0
  52. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/main.py.jinja +237 -0
  53. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/loops.py.jinja +215 -0
  54. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/heartbeat.py +62 -0
  55. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/main.py.jinja +522 -0
  56. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/resilient.py +24 -0
  57. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/macros/form.html +259 -0
  58. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/loops.py +90 -0
  59. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/time.py +28 -0
  60. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/entrypoints/webserver.py +184 -0
  61. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/integrations/main.py.jinja +185 -0
  62. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/conversation.py.jinja +447 -0
  63. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/queries.py +270 -0
  64. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/llm_sync_service.py +416 -0
  65. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/queries.py +450 -0
  66. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_usage.py +48 -0
  67. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/usage_recording.py +203 -0
  68. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/deps.py.jinja +25 -0
  69. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/queries.py +201 -0
  70. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/classify.py +437 -0
  71. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/imports.py +224 -0
  72. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/ingest.py +465 -0
  73. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/preview.py +124 -0
  74. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/queries.py +183 -0
  75. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/sync.py +198 -0
  76. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/queries.py +140 -0
  77. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/ai_write_tools.py.jinja +405 -0
  78. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/deps.py.jinja +17 -0
  79. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/deep_dive.py.jinja +280 -0
  80. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/facts.py.jinja +415 -0
  81. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/note.py.jinja +187 -0
  82. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/generate.py +76 -0
  83. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/promote.py +76 -0
  84. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/declare.py +408 -0
  85. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/run.py +273 -0
  86. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/queries.py +186 -0
  87. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/securities.py +426 -0
  88. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/categories.py +431 -0
  89. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/__init__.py +193 -0
  90. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/accounts.py +271 -0
  91. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/categories.py +346 -0
  92. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/merchants.py +246 -0
  93. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/networth.py +288 -0
  94. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/subjects.py +27 -0
  95. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/transactions.py +476 -0
  96. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/transactions.py +450 -0
  97. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/lines.py +236 -0
  98. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/outlook.py +267 -0
  99. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/queries.py +315 -0
  100. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/suggestions.py +309 -0
  101. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/uncovered.py +225 -0
  102. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/queries.py +236 -0
  103. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/queries.py +362 -0
  104. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/streams.py +496 -0
  105. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/curation.py +213 -0
  106. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/queries.py +59 -0
  107. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/seed.py +168 -0
  108. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/categories.py +131 -0
  109. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/shared/deps.py.jinja +27 -0
  110. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/shared/queries.py +37 -0
  111. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/docker-compose.dev.yml.jinja +148 -0
  112. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/docker-compose.yml.jinja +449 -0
  113. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/entrypoint.sh.jinja +184 -0
  114. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_ai_endpoints.py.jinja +527 -0
  115. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_finance_endpoints.py +3502 -0
  116. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_bootstrap.py +168 -0
  117. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_card_render.py +210 -0
  118. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_scheduler.py +219 -0
  119. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_session_health.py +236 -0
  120. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_webserver_engine.py +326 -0
  121. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_events.py.jinja +421 -0
  122. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/conftest.py.jinja +821 -0
  123. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/core/test_time.py +21 -0
  124. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_llm_pricing_lookup.py +82 -0
  125. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_price_memo.py +153 -0
  126. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_usage_tracking.py.jinja +719 -0
  127. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_conversation_persistence.py.jinja +567 -0
  128. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_category_owner_scope.py +113 -0
  129. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_module_layout.py +746 -0
  130. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_owner_scope_helpers.py +57 -0
  131. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_migration_signatures.py +356 -0
  132. aegis_stack-0.13.2/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_feedback.py +214 -0
  133. aegis_stack-0.13.2/pyproject.toml +209 -0
  134. aegis_stack-0.13.2/tests/cli/test_add_service_auth_regen.py +110 -0
  135. aegis_stack-0.13.2/tests/cli/test_add_service_is_atomic.py +105 -0
  136. aegis_stack-0.13.2/tests/cli/test_add_service_migrations.py +568 -0
  137. aegis_stack-0.13.2/tests/cli/test_cli_init.py +523 -0
  138. aegis_stack-0.13.2/tests/cli/test_worker_streaming.py +252 -0
  139. aegis_stack-0.13.2/tests/core/test_app_containers_share_storage.py +85 -0
  140. aegis_stack-0.13.2/tests/core/test_auto_tracing_scope.py +71 -0
  141. aegis_stack-0.13.2/tests/core/test_cleared_tables_scope.py +71 -0
  142. aegis_stack-0.13.2/tests/core/test_compose_healthchecks.py +40 -0
  143. aegis_stack-0.13.2/tests/core/test_container_limits_fit_the_job.py +74 -0
  144. aegis_stack-0.13.2/tests/core/test_cross_spec_scope.py +88 -0
  145. aegis_stack-0.13.2/tests/core/test_dashboard_card_counts_recorded.py +56 -0
  146. aegis_stack-0.13.2/tests/core/test_entrypoint_render.py +126 -0
  147. aegis_stack-0.13.2/tests/core/test_link_revision_order.py +56 -0
  148. aegis_stack-0.13.2/tests/core/test_manual_updater_plugins.py +581 -0
  149. aegis_stack-0.13.2/tests/core/test_migrate_gen_constraint_kinds.py +95 -0
  150. aegis_stack-0.13.2/tests/core/test_no_mktemp.py +24 -0
  151. aegis_stack-0.13.2/tests/fixtures/queryspy/everything.json +2112 -0
  152. aegis_stack-0.13.2/tests/fixtures/queryspy/finance.json +1434 -0
  153. aegis_stack-0.13.2/tests/fixtures/queryspy/finance_ai_rbac.json +1722 -0
  154. aegis_stack-0.13.2/tests/fixtures/queryspy/finance_auth.json +1428 -0
  155. aegis_stack-0.13.2/tests/fixtures/queryspy-baseline.json +2280 -0
  156. aegis_stack-0.13.0/CHANGELOG.md +0 -1598
  157. aegis_stack-0.13.0/PKG-INFO +0 -319
  158. aegis_stack-0.13.0/README.md +0 -259
  159. aegis_stack-0.13.0/aegis/__init__.py +0 -5
  160. aegis_stack-0.13.0/aegis/commands/add_service.py +0 -629
  161. aegis_stack-0.13.0/aegis/core/component_files.py +0 -518
  162. aegis_stack-0.13.0/aegis/core/manual_updater.py +0 -1892
  163. aegis_stack-0.13.0/aegis/core/migration_generator.py +0 -886
  164. aegis_stack-0.13.0/aegis/core/post_gen_tasks.py +0 -1304
  165. aegis_stack-0.13.0/aegis/core/services.py +0 -1339
  166. aegis_stack-0.13.0/aegis/i18n/locales/de.py +0 -1226
  167. aegis_stack-0.13.0/aegis/i18n/locales/en.py +0 -1331
  168. aegis_stack-0.13.0/aegis/i18n/locales/es.py +0 -1230
  169. aegis_stack-0.13.0/aegis/i18n/locales/fr.py +0 -1231
  170. aegis_stack-0.13.0/aegis/i18n/locales/ja.py +0 -1211
  171. aegis_stack-0.13.0/aegis/i18n/locales/ko.py +0 -1176
  172. aegis_stack-0.13.0/aegis/i18n/locales/ru.py +0 -1193
  173. aegis_stack-0.13.0/aegis/i18n/locales/zh.py +0 -1063
  174. aegis_stack-0.13.0/aegis/i18n/locales/zh_hant.py +0 -1063
  175. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/.queryspy-baseline.json +0 -2268
  176. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/record.py.jinja +0 -344
  177. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/migrate_gen.py.jinja +0 -483
  178. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/chat.py.jinja +0 -300
  179. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/speech.py.jinja +0 -394
  180. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/status.py.jinja +0 -66
  181. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/documents/pages.py +0 -162
  182. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/documents/router.py +0 -313
  183. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/accounts.py +0 -304
  184. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/analyst.py.jinja +0 -100
  185. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/budgets.py +0 -184
  186. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/categories.py +0 -169
  187. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/changes.py +0 -170
  188. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/connections.py.jinja +0 -348
  189. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/declare.py +0 -275
  190. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/goals.py +0 -422
  191. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/imports.py +0 -209
  192. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/insights.py +0 -64
  193. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/investments.py +0 -336
  194. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/overview.py +0 -160
  195. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/payees.py +0 -284
  196. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/planning.py +0 -156
  197. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/recurring.py +0 -489
  198. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/register.py +0 -381
  199. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/logfire_tracing.py.jinja +0 -204
  200. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/database_init.py.jinja +0 -428
  201. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/schema_recovery.py +0 -188
  202. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/views/legacy_dashboard.py.jinja +0 -75
  203. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/session_health.py +0 -146
  204. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/dialog.py +0 -219
  205. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/system_dashboard.py +0 -298
  206. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/main.py.jinja +0 -238
  207. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/loops.py.jinja +0 -160
  208. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/heartbeat.py +0 -39
  209. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/main.py.jinja +0 -521
  210. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/macros/form.html +0 -255
  211. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/loops.py +0 -84
  212. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/time.py +0 -16
  213. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/entrypoints/webserver.py +0 -175
  214. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/integrations/main.py.jinja +0 -185
  215. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/conversation.py.jinja +0 -438
  216. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/queries.py +0 -254
  217. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/llm_sync_service.py +0 -411
  218. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/queries.py +0 -380
  219. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_usage.py +0 -46
  220. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/usage_recording.py +0 -200
  221. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/deps.py.jinja +0 -44
  222. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/queries.py +0 -203
  223. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/classify.py +0 -435
  224. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/imports.py +0 -223
  225. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/ingest.py +0 -459
  226. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/preview.py +0 -123
  227. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/queries.py +0 -183
  228. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/sync.py +0 -199
  229. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/queries.py +0 -141
  230. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/ai_write_tools.py.jinja +0 -403
  231. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/deps.py.jinja +0 -35
  232. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/deep_dive.py.jinja +0 -279
  233. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/facts.py.jinja +0 -414
  234. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/note.py.jinja +0 -186
  235. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/generate.py +0 -75
  236. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/promote.py +0 -75
  237. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/declare.py +0 -408
  238. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/run.py +0 -273
  239. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/queries.py +0 -186
  240. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/securities.py +0 -425
  241. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/categories.py +0 -405
  242. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/__init__.py +0 -193
  243. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/accounts.py +0 -272
  244. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/categories.py +0 -330
  245. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/merchants.py +0 -249
  246. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/networth.py +0 -290
  247. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/subjects.py +0 -28
  248. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/transactions.py +0 -483
  249. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/transactions.py +0 -449
  250. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/lines.py +0 -235
  251. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/outlook.py +0 -267
  252. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/queries.py +0 -318
  253. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/suggestions.py +0 -301
  254. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/uncovered.py +0 -225
  255. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/queries.py +0 -241
  256. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/queries.py +0 -359
  257. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/streams.py +0 -496
  258. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/curation.py +0 -212
  259. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/queries.py +0 -56
  260. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/seed.py +0 -168
  261. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/categories.py +0 -123
  262. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/shared/queries.py +0 -11
  263. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/docker-compose.dev.yml.jinja +0 -146
  264. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/docker-compose.yml.jinja +0 -452
  265. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/entrypoint.sh.jinja +0 -175
  266. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_ai_endpoints.py.jinja +0 -446
  267. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_finance_endpoints.py +0 -3473
  268. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_bootstrap.py +0 -155
  269. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_card_render.py +0 -210
  270. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_scheduler.py +0 -130
  271. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_session_health.py +0 -183
  272. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_webserver_engine.py +0 -281
  273. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_events.py.jinja +0 -310
  274. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/conftest.py.jinja +0 -806
  275. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_usage_tracking.py.jinja +0 -678
  276. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_conversation_persistence.py.jinja +0 -504
  277. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_module_layout.py +0 -746
  278. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_migration_signatures.py +0 -315
  279. aegis_stack-0.13.0/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_feedback.py +0 -196
  280. aegis_stack-0.13.0/pyproject.toml +0 -209
  281. aegis_stack-0.13.0/tests/cli/test_add_service_auth_regen.py +0 -81
  282. aegis_stack-0.13.0/tests/cli/test_add_service_migrations.py +0 -540
  283. aegis_stack-0.13.0/tests/cli/test_cli_init.py +0 -523
  284. aegis_stack-0.13.0/tests/cli/test_worker_streaming.py +0 -248
  285. aegis_stack-0.13.0/tests/core/test_entrypoint_render.py +0 -91
  286. aegis_stack-0.13.0/tests/core/test_manual_updater_plugins.py +0 -581
  287. aegis_stack-0.13.0/tests/fixtures/queryspy/everything.json +0 -2106
  288. aegis_stack-0.13.0/tests/fixtures/queryspy/finance.json +0 -1416
  289. aegis_stack-0.13.0/tests/fixtures/queryspy/finance_ai_rbac.json +0 -1716
  290. aegis_stack-0.13.0/tests/fixtures/queryspy/finance_auth.json +0 -1416
  291. aegis_stack-0.13.0/tests/fixtures/queryspy-baseline.json +0 -2268
  292. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/.gitignore +0 -0
  293. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/LICENSE +0 -0
  294. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/__main__.py +0 -0
  295. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/blueprints/__init__.py +0 -0
  296. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/blueprints/finance.py +0 -0
  297. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/blueprints/spec.py +0 -0
  298. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/__init__.py +0 -0
  299. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/brand.py +0 -0
  300. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/build_plan.py +0 -0
  301. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/callbacks.py +0 -0
  302. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/guided.py +0 -0
  303. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/guided_blueprints.py +0 -0
  304. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/guided_chrome.py +0 -0
  305. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/interactive.py +0 -0
  306. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/utils.py +0 -0
  307. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/validation.py +0 -0
  308. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/cli/validators.py +0 -0
  309. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/__init__.py +0 -0
  310. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/add.py +0 -0
  311. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/blueprints.py +0 -0
  312. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/components.py +0 -0
  313. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/deploy.py +0 -0
  314. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/ingress.py +0 -0
  315. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/init.py +0 -0
  316. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/plugins.py +0 -0
  317. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/remove.py +0 -0
  318. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/remove_service.py +0 -0
  319. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/services.py +0 -0
  320. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/update.py +0 -0
  321. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/commands/version.py +0 -0
  322. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/config/__init__.py +0 -0
  323. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/config/defaults.py +0 -0
  324. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/constants.py +0 -0
  325. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/__init__.py +0 -0
  326. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/ai_service_parser.py +0 -0
  327. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/auth_service_parser.py +0 -0
  328. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/behavior_changes.py +0 -0
  329. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/build_reporter.py +0 -0
  330. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/component_utils.py +0 -0
  331. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/components.py +0 -0
  332. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/copier_manager.py +0 -0
  333. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/copier_updater.py +0 -0
  334. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/dependency_resolver.py +0 -0
  335. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/file_manifest.py +0 -0
  336. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/insights_service_parser.py +0 -0
  337. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/migration_spec.py +0 -0
  338. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/option_spec.py +0 -0
  339. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/__init__.py +0 -0
  340. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/compat.py +0 -0
  341. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/composer.py +0 -0
  342. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/discovery.py +0 -0
  343. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/naming.py +0 -0
  344. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/resolver.py +0 -0
  345. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/scaffold.py +0 -0
  346. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/spec.py +0 -0
  347. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/plugins/template_resolver.py +0 -0
  348. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/project_map.py +0 -0
  349. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/render_diff.py +0 -0
  350. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/service_resolver.py +0 -0
  351. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/template_cleanup.py +0 -0
  352. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/template_generator.py +0 -0
  353. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/verbosity.py +0 -0
  354. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/core/version_compatibility.py +0 -0
  355. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/i18n/__init__.py +0 -0
  356. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/i18n/locales/__init__.py +0 -0
  357. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/i18n/registry.py +0 -0
  358. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/add-api-endpoint/SKILL.md +0 -0
  359. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/add-background-job/SKILL.md.jinja +0 -0
  360. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/add-cli-command/SKILL.md +0 -0
  361. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/add-model-and-migration/SKILL.md +0 -0
  362. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/add-scheduled-job/SKILL.md +0 -0
  363. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/change-the-stack/SKILL.md +0 -0
  364. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.claude/skills/protect-an-endpoint/SKILL.md +0 -0
  365. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.copier-answers.yml.jinja +0 -0
  366. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.dockerignore +0 -0
  367. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.env.deploy.example.jinja +0 -0
  368. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.env.example.jinja +0 -0
  369. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.env.ports +0 -0
  370. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.github/workflows/ci.yml.jinja +0 -0
  371. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.github/workflows/security.yml.jinja +0 -0
  372. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.gitignore.jinja +0 -0
  373. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.pre-commit-config.yaml.jinja +0 -0
  374. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/.python-version.jinja +0 -0
  375. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/CLAUDE.md.jinja +0 -0
  376. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/Dockerfile.jinja +0 -0
  377. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/Makefile.jinja +0 -0
  378. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/README.md.jinja +0 -0
  379. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/alembic/alembic.ini.jinja +0 -0
  380. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/alembic/env.py.jinja +0 -0
  381. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/alembic/script.py.mako +0 -0
  382. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/alembic/versions/.gitkeep +0 -0
  383. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/__init__.py.jinja +0 -0
  384. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/__init__.py.jinja +0 -0
  385. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/_i18n_click.py +0 -0
  386. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/agents.py.jinja +0 -0
  387. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/__init__.py.jinja +0 -0
  388. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/analytics.py.jinja +0 -0
  389. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/chat.py.jinja +0 -0
  390. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/providers.py.jinja +0 -0
  391. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/session.py.jinja +0 -0
  392. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/shared.py.jinja +0 -0
  393. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/speech.py.jinja +0 -0
  394. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/streaming.py.jinja +0 -0
  395. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai/voice.py.jinja +0 -0
  396. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/ai_rendering.py +0 -0
  397. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/api_load_test.py +0 -0
  398. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/api_load_test_auth.py +0 -0
  399. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/api_load_test_render.py +0 -0
  400. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/api_load_test_store.py +0 -0
  401. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/auth.py.jinja +0 -0
  402. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/bench.py +0 -0
  403. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/bench_drivers.py +0 -0
  404. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/blog.py.jinja +0 -0
  405. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/blog_posts.py +0 -0
  406. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/blog_shared.py +0 -0
  407. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/blog_tags.py +0 -0
  408. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/blog_transfer.py +0 -0
  409. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/chat_completer.py +0 -0
  410. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/comms.py +0 -0
  411. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/dns.py +0 -0
  412. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/docs.py +0 -0
  413. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/finance.py.jinja +0 -0
  414. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/finance_options.py.jinja +0 -0
  415. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/finance_snaptrade.py.jinja +0 -0
  416. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/health.py.jinja +0 -0
  417. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/health_display.py +0 -0
  418. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/health_messages.py +0 -0
  419. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/insights.py.jinja +0 -0
  420. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/llm.py +0 -0
  421. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/llm_rendering.py +0 -0
  422. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/load_test.py.jinja +0 -0
  423. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/load_test_display.py.jinja +0 -0
  424. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/main.py.jinja +0 -0
  425. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/marko_table_renderer.py +0 -0
  426. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/marko_terminal_renderer.py +0 -0
  427. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/migrate_drift.py.jinja +0 -0
  428. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/migrate_fix.py.jinja +0 -0
  429. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/payment.py.jinja +0 -0
  430. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/payment_e2e.py +0 -0
  431. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/payment_views.py +0 -0
  432. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/__init__.py +0 -0
  433. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/collections.py +0 -0
  434. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/documents.py +0 -0
  435. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/model.py +0 -0
  436. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/search.py +0 -0
  437. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/rag/shared.py +0 -0
  438. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/slash_commands.py.jinja +0 -0
  439. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/status_line.py +0 -0
  440. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/tasks.py.jinja +0 -0
  441. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/cli/theme.py +0 -0
  442. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/__init__.py +0 -0
  443. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/__init__.py +0 -0
  444. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/__init__.py +0 -0
  445. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/analytics.py +0 -0
  446. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/memory.py +0 -0
  447. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/router.py.jinja +0 -0
  448. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/ai/service.py +0 -0
  449. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/auth/__init__.py +0 -0
  450. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/auth/admin.py.jinja +0 -0
  451. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/auth/oauth.py.jinja +0 -0
  452. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/auth/router.py.jinja +0 -0
  453. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/auth/sessions.py.jinja +0 -0
  454. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/blog/__init__.py +0 -0
  455. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/blog/router.py.jinja +0 -0
  456. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/comms/__init__.py +0 -0
  457. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/comms/router.py.jinja +0 -0
  458. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/deps.py.jinja +0 -0
  459. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/documents/__init__.py +0 -0
  460. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/events.py.jinja +0 -0
  461. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/__init__.py +0 -0
  462. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/base.py +0 -0
  463. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/finance/router.py.jinja +0 -0
  464. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/health.py.jinja +0 -0
  465. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/insights.py.jinja +0 -0
  466. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/jobs.py +0 -0
  467. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/llm/__init__.py +0 -0
  468. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/llm/routes.py.jinja +0 -0
  469. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/load_test_api.py.jinja +0 -0
  470. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/metrics.py.jinja +0 -0
  471. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/models.py.jinja +0 -0
  472. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/orgs/__init__.py +0 -0
  473. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/orgs/router.py.jinja +0 -0
  474. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/pastebox.py +0 -0
  475. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/payment/__init__.py +0 -0
  476. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/payment/pages.py +0 -0
  477. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/payment/router.py.jinja +0 -0
  478. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/rag/__init__.py +0 -0
  479. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/rag/routes.py +0 -0
  480. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/routing.py.jinja +0 -0
  481. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/scheduler.py.jinja +0 -0
  482. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/task_history.py.jinja +0 -0
  483. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/traffic.py.jinja +0 -0
  484. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/utils.py +0 -0
  485. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/voice/__init__.py +0 -0
  486. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/voice/router.py +0 -0
  487. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/worker.py.jinja +0 -0
  488. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/worker_dramatiq.py.jinja +0 -0
  489. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/worker_taskiq.py.jinja +0 -0
  490. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/hooks.py +0 -0
  491. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/main.py +0 -0
  492. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/__init__.py +0 -0
  493. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/cors.py +0 -0
  494. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/paste_capture.py +0 -0
  495. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/performance.py +0 -0
  496. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/session.py.jinja +0 -0
  497. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/middleware/traffic.py +0 -0
  498. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/security/__init__.py +0 -0
  499. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/security/rate_limit.py +0 -0
  500. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/shutdown/__init__.py +0 -0
  501. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/shutdown/cleanup.py +0 -0
  502. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/shutdown/finance_webhook_tunnel.py +0 -0
  503. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/shutdown/payment_webhook_forwarder.py +0 -0
  504. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/__init__.py +0 -0
  505. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/agent_registry.py +0 -0
  506. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/component_health.py.jinja +0 -0
  507. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/finance_webhook_tunnel.py +0 -0
  508. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/health_backend.py +0 -0
  509. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/health_components.py.jinja +0 -0
  510. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/health_metadata.py +0 -0
  511. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/job_store.py.jinja +0 -0
  512. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/llm_active_model.py.jinja +0 -0
  513. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/llm_catalog.py.jinja +0 -0
  514. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/migration_signatures.py.jinja +0 -0
  515. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/startup/payment_webhook_forwarder.py +0 -0
  516. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/__init__.py +0 -0
  517. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/auth/__init__.py.jinja +0 -0
  518. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/auth/login_view.py.jinja +0 -0
  519. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/auth/register_view.py.jinja +0 -0
  520. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/auth/session.py.jinja +0 -0
  521. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/__init__.py +0 -0
  522. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/action_menu.py +0 -0
  523. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/auth/__init__.py.jinja +0 -0
  524. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/auth/auth_shell.py.jinja +0 -0
  525. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/auth/branding_panel.py.jinja +0 -0
  526. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/auth/oauth_button.py.jinja +0 -0
  527. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/brand_mark.py.jinja +0 -0
  528. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/busy_bar.py +0 -0
  529. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/buttons.py +0 -0
  530. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/calendar.py +0 -0
  531. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/__init__.py +0 -0
  532. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/attachments_ui.py +0 -0
  533. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/components.py +0 -0
  534. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/display_rows.py +0 -0
  535. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/history_ui.py +0 -0
  536. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/message.py +0 -0
  537. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/model_picker.py +0 -0
  538. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/models.py +0 -0
  539. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/panel.py +0 -0
  540. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/chat/stream.py +0 -0
  541. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/data_table/__init__.py +0 -0
  542. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/data_table/cells.py +0 -0
  543. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/data_table/parts.py +0 -0
  544. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/data_table/table.py +0 -0
  545. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/debounce.py +0 -0
  546. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/dialog.py +0 -0
  547. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/dropdown.py +0 -0
  548. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/expand_arrow.py +0 -0
  549. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/expandable_data_table.py +0 -0
  550. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/__init__.py +0 -0
  551. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/actions.py +0 -0
  552. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/date.py +0 -0
  553. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/dropdown.py +0 -0
  554. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/secret.py +0 -0
  555. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/shared.py +0 -0
  556. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/form_fields/text.py +0 -0
  557. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/inputs.py +0 -0
  558. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/jobs.py +0 -0
  559. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/labeled_divider.py +0 -0
  560. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/loading_overlay.py +0 -0
  561. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/markdown.py +0 -0
  562. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/method_badge.py +0 -0
  563. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/pickers/__init__.py +0 -0
  564. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/pickers/field.py +0 -0
  565. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/pickers/search.py +0 -0
  566. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/pickers/triggers.py +0 -0
  567. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/provider_icon.py +0 -0
  568. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/record_detail.py +0 -0
  569. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/section_card.py +0 -0
  570. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/service_card.py +0 -0
  571. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/severity_filter.py +0 -0
  572. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/snack_bar.py +0 -0
  573. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/status_dot.py +0 -0
  574. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/surface_panel.py +0 -0
  575. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/switch.py +0 -0
  576. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/table.py +0 -0
  577. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/tabs.py +0 -0
  578. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/tag.py +0 -0
  579. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/tech_badge.py +0 -0
  580. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/text.py +0 -0
  581. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/uploads.py +0 -0
  582. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/views/__init__.py +0 -0
  583. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/controls/views/base.py +0 -0
  584. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/__init__.py.jinja +0 -0
  585. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/events.py.jinja +0 -0
  586. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/routes.py.jinja +0 -0
  587. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/core/routing.py.jinja +0 -0
  588. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/activity_feed/__init__.py +0 -0
  589. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/activity_feed/feed.py +0 -0
  590. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/activity_feed/grouping.py +0 -0
  591. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/activity_feed/rows.py +0 -0
  592. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/card_registry.py +0 -0
  593. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/__init__.py.jinja +0 -0
  594. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/ai_card.py +0 -0
  595. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/auth_card.py +0 -0
  596. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/blog_card.py +0 -0
  597. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_container.py.jinja +0 -0
  598. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_factory.py +0 -0
  599. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_metadata.py +0 -0
  600. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_utils/__init__.py +0 -0
  601. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_utils/layout.py.jinja +0 -0
  602. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_utils/modals.py.jinja +0 -0
  603. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_utils/status.py.jinja +0 -0
  604. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/card_utils/timing.py.jinja +0 -0
  605. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/comms_card.py +0 -0
  606. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/database_card.py +0 -0
  607. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/documents_card.py +0 -0
  608. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/finance_card.py +0 -0
  609. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/ingress_card.py +0 -0
  610. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/insights_card.py +0 -0
  611. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/observability_card.py +0 -0
  612. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/ollama_card.py +0 -0
  613. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/payment_card.py +0 -0
  614. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/redis_card.py +0 -0
  615. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/scheduler_card.py +0 -0
  616. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/server_card.py +0 -0
  617. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/services_card.py +0 -0
  618. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/storage_card.py +0 -0
  619. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/cards/worker_card.py +0 -0
  620. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/diagram/__init__.py +0 -0
  621. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/diagram/diagram_canvas.py +0 -0
  622. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/diagram/diagram_node.py +0 -0
  623. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/diagram/diagram_view.py +0 -0
  624. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/diagram/layout.py +0 -0
  625. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modal_registry.py.jinja +0 -0
  626. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/__init__.py.jinja +0 -0
  627. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/agents_tab.py +0 -0
  628. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/__init__.py +0 -0
  629. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/activity.py +0 -0
  630. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/sentiment.py +0 -0
  631. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/shaping.py +0 -0
  632. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/stats.py +0 -0
  633. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_analytics_tab/tab.py +0 -0
  634. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ai_modal.py +0 -0
  635. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/auth_modal.py.jinja +0 -0
  636. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/auth_orgs_tab.py.jinja +0 -0
  637. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/auth_sessions_tab.py.jinja +0 -0
  638. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/auth_users_tab.py.jinja +0 -0
  639. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/__init__.py +0 -0
  640. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/dialog.py +0 -0
  641. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/lifecycle_tab.py +0 -0
  642. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/overview_tab.py +0 -0
  643. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/performance_tab.py +0 -0
  644. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/routes_tab.py +0 -0
  645. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/backend_modal/traffic_tab.py +0 -0
  646. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/base_detail_popup.py +0 -0
  647. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/base_modal.py +0 -0
  648. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/base_popup.py +0 -0
  649. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/__init__.py +0 -0
  650. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/dialog.py +0 -0
  651. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/editor_tab.py +0 -0
  652. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/formatting.py +0 -0
  653. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/overview_tab.py +0 -0
  654. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/pickers.py +0 -0
  655. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/posts_tab.py +0 -0
  656. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/blog_modal/tags_tab.py +0 -0
  657. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/__init__.py +0 -0
  658. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/config_tab.py +0 -0
  659. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/dialog.py +0 -0
  660. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/email_tab.py +0 -0
  661. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/overview_tab.py +0 -0
  662. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/comms_modal/twilio_tab.py +0 -0
  663. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/__init__.py +0 -0
  664. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/dialog.py +0 -0
  665. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/migrations.py +0 -0
  666. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/overview.py +0 -0
  667. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/schema.py +0 -0
  668. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/database_modal/settings.py +0 -0
  669. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/documents_actions.py +0 -0
  670. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/documents_activity.py +0 -0
  671. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/documents_detail_pane.py +0 -0
  672. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/documents_modal.py +0 -0
  673. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/documents_pages.py +0 -0
  674. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_attention_tab.py +0 -0
  675. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_categories_tab.py +0 -0
  676. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/__init__.py +0 -0
  677. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/account_header.py +0 -0
  678. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/accounts_tab.py +0 -0
  679. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_cards/__init__.py +0 -0
  680. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_cards/budget.py +0 -0
  681. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_cards/goals.py +0 -0
  682. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/__init__.py +0 -0
  683. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/base.py +0 -0
  684. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/envelopes_tab.py +0 -0
  685. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/goal_editor.py +0 -0
  686. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/goals_tab.py +0 -0
  687. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/header.py +0 -0
  688. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/lines_tab.py +0 -0
  689. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/one_time.py +0 -0
  690. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/panel.py +0 -0
  691. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/budget_panel/suggestions.py +0 -0
  692. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/connect.py +0 -0
  693. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/connections_tab.py +0 -0
  694. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/constants.py +0 -0
  695. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/curation_shared.py +0 -0
  696. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/dialog.py +0 -0
  697. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/filters.py +0 -0
  698. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/formatting.py +0 -0
  699. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/import_preview.py +0 -0
  700. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/import_summary.py +0 -0
  701. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/no_payee_assign.py +0 -0
  702. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/no_payee_panel.py +0 -0
  703. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/overview_drilldowns.py +0 -0
  704. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/overview_load.py +0 -0
  705. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/overview_tab.py +0 -0
  706. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/pending_changes.py +0 -0
  707. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/review_tab.py +0 -0
  708. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/sidebar.py +0 -0
  709. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/stat_details.py +0 -0
  710. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/trades_view.py +0 -0
  711. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/__init__.py +0 -0
  712. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/base.py +0 -0
  713. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/bulk.py +0 -0
  714. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/declare.py +0 -0
  715. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/declare_followup.py +0 -0
  716. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/imports_flow.py +0 -0
  717. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/imports_target.py +0 -0
  718. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/load.py +0 -0
  719. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/manage.py +0 -0
  720. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/panel.py +0 -0
  721. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/property_details.py +0 -0
  722. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/rows.py +0 -0
  723. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/secured_by.py +0 -0
  724. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_panel/splits_flow.py +0 -0
  725. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/transactions_view.py +0 -0
  726. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/uncategorized_cells.py +0 -0
  727. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/uncategorized_data.py +0 -0
  728. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/uncategorized_panel.py +0 -0
  729. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_modal/uncategorized_staging.py +0 -0
  730. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_panel.py +0 -0
  731. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_payees_dialogs.py +0 -0
  732. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_payees_tab.py +0 -0
  733. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/__init__.py +0 -0
  734. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/actions.py +0 -0
  735. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/base.py +0 -0
  736. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/dialogs.py +0 -0
  737. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/editor.py +0 -0
  738. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/projection.py +0 -0
  739. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/rows.py +0 -0
  740. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/shared.py +0 -0
  741. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_recurring_tab/tab.py +0 -0
  742. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/finance_settings_tab.py +0 -0
  743. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/frontend_modal.py +0 -0
  744. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/history_table.py +0 -0
  745. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ingress_modal.py +0 -0
  746. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/__init__.py +0 -0
  747. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/base.py +0 -0
  748. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/charts.py +0 -0
  749. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/constants.py +0 -0
  750. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/dialog.py +0 -0
  751. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/docs_data.py +0 -0
  752. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/docs_tab.py +0 -0
  753. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/github_traffic_data.py +0 -0
  754. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/github_traffic_tab.py +0 -0
  755. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/insight_card.py +0 -0
  756. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/overview_sections.py +0 -0
  757. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/overview_tab.py +0 -0
  758. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/pypi_data.py +0 -0
  759. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/pypi_sections.py +0 -0
  760. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/pypi_tab.py +0 -0
  761. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/reddit_tab.py +0 -0
  762. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/settings_tab.py +0 -0
  763. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/stars_tab.py +0 -0
  764. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/insights_modal/traffic_tables.py +0 -0
  765. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/__init__.py +0 -0
  766. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/featured.py +0 -0
  767. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/formatting.py +0 -0
  768. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/search.py +0 -0
  769. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/sections.py +0 -0
  770. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/llm_catalog_tab/tab.py +0 -0
  771. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/load_tests_tab.py +0 -0
  772. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/memory_modules_tab.py +0 -0
  773. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_constants.py +0 -0
  774. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/__init__.py +0 -0
  775. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/cards.py +0 -0
  776. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/chart_bar.py +0 -0
  777. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/chart_line.py +0 -0
  778. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/chart_pie.py +0 -0
  779. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/chart_primitives.py +0 -0
  780. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/formatting.py +0 -0
  781. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/lifecycle.py +0 -0
  782. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/modal_sections/sections.py +0 -0
  783. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/__init__.py +0 -0
  784. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/configuration.py +0 -0
  785. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/dialog.py +0 -0
  786. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/exceptions.py +0 -0
  787. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/overview.py +0 -0
  788. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/shared.py +0 -0
  789. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/observability_modal/spans.py +0 -0
  790. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/__init__.py +0 -0
  791. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/activity_tab.py +0 -0
  792. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/cells.py +0 -0
  793. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/columns.py +0 -0
  794. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/dialog.py +0 -0
  795. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/model_actions.py +0 -0
  796. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/models_tab.py +0 -0
  797. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/ollama_modal/overview_tab.py +0 -0
  798. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/__init__.py +0 -0
  799. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/actions_tab.py +0 -0
  800. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/dialog.py +0 -0
  801. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/disputes_tab.py +0 -0
  802. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/formatting.py +0 -0
  803. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/overview_tab.py +0 -0
  804. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/settings_tab.py +0 -0
  805. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/subscriptions_tab.py +0 -0
  806. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/payment_modal/transactions_tab.py +0 -0
  807. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/rag_tab/__init__.py +0 -0
  808. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/rag_tab/collections_table.py +0 -0
  809. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/rag_tab/panels.py +0 -0
  810. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/rag_tab/search_preview.py +0 -0
  811. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/rag_tab/tab.py +0 -0
  812. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/__init__.py +0 -0
  813. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/connections.py +0 -0
  814. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/constants.py +0 -0
  815. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/dialog.py +0 -0
  816. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/overview.py +0 -0
  817. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/redis_modal/slow_queries.py +0 -0
  818. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/scheduler_history_section.py +0 -0
  819. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/scheduler_modal.py +0 -0
  820. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/storage_modal.py +0 -0
  821. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/task_history_section.py +0 -0
  822. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/user_facts_section.py +0 -0
  823. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/__init__.py +0 -0
  824. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/controls.py +0 -0
  825. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/recorder.py +0 -0
  826. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/recorder_agent.py +0 -0
  827. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/recorder_capture.py +0 -0
  828. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/recorder_state.py +0 -0
  829. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/sections.py +0 -0
  830. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/voice_settings/tab.py +0 -0
  831. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/__init__.py +0 -0
  832. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/lifecycle_tab.py +0 -0
  833. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/overview_section.py +0 -0
  834. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/queue_health_section.py +0 -0
  835. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/modals/worker_modal/queue_rows.py +0 -0
  836. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/dashboard/status_overview.py.jinja +0 -0
  837. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/__init__.py +0 -0
  838. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/body.py.jinja +0 -0
  839. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/cards.py.jinja +0 -0
  840. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/chrome.py.jinja +0 -0
  841. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/overseer/refresh.py.jinja +0 -0
  842. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/projects/__init__.py.jinja +0 -0
  843. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/projects/active_project.py.jinja +0 -0
  844. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/projects/project_form_view.py.jinja +0 -0
  845. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/projects/project_list_view.py.jinja +0 -0
  846. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/projects/project_switcher.py.jinja +0 -0
  847. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/state/__init__.py.jinja +0 -0
  848. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/state/finance_view_state.py +0 -0
  849. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/state/session_state.py.jinja +0 -0
  850. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/styles.py +0 -0
  851. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/theme.py +0 -0
  852. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/frontend/theme_manager.py +0 -0
  853. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/scheduler/__init__.py +0 -0
  854. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/storage/__init__.py +0 -0
  855. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/storage/health.py.jinja +0 -0
  856. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/storage/s3.py +0 -0
  857. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/__init__.py +0 -0
  858. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/assets.py +0 -0
  859. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/build.py +0 -0
  860. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/build_watch.py +0 -0
  861. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/filters.py +0 -0
  862. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/main.py +0 -0
  863. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/ranges.py +0 -0
  864. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/rendering.py +0 -0
  865. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/routes/__init__.py +0 -0
  866. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/routes/pages.py.jinja +0 -0
  867. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/routes/partials/__init__.py +0 -0
  868. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/css/app.css +0 -0
  869. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/favicon.svg +0 -0
  870. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/input.css +0 -0
  871. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/js/app.js +0 -0
  872. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/js/auth.js +0 -0
  873. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/js/charts.js +0 -0
  874. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/static/js/theme.js +0 -0
  875. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/base.html +0 -0
  876. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/auth_macros.html +0 -0
  877. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/landing/features.html +0 -0
  878. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/landing/footer.html +0 -0
  879. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/landing/hero.html +0 -0
  880. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/landing/navbar.html +0 -0
  881. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/macros/feedback.html +0 -0
  882. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/macros/layout.html +0 -0
  883. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/components/macros/table.html +0 -0
  884. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/layouts/fragment.html +0 -0
  885. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/layouts/page.html +0 -0
  886. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/_layout.html +0 -0
  887. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/forgot_password.html +0 -0
  888. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/login.html +0 -0
  889. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/register.html +0 -0
  890. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/reset_password.html +0 -0
  891. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/verify_email.html +0 -0
  892. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/auth/verify_pending.html +0 -0
  893. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/web_frontend/templates/pages/landing.html +0 -0
  894. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/CLAUDE.md.jinja +0 -0
  895. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/__init__.py +0 -0
  896. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/broker_dramatiq.py +0 -0
  897. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/broker_taskiq.py +0 -0
  898. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/constants.py.jinja +0 -0
  899. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/events.py.jinja +0 -0
  900. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/heartbeat.py +0 -0
  901. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/middleware_dramatiq.py +0 -0
  902. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/middleware_taskiq.py +0 -0
  903. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/pools.py +0 -0
  904. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/pools_dramatiq.py +0 -0
  905. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/pools_taskiq.py +0 -0
  906. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queue_discovery.py +0 -0
  907. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/__init__.py +0 -0
  908. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/load_test.py +0 -0
  909. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/load_test_dramatiq.py +0 -0
  910. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/load_test_taskiq.py +0 -0
  911. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/media.py +0 -0
  912. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/system.py +0 -0
  913. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/system_dramatiq.py +0 -0
  914. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/queues/system_taskiq.py +0 -0
  915. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/registry.py +0 -0
  916. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/registry_dramatiq.py +0 -0
  917. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/registry_taskiq.py +0 -0
  918. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/task_history/__init__.py +0 -0
  919. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/task_history/prune.py +0 -0
  920. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/task_history/read.py +0 -0
  921. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/task_history/record.py +0 -0
  922. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/task_history/shared.py +0 -0
  923. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/tasks/__init__.py +0 -0
  924. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/tasks/document_tasks.py +0 -0
  925. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/tasks/load_tasks.py +0 -0
  926. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/tasks/simple_system_tasks.py +0 -0
  927. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/worker/tasks/system_tasks.py +0 -0
  928. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/audit.py +0 -0
  929. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/cache.py +0 -0
  930. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/chat_transcript.py +0 -0
  931. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/client.py +0 -0
  932. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/client_session.py +0 -0
  933. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/concurrency.py +0 -0
  934. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/config.py.jinja +0 -0
  935. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/constants.py +0 -0
  936. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/db.py.jinja +0 -0
  937. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/encryption.py +0 -0
  938. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/formatting.py +0 -0
  939. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/graphql.py +0 -0
  940. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/log.py +0 -0
  941. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/model_registry.py +0 -0
  942. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/pastebox.py +0 -0
  943. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/route_auth.py +0 -0
  944. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/security.py.jinja +0 -0
  945. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/sse.py +0 -0
  946. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/core/storage.py +0 -0
  947. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/entrypoints/__init__.py +0 -0
  948. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/entrypoints/scheduler.py.jinja +0 -0
  949. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/entrypoints/worker.py.jinja +0 -0
  950. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/__init__.py +0 -0
  951. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/__init__.py +0 -0
  952. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/de.py +0 -0
  953. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/en.py +0 -0
  954. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/es.py +0 -0
  955. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/fr.py +0 -0
  956. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/ja.py +0 -0
  957. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/ko.py +0 -0
  958. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/ru.py +0 -0
  959. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/zh.py +0 -0
  960. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/locales/zh_hant.py +0 -0
  961. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/i18n/registry.py.jinja +0 -0
  962. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/integrations/__init__.py +0 -0
  963. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/models/__init__.py +0 -0
  964. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/models/conversation.py +0 -0
  965. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/models/org.py.jinja +0 -0
  966. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/models/refresh_token.py.jinja +0 -0
  967. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/models/user.py.jinja +0 -0
  968. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/py.typed +0 -0
  969. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/__init__.py +0 -0
  970. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/__init__.py.jinja +0 -0
  971. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/config.py +0 -0
  972. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/__init__.py +0 -0
  973. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/__init__.py +0 -0
  974. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/agent_loader.py.jinja +0 -0
  975. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/agent_registry.py +0 -0
  976. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/attachments.py +0 -0
  977. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/builtin_fetchers.py +0 -0
  978. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/__init__.py +0 -0
  979. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/agent.py +0 -0
  980. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/budget.py +0 -0
  981. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/context.py +0 -0
  982. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/history.py +0 -0
  983. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/models.py +0 -0
  984. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/chat_kit/streaming.py +0 -0
  985. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/fetchers.py +0 -0
  986. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/health_context.py +0 -0
  987. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/health_extract.py +0 -0
  988. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/llm_catalog_context.py +0 -0
  989. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/memory_modules.py +0 -0
  990. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/module_context.py +0 -0
  991. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/prompts.py +0 -0
  992. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/rag_context.py +0 -0
  993. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/rag_stats_context.py +0 -0
  994. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/readings.py +0 -0
  995. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/self_context.py +0 -0
  996. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/sentiment.py.jinja +0 -0
  997. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/titles.py +0 -0
  998. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/tool_telemetry.py +0 -0
  999. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/tools.py +0 -0
  1000. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/usage_context.py +0 -0
  1001. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/chat/user_memory.py +0 -0
  1002. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/__init__.py +0 -0
  1003. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/active_model.py +0 -0
  1004. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/agents.py +0 -0
  1005. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/base.py +0 -0
  1006. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/catalog.py +0 -0
  1007. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/__init__.py +0 -0
  1008. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/clients/__init__.py +0 -0
  1009. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/clients/litellm_client.py +0 -0
  1010. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/clients/openrouter_client.py +0 -0
  1011. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/lab_resolver.py +0 -0
  1012. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/mappers/__init__.py +0 -0
  1013. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/mappers/llm_mapper.py +0 -0
  1014. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/queries.py +0 -0
  1015. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/results.py +0 -0
  1016. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/upserts.py +0 -0
  1017. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/etl/vendor_metadata.py +0 -0
  1018. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/llm_service.py +0 -0
  1019. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/model_factory.py +0 -0
  1020. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/ollama.py.jinja +0 -0
  1021. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/ollama_activity.py.jinja +0 -0
  1022. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/pollinations_provider.py +0 -0
  1023. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/provider_management.py +0 -0
  1024. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/providers.py.jinja +0 -0
  1025. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/llm/public_provider.py +0 -0
  1026. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/__init__.py +0 -0
  1027. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/catalog.py +0 -0
  1028. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/models.py +0 -0
  1029. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/stt/__init__.py +0 -0
  1030. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/stt/config.py +0 -0
  1031. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/stt/providers.py +0 -0
  1032. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/stt/service.py +0 -0
  1033. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/tts/__init__.py +0 -0
  1034. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/tts/config.py +0 -0
  1035. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/tts/providers.py +0 -0
  1036. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/domains/voice/tts/service.py +0 -0
  1037. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/__init__.py.jinja +0 -0
  1038. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/agent_fixtures.py +0 -0
  1039. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_catalog/__init__.py +0 -0
  1040. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_catalog/deployments.py +0 -0
  1041. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_catalog/models.py +0 -0
  1042. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_catalog/prices.py +0 -0
  1043. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_catalog/vendors.py +0 -0
  1044. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/fixtures/llm_fixtures.py +0 -0
  1045. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/health.py.jinja +0 -0
  1046. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/jobs.py.jinja +0 -0
  1047. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/__init__.py.jinja +0 -0
  1048. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/__init__.py +0 -0
  1049. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/agent.py +0 -0
  1050. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/agent_tool.py +0 -0
  1051. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/agent_tool_call.py +0 -0
  1052. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/agent_user_memory.py +0 -0
  1053. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/memory_module.py +0 -0
  1054. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/agents/tool.py +0 -0
  1055. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/__init__.py +0 -0
  1056. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/large_language_model.py +0 -0
  1057. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_active_selection.py +0 -0
  1058. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_deployment.py +0 -0
  1059. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_modality.py +0 -0
  1060. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_org.py +0 -0
  1061. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_org_role.py +0 -0
  1062. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/llm/llm_price.py +0 -0
  1063. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/sentiment.py +0 -0
  1064. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/models/voice_usage.py.jinja +0 -0
  1065. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/schemas.py +0 -0
  1066. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/__init__.py.jinja +0 -0
  1067. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/base.py.jinja +0 -0
  1068. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/chat.py.jinja +0 -0
  1069. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/contexts.py.jinja +0 -0
  1070. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/prompt.py.jinja +0 -0
  1071. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/status.py.jinja +0 -0
  1072. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/streaming.py.jinja +0 -0
  1073. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/trace.py.jinja +0 -0
  1074. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/usage.py.jinja +0 -0
  1075. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/service/voice.py.jinja +0 -0
  1076. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/__init__.py +0 -0
  1077. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/deps.py.jinja +0 -0
  1078. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/health.py.jinja +0 -0
  1079. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/hooks.py +0 -0
  1080. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/invites.py.jinja +0 -0
  1081. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/jobs.py.jinja +0 -0
  1082. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/memberships.py.jinja +0 -0
  1083. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/orgs.py.jinja +0 -0
  1084. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/refresh_tokens.py.jinja +0 -0
  1085. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/service.py.jinja +0 -0
  1086. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/user_deletion.py.jinja +0 -0
  1087. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/user_passwords.py +0 -0
  1088. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/user_service_base.py +0 -0
  1089. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/user_verification.py +0 -0
  1090. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/auth/users.py.jinja +0 -0
  1091. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/backend/middleware_inspector.py.jinja +0 -0
  1092. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/backend/models.py.jinja +0 -0
  1093. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/backend/route_inspector.py.jinja +0 -0
  1094. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/__init__.py +0 -0
  1095. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/constants.py +0 -0
  1096. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/deps.py +0 -0
  1097. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/health.py +0 -0
  1098. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/models.py +0 -0
  1099. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/queries.py +0 -0
  1100. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/schemas.py +0 -0
  1101. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/serialization.py +0 -0
  1102. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/service.py +0 -0
  1103. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/slugs.py +0 -0
  1104. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/summary.py +0 -0
  1105. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/tags.py +0 -0
  1106. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/blog/transfer.py +0 -0
  1107. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/__init__.py +0 -0
  1108. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/calls.py +0 -0
  1109. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/email.py +0 -0
  1110. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/health.py +0 -0
  1111. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/models.py +0 -0
  1112. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/sms.py +0 -0
  1113. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/twilio.py +0 -0
  1114. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/comms/webhooks.py +0 -0
  1115. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/__init__.py +0 -0
  1116. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/__init__.py +0 -0
  1117. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/__init__.py +0 -0
  1118. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/dispatch.py.jinja +0 -0
  1119. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/jobs.py +0 -0
  1120. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/ocr.py +0 -0
  1121. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/pages.py +0 -0
  1122. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/pdf.py +0 -0
  1123. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/domains/extraction/vision.py.jinja +0 -0
  1124. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/health.py +0 -0
  1125. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/models.py +0 -0
  1126. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/documents/service.py +0 -0
  1127. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/__init__.py +0 -0
  1128. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/__init__.py +0 -0
  1129. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/__init__.py +0 -0
  1130. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/base.py +0 -0
  1131. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/csv_profiles.py +0 -0
  1132. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/ofx.py +0 -0
  1133. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/plan.py +0 -0
  1134. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/importers/qif.py +0 -0
  1135. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/__init__.py +0 -0
  1136. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/__init__.py +0 -0
  1137. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/common.py +0 -0
  1138. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_mapping.py +0 -0
  1139. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/__init__.py +0 -0
  1140. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/accounts.py +0 -0
  1141. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/investments.py +0 -0
  1142. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/lifecycle.py +0 -0
  1143. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/plaid_sync/transactions.py +0 -0
  1144. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/registry.py +0 -0
  1145. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_mapping.py +0 -0
  1146. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_sync/__init__.py +0 -0
  1147. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_sync/accounts.py +0 -0
  1148. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_sync/investments.py +0 -0
  1149. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_sync/lifecycle.py +0 -0
  1150. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/connections/snaptrade_sync/sync.py +0 -0
  1151. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/plaid.py +0 -0
  1152. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/adapters/providers/snaptrade.py +0 -0
  1153. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/ai_tools.py.jinja +0 -0
  1154. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/constants.py +0 -0
  1155. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/__init__.py +0 -0
  1156. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/__init__.py +0 -0
  1157. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/__init__.py.jinja +0 -0
  1158. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/activity.py.jinja +0 -0
  1159. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/context.py.jinja +0 -0
  1160. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/prompts.py.jinja +0 -0
  1161. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/report.py.jinja +0 -0
  1162. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/sections.py.jinja +0 -0
  1163. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/seeds.py.jinja +0 -0
  1164. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/analyst/shared.py.jinja +0 -0
  1165. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/__init__.py +0 -0
  1166. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/commitments.py +0 -0
  1167. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/formatting.py +0 -0
  1168. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/__init__.py +0 -0
  1169. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/balances.py +0 -0
  1170. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/recurring.py +0 -0
  1171. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/shared.py +0 -0
  1172. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/insights/rules/spending.py +0 -0
  1173. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/queries.py +0 -0
  1174. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/__init__.py +0 -0
  1175. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/cadence.py +0 -0
  1176. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/__init__.py +0 -0
  1177. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/purge.py +0 -0
  1178. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/shared.py +0 -0
  1179. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/detect/streams.py +0 -0
  1180. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/recurring/resolve.py +0 -0
  1181. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/__init__.py +0 -0
  1182. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/adjustments.py +0 -0
  1183. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/categories.py +0 -0
  1184. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/detect.py +0 -0
  1185. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/pairing.py +0 -0
  1186. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/payment_history.py +0 -0
  1187. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/detection/transfers/shared.py +0 -0
  1188. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/__init__.py +0 -0
  1189. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/activity.py +0 -0
  1190. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/loader.py +0 -0
  1191. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/investments/optum.py +0 -0
  1192. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/__init__.py +0 -0
  1193. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/accounts.py +0 -0
  1194. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/merchant_icon.py +0 -0
  1195. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/merchants.py +0 -0
  1196. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/networth/__init__.py +0 -0
  1197. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/networth/reads.py +0 -0
  1198. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/networth/snapshots.py +0 -0
  1199. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/payee_aliases.py +0 -0
  1200. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/properties.py +0 -0
  1201. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/filters.py +0 -0
  1202. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/queries/splits.py +0 -0
  1203. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/series_parsing.py +0 -0
  1204. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/splits.py +0 -0
  1205. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/subjects.py +0 -0
  1206. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/ledger/valuations.py +0 -0
  1207. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/__init__.py +0 -0
  1208. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/allocation.py +0 -0
  1209. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/__init__.py +0 -0
  1210. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/details.py +0 -0
  1211. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/summary.py +0 -0
  1212. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/budgets/trims.py +0 -0
  1213. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/envelopes.py +0 -0
  1214. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/goals/__init__.py +0 -0
  1215. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/goals/actions.py +0 -0
  1216. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/goals/meta.py +0 -0
  1217. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/goals/reads.py +0 -0
  1218. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/insights.py +0 -0
  1219. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/__init__.py +0 -0
  1220. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/amounts.py +0 -0
  1221. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/forecast.py +0 -0
  1222. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/matching.py +0 -0
  1223. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/membership.py +0 -0
  1224. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/planning/recurring/schedule.py +0 -0
  1225. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/__init__.py +0 -0
  1226. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/display.py +0 -0
  1227. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/executors.py +0 -0
  1228. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/queue.py +0 -0
  1229. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/registry.py +0 -0
  1230. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/domains/writes/structure.py +0 -0
  1231. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/health.py +0 -0
  1232. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/jobs.py.jinja +0 -0
  1233. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/__init__.py +0 -0
  1234. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/accounts.py +0 -0
  1235. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/analyst.py +0 -0
  1236. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/base.py.jinja +0 -0
  1237. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/categorization.py +0 -0
  1238. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/changes.py +0 -0
  1239. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/connections.py +0 -0
  1240. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/imports.py +0 -0
  1241. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/investments.py +0 -0
  1242. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/planning.py +0 -0
  1243. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/reference.py +0 -0
  1244. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/models/transactions.py +0 -0
  1245. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/__init__.py +0 -0
  1246. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/accounts.py +0 -0
  1247. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/budgets.py +0 -0
  1248. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/categorization.py +0 -0
  1249. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/changes.py +0 -0
  1250. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/goals.py +0 -0
  1251. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/imports.py +0 -0
  1252. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/investments.py +0 -0
  1253. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/properties.py +0 -0
  1254. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/providers.py +0 -0
  1255. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/recurring.py +0 -0
  1256. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/schemas/transactions.py +0 -0
  1257. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/__init__.py +0 -0
  1258. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_household.py +0 -0
  1259. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_plan.py +0 -0
  1260. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/__init__.py +0 -0
  1261. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/clear.py +0 -0
  1262. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/curate.py +0 -0
  1263. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/shared.py +0 -0
  1264. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/demo_seed/write.py +0 -0
  1265. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/seeds/seed.py.jinja +0 -0
  1266. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/__init__.py +0 -0
  1267. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/accounts.py +0 -0
  1268. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/base.py +0 -0
  1269. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/budgets.py +0 -0
  1270. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/changes.py +0 -0
  1271. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/goals.py +0 -0
  1272. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/imports.py +0 -0
  1273. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/insights.py +0 -0
  1274. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/investments.py +0 -0
  1275. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/merchants.py +0 -0
  1276. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/networth.py +0 -0
  1277. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/recurring.py +0 -0
  1278. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/service/transactions.py +0 -0
  1279. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/finance/utils.py +0 -0
  1280. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/__init__.py +0 -0
  1281. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/__init__.py +0 -0
  1282. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/__init__.py +0 -0
  1283. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/base.py.jinja +0 -0
  1284. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/collection.py.jinja +0 -0
  1285. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/github_events.py.jinja +0 -0
  1286. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/github_stars.py.jinja +0 -0
  1287. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/github_traffic.py.jinja +0 -0
  1288. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/plausible.py.jinja +0 -0
  1289. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/pypi.py.jinja +0 -0
  1290. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/adapters/collectors/reddit.py.jinja +0 -0
  1291. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/constants.py +0 -0
  1292. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/deps.py.jinja +0 -0
  1293. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/__init__.py +0 -0
  1294. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/events.py.jinja +0 -0
  1295. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/goal_catalog.py +0 -0
  1296. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/goals.py.jinja +0 -0
  1297. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/metrics.py +0 -0
  1298. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/domains/projects.py.jinja +0 -0
  1299. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/health.py.jinja +0 -0
  1300. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/jobs.py.jinja +0 -0
  1301. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/models.py.jinja +0 -0
  1302. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/queries/__init__.py.jinja +0 -0
  1303. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/queries/events.py +0 -0
  1304. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/queries/goals.py.jinja +0 -0
  1305. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/queries/metrics.py +0 -0
  1306. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/queries/projects.py.jinja +0 -0
  1307. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/schemas/__init__.py +0 -0
  1308. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/schemas/events.py.jinja +0 -0
  1309. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/schemas/goals.py.jinja +0 -0
  1310. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/schemas/projects.py.jinja +0 -0
  1311. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/schemas/views.py +0 -0
  1312. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/seed.py.jinja +0 -0
  1313. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/service.py.jinja +0 -0
  1314. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/utils.py +0 -0
  1315. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/__init__.py +0 -0
  1316. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/docs.py +0 -0
  1317. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/events.py +0 -0
  1318. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/formatting.py +0 -0
  1319. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/github.py +0 -0
  1320. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/overview.py +0 -0
  1321. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/pypi.py +0 -0
  1322. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/reddit.py +0 -0
  1323. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/insights/views/stars.py +0 -0
  1324. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/__init__.py.jinja +0 -0
  1325. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/api/__init__.py +0 -0
  1326. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/api/discovery.py +0 -0
  1327. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/api/models.py +0 -0
  1328. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/api/service.py +0 -0
  1329. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/common/__init__.py +0 -0
  1330. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/common/analysis.py +0 -0
  1331. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/common/models.py +0 -0
  1332. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/common/storage.py +0 -0
  1333. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/__init__.py +0 -0
  1334. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/advice.py +0 -0
  1335. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/analysis.py +0 -0
  1336. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/models.py +0 -0
  1337. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/service.py +0 -0
  1338. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/service_dramatiq.py +0 -0
  1339. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test/worker/service_taskiq.py +0 -0
  1340. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test_models.py +0 -0
  1341. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/load_test_workloads.py +0 -0
  1342. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/__init__.py +0 -0
  1343. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/adapters/__init__.py +0 -0
  1344. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/adapters/porkbun.py +0 -0
  1345. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/adapters/resend.py +0 -0
  1346. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/audit.py +0 -0
  1347. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/email_setup.py +0 -0
  1348. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/protocols.py +0 -0
  1349. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ops/types.py +0 -0
  1350. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/__init__.py +0 -0
  1351. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/catalog.py +0 -0
  1352. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/constants.py +0 -0
  1353. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/demo_seed.py +0 -0
  1354. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/deps.py.jinja +0 -0
  1355. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/disputes.py +0 -0
  1356. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_helpers.py +0 -0
  1357. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/_layout.html +0 -0
  1358. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/_macros.html +0 -0
  1359. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/invoice_paid.html +0 -0
  1360. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/payment_failed.html +0 -0
  1361. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/refund_processed.html +0 -0
  1362. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/subscription_canceled.html +0 -0
  1363. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/subscription_started.html +0 -0
  1364. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/subscription_updated.html +0 -0
  1365. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/email_templates/trial_ending_soon.html +0 -0
  1366. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/health.py.jinja +0 -0
  1367. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/models.py.jinja +0 -0
  1368. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/providers/__init__.py +0 -0
  1369. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/providers/base.py +0 -0
  1370. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/providers/stripe.py.jinja +0 -0
  1371. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/refunds.py +0 -0
  1372. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/reporting.py +0 -0
  1373. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/schemas.py +0 -0
  1374. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/seed.py.jinja +0 -0
  1375. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/service.py.jinja +0 -0
  1376. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/service_base.py +0 -0
  1377. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/stripe_events.py +0 -0
  1378. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/subscriptions.py +0 -0
  1379. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/webhooks_billing.py +0 -0
  1380. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/payment/webhooks_subscription.py +0 -0
  1381. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/__init__.py +0 -0
  1382. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/chunking.py +0 -0
  1383. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/config.py +0 -0
  1384. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/health.py +0 -0
  1385. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/ids.py +0 -0
  1386. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/loaders.py +0 -0
  1387. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/models/__init__.py +0 -0
  1388. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/models/knowledge.py +0 -0
  1389. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/service.py +0 -0
  1390. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/shaping.py +0 -0
  1391. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/rag/vectorstore.py +0 -0
  1392. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/__init__.py.jinja +0 -0
  1393. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/execution_log.py.jinja +0 -0
  1394. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/models.py.jinja +0 -0
  1395. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/orphans.py.jinja +0 -0
  1396. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/scheduled_task_manager.py.jinja +0 -0
  1397. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/task_monitor.py.jinja +0 -0
  1398. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/scheduler/trigger.py.jinja +0 -0
  1399. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/shared/__init__.py +0 -0
  1400. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/shared/models.py +0 -0
  1401. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/__init__.py +0 -0
  1402. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/activity.py +0 -0
  1403. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/alerts.py +0 -0
  1404. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/backup.py.jinja +0 -0
  1405. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/env_config.py +0 -0
  1406. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health.py.jinja +0 -0
  1407. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_cache.py.jinja +0 -0
  1408. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_db.py.jinja +0 -0
  1409. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_db_postgres.py.jinja +0 -0
  1410. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_db_sqlite.py.jinja +0 -0
  1411. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_ingress.py.jinja +0 -0
  1412. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_observability.py.jinja +0 -0
  1413. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_ollama.py.jinja +0 -0
  1414. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_probes.py +0 -0
  1415. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_worker.py.jinja +0 -0
  1416. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_worker_dramatiq.py.jinja +0 -0
  1417. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_worker_rules.py.jinja +0 -0
  1418. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/health_worker_taskiq.py.jinja +0 -0
  1419. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/job_relay.py +0 -0
  1420. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/job_store.py +0 -0
  1421. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/jobs.py +0 -0
  1422. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/models.py +0 -0
  1423. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/ui.py.jinja +0 -0
  1424. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57223!aegis-manifesto.png +0 -0
  1425. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57224!aegis-manifesto-dark.png +0 -0
  1426. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57225!aegis-manifesto-square-backup.png +0 -0
  1427. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57533!aegis-manifesto.png +0 -0
  1428. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57534!aegis-manifesto-dark.png +0 -0
  1429. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57538!aegis-manifesto-square-backup.png +0 -0
  1430. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57897!aegis-manifesto.png +0 -0
  1431. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57898!aegis-manifesto-dark.png +0 -0
  1432. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!57904!aegis-manifesto-square-backup.png +0 -0
  1433. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58315!aegis-manifesto.png +0 -0
  1434. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58316!aegis-manifesto-dark.png +0 -0
  1435. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58324!aegis-manifesto-square-backup.png +0 -0
  1436. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58837!aegis-manifesto.png +0 -0
  1437. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58838!aegis-manifesto-dark.png +0 -0
  1438. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/.!58849!aegis-manifesto-square-backup.png +0 -0
  1439. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/aegis-manifesto-dark.png +0 -0
  1440. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/aegis-manifesto-square-backup.png +0 -0
  1441. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/aegis-manifesto.png +0 -0
  1442. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/icons/github.svg +0 -0
  1443. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/icons/google.svg +0 -0
  1444. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/assets/overseer.png +0 -0
  1445. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docker-compose.prod.yml.jinja +0 -0
  1446. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/api.md.jinja +0 -0
  1447. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/components/api-load-testing.md +0 -0
  1448. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/components/scheduler.md.jinja +0 -0
  1449. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/development.md.jinja +0 -0
  1450. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/health.md.jinja +0 -0
  1451. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/javascripts/mermaid-config.js +0 -0
  1452. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/ai/code-mode.md +0 -0
  1453. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/ai/research-agent.md.jinja +0 -0
  1454. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/comms/api.md +0 -0
  1455. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/comms/cli.md +0 -0
  1456. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/comms/index.md +0 -0
  1457. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/services/comms/setup.md +0 -0
  1458. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/docs/stylesheets/mermaid.css +0 -0
  1459. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/mkdocs.yml.jinja +0 -0
  1460. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/package.json.jinja +0 -0
  1461. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/pyproject.toml.jinja +0 -0
  1462. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/dev_tasks.py.jinja +0 -0
  1463. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/gen_docs.py +0 -0
  1464. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/resolve_ports.py +0 -0
  1465. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/scripts/server-setup.sh.jinja +0 -0
  1466. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tailwind.config.js +0 -0
  1467. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/_jobs.py +0 -0
  1468. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/_pdf.py +0 -0
  1469. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/_sqlite.py.jinja +0 -0
  1470. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/_test_org.py.jinja +0 -0
  1471. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/__init__.py +0 -0
  1472. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_auth_endpoints.py.jinja +0 -0
  1473. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_blog_endpoints.py +0 -0
  1474. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_comms_endpoints.py.jinja +0 -0
  1475. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_document_pages.py +0 -0
  1476. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_documents_endpoints.py +0 -0
  1477. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_finance_analyst_endpoints.py.jinja +0 -0
  1478. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_finance_split_endpoints.py +0 -0
  1479. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_health_endpoints.py.jinja +0 -0
  1480. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_insights_endpoints.py +0 -0
  1481. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_insights_projects_endpoints.py.jinja +0 -0
  1482. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_jobs_api.py +0 -0
  1483. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_load_test_api_endpoints.py.jinja +0 -0
  1484. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_metrics_endpoints.py.jinja +0 -0
  1485. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_oauth_endpoints.py.jinja +0 -0
  1486. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_org_endpoints.py.jinja +0 -0
  1487. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_pastebox.py +0 -0
  1488. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_payment_endpoints.py +0 -0
  1489. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_scheduler_endpoints.py.jinja +0 -0
  1490. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_voice_endpoints.py +0 -0
  1491. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/api/test_worker_endpoints.py.jinja +0 -0
  1492. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_agents_cli.py.jinja +0 -0
  1493. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_ai_cli_registration.py.jinja +0 -0
  1494. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_ai_rendering.py +0 -0
  1495. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_ai_streaming_gate.py +0 -0
  1496. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_api_load_test_cli.py +0 -0
  1497. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_bench_cli.py +0 -0
  1498. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_bench_parsing.py +0 -0
  1499. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_chat_completer.py +0 -0
  1500. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_conversation_memory.py +0 -0
  1501. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_docs.py +0 -0
  1502. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_finance_cli.py.jinja +0 -0
  1503. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_llm_cli.py +0 -0
  1504. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_payment_trigger.py +0 -0
  1505. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_rag_cli_registration.py +0 -0
  1506. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_slash_commands.py +0 -0
  1507. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/cli/test_status_line.py +0 -0
  1508. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/_fakes.py +0 -0
  1509. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/_payloads.py +0 -0
  1510. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/_tree.py +0 -0
  1511. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_account_filter_allows.py +0 -0
  1512. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_ai_analytics_utils.py +0 -0
  1513. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_base_popup.py +0 -0
  1514. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_bills_default_sort.py +0 -0
  1515. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_bills_pause_ui.py +0 -0
  1516. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_budget_grid.py +0 -0
  1517. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_budget_outlook.py +0 -0
  1518. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_budget_panel_render.py +0 -0
  1519. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_calendar.py +0 -0
  1520. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_card_modal_keys.py +0 -0
  1521. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_category_picker_create.py +0 -0
  1522. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_chart_axis.py +0 -0
  1523. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_chat_components.py +0 -0
  1524. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_chat_models.py +0 -0
  1525. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_chat_panel_revisit.py +0 -0
  1526. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_chat_stream.py +0 -0
  1527. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_clearable_field.py +0 -0
  1528. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_copyable_markdown.py +0 -0
  1529. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_card_reuse.py +0 -0
  1530. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_surface_reuse.py +0 -0
  1531. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dashboard_update_component.py +0 -0
  1532. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_data_table.py +0 -0
  1533. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_debounce.py +0 -0
  1534. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dialog_handle.py +0 -0
  1535. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_diverging_line.py +0 -0
  1536. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_documents_ui.py +0 -0
  1537. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_dropdown_geometry.py +0 -0
  1538. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_finance_balances.py.jinja +0 -0
  1539. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_finance_connect_menu.py.jinja +0 -0
  1540. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_finance_panel_lifecycle.py +0 -0
  1541. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_finance_splits_ui.py +0 -0
  1542. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_finance_view_state.py +0 -0
  1543. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_follow_job.py +0 -0
  1544. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_form_date_field.py +0 -0
  1545. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_global_account_filter.py +0 -0
  1546. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_goals_tab.py +0 -0
  1547. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_import_preview_body.py +0 -0
  1548. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_import_upload_wait.py +0 -0
  1549. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_loading_overlay.py +0 -0
  1550. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_ollama_model_table.py.jinja +0 -0
  1551. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_payees_tab.py +0 -0
  1552. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_pending_changes_section.py +0 -0
  1553. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_plugin_display.py +0 -0
  1554. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_projection_layout.py +0 -0
  1555. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_property_details_ui.py +0 -0
  1556. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_provider_icon.py +0 -0
  1557. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_register_columns.py +0 -0
  1558. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_register_header.py +0 -0
  1559. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_register_rows.py +0 -0
  1560. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_row_matches.py +0 -0
  1561. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_session_restart.py.jinja +0 -0
  1562. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_session_resume.py.jinja +0 -0
  1563. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_stat_details.py +0 -0
  1564. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_status_dot.py +0 -0
  1565. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_surface_panel.py +0 -0
  1566. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_text_selection.py +0 -0
  1567. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_transaction_tags_ui.py +0 -0
  1568. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_uploads.py +0 -0
  1569. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/frontend/test_user_facts_section.py +0 -0
  1570. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_backend_component_health.py +0 -0
  1571. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_frontend_auth_session.py.jinja +0 -0
  1572. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_frontend_base_view.py +0 -0
  1573. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_frontend_routing.py.jinja +0 -0
  1574. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_frontend_session_state.py +0 -0
  1575. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_frontend_snack_bar.py +0 -0
  1576. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_storage_s3.py +0 -0
  1577. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_web_frontend.py.jinja +0 -0
  1578. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_webserver_reload.py +0 -0
  1579. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_broker.py.jinja +0 -0
  1580. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_entrypoint.py +0 -0
  1581. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_heartbeat.py.jinja +0 -0
  1582. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/components/test_worker_registry.py.jinja +0 -0
  1583. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/core/test_graphql_client.py +0 -0
  1584. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/core/test_sqlite_pragmas.py.jinja +0 -0
  1585. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/__init__.py +0 -0
  1586. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/_collector_fixtures.py +0 -0
  1587. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/_finance_factories.py +0 -0
  1588. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/__init__.py +0 -0
  1589. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/__init__.py +0 -0
  1590. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_agent.py +0 -0
  1591. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_agent_hydration.py +0 -0
  1592. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_budget.py +0 -0
  1593. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_code_mode.py +0 -0
  1594. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_context_streaming.py +0 -0
  1595. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_history.py +0 -0
  1596. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_registry_tools.py +0 -0
  1597. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/chat_kit/test_save_memory_loop.py +0 -0
  1598. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/conftest.py.jinja +0 -0
  1599. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/__init__.py +0 -0
  1600. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/conftest.py +0 -0
  1601. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/test_lab_resolver.py +0 -0
  1602. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/test_litellm_client.py +0 -0
  1603. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/test_llm_mapper.py +0 -0
  1604. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/test_llm_sync_service.py.jinja +0 -0
  1605. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/etl/test_openrouter_client.py +0 -0
  1606. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_active_model.py +0 -0
  1607. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_agent_attribution.py.jinja +0 -0
  1608. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_agent_loader.py.jinja +0 -0
  1609. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_agent_models.py.jinja +0 -0
  1610. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_agent_registry.py.jinja +0 -0
  1611. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_builtin_fetchers.py.jinja +0 -0
  1612. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_chat_attachment_persistence.py +0 -0
  1613. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_config_validation.py +0 -0
  1614. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_conversation_title.py +0 -0
  1615. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_fetchers.py +0 -0
  1616. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_health.py.jinja +0 -0
  1617. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_langchain_turns.py.jinja +0 -0
  1618. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_llm_catalog_context.py +0 -0
  1619. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_llm_service.py +0 -0
  1620. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_memory_modules.py.jinja +0 -0
  1621. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_model_id_display.py +0 -0
  1622. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_models.py +0 -0
  1623. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_module_context.py.jinja +0 -0
  1624. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_ollama_activity.py.jinja +0 -0
  1625. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_one_engine.py.jinja +0 -0
  1626. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_pollinations_provider.py +0 -0
  1627. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_prompts.py +0 -0
  1628. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_provider_management.py +0 -0
  1629. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_provider_registry.py.jinja +0 -0
  1630. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_provider_resolution.py.jinja +0 -0
  1631. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_providers.py.jinja +0 -0
  1632. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_public_provider.py +0 -0
  1633. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_rag_stats_context.py +0 -0
  1634. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_self_context.py.jinja +0 -0
  1635. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_sentiment.py.jinja +0 -0
  1636. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_service.py +0 -0
  1637. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_tool_call_ledger.py.jinja +0 -0
  1638. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_tool_registry.py +0 -0
  1639. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_tool_trace.py.jinja +0 -0
  1640. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/test_user_memory.py.jinja +0 -0
  1641. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/__init__.py +0 -0
  1642. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/conftest.py +0 -0
  1643. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_catalog.py +0 -0
  1644. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_stt_config.py +0 -0
  1645. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_stt_models.py +0 -0
  1646. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_stt_providers.py +0 -0
  1647. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_stt_service.py +0 -0
  1648. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_tts_config.py +0 -0
  1649. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_tts_models.py +0 -0
  1650. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_tts_providers.py +0 -0
  1651. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/ai/voice/test_tts_service.py +0 -0
  1652. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/__init__.py +0 -0
  1653. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/conftest.py +0 -0
  1654. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/test_call.py +0 -0
  1655. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/test_config_tab.py +0 -0
  1656. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/test_email.py +0 -0
  1657. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/comms/test_sms.py +0 -0
  1658. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/conftest.py.jinja +0 -0
  1659. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/optum_hsa_sample.tsv +0 -0
  1660. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_amex.csv +0 -0
  1661. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_chase.qfx +0 -0
  1662. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_chase_cc.csv +0 -0
  1663. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_chase_checking.csv +0 -0
  1664. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_quicken.qif +0 -0
  1665. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_quicken_all.csv +0 -0
  1666. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_quicken_all_scheduled.csv +0 -0
  1667. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_quicken_mac.csv +0 -0
  1668. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/finance/fixtures/sample_quicken_register_single.csv +0 -0
  1669. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/__init__.py +0 -0
  1670. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/test_chunking.py +0 -0
  1671. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/test_knowledge_models.py.jinja +0 -0
  1672. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/test_knowledge_scoping.py +0 -0
  1673. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/test_loaders.py +0 -0
  1674. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/rag/test_service.py +0 -0
  1675. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_api_load_test_discovery.py +0 -0
  1676. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_api_load_test_models.py +0 -0
  1677. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_api_load_test_service.py +0 -0
  1678. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_auth_integration.py.jinja +0 -0
  1679. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_blog_list_queries.py +0 -0
  1680. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_blog_serialization.py +0 -0
  1681. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_blog_service.py +0 -0
  1682. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_chat_attachments.py.jinja +0 -0
  1683. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_chat_readings.py +0 -0
  1684. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_github_events.py +0 -0
  1685. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_github_stars.py +0 -0
  1686. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_github_traffic.py +0 -0
  1687. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_plausible.py +0 -0
  1688. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_pypi.py +0 -0
  1689. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_reddit.py +0 -0
  1690. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_collector_service.py +0 -0
  1691. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_component_integration.py.jinja +0 -0
  1692. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_document_extraction.py +0 -0
  1693. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_documents_module_layout.py +0 -0
  1694. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_documents_service.py +0 -0
  1695. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_extraction_dispatch.py.jinja +0 -0
  1696. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_ai_tools.py.jinja +0 -0
  1697. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_analyst.py.jinja +0 -0
  1698. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_analyst_run.py.jinja +0 -0
  1699. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_asof_today.py +0 -0
  1700. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_attach.py +0 -0
  1701. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_bill_account.py +0 -0
  1702. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_bill_editing.py +0 -0
  1703. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_budget.py +0 -0
  1704. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_budget_carry_forward.py +0 -0
  1705. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_budget_suggestions.py +0 -0
  1706. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_cadences.py +0 -0
  1707. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_categorize.py +0 -0
  1708. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_clock.py +0 -0
  1709. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_currency_cache.py +0 -0
  1710. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_declare_recurring.py +0 -0
  1711. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_delete.py +0 -0
  1712. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_demo_seed.py +0 -0
  1713. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_detection_gates.py +0 -0
  1714. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_envelopes.py +0 -0
  1715. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_goals.py +0 -0
  1716. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_import.py +0 -0
  1717. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_insights.py +0 -0
  1718. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_investment_import.py +0 -0
  1719. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_investments.py +0 -0
  1720. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_models.py +0 -0
  1721. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_one_time_bills.py +0 -0
  1722. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_pause.py +0 -0
  1723. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_payee_aliases.py +0 -0
  1724. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_payee_groups.py +0 -0
  1725. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_payee_naming.py +0 -0
  1726. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_payees.py +0 -0
  1727. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_pending_changes.py +0 -0
  1728. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_plaid.py.jinja +0 -0
  1729. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_projection_filter.py +0 -0
  1730. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_projection_horizon.py +0 -0
  1731. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_projection_overdue.py +0 -0
  1732. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_properties.py +0 -0
  1733. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_query_batching.py +0 -0
  1734. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_quicken_curation.py +0 -0
  1735. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_reconcile.py +0 -0
  1736. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_recurring_curation.py +0 -0
  1737. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_reference_seed.py +0 -0
  1738. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_schedule.py +0 -0
  1739. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_search.py +0 -0
  1740. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_series_parsing.py +0 -0
  1741. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_service.py +0 -0
  1742. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_snaptrade.py.jinja +0 -0
  1743. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_splits.py +0 -0
  1744. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_stat_details_filter.py +0 -0
  1745. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_stream_amount.py +0 -0
  1746. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_stream_regimes.py +0 -0
  1747. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_subjects.py +0 -0
  1748. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_tags.py +0 -0
  1749. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_transfers.py +0 -0
  1750. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_valuation_history.py +0 -0
  1751. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_finance_webhook_tunnel.py.jinja +0 -0
  1752. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_goal_service.py.jinja +0 -0
  1753. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_health_logic.py.jinja +0 -0
  1754. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_health_status_cache.py +0 -0
  1755. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_history_budget.py +0 -0
  1756. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_insight_service.py +0 -0
  1757. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_insights_collectors.py +0 -0
  1758. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_job_store.py +0 -0
  1759. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_load_test_common.py +0 -0
  1760. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_load_test_models.py +0 -0
  1761. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_load_test_service.py.jinja +0 -0
  1762. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_merchant_icon.py +0 -0
  1763. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_metrics_service.py +0 -0
  1764. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_middleware_inspector.py.jinja +0 -0
  1765. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_oauth_user_service.py.jinja +0 -0
  1766. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_org_integration.py.jinja +0 -0
  1767. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_payment_catalog.py +0 -0
  1768. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_payment_models.py +0 -0
  1769. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_payment_service.py +0 -0
  1770. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_payment_webhook_forwarder.py +0 -0
  1771. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_performance_middleware.py +0 -0
  1772. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_performance_tab.py +0 -0
  1773. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_project_service.py.jinja +0 -0
  1774. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_query_service.py +0 -0
  1775. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_queue_status.py.jinja +0 -0
  1776. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_refresh_service.py.jinja +0 -0
  1777. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_scheduled_task_manager.py.jinja +0 -0
  1778. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_scheduler_execution_log.py.jinja +0 -0
  1779. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_scheduler_executions_read.py.jinja +0 -0
  1780. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_service_layout.py +0 -0
  1781. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_system_jobs.py +0 -0
  1782. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_system_service.py +0 -0
  1783. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_traffic_monitor.py +0 -0
  1784. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_traffic_tab.py +0 -0
  1785. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_user_lookup_queries.py +0 -0
  1786. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_wal_backup.py.jinja +0 -0
  1787. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/services/test_worker_health_registration.py.jinja +0 -0
  1788. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_api_base_url.py +0 -0
  1789. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_app_owned_sessions.py +0 -0
  1790. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_bulk_response.py +0 -0
  1791. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_cache.py +0 -0
  1792. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_cache_integration.py +0 -0
  1793. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_client.py +0 -0
  1794. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_concurrency.py +0 -0
  1795. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_core.py +0 -0
  1796. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_dev_tasks_engine.py +0 -0
  1797. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_docs_auth.py +0 -0
  1798. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_encryption.py.jinja +0 -0
  1799. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_factories_demo.py.jinja +0 -0
  1800. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_formatting.py +0 -0
  1801. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_host_port_resolution.py.jinja +0 -0
  1802. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_i18n.py +0 -0
  1803. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_model_registry.py +0 -0
  1804. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_resolve_ports.py +0 -0
  1805. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/test_storage.py +0 -0
  1806. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/__init__.py +0 -0
  1807. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/conftest.py +0 -0
  1808. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/dom.py +0 -0
  1809. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_filters.py +0 -0
  1810. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_fragment_layout.py +0 -0
  1811. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_helpers.py +0 -0
  1812. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_htmx_config.py +0 -0
  1813. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_layout_macros.py +0 -0
  1814. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_render.py +0 -0
  1815. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_table.py +0 -0
  1816. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/tests/web/test_theme.py +0 -0
  1817. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/traefik/traefik.dev.yml.jinja +0 -0
  1818. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/copier-aegis-project/{{ project_slug }}/traefik/traefik.yml.jinja +0 -0
  1819. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/.github/workflows/test.yml.jinja +0 -0
  1820. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/.gitignore.jinja +0 -0
  1821. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/.pre-commit-config.yaml.jinja +0 -0
  1822. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/Makefile.jinja +0 -0
  1823. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/README.md.jinja +0 -0
  1824. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/pyproject.toml.jinja +0 -0
  1825. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/src/__PLUGIN_PKG__/__init__.py.jinja +0 -0
  1826. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/src/__PLUGIN_PKG__/plugin.py.jinja +0 -0
  1827. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/src/__PLUGIN_PKG__/templates/__PROJECT_SLUG__/app/services/__PLUGIN_NAME__/__init__.py.jinja +0 -0
  1828. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/tests/__init__.py.jinja +0 -0
  1829. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/aegis/templates/plugin_scaffold/tests/test_plugin.py.jinja +0 -0
  1830. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/CLAUDE.md +0 -0
  1831. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/__init__.py +0 -0
  1832. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/__init__.py +0 -0
  1833. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/conftest.py +0 -0
  1834. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_command.py +0 -0
  1835. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_ingress_populates_stubs.py +0 -0
  1836. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_plugin_resolver_integration.py +0 -0
  1837. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_plugin_shared_regen.py +0 -0
  1838. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_service_checks_the_version.py +0 -0
  1839. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_service_documents.py +0 -0
  1840. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_service_experimental.py +0 -0
  1841. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_service_importable.py +0 -0
  1842. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_service_preserves_state.py +0 -0
  1843. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_worker.py +0 -0
  1844. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_add_worker_backend.py +0 -0
  1845. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_ai_backend_utils.py +0 -0
  1846. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_ai_configuration.py +0 -0
  1847. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_auth_service_generation.py +0 -0
  1848. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_blueprints.py +0 -0
  1849. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_brand_palette_parity.py +0 -0
  1850. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_cli_basic.py +0 -0
  1851. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_component_dependencies.py +0 -0
  1852. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_database_config.py +0 -0
  1853. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_database_runtime.py +0 -0
  1854. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_database_runtime_postgres.py +0 -0
  1855. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_deploy_helpers.py +0 -0
  1856. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_error_handling.py +0 -0
  1857. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_generated_skills.py +0 -0
  1858. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_generated_skills_footprint.py +0 -0
  1859. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_generated_skills_update.py +0 -0
  1860. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_guided.py +0 -0
  1861. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_interactive_project_selection.py +0 -0
  1862. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_interactive_scheduler.py +0 -0
  1863. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_interactive_service_selection.py +0 -0
  1864. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_686_integration.py +0 -0
  1865. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_715_shared_file_divergence.py +0 -0
  1866. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_715_three_way_merge.py +0 -0
  1867. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_814_add_parity.py +0 -0
  1868. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_870_dockerfile_regen.py +0 -0
  1869. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_issue_870_warn_only_regeneration.py +0 -0
  1870. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_migration_id_collisions.py +0 -0
  1871. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_migrations_match_models.py +0 -0
  1872. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_model_imports.py +0 -0
  1873. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_plugin_conformance.py +0 -0
  1874. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_plugins_command.py +0 -0
  1875. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_plugins_create_command.py +0 -0
  1876. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_plugins_update_command.py +0 -0
  1877. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_post_gen_worker_cleanup.py +0 -0
  1878. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_python_version.py +0 -0
  1879. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_remove_command.py +0 -0
  1880. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_replay_command.py +0 -0
  1881. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_resolve_plugin.py +0 -0
  1882. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_revision_signatures.py +0 -0
  1883. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_scheduler_backend.py +0 -0
  1884. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_scheduler_persistence.py +0 -0
  1885. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_scheduler_postgres_migrations.py +0 -0
  1886. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_service_callbacks.py +0 -0
  1887. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_services_cli.py +0 -0
  1888. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_stack_generation.py +0 -0
  1889. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_stack_validation.py +0 -0
  1890. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_update_command.py +0 -0
  1891. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_update_feature_detection.py +0 -0
  1892. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_utils.py +0 -0
  1893. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/cli/test_worker_backend.py +0 -0
  1894. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/config/__init__.py +0 -0
  1895. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/config/test_defaults.py +0 -0
  1896. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/conftest.py +0 -0
  1897. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/conftest.py +0 -0
  1898. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_ai_service_parser.py +0 -0
  1899. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_alembic_env_configure.py +0 -0
  1900. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_alembic_env_utc_datetime.py +0 -0
  1901. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_answer_derivation_declared.py +0 -0
  1902. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_auth_service_parser.py +0 -0
  1903. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_behavior_changes.py +0 -0
  1904. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_blog_template_render.py +0 -0
  1905. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_build_id_cache_namespace.py +0 -0
  1906. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_cache_health_probe.py +0 -0
  1907. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_ci_covers_slow_tests.py +0 -0
  1908. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_claude_md_render.py +0 -0
  1909. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_combination_coverage.py +0 -0
  1910. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_component_files.py +0 -0
  1911. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_component_ownership.py +0 -0
  1912. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_component_utils.py +0 -0
  1913. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_compose_engine_passthrough.py +0 -0
  1914. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_constants_usage.py +0 -0
  1915. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_copier_answers_placement.py +0 -0
  1916. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_copier_updater.py +0 -0
  1917. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_country_labels.py +0 -0
  1918. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_dashboard_metadata_contract.py +0 -0
  1919. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_db_template_async_url.py +0 -0
  1920. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_dev_deps_one_mechanism.py +0 -0
  1921. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_docs_port.py +0 -0
  1922. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_file_manifest.py +0 -0
  1923. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_file_mapping_derivation.py +0 -0
  1924. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_generate_revisions.py +0 -0
  1925. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_git_identity_isolation.py +0 -0
  1926. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_htmx_component.py +0 -0
  1927. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_htmx_template_render.py +0 -0
  1928. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_i18n.py +0 -0
  1929. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_ingress_component.py +0 -0
  1930. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_insights_service_parser.py +0 -0
  1931. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_issue_686_reconciliation.py +0 -0
  1932. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_manual_updater_service.py +0 -0
  1933. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_markdown_filter.py +0 -0
  1934. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_middleware_handles_pathsend.py +0 -0
  1935. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_migrate_fix.py +0 -0
  1936. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_migration_generator.py +0 -0
  1937. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_migration_spec.py +0 -0
  1938. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_migrations_stop_where_they_fail.py +0 -0
  1939. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_mixin_declarations.py +0 -0
  1940. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_model_registry_is_the_only_registrar.py +0 -0
  1941. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_module_size_budget.py +0 -0
  1942. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_mount_guards.py +0 -0
  1943. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_no_inert_questions.py +0 -0
  1944. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_not_null_backfill.py +0 -0
  1945. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_observability_oom_renders.py +0 -0
  1946. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_option_spec.py +0 -0
  1947. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_pairs_well_with.py +0 -0
  1948. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_cli_registration.py +0 -0
  1949. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_compat.py +0 -0
  1950. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_discovery.py +0 -0
  1951. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_naming.py +0 -0
  1952. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_render_parity.py +0 -0
  1953. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_resolver.py +0 -0
  1954. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_scaffold.py +0 -0
  1955. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_spec.py +0 -0
  1956. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_template_resolver.py +0 -0
  1957. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_plugin_wiring.py +0 -0
  1958. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_post_gen_tasks.py +0 -0
  1959. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_post_render_hook.py +0 -0
  1960. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_project_map.py +0 -0
  1961. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_provider_extra_mapping.py +0 -0
  1962. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_queryspy_adoption.py +0 -0
  1963. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_readme_wiring.py +0 -0
  1964. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_registry_driven_flags.py +0 -0
  1965. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_render_diff.py +0 -0
  1966. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_render_diff_merge_failure.py +0 -0
  1967. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_render_diff_policy.py +0 -0
  1968. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_render_diff_real_templates.py +0 -0
  1969. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_render_diff_transition_coverage.py +0 -0
  1970. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_service_resolver.py +0 -0
  1971. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_services.py +0 -0
  1972. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_shared_scope_completeness.py +0 -0
  1973. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_signature_of_a_foreign_key.py +0 -0
  1974. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_spec_docs_paths.py +0 -0
  1975. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_sqlmodel_pin.py +0 -0
  1976. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_storage_root_reaches_every_container.py +0 -0
  1977. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_sync_result_is_reported.py +0 -0
  1978. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_template_cleanup.py +0 -0
  1979. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_template_generator.py +0 -0
  1980. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_template_tree_hygiene.py +0 -0
  1981. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_tool_call_ledger.py +0 -0
  1982. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_version_compatibility.py +0 -0
  1983. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/core/test_zuvloop_version_gate.py +0 -0
  1984. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/pyproject.toml +0 -0
  1985. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/__init__.py +0 -0
  1986. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/spec.py +0 -0
  1987. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/templates/{{ project_slug }}/app/services/test_plugin/__init__.py.jinja +0 -0
  1988. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/templates/{{ project_slug }}/app/services/test_plugin/py.typed +0 -0
  1989. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/templates/{{ project_slug }}/app/services/test_plugin/seeds/starter.json +0 -0
  1990. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_plugin_test/src/aegis_plugin_test/templates/{{ project_slug }}/app/services/test_plugin/service.py.jinja +0 -0
  1991. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/pyproject.toml +0 -0
  1992. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/__init__.py +0 -0
  1993. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/spec.py +0 -0
  1994. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/cli/conformance.py.jinja +0 -0
  1995. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/__init__.py.jinja +0 -0
  1996. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/api.py.jinja +0 -0
  1997. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/dispatch.py.jinja +0 -0
  1998. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/health.py.jinja +0 -0
  1999. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/models.py.jinja +0 -0
  2000. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/aegis_stack_conformance/src/aegis_stack_conformance/templates/{{ project_slug }}/app/services/conformance/settings.py.jinja +0 -0
  2001. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/ai_langchain.json +0 -0
  2002. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/ai_ollama.json +0 -0
  2003. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/ai_service.json +0 -0
  2004. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/auth_basic.json +0 -0
  2005. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/auth_org.json +0 -0
  2006. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/blog.json +0 -0
  2007. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/documents_auth.json +0 -0
  2008. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/documents_worker.json +0 -0
  2009. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/htmx_auth.json +0 -0
  2010. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/htmx_with_components.json +0 -0
  2011. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/insights.json +0 -0
  2012. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/insights_per_user.json +0 -0
  2013. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/fixtures/queryspy/payment.json +0 -0
  2014. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/integration/__init__.py +0 -0
  2015. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/integration/conftest.py +0 -0
  2016. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/integration/test_update_integration.py +0 -0
  2017. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/integration/test_upgrade_matrix.py +0 -0
  2018. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/scripts/test_worker_addition_workflow.sh +0 -0
  2019. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/test_copier_redis_conditional.py +0 -0
  2020. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/test_runtime_dependencies.py +0 -0
  2021. {aegis_stack-0.13.0 → aegis_stack-0.13.2}/tests/test_serve_port_autodiscovery.py +0 -0
@@ -0,0 +1,1760 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.13.2] - 2026-09-25
11
+
12
+ ### Changed
13
+
14
+ - **The worker modal's live feed connects when the modal opens.** Every
15
+ dashboard tab used to open `/events/worker/stream` and start a 10 Hz
16
+ flush loop at page load, then discard every event until someone opened
17
+ the worker modal - one long-lived stream and Redis subscription per tab.
18
+ Both now start on show and stop on hide; the stream's per-connect
19
+ baseline means the counts are the same. Its log lines carry the page's
20
+ `session_id`, so several tabs no longer read as one listener started
21
+ twice.
22
+
23
+ ### Fixed
24
+
25
+ - **Startup no longer stamps past a migration that never ran.** Adoption
26
+ stamped every pending revision whose objects already existed, so
27
+ APScheduler's job table (built by the scheduler on first boot) proved
28
+ the scheduler revision ahead of AI revisions that had not run, and the
29
+ version moved over their DDL. Adoption now stops at the first revision
30
+ it cannot prove, and startup upgrades one revision at a time, adopting
31
+ again after each, so a revision is adopted only once the ones before it
32
+ exist. Order comes from the revision chain, not string comparison.
33
+ - **Only migrations that touch the LLM catalog empty it.** Every AI
34
+ revision cleared the catalog tables before its DDL, so any AI change
35
+ (a new voice table) wiped the synced catalog until the next sync. The
36
+ clear is now emitted only when a revision's upgrade operates on those
37
+ tables.
38
+ - **The scheduler survives a failed job-store write.** APScheduler 3.x
39
+ retries loading due jobs but not the write-back after a run; a failed
40
+ `update_job` (SQLite "database is locked") escaped before the timer was
41
+ re-armed, so the scheduler never woke again while its process stayed up
42
+ and Docker never restarted it. A failed pass now logs and retries after
43
+ `jobstore_retry_interval`.
44
+ - **The scheduler shares the object store again.** Its own `volumes:` list
45
+ replaced the shared one (YAML merge keys never join lists), so it lost
46
+ `storage-data` and every scheduled job ran against a private, empty
47
+ `/data/storage`. The backup mount moved onto the shared block, and a test
48
+ holds every app container to the store and every mounted volume to a
49
+ declaration.
50
+ - **The scheduler healthcheck runs the heartbeat module.** The beacon path
51
+ and the 60-second window lived in the module and again in an inline
52
+ compose string; `python -m app.components.scheduler.heartbeat` now
53
+ decides. The dev asset watcher no longer inherits an HTTP healthcheck for
54
+ a server it does not run, so it stops reading unhealthy.
55
+ - **AI chat errors reach the client as what they are, and no further.**
56
+ `ProviderError` and `ConversationError` subclass `AIServiceError`, and the
57
+ handlers caught the base first, so both surfaced as a 503. The chat
58
+ endpoint, its stream, voice chat and `/ai/health` also sent unexpected
59
+ exceptions' text to the client; it is logged instead. The `ai record`
60
+ command creates its speech file rather than naming one with
61
+ `tempfile.mktemp`.
62
+
63
+ - **A failed `add-service` leaves the project as it found it.** A failure
64
+ after the first file was written - migration generation, say - left the
65
+ service's code in the tree, the answers file saying it was enabled, and
66
+ no schema: the project would not start, and a retry stopped at "already
67
+ enabled". The command now requires a clean git tree, marks a backup
68
+ point, and resets to it on any failure, so it can simply be run again.
69
+ - **Adding a service re-renders what other installed services branch on
70
+ it.** A service's files were copied once and never rendered again, so a
71
+ template that depends on another service's flag kept its first render:
72
+ `add-service auth` left the scheduler, worker, blog, comms, insights, AI
73
+ and htmx routers without the auth guards they render once auth exists,
74
+ and finance and payment models without their owner keys. Those files now
75
+ go through the same three-way merge as shared files, and only the ones
76
+ whose output changes are touched.
77
+ - **Adding auth to an existing finance project creates the owner keys.**
78
+ Generated together, finance's owner columns reference `user`; added
79
+ later, none did, and nothing said so. Beyond the models not re-rendering,
80
+ the generator dropped a new key whose column an index already covered,
81
+ and routed keys on existing tables to whichever revision ran first. The
82
+ keys now land in the finance/auth link revision, after the sentinel row
83
+ they point at, so Postgres accepts rows owned by it; both paths produce
84
+ the same schema.
85
+
86
+ - **A closed dashboard tab stops polling within a minute, not an hour.**
87
+ Page loops check whether their tab is still open, and the check read
88
+ Flet's connection object, which Flet keeps through a disconnect and drops
89
+ only when the session is reaped, an hour later by default. So the
90
+ 30-second grace never started: a closed tab kept refreshing the dashboard,
91
+ flushing the worker modal and listening for worker events for that hour,
92
+ and held a granian worker open across a reload. The check now reads
93
+ `page.expires_at`, the state Flet itself sets on disconnect and clears on
94
+ reconnect.
95
+
96
+ ## [0.13.1] - 2026-09-23
97
+
98
+ ### Changed
99
+
100
+ - **Owner scoping lives in one place.** `get_owner_user_id` was defined
101
+ twice, identically, in the finance and documents services; it is now one
102
+ dependency in `app/services/shared/deps.py`. The 47 hand-written
103
+ "filter by owner unless standalone" branches and 31 "store a standalone
104
+ owner as 0" conversions are two helpers beside `owner_clause` in
105
+ `app/services/shared/queries.py`. Behaviour is unchanged.
106
+
107
+ ### Fixed
108
+
109
+ - **`make serve` in an htmx project no longer strips the developer's own
110
+ virtualenv.** The entrypoint decided it was in a container by
111
+ `$DOCKER_CONTAINER`, which the dev `build-static-watcher` never set, so
112
+ the watcher ran `uv` against the host's `.venv` through the bind mount:
113
+ a Linux interpreter went in, and the host's next `uv` rebuilt the venv
114
+ without pytest, ruff or ty. A container is now recognised by the file
115
+ its runtime writes into every one (`/.dockerenv`, podman's
116
+ `/run/.containerenv`); `DOCKER_CONTAINER` still forces it.
117
+ - **On Postgres, chat turns and usage rows are stored again.** asyncpg
118
+ rejects a timezone-aware value for a `timestamp without time zone`
119
+ column: a conversation's first turn failed to persist, and
120
+ `record_usage` swallowed the same error, so the usage ledger recorded
121
+ nothing, costs read zero and the per-user daily budget never tripped.
122
+ Both write naive UTC now, through `utcnow()` and a new `as_stored()`.
123
+ Saving a thread is one membership query instead of one select per
124
+ message.
125
+ - **Calls routed through a provider are priced.** A model reported as
126
+ `deepseek-v4.1-flash` never matched the catalog's
127
+ `openrouter/deepseek/deepseek-v4.1-flash`, so it cost $0.00. The lookup
128
+ now matches the name exactly or as a whole trailing segment, and the
129
+ price is cached in the shared cache instead of queried on every turn;
130
+ the catalog sync clears it.
131
+ - **In a stack with auth, a finance category someone creates is theirs.**
132
+ The category table was designed per owner (a NULL owner is a shared
133
+ seed), but every writer created shared rows and every reader returned
134
+ all of them, so one user's typed or imported categories appeared in
135
+ every other user's picker. Categories and aliases a user creates now
136
+ carry their owner; pickers, alias resolution, budget suggestions and goal
137
+ parsing see the seeds plus the caller's own. Alias precedence also sorts
138
+ NULL owners last, which Postgres had reversed. Stacks without auth are
139
+ unchanged. Categories created before this stay shared: nothing records
140
+ who made them.
141
+ - **The webserver is no longer the most throttled container in the stack.**
142
+ A compose `cpus` limit stops a process for the rest of each period once
143
+ its share is spent, and the webserver - the one process a person waits
144
+ on, and a single event loop - was capped at 0.5 while background workers
145
+ got 1.0. Measured on a running stack it was frozen in 11.8% of periods.
146
+ It now defaults to 2.0 (override with `WEBSERVER_CPUS`), the scheduler
147
+ to 0.5, and a test keeps every background container at or below the
148
+ webserver.
149
+ - **The worker and scheduler stop tracing a UI they never load.**
150
+ `install_auto_tracing` hardcoded `app.components.frontend`, so every
151
+ process announced frontend tracing at boot. Only the web process asks
152
+ for it now.
153
+ - **`select_field` works in a plain form.** The htmx dropdown bound its
154
+ value with `x-model` only, so a `<form hx-post>` never sent it. Pass
155
+ `name=` and it posts through a hidden input.
156
+ - **Installing a plugin with a dashboard card no longer fails `make check`.**
157
+ The generated card render test graded every discovered card against a
158
+ table of the framework's own cards, and a plugin cannot edit that file,
159
+ so any plugin card failed on arrival. A card with no recorded count is
160
+ now treated as a plugin's and skips only the count check; the framework
161
+ keeps its own cards in the table with a test of its own.
162
+ - **A granian reload no longer leaves nothing serving the port.** Granian
163
+ waits on a stopping worker forever by default, and a worker holding an
164
+ open dashboard session never finishes stopping. With reload on, a stuck
165
+ worker is now killed after five seconds and replaced.
166
+ - **Pinning a loop that is not installed fails with a sentence.**
167
+ `make serve LOOP=rloop` without rloop died inside granian's worker, and
168
+ `bench engines --loop rloop` lost every result the sweep had already
169
+ measured. The loop is now checked before the engine starts, and a sweep
170
+ drops it and carries on.
171
+
172
+ ## [0.13.0] - 2026-09-22
173
+
174
+ ### Added
175
+
176
+ - **Pick the ASGI server and its event loop.** `WEBSERVER_ENGINE`
177
+ (`uvicorn` or `granian`) and `WEBSERVER_LOOP` are typed settings, both
178
+ defaulting to what shipped before, so `make serve` is unchanged.
179
+ `make serve ENGINE=granian` / `LOOP=...` switch for one run, granian
180
+ refuses a loop it cannot run instead of starting on another, and uvicorn
181
+ can now run on zuvloop. `bench engines` measures the choice on your own
182
+ routes and sweeps the loop axis (`--loop uvloop --loop asyncio`). A new
183
+ ASGI Server docs page names each difference by its symptom.
184
+ - **Documents read scans locally before asking a model.** A Tesseract OCR
185
+ tier sits between a PDF's text layer and the vision model; a page that
186
+ reads as words and figures is stored with `method = "ocr"`, anything
187
+ thinner still goes to the model, and a machine without Tesseract behaves
188
+ as before. Pages are now extracted concurrently and land one at a time,
189
+ about 3.3x faster on a multi-page scan.
190
+ - **One markdown renderer for anything a model wrote.** Server-side marko
191
+ with GFM (tables, strikethrough, autolinks) that escapes raw HTML in the
192
+ source, so a model can format but never inject markup. Every dashboard
193
+ markdown view gains a copy button that hands over the raw source, not the
194
+ fenced display.
195
+ - **Every chat tool call is recorded**, keyed to its turn, so an agent with
196
+ twenty tools can be reasoned about: which are never reached for and how
197
+ often a turn spends its whole call budget. The usage ledger now actually
198
+ stores `duration_ms`, which it accepted and silently dropped at every
199
+ call site.
200
+ - **A generated project gates its own CI on N+1 queries.** It ships
201
+ `.queryspy-baseline.json` and its test job runs strict against it;
202
+ `make check-queries` / `check-queries-baseline` do the same locally.
203
+ Each stack in the matrix now owns its own baseline.
204
+ - **Cached payloads are namespaced by the deployed commit.** `aegis deploy`
205
+ stamps `BUILD_ID` into the server's `.env`, so a deploy never serves a
206
+ cached response shaped by the previous code.
207
+ - **A dashboard session outlives the webserver process.** The rotating
208
+ refresh token persists in client storage (never the access token), so a
209
+ deploy or hot reload no longer sends every user back to login.
210
+ - **Any worker job can report where it got to**, and the system worker is
211
+ sized for the imports and extractions it actually runs rather than
212
+ maintenance chores, which an 18,000-row finance import was OOM-killed on.
213
+ - **SQLite backups take a consistent snapshot** rather than copying a file
214
+ that may be mid-write.
215
+
216
+ ### Changed
217
+
218
+ - **The chat store and usage ledger are async.** They were the last
219
+ request-path code on the sync SQLite engine, where a slow model turn could
220
+ freeze the whole webserver on "database is locked".
221
+ - **The dashboard repaints the component that changed, not the board.**
222
+ Cards, the table and the diagram reuse their controls across refreshes,
223
+ and a modal that already knows a component's status applies it to that
224
+ card directly.
225
+ - **Oversized modules became packages** under the module size budget: the
226
+ insights and modal-sections surfaces, eight dashboard modals, the finance
227
+ insight rules, `cli/rag.py` and others. Import paths are unchanged.
228
+ `BaseCard`, which no card could inherit from, is deleted.
229
+ - **A generated project's test app is built once per session**, with
230
+ dependency overrides cleared around each test; on a downstream suite this
231
+ took the full run from 22 to under 10 minutes.
232
+ - **The README is wired per plugin.** Each plugin spec declares its own
233
+ README lines, so a new service can no longer be absent from the README
234
+ its project ships with.
235
+ - Windows users meet `uv run poe` in step 3 of Installation, before the
236
+ first `make` that would not work for them.
237
+
238
+ ### Fixed
239
+
240
+ - **sqlmodel is pinned below 0.0.45**, which rejects every naive UTC
241
+ timestamp the template writes; a fresh project resolved 0.0.46 and failed
242
+ 3,617 tests. A project generated while 0.0.45+ was installed has
243
+ revisions naming its `UTCDateTime`; `alembic/env.py` keeps that name
244
+ resolvable below the pin, so those projects still update and migrate.
245
+ The arq worker no longer dies on its own event loop, and the generated
246
+ suite now sees database locks.
247
+ - **`add-service` checks template version compatibility** like `add` and
248
+ `remove` already did, and a foreign key onto a sentinel row gets a
249
+ migration signature, so adding auth to a finance project that has been
250
+ used migrates instead of installing code with no schema.
251
+ - **`auth[oauth]` on `add-service` enables OAuth** instead of being parsed
252
+ and dropped.
253
+ - **An `ai` stack without a database boots.** Three modules imported
254
+ `app.core.db` at module scope.
255
+ - **documents + auth passes its own API suite** on a fresh init, and the
256
+ combinations nobody generated are now exercised.
257
+ - **A corrupt Flet tree stops every loop on the page**, not only the
258
+ dashboard refresh, and a guard checks the control actually being updated
259
+ (the documents modal failed to open).
260
+ - `api/llm` and `api/rag` modules are named `routes`, so the package export
261
+ no longer shadows the module.
262
+ - A blog page of posts costs the same queries as one post.
263
+ - Add and update write the same answers init does; the vestigial
264
+ `scheduler_with_persistence` question is removed.
265
+ - The test suite no longer rewrites the developer's global git identity,
266
+ and `uv add --dev` no longer uninstalls pytest.
267
+ - A failed old-template render during `update` aborts loudly instead of
268
+ turning every file into a conflict.
269
+
270
+ ## [0.12.1] - 2026-09-14
271
+
272
+ ### Fixed
273
+
274
+ - **A column added to a table that already has rows gets a value for them.**
275
+ Revisions are derived by diffing the models against a scratch database
276
+ that is empty by construction, and every database the revision then runs
277
+ on is not. A 0.10.1 project with the ai service updated its files and
278
+ then failed to migrate: `org_id` arrived NOT NULL with nothing to fill
279
+ the rows that predate it. This is not an ai problem - SQLModel renders
280
+ `Field(default=True)` as a Python-side default the database never sees,
281
+ so any service adding any required field to an existing model shipped the
282
+ same failure, and only `X | None` fields were safe. A NOT NULL column
283
+ added to an existing table now carries a server default taken from the
284
+ model's own default, so fresh and upgraded databases stay identical. A
285
+ required column with no default at all stops generation and names itself,
286
+ rather than dying inside alembic on someone's data. For the one case this
287
+ release has to cross, `ServiceMigrationSpec.cleared_tables` empties the
288
+ derived LLM catalog before the DDL and the next `llm sync` writes it
289
+ again; `llm_usage` is history and is never touched.
290
+ - **The upgrade matrix checks that the database moved, not just that the
291
+ merge was clean.** An update whose migration failed still exits 0, so
292
+ every pair passed while a real 0.10.1 ai project could not migrate at
293
+ all. Each pair now asserts the database reached the revision the update
294
+ wrote, and the generator's backfill has fast unit tests that run on every
295
+ pull request rather than only in the nightly suite.
296
+
297
+ ## [0.12.0] - 2026-09-14
298
+
299
+ ### Added
300
+
301
+ - **`aegis deploy-exec`: one command against a deployment, scriptably.**
302
+ `deploy-shell` opens an interactive shell, so it cannot be piped, put in
303
+ a runbook or run from CI, and the alternative was hand-writing the ssh
304
+ plus the whole compose-file chain. Forget one `-f` and the command runs
305
+ against a container assembled from different files than the deployment
306
+ itself. `deploy-exec` resolves the same invocation the deploy uses and
307
+ streams the output back.
308
+ - **An N+1 gate that runs on every database stack.** Generated database
309
+ projects get queryspy in the dev extra and a `make check-queries` target;
310
+ the plugin is inert on a plain pytest run. The framework's stack matrix
311
+ runs its existing pytest step with `--queryspy-strict` against one
312
+ baseline fixture covering all 14 database stacks, since entries key on
313
+ paths relative to the generated project: a new finding fails, the known
314
+ ones do not. `make queryspy-baseline` (`STACKS=a,b` to limit it)
315
+ regenerates the fixture from the working-tree templates, so a model
316
+ change that rewrites statement text is one command rather than a hand
317
+ edit of a 364-entry file.
318
+ - **`app/core/graphql.py`: a small, injectable GraphQL client.** Nothing in
319
+ a generated project spoke GraphQL before, and the first consumer needs to
320
+ (GitHub's REST stargazer list cannot enumerate past 40k stars; the GraphQL
321
+ connection can). `GraphQLClient(endpoint, headers=, timeout=, transport=)`
322
+ owns one connection pool and a single `query()`, and turns the two things
323
+ every caller gets wrong into typed errors: a `200` that carries an
324
+ `errors` array raises `GraphQLError`, and any `httpx` failure raises
325
+ `GraphQLHTTPError` instead of leaking the transport's exception types.
326
+ `transport` is the seam - tests pass `httpx.MockTransport` and never
327
+ monkeypatch `httpx`. Endpoint-agnostic on purpose; an API-specific
328
+ client subclasses it. REST callers are deliberately untouched.
329
+
330
+ ### Changed
331
+
332
+ - **The models are the schema, and migrations are generated from them.**
333
+ 90 hand-written table declarations used to restate what SQLModel already
334
+ said, and the two drifted. `aegis init` and `aegis add` now run the
335
+ generated project's own migration generator in its venv: replay the
336
+ existing revisions onto a scratch database, autogenerate the difference
337
+ against the model metadata, prune to additive operations, write one
338
+ revision per service. Ownership comes from where a model lives, cyclic
339
+ foreign keys emit once both tables exist, and a generated revision
340
+ declares its own stamp signature so startup re-adoption reads it off the
341
+ revision rather than a parallel table. A Postgres oracle asserts the
342
+ diff against the models is empty, and every generated project carries
343
+ the same check on SQLite. `migration_generator.py` drops from 5,080
344
+ lines to 775, and a documents-only stack ships a migration at last: the
345
+ gate is now the same function that decides which services need one.
346
+ - **`aegis update` derives the answers it used to invent.** A question
347
+ added after a project was generated has no answer in that project's
348
+ `.copier-answers.yml`, so copier rendered with the template default: a
349
+ guess about the project, made silently, before anything else ran. The
350
+ answers are now re-derived from the project itself and written before
351
+ copier runs, so every downstream step sees one picture. `ollama_mode`
352
+ comes from the URL the project actually talks to, the finance provider
353
+ flags from the settings it renders. What genuinely cannot be derived is
354
+ computed rather than listed: an answer can only be missing if its
355
+ question was added after the project was generated, which git records,
356
+ so the at-risk set is a diff of `copier.yml` against the oldest
357
+ supported release (7 questions, not the 53 a hand-kept list claimed).
358
+ - **A conflicted update reports every conflict, and can be finished.** The
359
+ report only listed `.rej` files, but our 3-way merge leaves inline
360
+ `<<<<<<<` markers instead; on one project 60 such files went unmentioned
361
+ and `make check` died on the first of them. The written tree is now
362
+ scanned for markers as well, and both kinds print with their own
363
+ resolution step. Nothing ever completed the job either: the conflicted
364
+ run records its target in `.git/aegis-update-pending.json`, and `aegis
365
+ update --finish` refuses while any conflict remains, then runs the
366
+ missing migrations and post-generation tasks, advances the baseline,
367
+ clears the record and drops the backup tag.
368
+ - **An update says what changed before you deploy.** Two facts are knowable
369
+ at update time and invisible afterwards, and both now print in one
370
+ "Before you deploy" block. Any active `.env` key the updated `Settings`
371
+ no longer declares is named, with its replacement where one is known,
372
+ because the alternative is a first-boot crash loop on a pydantic "extra
373
+ forbidden" error with nothing pointing back at the update. Behavior
374
+ changes come from a registry where whoever changes runtime behavior
375
+ declares it once: the version that introduced it, the stacks it applies
376
+ to, and the setting that restores the old behavior. Nothing is inferred
377
+ from a diff, and `.env` is reported on, never edited.
378
+ - **An update re-locks, exports orphan scheduler jobs, and scopes the image
379
+ tag.** `uv sync --upgrade` runs on the update path and on `--finish`, so
380
+ a conflicted update re-locks once completed. The scheduler sweep writes
381
+ the rows it is about to delete to `DATABASE_BACKUP_DIR` first, logs the
382
+ path at WARNING, and deletes nothing if the export cannot be written.
383
+ `AEGIS_STACK_TAG` defaults to the project's own slug instead of a shared
384
+ `aegis-stack:latest`, and an update names a project still on the old
385
+ default.
386
+ - **A provider is described once.** A provider used to be stated nine
387
+ times across four files: the enum, a capabilities table, an API-key map,
388
+ a model-class if/elif chain, a dependency map, a module map, a key-URL
389
+ map, a supported-providers tuple and the factory's base-URL branches.
390
+ Adding one meant editing all of them, and three tests existed only to
391
+ police the gaps. They are one registry now, beside the enum, and
392
+ OpenRouter is one of the entries.
393
+ - **`/health/` is a liveness probe; component status moved to
394
+ `/health/detailed`.** The basic endpoint walked every component on each
395
+ call, and Docker, Traefik and the dashboard all polled it, so an idle
396
+ stack spent measurable CPU checking itself. `/health/` now answers in
397
+ constant time with an empty `components` field, and `/health/detailed`
398
+ reads a shared status cache: one full walk at most every ten seconds no
399
+ matter how many callers ask (`STATUS_CACHE_TTL_SECONDS`). Idle CPU on a
400
+ full stack dropped from 13.4% to 0.26%.
401
+ - **The scheduler proves it is alive with a heartbeat file, not an HTTP
402
+ probe.** `heartbeat.py` touches `/tmp/aegis-scheduler-heartbeat` on a
403
+ schedule and the compose healthcheck checks its age; the two worker
404
+ services drop their redundant healthchecks. The Flet frontend keeps one
405
+ health session per page instead of one per view (`session_health.py`).
406
+ - **`system/health.py` is split by component.** Redis, ingress,
407
+ observability and Ollama checks live in `health_cache.py`,
408
+ `health_ingress.py`, `health_observability.py` and `health_ollama.py`,
409
+ each gated on its component; the module drops from 1456 lines to 714.
410
+ - **A scaffolded plugin pins the aegis-stack that made it.** The scaffold
411
+ emitted an unpinned `aegis-stack` dependency, so `pip install
412
+ aegis-stack-<name>` could resolve an older aegis-stack whose `PluginSpec`
413
+ has no field the plugin sets, and the failure landed on the plugin's user
414
+ as a validation error nobody could place. The floor is now the scaffolding
415
+ version.
416
+ - **A plugin does not have to be on PyPI.** `aegis` never installs plugins
417
+ itself, so a path or git-URL install is discovered through the
418
+ `aegis.plugins` entry point exactly like a published one. The Plugins page
419
+ documents the source-only path and the `aegis-stack-plugin` GitHub topic
420
+ the directory finds them by, and says what the two listing sections
421
+ differ on: a published plugin resolves by version and carries an install
422
+ command, a source-only one carries its repository link and pins nothing.
423
+
424
+ ### Removed
425
+
426
+ - **The `finance_import` question.** It shipped with the finance service as
427
+ one of three sub-flags and, unlike the other two, was never wired to
428
+ anything: no template file referenced it, no `aegis` code read it, no
429
+ other question depended on it. Every finance project since has been asked
430
+ whether to include Quicken/OFX/CSV import and got the import surface
431
+ either way. The importers, models and CLI surface ship on the finance
432
+ service alone, which is what the code always did, so deleting the
433
+ question changes no output.
434
+
435
+ ### Fixed
436
+
437
+ - **The conflict report told users to delete their own code.** The printed
438
+ step read "keep the right side of each block", and the right side is the
439
+ template render. An inline marker block exists only where both sides
440
+ changed the same region, so that advice was wrong in exactly the cases it
441
+ printed for: on one project it would have dropped `.dockerignore` entries
442
+ for a 20 GB archive, three worker services, every task registration and a
443
+ static assets mount. The steps now say each block is a hand merge and that
444
+ both changes usually have to survive, and the markers are labelled
445
+ `your project` / `old template` / `new template` instead of `current` /
446
+ `other` and unreadable temp paths.
447
+ - **`LOGFIRE_TOKEN` in `.env` passed the guard but never reached
448
+ `logfire.configure()`.** The guard reads it through pydantic-settings,
449
+ which loads `.env`; logfire resolves its own token from `os.environ`,
450
+ which `.env` never populates. The two views disagreed, the guard passed,
451
+ and `configure()` raised. Because the app factory installs auto-tracing at
452
+ import time, the application stopped importing at all outside a container,
453
+ where compose exports the token for real.
454
+ - **`--to-version HEAD` left a project permanently unversioned.**
455
+ `_template_version: HEAD` is not a version, so every later compatibility
456
+ check parsed it to nothing, returned UNKNOWN and fell off the end of the
457
+ validator with no warning: that project was never told its CLI and
458
+ template had diverged again, across a major version included. A
459
+ non-version ref is now placed against the template's release tags, UNKNOWN
460
+ warns instead of passing silently, and a run that used `--template-path`
461
+ says outright that the project is pinned to a path only that machine has.
462
+ - **A pending resume swallowed the flags you just typed.** The resume branch
463
+ was taken before any flag was read, so `--to-version`, `--template-path`
464
+ and `--dry-run` were discarded without a word, and the flags are corrected
465
+ precisely when the first run went somewhere unintended. `--dry-run` was
466
+ worse than silent: with pending state it ran post-generation tasks,
467
+ advanced the baseline and deleted the backup tag, which is the recovery
468
+ point the dry run exists to protect. A disagreeing flag is now refused by
469
+ name, and a dry run reports the pending target and touches nothing.
470
+ - **Updates delivered migrations the project predates, and stopped
471
+ reporting a failed upgrade as success.** A project generated before a
472
+ revision existed never received it, because migration generation was
473
+ wired into `add-service` but not into `update`; it now runs before the
474
+ upgrade, so the database is never stamped past a revision that lands
475
+ afterwards. A failed `alembic upgrade` was discarded by the caller, and
476
+ the command printed "Update completed successfully" over a migration that
477
+ never applied. The app was what crashed, on its first request.
478
+ - **An update planted an empty file for every gated-off template that
479
+ changed.** A whole-file Jinja gate that is off renders to a lone newline.
480
+ `init` sweeps those stubs; the two update paths that create new files had
481
+ no equivalent, so a project with no worker collected
482
+ `tests/components/test_worker_registry.py` and friends. Both paths now
483
+ apply the same rule: a rendered file with no non-whitespace content is
484
+ absent, not new. `__init__.py`, the one legitimately empty file, is kept.
485
+ - **A merged `pyproject.toml` could silently break every Python merge that
486
+ followed.** The template and one project had each added a `[tool.djlint]`
487
+ table in different places; the textual merge kept both and called it
488
+ clean, after which every ruff normalization failed on the duplicate table
489
+ and formatting read as edits in every `.py` file. One update reported 139
490
+ conflicts, 95 of them from this. Files carrying ruff's config now merge
491
+ last, and a merged `pyproject.toml` that no longer parses is reported as
492
+ a conflict instead of being handed to the tools that cannot read it.
493
+ - **Startup re-adoption stamped nothing, and a deploy lost what was
494
+ removed.** The stamp pass built an inspector inside a session block and
495
+ used it after the block closed, so every lookup raised on a dead
496
+ connection and every raise was swallowed by a bare `except`: the column
497
+ map was always empty, only table signatures could ever match, and a
498
+ version pointer below the last table-signed revision replayed that DDL on
499
+ every boot.
500
+ - **A non-Ollama project shipped the whole Ollama surface as dead code.**
501
+ Only the importers were gated, not the files, so the card, the modal, the
502
+ health module and two stubs rode along, and one of them could not import
503
+ at all in that mode. The prune now covers them, on update as well as
504
+ init. In the same pass, the settings surface stopped re-deriving an API
505
+ key variable from the provider slug, which reported OpenRouter's key as
506
+ missing while the model worked.
507
+ - **Every async session ran the schema with its foreign keys off.** The two
508
+ SQLite pragma hooks had drifted: the sync one enabled foreign keys, the
509
+ async one set the busy timeout, and each was missing the other's. So the
510
+ engine the application uses left its constraints unenforced, and the
511
+ engine the CLI uses failed instantly on a busy database instead of
512
+ waiting. One helper now applies both. Transactions also open with `BEGIN
513
+ IMMEDIATE`: a deferred begin takes no lock until the first write and then
514
+ has to upgrade from the read lock it holds, which is the one case
515
+ `busy_timeout` deliberately does not cover, so a second writer failed at
516
+ once instead of queueing.
517
+ - **`STORAGE_ROOT` reached every container.** The compose anchor put it on
518
+ its environment list, but a service that declares its own list replaces
519
+ the anchor's wholesale, and four services do. Inside those containers the
520
+ variable was empty and object storage fell back to the code directory: in
521
+ dev the bind-mounted checkout, in prod a path that vanishes with the
522
+ container while the storage volume it was meant to use stayed empty. The
523
+ value moves to the Dockerfile's `ENV`, which every container sees.
524
+ - **A bill's amount described rows that were never its payments.** Almost
525
+ every stream in a real ledger has no expected amount, so the number on
526
+ screen is the average of what was claimed. Attaching a payment backfills
527
+ the payee's other unclaimed rows, which is right, but the net was the
528
+ whole payee rather than the bill, so unrelated rows of that merchant were
529
+ averaged into the bill's amount.
530
+ - **A Postgres project's test suite runs.** Every project's tests run on
531
+ SQLite (``tests/conftest.py`` points ``DATABASE_URL`` at a throwaway
532
+ file), but three things only worked on a SQLite project: the async URL
533
+ converter in ``app/core/db.py`` did not know ``sqlite://`` (so
534
+ ``create_async_engine`` got a sync driver and nothing collected), the
535
+ test guard redirected only the async session factory (so a sync
536
+ ``db_session()`` lookup after a write hit a database with no tables:
537
+ Postgres migrations open with ``CREATE SCHEMA``, which SQLite rejects), and
538
+ the SQLite busy-timeout test skipped on dialect rather than on whether the
539
+ project wires the knob. The CI matrix generates no Postgres project, so
540
+ nothing caught it. A generated test now asserts the sync and async
541
+ app-owned sessions share one database.
542
+
543
+ ## [0.11.1] - 2026-09-10
544
+
545
+ ### Changed
546
+
547
+ - **A plugin's migration can declare how to prove it ran.**
548
+ `MigrationSpec` gains `stamp_signature`, the composer carries each
549
+ plugin's migrations into `_plugins`, and `migration_signatures.py`
550
+ appends plugin entries. Startup re-adoption now stamps a plugin's
551
+ migration on a database that already has its tables, instead of
552
+ replaying the DDL on every boot.
553
+ - **`API_BASE_URL` follows the port the app is actually published on.**
554
+ `make serve` shifts `WEBSERVER_HOST_PORT` when 8000 is taken but never
555
+ persisted it, so every CLI that calls this app's own API fell back to
556
+ a hardcoded `localhost:8000`. The resolved port is now written to
557
+ `.env.ports` and read by `Settings`, and `APIClient` uses it.
558
+ - **`aegis deploy` no longer fills the host it deploys to.** Rollback
559
+ snapshots live in the deploy directory, which is the build context on the
560
+ server, so `COPY . /code` baked every retained snapshot into the image;
561
+ `.dockerignore` now excludes `backups/`. Nothing reclaimed the images or
562
+ build cache a deploy left behind either, so both are pruned once the
563
+ health check passes (dangling images, and cache older than a week), and a
564
+ deploy refuses to start below 10 GB free instead of dying inside the
565
+ Dockerfile's `apt-get` with the files already synced. On the project that
566
+ hit this, six weeks reached 307 images and 851 cache records on a 77 GB
567
+ host; the image itself was 3.65 GB, of which 2.52 GB was snapshots.
568
+ - **Scheduled database backups survive a deploy, and restore.** The job
569
+ wrote to a relative path, which inside the scheduler resolved to the
570
+ container's writable layer: 7.4 GB of dumps, discarded on every container
571
+ recreation. The directory is now `DATABASE_BACKUP_DIR`, mounted from a
572
+ named `backup-data` volume, and `pg_dump` writes the compressed custom
573
+ format restored with `pg_restore --clean --if-exists`. Plain `.sql` dumps
574
+ written before this still count toward retention and restore through
575
+ `psql`.
576
+ - **A plugin names itself once and every dashboard surface honours it.**
577
+ `get_component_subtitle` now prefers the `subtitle` a health check
578
+ declares in its metadata, and both the stack view and the architecture
579
+ diagram route their fallback through it. A plugin is in no label
580
+ registry, so the stack view showed a blank description and the diagram
581
+ showed the raw health id.
582
+ - **Plugin dependencies can name a service variant.** A plugin declaring
583
+ `required_services=["auth[org]"]` now gets auth at org level: installed
584
+ fresh at that level, upgraded when the project has a lower level, left
585
+ alone when it already satisfies the request. The spec's options say
586
+ where a variant lives in the answers (`answer_key`) and whether its
587
+ choices are ordered levels; `add-service auth[org]` on basic auth uses
588
+ the same rule, and the level-specific migrations are generated on both
589
+ paths. Unordered mismatches are refused, not swapped (docs, Plugins).
590
+ - **Plugin packages are named `aegis-stack-<name>`.** `aegis plugins create`
591
+ now scaffolds `aegis-stack-<name>` with the `aegis_stack_<name>` import
592
+ package, replacing `aegis-plugin-<name>`. `aegis-stack-` is the one
593
+ prefix this project owns on PyPI (rationale: docs, Plugins, Naming). The
594
+ install identifier is unchanged: `aegis add <name>`.
595
+ - **Scaffolded plugins carry directory discovery metadata.** `pyproject.toml`
596
+ gains `keywords = ["aegis-stack", "aegis-stack-plugin"]` and an
597
+ `Aegis Plugin` project URL, the README explains how a published plugin
598
+ gets listed on aegis-stack.io, and the generated test pins the
599
+ `aegis.plugins` entry point value. A new Plugins page under Reference
600
+ documents create, discovery, publish and naming.
601
+ - **Experimental is a field on the spec.** `PluginSpec.experimental` replaces
602
+ the "Experimental:" prose that prefixed finance's registry strings.
603
+ `aegis services` and the init wizard badge experimental services in the
604
+ warning colour, and `aegis add-service` prints one warning line for them
605
+ without prompting. Finance is the first to carry the flag.
606
+ - **`hx_replace()` template global and no htmx attribute settling**: one
607
+ helper emits the "re-request and replace this element" attribute set
608
+ (`hx-get`/`hx-target`/`hx-select`/`hx-swap="outerHTML"`/`hx-push-url`)
609
+ for filter forms, pagers, and list links, so a self-selecting request
610
+ can no longer nest a copy of its target. `attributesToSettle` is empty
611
+ because settling copied the old `style` back onto swapped elements and
612
+ undid Alpine's `x-show`.
613
+ - **Row actions and dialogs in the macro kit**: `data_table` takes
614
+ `row_id` and a `{% call(row) %}` actions block, renders `status` cells
615
+ (`badge`) and signed or toned money, and exposes `table_row` for the
616
+ single-row answer to an action; `dropdown` + `menu_item`, `confirm`,
617
+ `badge`, and `oob` macros; native `select`, `date_input`, `checkbox`,
618
+ `search_input`, `field`, `text_input`, `money_input`, `textarea` form
619
+ controls. `rendering.trigger()`, `close_dialog()` (sent after settle so
620
+ the swap cannot re-open an empty dialog) and `navigate()` (HX-Location).
621
+ `navigate()` also closes the dialog on the plain trigger, since htmx
622
+ follows HX-Location rather than settling the response.
623
+ The dashboard shape as macros: `page_header`, `figures`, `stats_strip`,
624
+ `ranked_rows`, underline `tab_bar`/`tab_item`, `chip`, `range_chips` over
625
+ one window vocabulary (`web_frontend/ranges.py`), and `action`. The one
626
+ modal has one definition: `hx_dialog()`/`hx_dialog_post()` globals and
627
+ `dialog()`/`dialog_done()` on the server. `card` and `chart_panel` take
628
+ no title where the page already names them.
629
+ `stat_tile` takes a caption and attributes (a clickable cell), `progress`
630
+ macro, `cents_to_input` as a template filter. Chart marker series
631
+ (`{"points": true}`). Test kit gains `triggers()`,
632
+ `oob()`, `table_rows()`, `card()`, `stat()`, `chart_data()`.
633
+ - **Finance**: `goal_response()` and `envelope_response()` are public in
634
+ the goals and envelopes API so a single-card re-render shares them;
635
+ `hydrate_streams()` / `visible_streams()` /
636
+ `candidate_items()` in the recurring API, shared by the list endpoint and
637
+ any single-row re-render; `FREQUENCY_LABELS`, `BILL_FREQUENCY_OPTIONS`
638
+ and `frequency_label()` in the service constants (the Flet frontend
639
+ imports them); the one-clock ratchet now covers the finance API and the
640
+ web frontend, with the remaining local-clock reads fixed.
641
+ - **htmx macro kit split by concern**: `components/macros/{form,layout,
642
+ table,feedback}.html` replace the single `macros.html`, and the kit gains
643
+ `data_table` (the one table), `card`, `stat_tile`, `dialog` (native,
644
+ mounted once by the base layout, opened by any swap into `#dialog-body`)
645
+ and `chart_panel` with a lazy-loading, token-colored Chart.js island.
646
+ - **htmx web frontend: themes are config.** Colors are `--aegis-*` tokens
647
+ defined per `[data-theme]` in `input.css`; `tailwind.config.js` maps the
648
+ `aegis-*` class names onto them, so a theme is a block of variables and
649
+ a rebrand is a value edit. Two ship (`aegis`, `aegis-light`); `theme.js`
650
+ applies the stored choice before first paint and the `theme_toggle()`
651
+ macro switches it. Templates use tokens only (no `text-white`, no hex),
652
+ and a test keeps it that way.
653
+ - **htmx web frontend: one route, two render paths.** `rendering.render()`
654
+ serves a full page (`layouts/page.html`) or a bare fragment
655
+ (`layouts/fragment.html`) from the same handler based on `HX-Request`,
656
+ with `Vary: HX-Request` and a `status_code` passthrough for validation
657
+ re-renders. The htmx config gains `responseHandling` so a 422 swaps and
658
+ other 4xx/5xx raise `htmx:responseError`; the SSE extension loads after
659
+ core. `main.py` is now wiring only: `assets.py` (fingerprinted URLs,
660
+ cache policy), `filters.py` (`money`, `short_date`, `pct`), and
661
+ `rendering.py` own the rest. The unused `strftime` filter is gone.
662
+ - **htmx feedback is an `HX-Trigger` toast.** `with_toast(response, text,
663
+ tone)` plus a live region mounted by the base layout replace the
664
+ sessionStorage-and-reload snackbar. `app.js` no longer re-executes
665
+ swapped `<script>` tags; the auth pages' components moved into
666
+ `auth.js` as `Alpine.data(...)` registrations, so no page carries an
667
+ inline script. `components/macros/feedback.html` adds `empty_state` and
668
+ `error_banner`.
669
+ - **htmx projects ship a web test kit** under `tests/web/`: an `hx` client
670
+ fixture, `add_template`, and DOM helpers (`select`, `one`, `none`,
671
+ `text`) backed by lxml + cssselect in the dev extra, with the kit's own
672
+ tests.
673
+
674
+ ### Fixed
675
+ - **Tailwind dev watcher misses new templates**: on a Docker bind mount
676
+ (Docker Desktop on macOS) the watcher never saw files created after it
677
+ started, so a class used only in a new template never compiled. The dev
678
+ compose runs it with `--poll`.
679
+
680
+ - **A plugin's settings mixin no longer fails `ruff check`.** The
681
+ injected import landed after a module constant in `app/core/config.py`,
682
+ so any generated project that installed a plugin declaring
683
+ `settings_mixins` reported E402.
684
+ - **`aegis add <plugin>` restores the services card.** The shared
685
+ `cards/__init__.py` imports `ServicesCard` once any plugin is present,
686
+ but only the component install path ensured that module exists, so
687
+ adding a plugin to a project with no services left a dangling import
688
+ and the frontend died on boot with `ModuleNotFoundError`.
689
+ - **Generated projects pin `ty`** (like ruff already was). A pre-release
690
+ type checker shipping new diagnostics weekly meant a fresh `make check`
691
+ could fail on a day with no template change; a bump is now a reviewed
692
+ commit that fixes new diagnostics alongside it.
693
+ - **Finance service reads one calendar clock** (`utils.current_date`,
694
+ UTC). Rules, budgets, streams and the analyst defaulted to the host's
695
+ local date while models, imports and the demo seed were on UTC; each
696
+ evening in the Americas they differed by a day and the demo-dataset
697
+ insight test failed. A generated ratchet test keeps `date.today()` out.
698
+ - **Finance models render the FK schema prefix per engine**, so SQLite
699
+ stacks no longer trip ty's redundant-condition diagnostic.
700
+ - **Webserver dev reload no longer watches the host venv.** uvicorn's
701
+ reload watched the whole working directory, which in the dev container
702
+ is the bind mount with the host's `.venv` in it; a `uv sync` on the
703
+ host restarted the server in a storm. `reload_dirs` is now the app
704
+ package, matching the scheduler's and worker's watchers.
705
+ - **htmx dev stack no longer breaks host tooling.** The tailwind container
706
+ installs `node_modules` into a named volume instead of the bind mount, so
707
+ a macOS or Windows host never inherits Linux binaries that make
708
+ `make lint-frontend` fail.
709
+ - **Generated `test_app_js_is_loaded` no longer fails once assets are
710
+ built**: it accepts the fingerprinted path as well as the source path.
711
+ - **`aegis add <plugin>` creates the plugin's tables.** A third-party
712
+ plugin's `migrations` were never written: `add_plugin` skipped the
713
+ migration tail in-tree services get, and the generator only resolved
714
+ names from the static registry. The plugin's revisions are now rendered
715
+ straight from its spec (`generate_plugin_migrations`), with alembic
716
+ bootstrapped when missing, schema dropped on SQLite, and re-adding the
717
+ plugin never stacking a duplicate revision.
718
+
719
+ ## [0.11.0] - 2026-09-06
720
+
721
+ ### Added
722
+
723
+ - **Agents and memory modules**: the AI service gains first-class agent
724
+ rows (system prompt, model pin, granted tools, editable from the
725
+ dashboard and the CLI) and memory modules that are fetched into
726
+ context before a turn, so an agent opens a conversation already
727
+ briefed rather than spending its first turns discovering the
728
+ situation. Documented under `docs/services/ai/` (agents, memory
729
+ modules, providers, API, CLI).
730
+
731
+ - **Code mode**: an agent flagged `code_mode` writes one Python script
732
+ that calls its granted tools as functions, run in a sandbox, instead
733
+ of a chain of tool round-trips. Writes never ride the sandbox: a tool
734
+ registered as a native write stays a visible call in the trail. The
735
+ finance service ships host tools for it (ledger, accounts, bills,
736
+ quotes) and a research-agent guide.
737
+
738
+ - **An embeddable chat surface**: a reusable `ChatPanel` control
739
+ (streaming transcript, resume-latest, per-surface history, model
740
+ picker) and its first consumer, a Chat tab in the finance modal bound
741
+ to a seeded finance assistant. Answers carry a hover-to-copy button.
742
+ The assistant can list its own open and recently decided cards with
743
+ `pending()`, retract a superseded card whole with `withdraw_batch`
744
+ and a reason the user sees, and redraw cards on request instead of
745
+ retyping their rows; a withdrawn card reads "withdrawn", not
746
+ "rejected".
747
+
748
+ - **Finance write surface**: agents propose ledger mutations through a
749
+ `propose`/`propose_many` queue and nothing runs until the user
750
+ approves. Every proposal is a `finance_pending_change` row rendered
751
+ by one component registry on the in-chat card and the Review >
752
+ Approvals queue; batches share one card with a per-row veto.
753
+ Registered change types cover categorize, assign payee, tag/untag,
754
+ split, and recurring match. Money movement is deliberately not on the
755
+ list.
756
+
757
+ - **Finance planning surfaces**: budgets with envelopes that auto-credit
758
+ on a schedule, goals stated as accounts (a goal can be sized in months
759
+ of measured expenses rather than a fixed sum, resolved on read),
760
+ net-worth history, spending summary, and a secured-debt link that
761
+ records which property secures a liability so equity and LTV derive
762
+ from it everywhere accounts are read.
763
+
764
+ - **Finance findings**: deterministic rules (large transaction, fee,
765
+ overspend, price hike, missed payment) raise findings on the Review >
766
+ Attention tab with the house severity dot and a dismiss.
767
+
768
+ - **Finance documentation**: a page per tab and per domain under
769
+ `docs/services/finance/` (accounts, bills, projected, budget, review,
770
+ investments, imports, chat, API, CLI), with screenshots from a demo
771
+ household redesigned to have something to show: two earners on
772
+ different rhythms, thin cash with the surplus invested, a carried
773
+ card, a quarterly property tax, and a Review tab with work in it.
774
+ `make docs-serve` resolves a free port like every other host publish.
775
+
776
+ - **Imports ask which account a statement belongs to**: a single-account
777
+ CSV or QIF with no target no longer fails with a bare 400. The preview
778
+ says the account is missing, the client asks, and the review dialog
779
+ names layout and target ("Chase Credit Card layout into Amex") so a
780
+ statement aimed at the wrong account is caught before Import.
781
+
782
+ - **Storage component**: `include_storage` adds an `S3Storage` backend
783
+ for any S3-compatible bucket (boto3, SigV4, presigned URLs) behind the
784
+ same `ObjectStorage` protocol the filesystem backend implements, with
785
+ SeaweedFS in the dev compose stack, a health check, and a card and
786
+ modal. Documented under `docs/components/storage/`.
787
+
788
+ - **Documents on the worker, with a jobs surface**: document extraction
789
+ reads each page once (text layer where there is one, the vision model
790
+ where there is not) and keeps the readings; with a worker in the
791
+ stack the run is a queued job on arq, dramatiq, or taskiq alike, and
792
+ without one it is the same in-process task as before. The generic
793
+ jobs surface (a job record, two SSE streams, an in-process runner and
794
+ a Redis-backed store) is documented for the next consumer. Documents
795
+ also gained a lifecycle: supersession chains, a typed-title
796
+ protection gate on delete, and a channel recording how the paper
797
+ arrived. Documented under `docs/services/documents/`.
798
+
799
+ - **Init blueprints**: `aegis init` can start from a named blueprint
800
+ (the first is `finance`) that selects the components and services a
801
+ purpose needs, with a guided picker and a `blueprints` command to list
802
+ them.
803
+
804
+ - **Plugins register their own CLI verbs**: a component or service spec
805
+ declares the `aegis` subcommands it contributes, and the generic
806
+ schema engine gates migrations on what the stack actually selected.
807
+
808
+ - **Document store service**: an optional `documents` service that keeps
809
+ the paper an application accumulates - scans, statements, letters,
810
+ forms - with ingest, tagging, listing, download, and soft delete.
811
+ Documents ride the storage seam, so a row records a content-derived
812
+ key and never a path: the same scan uploaded twice is one document and
813
+ one object, which makes a retried upload or a scanner that runs twice
814
+ free rather than duplicative. What a document MEANS - a case, a
815
+ deadline, a claim it proves - is deliberately absent; that belongs to
816
+ whatever consumes it.
817
+
818
+ - **Chat attachments outlive the turn that carried them**: images are
819
+ stored on receipt and the message records where they went, so a
820
+ reopened conversation still shows the screenshot it is discussing and
821
+ a replay no longer depends on session memory still holding megabytes.
822
+ Re-attaching the same image costs nothing (content addressing), and a
823
+ storage failure never costs the user their message: the question still
824
+ reaches the model, the picture is simply not kept.
825
+
826
+ - **Finance rows say whose money they describe**: a `finance_subject`
827
+ table plus a nullable `subject_id` on accounts and recurring streams.
828
+ Households manage money for other people (a parent in care, a child's
829
+ savings, an estate), and with a single owner column those sat beside
830
+ the household's own indistinguishably, so every total quietly mixed
831
+ two people's money and "what were his resources on this date" was not
832
+ a question anyone could ask. Null means the household's own, so every
833
+ existing ledger and query reads exactly as before; accounts can be
834
+ narrowed to one subject, or to the household alone.
835
+
836
+ - **Durable storage for bytes, addressed by content**: `app/core/storage.py`
837
+ introduces the seam every future backend implements - put, get, exists,
838
+ delete - with a filesystem backend and a named docker volume behind it.
839
+ Keys are derived from the payload's SHA-256 rather than from a filename
840
+ or a path (`sha256/ab/cd/<digest>`), so storing the same bytes twice is
841
+ one object and adopting object storage later is a byte copy: the same
842
+ key resolves identically on a disk and in a bucket, with no database
843
+ change and no key rewriting. Callers keep the key and the backend name,
844
+ never a path.
845
+
846
+ - **Payee assignment through the approval queue**: a
847
+ `transaction.assign_payee` change type completes the curation write
848
+ surface. The payload names the payee rather than an id, because the
849
+ payee may not exist yet; approval find-or-creates it by normalized
850
+ name, so two spellings cannot mint two rows. Batch-capable through
851
+ `propose_many`, with the usual before/after card copy.
852
+
853
+ - **A house control for bare text inputs**: `StyledTextField` wears
854
+ the shared input recipe as a control rather than each surface
855
+ splicing kwargs into a raw field. The chat composer and the model
856
+ picker's search both use it.
857
+
858
+ - **Durable readings from image turns**: attachment bytes ride one turn
859
+ by design, but the extraction no longer dies with them. A generic
860
+ `record_reading` chat tool (schema-forced, Pydantic-validated - the
861
+ same door-guarding pattern as the finance queue) lets an agent record
862
+ every line item it reads out of a receipt/order/document image; the
863
+ turn stages it, finalize merges it into the conversation's stored
864
+ metadata (bounded), and every later turn re-injects the recorded
865
+ readings as context - "list the items again" works long after the
866
+ image is gone. The finance assistant is granted the tool and
867
+ instructed to record before answering. Reading items carry the
868
+ source's own grouping (a shipment, a sub-receipt) so structure never
869
+ flattens away, the assistant is forbidden from prorating category
870
+ totals across charges, and the replayed-history budget now
871
+ scales with the ACTIVE model's context window (5% of context in
872
+ chars, floored at 6k for small local models, capped at 60k so a
873
+ million-token model doesn't re-bill the whole transcript every turn;
874
+ agent model pins respected) instead of a fixed small-model constant -
875
+ so an agent stops "forgetting" allocations it computed minutes
876
+ earlier.
877
+
878
+ - **Readable approval cards**: a proposal's dates read like "Aug 27,
879
+ 2026" instead of "2026-08-27" throughout the propose/approve queue
880
+ (card, batch, and CLI-style subjects share the one formatter). Batch
881
+ cards no longer flatten a multi-line proposal into one dot-joined
882
+ string - each split's category and amount gets its own line, matching
883
+ the single-card layout. Every card's plain (non-arrow) detail value
884
+ now pops in accent teal - the same treatment an arrow's target already
885
+ got - so the eye lands on what the proposal actually changes; a
886
+ rejected or vetoed row never highlights. The approvals queue moved to
887
+ its own Review > Approvals sub-tab (cards flow as a wrapping grid,
888
+ with an empty state like every other queue); Overview now carries
889
+ only a one-line "N pending changes awaiting your approval" banner
890
+ that jumps straight to it - proposals are never invisible, and never
891
+ bury the summary page.
892
+
893
+ - **Finance split transactions**: one purchase can now be carved into
894
+ category lines. The parent row is never modified - lines live in the
895
+ existing `finance_transaction_split` table, parts are stated as positive
896
+ magnitudes and the unclaimed difference auto-fills as a remainder line
897
+ under the parent's own category. Category reporting (budget actuals,
898
+ budget summary, categories tab, spending totals, register category
899
+ filter) swaps a split parent for its lines, while payee, cashflow and
900
+ account math stay on the parent so nothing double-counts. Ships with
901
+ split/unsplit API endpoints, a register split editor with a live
902
+ remainder line, and a `transaction.split` change type on the agent
903
+ propose/approve queue.
904
+
905
+ - **Chat image attachments**: the embeddable chat panel can attach
906
+ images (screenshots, receipts) to a turn. Fully generic across the AI
907
+ system: attachments ride the chat request body, the service hands them
908
+ to the model as multimodal content (any vision-capable model on any
909
+ provider), and history keeps a text marker of what was attached. The
910
+ finance assistant uses this to read itemized order screenshots and
911
+ propose a transaction split, with the approval card listing every line
912
+ (item memo, category, amount, remainder) before anything is written.
913
+
914
+ - **Paste images anywhere on the dashboard**: Flet has no
915
+ clipboard-image API, so a capture script spliced into the dashboard
916
+ page posts pasted images to a new generic `/api/v1/pastebox` endpoint
917
+ (bounded, drain-once, framework-level); consumer surfaces poll-drain
918
+ it - chat pulls a paste straight into its attachment chips, so
919
+ Ctrl/Cmd+V behaves exactly like the attach button. Staged chips show
920
+ a clickable thumbnail of the actual image (full-size preview dialog),
921
+ not just a filename. A "Receiving
922
+ image..." busy indicator bridges the upload gap: the capture script
923
+ announces the paste before uploading, and both the paste and picker
924
+ paths show the same indicator until the chip lands.
925
+
926
+ - **Replay a chat message**: every user bubble (live or reloaded from
927
+ history) carries a replay control that re-sends the same text as a
928
+ fresh turn, riding whatever attachments are staged at that moment.
929
+ Stored attachment markers are stripped on replay (image bytes ride
930
+ one turn only), and a failed turn now restages its attachments
931
+ instead of losing them - the recover-from-a-model-error path is one
932
+ click. Sent images stay replayable from session memory (bounded to
933
+ the last 8 image-carrying turns; never persisted), so a replay
934
+ re-sends the original screenshots without re-pasting.
935
+
936
+ - **Agent proposal hygiene**: `transaction.split` payloads are validated
937
+ at propose time (positive magnitudes, at least one part), so a card
938
+ that can never execute is refused at the door and the error loops back
939
+ to the agent. A new `withdraw` write tool lets an agent retract its
940
+ own still-pending proposals - resolved as rejected with a "withdrawn"
941
+ note so the audit trail keeps the mistake - instead of leaving bad
942
+ cards for the user to reject by hand. Cards whose stored payload no
943
+ longer passes a since-tightened rule stay resolvable: they render as
944
+ their raw payload and can still be rejected or withdrawn (validation
945
+ guards the door, never the cleanup). Card display rows are typed
946
+ (`ChangeDisplayRow`) end to end through the registry, executors, and
947
+ queue - plain dicts exist only in the frozen audit JSON and at the
948
+ agent tool-result boundary.
949
+
950
+ ### Changed
951
+
952
+ - **Add, remove, and update share one engine**: the hand-kept lists of
953
+ shared files to regenerate are gone. A render-diff engine renders the
954
+ template tree at the old and the new answers and three-way merges
955
+ each shared file, with policy stated as a template-header annotation
956
+ (user-owned, warn-if-diverged, no-backup) instead of a central table.
957
+ Component-owned files stay declared on their own spec's `FileManifest`.
958
+
959
+ - **The AI service follows the service structure standard**: a facade
960
+ package plus `domains/` (llm, chat, voice) in place of one
961
+ flat directory of thirty-five modules and a 1,900-line service file.
962
+
963
+ - **The worker has one copy of each shape**: queue discovery, task
964
+ metadata, and lifecycle hooks live once and each backend registry is
965
+ the two answers that differ; worker health is a selector plus one
966
+ module per backend, and a dramatiq stack that failed lint and typecheck
967
+ unseen is clean again.
968
+
969
+ - **Forward-looking finance surfaces ask one schedule**: the projection,
970
+ the month strip, and the budget outlook consumed their own loops and
971
+ disagreed. `recurring/schedule.py` answers when a stream moves money,
972
+ including overdue occurrences carried onto today; one account-scope
973
+ rule and one read of a period's budget lines serve every surface.
974
+
975
+ - **Model vendors and labs are one thing now**: the catalog kept
976
+ "who serves a model" and "who made it" in separate tables, which
977
+ duplicated every organization that does both and could not say the
978
+ two OpenAIs were the same one. A single `llm_org` table holds every
979
+ organization, and `llm_org_role` records which hats each wears -
980
+ maker, server, or both. A model row now carries two org references,
981
+ `served_by_org_id` and `made_by_org_id`, and prices and deployments
982
+ key on the org. Who made a model is resolved from the public model
983
+ registry at sync time (following a derivative upload back to the
984
+ weights it came from) rather than guessed from the model id, so a
985
+ lab shipping under a new product name is picked up automatically
986
+ and a model nobody published stays honestly unmarked.
987
+
988
+ - Generated projects default to Python 3.14. The RAG option no longer pins
989
+ projects below 3.14 (onnxruntime now ships 3.14 wheels), so the interactive
990
+ RAG compatibility warning is gone. Any supported version (3.11 to 3.14) can
991
+ still be selected with `--python-version`.
992
+
993
+ ### Fixed
994
+
995
+ - **`aegis update` left stale modules behind when the template moved
996
+ them**: the removal pass compared each dropped file byte-for-byte with
997
+ the old render, but init's post-gen step ruff-formats every file, so
998
+ any module the formatter had touched read as "customized" and was kept.
999
+ A 0.10.1 project updated to this release kept importable copies of the
1000
+ finance and AI packages at their old paths. Removal now looks through
1001
+ formatting the same way the sync loop does; a real edit is still kept
1002
+ and reported.
1003
+ The sync loop also compared against the unpruned template render, so
1004
+ an update from a local template checkout re-created storage, documents,
1005
+ and blog files in a project that selected none of them; both renders
1006
+ are now pruned the way init prunes before anything is compared.
1007
+ - **Re-importing a statement counted every row as an edit**: an empty
1008
+ memo cell was treated as a change against a missing memo, and the demo
1009
+ seed left `original_description` empty, which no bank import does.
1010
+ Empty and missing are the same absence now, and the seed writes the
1011
+ description. Also: the import read the uploaded file before the
1012
+ server finished writing it and reported "file did not arrive"; it
1013
+ waits for the file to settle. `seed-demo --clear` removes proposals
1014
+ aimed at the transactions it deletes instead of leaving orphans.
1015
+
1016
+ - **Projection and budget double-counted card spend**: card-account
1017
+ streams were charged against cash and the card payment charged again;
1018
+ budget envelopes did the same. Card streams are out of the cash walk
1019
+ and a card payment suppresses the envelopes for what was spent on it,
1020
+ scoped to the cards the payment actually settles.
1021
+
1022
+ - **A fresh finance-plus-AI stack had several dead ends**: the reference
1023
+ seed rolled back on a fresh database, `llm status` raised on an
1024
+ ambiguous join, a fresh Ollama install showed an empty model picker
1025
+ (local tags are registered at startup and an empty catalog is never
1026
+ cached), the Review tab raised on mount from an inherited abstract
1027
+ loader, and three ranked lists clipped names to a few characters.
1028
+
1029
+ - **Chat writes locked SQLite**: many sequential tool calls each
1030
+ committing on their own connection raced the chat run's connection;
1031
+ SQLite now waits for a busy writer instead of failing at once, and a
1032
+ whole card withdraws in one transaction.
1033
+
1034
+ - **Adding a service to an existing project converges on fresh-init
1035
+ output**: a parity test diffs every file the documents service owns
1036
+ between a fresh stack and an add, and found a module no manifest
1037
+ claimed and a test shipped to stacks that could not import it. The
1038
+ `add-service ai` tests named tables and files a merged refactor had
1039
+ renamed.
1040
+
1041
+ - **The model picker was slow for three separate reasons**: the
1042
+ catalog ran one database query per vendor sequentially, each opening
1043
+ its own session, with the result limit applied per vendor so a
1044
+ request for 200 models fetched far more; the client awaited its
1045
+ three API calls one after another before the dialog could open; and
1046
+ every model row was built as controls up front, including inside
1047
+ collapsed groups, then rebuilt from scratch on every filter change.
1048
+ The catalog is now one query with the per-vendor fairness cap
1049
+ applied after it, the client fetches concurrently and caches for the
1050
+ session, and group rows are built on first expand.
1051
+
1052
+ - **Models nobody could call appeared in the picker**: the cloud
1053
+ catalog lists local-runner entries under an `ollama/` prefix, which
1054
+ is a runner namespace rather than a callable vendor. Those rows were
1055
+ filed under the local runner's own vendor and passed the "models
1056
+ this install can call" gate, so uninstallable models (and cloud
1057
+ variants needing a key the install has no concept of) were offered.
1058
+ The local runner's catalog is now owned by the local sync alone.
1059
+
1060
+ - **The demo dataset confirmed shopping habits as bills**: the seed
1061
+ confirmed every stream the detector found, which promoted
1062
+ discretionary rhythms (a few jittered orders a month) into
1063
+ commitments. A bill that can be missed eventually is: the household
1064
+ read as delinquent on a shopping habit the moment one gap outran the
1065
+ grace window. Only fixed-amount streams and income are confirmed now.
1066
+
1067
+ - **Clearing demo data left insights pointing at deleted rows**: the
1068
+ teardown released transaction back-references but not the insights
1069
+ raised about those accounts, transactions, and streams, so the stream
1070
+ foreign key refused the delete.
1071
+
1072
+ - **A seeding process registered no reading tool**: the fixture loader
1073
+ force-imports the modules whose tools must exist before grants are
1074
+ written, and the durable-readings module was never added, so
1075
+ `record_reading` silently got no row in any process that seeds
1076
+ without building a chat agent.
1077
+
1078
+ - **Overdue occurrences vanished from the balance forecast**: the
1079
+ projection fast-forwarded every stream past occurrences dated before
1080
+ today, so a day-late paycheck read as "you are $5,000 poorer for the
1081
+ next two weeks" - the walk started from a balance the check never
1082
+ reached and charged it nowhere. A stream's latest missed occurrence
1083
+ now carries to today's line (money still in flight, both directions);
1084
+ older misses stay with the insight rules' missed-payment chase, and
1085
+ one-time bills are unchanged.
1086
+
1087
+ - **The match picker offered nothing for income**: a candidate already
1088
+ carrying a merchant was treated as "identified as someone else", and
1089
+ paycheck deposits always arrive pre-labelled with the payroll
1090
+ processor's merchant - which never equals the human-named stream.
1091
+ Category agreement now outranks the merchant mismatch, so a deposit
1092
+ sharing the stream's own category stays offered; bills keep their
1093
+ noise protection.
1094
+
1095
+ - Generated projects on the AI memory backend now pass lint, typecheck and
1096
+ tests: `memory_user` and the active-model selector no longer leak into the
1097
+ memory backend, and DB-only endpoint tests are gated out.
1098
+
1099
+ - RAG chunking: an overlap at or above the chunk size no longer loops
1100
+ forever (default overlap is a fifth of the chunk size, larger values are
1101
+ rejected), documents that fit in one chunk are kept whole, a min chunk
1102
+ size at or above the chunk size no longer filters everything, and
1103
+ `estimate_chunks` no longer overcounts by one. The RAG service tests use
1104
+ `RAGServiceConfig` instead of a stale settings mock.
1105
+
1106
+ ### Removed
1107
+
1108
+ - **The Transfers review queue**: the suggested-transfer lane
1109
+ (detection's suggest threshold, the confirm/reject endpoints and
1110
+ service methods, the Review > Transfers sub-tab, and the transfer
1111
+ response schemas) is gone end to end. Transfer detection now pairs
1112
+ ONLY high-confidence matches, automatically; a fuzzy near-miss simply
1113
+ stays visible as ordinary spend/income instead of queueing for a
1114
+ review nobody performed. Auto-pairing, category-classified flagging,
1115
+ and adjustment-pair handling are unchanged.
1116
+
1117
+ ## [0.10.1] - 2026-07-20
1118
+
1119
+ ### Added
1120
+
1121
+ - **Neon-aware deploy**: `aegis deploy` now reads the project's Postgres
1122
+ provider. For Neon projects it skips the local `pg_dump`/`psql` backup and
1123
+ rollback-restore steps and states that database backup and recovery are
1124
+ managed by Neon (branches, point-in-time restore) instead of silently
1125
+ no-opping. Localized in all nine CLI languages.
1126
+ - **Orphan-proof organizations** (auth at the org level): deleting a user now
1127
+ soft-deletes any organization they solely own (a hard delete purges it,
1128
+ including its remaining invites and memberships), and a global admin can
1129
+ delete any organization. Together these guarantee an org can never be
1130
+ stranded with an unreachable owner. Cascaded deletions emit their own audit
1131
+ events alongside the user deletion.
1132
+ - **Canonical brand palette**: generated apps single-source their brand
1133
+ accents in a new `BrandPalette` (teal, dark teal, amber, red). The Flet
1134
+ theme and the Pulse-style colors derive from it, fixing a drifted amber,
1135
+ and a parity test keeps the aegis CLI palette locked to the same values.
1136
+ - **Finance service**: Plaid webhook tunnel auto-forwarding at startup,
1137
+ expanded connection sync, and richer account and liability API responses.
1138
+
1139
+ ### Fixed
1140
+
1141
+ - **`aegis update` never silently overwrites**: files with no merge base
1142
+ (for example a service added after generation, or a failed old-template
1143
+ render) are now preserved and reported as conflicts with the template
1144
+ version written alongside as a `.rej` file, instead of being replaced with
1145
+ the template render. Files newly added by a template version are reliably
1146
+ created even when Copier fails to materialize them, so an update can no
1147
+ longer merge a new module's imports without shipping the module.
1148
+ - **`aegis add`/`remove` converge on fresh-init output**: the Dockerfile
1149
+ regenerates while pristine (the htmx `css-build` stage now tracks
1150
+ add/remove htmx in both directions); stack-conditional wiring files
1151
+ (auth gates on the metrics, task-history, and load-test endpoints, CLI
1152
+ subcommand registration, scheduler job registration) regenerate instead of
1153
+ staying stale; option-gated files (auth org files, htmx auth pages, the AI
1154
+ RAG tab) are copied only when the project's configuration enables them;
1155
+ and the model-and-migration skill plus the LLM catalog API are installed
1156
+ when the first service that needs them arrives.
1157
+ - **Regeneration fidelity**: ruff normalization during add/remove/update now
1158
+ runs under each file's real path so the generated project's
1159
+ per-file-ignores stay in force (`deps.py` re-export imports are no longer
1160
+ stripped), and regenerated files keep their trailing newline.
1161
+ - **Generated projects lint clean**: the stack matrix now fails on any ruff
1162
+ violation in generated output (previously only a ruff crash failed it),
1163
+ and the latent violations this exposed were fixed (a duplicate blog modal
1164
+ method, an uppercase local variable in the insights collector, an unused
1165
+ variable in the finance tests).
1166
+ - **AI service retrofit**: `aegis add-service ai` now ships the LLM catalog
1167
+ API, omits the RAG tab unless RAG is enabled, and a dashboard card click
1168
+ with no registered modal logs a warning naming the missing wiring instead
1169
+ of doing nothing.
1170
+
1171
+ ## [0.10.0] - 2026-07-16
1172
+
1173
+ ### Added
1174
+
1175
+ - **htmx web frontend** (`include_htmx`): an additive server-rendered web
1176
+ frontend component alongside the Flet Overseer, with a Tailwind build
1177
+ pipeline, landing page, and Docker wiring. Selection-gated like every
1178
+ component; existing stacks are untouched unless opted in.
1179
+ - **SnapTrade brokerage integration for the finance service**
1180
+ (`finance_snaptrade`): a second aggregator alongside Plaid, proving the
1181
+ provider abstraction, so a SnapTrade-connected brokerage lands in the same
1182
+ tables and UI with zero schema changes. Connect portal flow, authorization
1183
+ adoption, and polling sync for accounts, positions, and activities within
1184
+ SnapTrade's polling budget. Supports both commercial keys (per-user
1185
+ registration) and personal `PERS-` keys (the key is the user; no
1186
+ registration). Securities reported by multiple aggregators merge to one
1187
+ catalog row via FIGI/CUSIP/ISIN.
1188
+ - **Plaid live connectivity for the finance service** (`finance_plaid`):
1189
+ hosted-link connect flow, token exchange with AES-GCM-encrypted storage,
1190
+ account ingestion, cursor-based transactions sync, webhook handling, and a
1191
+ failure-isolated nightly sync job on the scheduler.
1192
+ - **Finance categorization and insights**: internal transfer detection and
1193
+ pairing (a card payment no longer double-counts as spend),
1194
+ recurring-stream detection, and "wasting money" insights, recomputed
1195
+ post-sync and nightly; plus investment trades in the register and account
1196
+ detail.
1197
+ - **Finance provider CLI commands**: `finance sync` refreshes every provider
1198
+ connection; `finance snaptrade connect` / `complete` drive the brokerage
1199
+ connect flow end to end from the terminal.
1200
+ - **AI chat kit** (`app/services/ai/chat_kit`): a reusable conversation
1201
+ toolkit for generated projects (agent wrapper, token budgeting, context
1202
+ assembly, persistent history), with a TaskIQ broker for background AI
1203
+ work.
1204
+ - **Agent skills**: generated projects now ship a selection-aware
1205
+ `CLAUDE.md` and `.claude/skills/` workflow skills gated by what the stack
1206
+ includes (add an endpoint, add a model and migration, add a scheduled job,
1207
+ protect an endpoint, change the stack). Skills ride
1208
+ `aegis add`/`remove`/`update`, so pre-skills projects gain them on update.
1209
+ The framework repo itself carries contributor workflow skills
1210
+ (add-service, add-component, i18n, release, template-dev) with a slimmed
1211
+ CLAUDE.md.
1212
+ - **Windows-friendly dev commands**: generated projects now ship a
1213
+ `[tool.poe.tasks]` table (via `poethepoet`) covering the `Makefile`
1214
+ workflow, so `uv run poe <target>` (e.g. `uv run poe serve`, `uv run poe
1215
+ check`) can be used on Windows, where `make` isn't a native binary (after
1216
+ a one-time `uv sync --all-extras`). `make` itself is unchanged for existing
1217
+ users. The bash-only `resolve-ports.sh` / `find-free-port.sh`
1218
+ port-resolution scripts are replaced by a single Python implementation
1219
+ (`scripts/resolve_ports.py`, `scripts/dev_tasks.py`) shared by both
1220
+ interfaces.
1221
+
1222
+ ### Changed
1223
+
1224
+ - **Connections tab redesign**: one card anatomy for every connection
1225
+ (collapsible, dot-style status indicators matching the rest of the
1226
+ Overseer, destructive actions behind a kebab menu), a fluid two-column
1227
+ grid, a Connect menu on the Accounts sidebar and Connections tab, and in
1228
+ sandbox mode a Plaid card with click-to-copy test credentials. The All
1229
+ Accounts register now folds investment activity in with transactions.
1230
+ - **Disconnecting a provider connection is now instant**: local teardown
1231
+ happens in the request; the provider-side revoke runs after the response
1232
+ as a background task (it was always best-effort).
1233
+ - **Larger default Overseer cards**: component tiles get room to render
1234
+ their metric grids cleanly at first paint. Thanks @GrCOTE7.
1235
+
1236
+ ### Fixed
1237
+
1238
+ - **Second browser tab no longer renders blank**: the Overseer's route
1239
+ reentrancy guard was process-wide, so two sessions routing at the same
1240
+ instant (a second tab, a reconnect) blocked each other and the loser
1241
+ never built its view. The guard is now session-scoped.
1242
+ - **Overseer modals no longer close on stray clicks**: detail popups are
1243
+ explicit-close only (backdrop click-through is opt-in), and every modal's
1244
+ Close is a themed button.
1245
+ - **Finance provider syncs can no longer erase catalog data**: partial
1246
+ payloads (e.g. an activities row without pricing) update only the fields
1247
+ they carry, and the destructive SnapTrade delete-and-re-register recovery
1248
+ is gated on the specific "user already exists" error code instead of any
1249
+ failure. An undecryptable stored credential no longer blocks disconnect.
1250
+
1251
+ ## [0.9.1] - 2026-07-12
1252
+
1253
+ ### Added
1254
+
1255
+ - **Finance service (experimental)** (`aegis init --services finance`,
1256
+ `aegis add-service finance`): a personal-finance aggregator service, marked
1257
+ experimental in this release (schema, APIs, and CLI surface may change
1258
+ between releases). Ships a 33-table schema
1259
+ covering currencies and FX rates, institutions and connections (inline
1260
+ AES-GCM-encrypted credentials), accounts, liabilities, valuations, balance
1261
+ and net-worth snapshots, and a transaction ledger with splits, transfer
1262
+ pairing, and two-lane provider/import dedup. Ships file import for CSV
1263
+ (Chase and Quicken profiles), OFX/QFX, and QIF, a net-worth service, API
1264
+ endpoints, seeded demo data, and a full test suite. Optional flags gate
1265
+ Plaid (`finance_plaid`) and SnapTrade (`finance_snaptrade`) integration
1266
+ scaffolding. Requires database and scheduler; recommends worker.
1267
+ - **Neon setup guide**: dedicated `components/database/neon.md` page in the
1268
+ tool docs, plus expanded database component docs.
1269
+
1270
+ ### Fixed
1271
+
1272
+ - **`aegis update` no longer invents merge conflicts on pristine projects**:
1273
+ generated projects are ruff-formatted at init while template renders are
1274
+ raw Jinja output, so the byte-level 3-way merge misread formatting as user
1275
+ edits and conflicted wherever real template changes landed nearby. Python
1276
+ files are now compared and merged through ruff normalization, matching
1277
+ what the add/remove path already did, and the fallback path warns instead
1278
+ of degrading silently.
1279
+ - **ruff is now a runtime dependency**: installs without dev extras (uvx,
1280
+ pip) previously had no ruff binary, so every Python merge silently fell
1281
+ back to the raw byte-level path. A test now guards the dependency.
1282
+ - **`find-free-port.sh` false-busy on macOS**: Darwin allocates ephemeral
1283
+ source ports sequentially, so probing a port near a recent bind made
1284
+ connect() pick source == destination and fail with EINVAL, which read as
1285
+ busy for every candidate. The probe retries on EINVAL, keeping `make
1286
+ serve` port autodiscovery reliable in and near the ephemeral range.
1287
+
1288
+ ## [0.9.0] - 2026-07-06
1289
+
1290
+ ### Added
1291
+
1292
+ - **Neon Postgres provider**: new `postgres_provider` template question
1293
+ (`container` or `neon`). Local development keeps the Postgres container;
1294
+ production points at Neon, with pooler-safe connection arguments detected
1295
+ from the URL. No new dependencies. Guided and interactive init prompt for
1296
+ the provider on Postgres stacks.
1297
+
1298
+ ### Fixed
1299
+
1300
+ - **`aegis update` backfills new template questions**: questions added by a
1301
+ newer template version (such as `postgres_provider`) are reconciled into
1302
+ the project's preserved answers file during update instead of being lost.
1303
+ - **Stripe webhook forwarder no longer stalls on chatty output**: the
1304
+ dev-mode stripe-cli forwarder drains stdout in the background so a full
1305
+ pipe cannot block secret capture, with timeout handling around reads.
1306
+
1307
+ ### Changed
1308
+
1309
+ - **Dependency pins hardened**: `typer` pinned to 0.26.8 (newer releases
1310
+ fail at class-body evaluation on Python 3.11/3.12); `copier` held below
1311
+ 9.15 (9.15 relocates the answers file out of the generated project, which
1312
+ breaks `aegis update`), with a dependabot ignore rule so the ceiling is
1313
+ not silently widened.
1314
+
1315
+ ## [0.8.1] - 2026-06-28
1316
+
1317
+ ### Added
1318
+
1319
+ - **Traffic monitor ("who's hammering you")**: Overseer's Backend modal gains a
1320
+ **Traffic** tab showing top source IPs by request volume over a rolling
1321
+ window, flagging any single source that dominates traffic (read-time
1322
+ dominance check). A `TrafficMiddleware` tallies requests per client IP
1323
+ (proxy-aware via `get_client_ip`), backed by Redis when the component is
1324
+ present (shared across the webserver/scheduler/worker processes, survives a
1325
+ restart for the bucket TTL) and an in-memory store otherwise (per-process,
1326
+ resets on restart) — the same Redis-or-dict fallback `CacheService` uses, so
1327
+ the live panel works with or without Redis. Recording is fire-and-forget so
1328
+ it never adds latency to the request path. Admin-gated `GET
1329
+ /api/v1/traffic/sources` (open on auth-less stacks, matching `/health/`).
1330
+ Tunable via `TRAFFIC_MONITOR_ENABLED`, `TRAFFIC_WINDOW_HOURS`,
1331
+ `TRAFFIC_DOMINANCE_SHARE`, `TRAFFIC_DOMINANCE_FLOOR`.
1332
+
1333
+ ### Changed
1334
+
1335
+ - **Rolling deploy no longer depends on `docker-rollout`**: `aegis deploy
1336
+ --rolling` now rolls the webserver in-process, starting a second replica
1337
+ and polling its container HEALTHCHECK status (`healthy`/`unhealthy`/
1338
+ `starting`) instead of shelling out to the `docker-rollout` plugin. The
1339
+ container's own HEALTHCHECK budget (`start_period + retries x interval`)
1340
+ is the single source of truth, so a slow-but-healthy boot is never rolled
1341
+ back by a wall clock, and no extra tooling needs to be installed on the
1342
+ deploy host. `--rollout-timeout` is now only a long runaway-guard ceiling.
1343
+
1344
+ ### Fixed
1345
+
1346
+ - **`aegis update` records the correct template commit**: the commit stamped
1347
+ into the answers file after an update could be wrong, which skewed the
1348
+ starting point of the next update; it is now derived and verified
1349
+ explicitly.
1350
+
1351
+ ## [0.8.0] - 2026-06-15
1352
+
1353
+ ### Added
1354
+
1355
+ - **Guided `aegis init`**: a full-screen, interactive setup is now the default
1356
+ for `aegis init`, walking through components and services with a live review
1357
+ screen before generating. `--quick` keeps the classic one-line prompts, and
1358
+ tiny terminals fall back to quick mode automatically. `--no-interactive` is
1359
+ unchanged.
1360
+ - **`tasks statistics` CLI command**: report overall scheduler statistics
1361
+ (total, active, and paused tasks) straight from the project CLI, mirroring the
1362
+ data behind the admin-gated `/scheduler/statistics` endpoint.
1363
+ - **Authenticated load testing**: `api-load-test run` now authenticates by
1364
+ default so auth-gated routes work without manual login. `--as-admin` mints a
1365
+ bearer token for an `ADMIN_USER_EMAILS` address, `--as-user` for a regular
1366
+ account, and `--anon` opts out.
1367
+ - **`HF_TOKEN` setting**: authenticates the RAG embedding-model download from the
1368
+ Hugging Face Hub, silencing the unauthenticated-request warning and raising
1369
+ rate limits. Optional; public models still download without it.
1370
+
1371
+ ### Changed
1372
+
1373
+ - **CLI brand pass**: warnings are now amber (`#F5A623`, matching the frontend)
1374
+ instead of violet; status icons are monochrome text glyphs (`✓ ⚠ ✗ ℹ`) colored
1375
+ by state instead of emoji, so they align to the terminal grid and render
1376
+ consistently everywhere; the load-test report is themed (teal progress bar,
1377
+ dim labels).
1378
+ - **Quiet RAG model load**: the embedding model now loads without progress bars
1379
+ or log noise in CLI output.
1380
+
1381
+ ### Fixed
1382
+
1383
+ - **gpt-5 family and o-series models in AI chat**: these reject any non-default
1384
+ `temperature` and returned a 400; temperature is now omitted for them so the
1385
+ streaming chat works.
1386
+ - **`llm` CLI commands now run**: `list`, `current`, `use`, and `info` were
1387
+ declared `async def`, which Typer never awaits, so they exited without doing
1388
+ anything; they now execute correctly.
1389
+ - **Deprecation warning** in the AI chat streaming path (`result.usage()` is a
1390
+ property in pydantic-ai 1.x, no longer a method).
1391
+
1392
+ ### Documentation
1393
+
1394
+ - **Installation guide clarity**: explain what `uvx` is and that it ships with
1395
+ uv, distinguish `uvx` (ephemeral run) from `uv tool install` (persistent
1396
+ install), and correct the uvx version note (latest on first run, cached
1397
+ thereafter; `uvx aegis-stack@latest` to refresh). The CLI language section now
1398
+ lists all 9 supported locales (`en`, `de`, `es`, `fr`, `ja`, `ko`, `ru`, `zh`,
1399
+ `zh_Hant`) in a table instead of only Simplified Chinese.
1400
+
1401
+ ## [0.7.0] - 2026-06-08
1402
+
1403
+ ### Added
1404
+
1405
+ - **Rolling deploys**: zero-downtime, code-only `aegis deploy --rolling`. The
1406
+ webserver rolls over while still serving traffic and the worker queue is
1407
+ paused so in-flight jobs drain cleanly before workers restart.
1408
+ - **Free-port auto-discovery for `make serve`**: picks an open host port instead
1409
+ of failing with "address already in use" when the default is taken.
1410
+ - **CI/CD scaffolding in generated projects**: a GitHub Actions deploy workflow
1411
+ generated out of the box.
1412
+ - **Scheduler**: run a scheduled job on demand from the project CLI, plus
1413
+ scheduler fixes.
1414
+ - **Payment service**: Stripe-backed payment capability, with end-to-end tests.
1415
+ - **Performance middleware** in generated projects.
1416
+
1417
+ ### Changed
1418
+
1419
+ - **`aegis update` is now idempotent**: after a clean update it advances the
1420
+ copier baseline (`_commit` / `_template_version`) so a re-run is a no-op and
1421
+ future updates don't re-apply changes that are already present.
1422
+ - `aegis update --to-version` accepts both PEP 440 (`0.7.0`) and tag (`v0.7.0`)
1423
+ forms.
1424
+ - Dependency: typer bumped to 0.26.7.
1425
+
1426
+ ### Fixed
1427
+
1428
+ - Rolling deploy no longer rolls back a slow-but-healthy webserver: the
1429
+ docker-rollout wait is sized to the container's own healthcheck budget
1430
+ (`-t`), not a fixed 60s wall clock.
1431
+ - `make serve` port detection no longer reports a busy port as free under load
1432
+ (a timed-out probe is treated as in-use, not free).
1433
+
1434
+ ---
1435
+
1436
+ ## [0.4.0] - 2025-12-07
1437
+
1438
+ ### Added
1439
+
1440
+ #### TaskIQ Worker Backend
1441
+ - Alternative worker backend using TaskIQ: `uvx aegis-stack init my-app --components "worker[taskiq]"`
1442
+ - Full feature parity with arq backend
1443
+ - TaskIQ-specific pool management, registry, and queue implementations
1444
+ - Load testing support for TaskIQ workers
1445
+ - Health monitoring integration for TaskIQ
1446
+
1447
+ ### Fixed
1448
+
1449
+ - Windows compatibility: Removed Jinja2 conditional syntax from template filenames
1450
+ - Files with `{% if %}` in names caused OS Error 123 on Windows
1451
+ - Affected: `tasks.py` and `scheduler.py` in Cookiecutter templates
1452
+
1453
+ ### Changed
1454
+
1455
+ - Release workflow now creates draft releases with auto-generated notes
1456
+
1457
+ ---
1458
+
1459
+ ## [0.3.4] - 2025-12-03
1460
+
1461
+ ### Changed
1462
+
1463
+ - Docker build optimization: only build image for one service instead of all
1464
+
1465
+ ---
1466
+
1467
+ ## [0.3.3] - 2025-12-03
1468
+
1469
+ ### Changed
1470
+
1471
+ - Version bump and dependency updates
1472
+
1473
+ ---
1474
+
1475
+ ## [0.3.2] - 2025-12-03
1476
+
1477
+ ### Changed
1478
+
1479
+ - Version updates
1480
+
1481
+ ---
1482
+
1483
+ ## [0.3.1] - 2025-12-03
1484
+
1485
+ ### Fixed
1486
+
1487
+ - Fixed `make serve` command by refactoring magic string handling
1488
+
1489
+ ---
1490
+
1491
+ ## [0.3.0] - 2025-12-01
1492
+
1493
+ ### Major Features
1494
+
1495
+ #### Dashboard V2 - Complete UI Overhaul
1496
+ - Light and dark theme support with system preference detection
1497
+ - Component modal system - detailed info panels for each component:
1498
+ - Scheduler modal: Job stats, task history, next run times, cron expressions
1499
+ - Worker modal: Queue depth, job history, worker health, Redis connection
1500
+ - Redis modal: Memory usage, connection stats, key counts
1501
+ - Database modal: Table stats, connection pool info, query metrics
1502
+ - Backend modal: Route inspection, middleware detection, request stats
1503
+ - AI modal: Provider status, model info, conversation history
1504
+ - Auth modal: User count, session stats, JWT configuration
1505
+ - Frontend modal: Component tree, render stats, routing info
1506
+ - Modern card-based architecture with improved visual hierarchy
1507
+ - Enhanced health check visualization
1508
+
1509
+ #### New CLI Features
1510
+ - `aegis update` rollback support - automatically restore on failed updates
1511
+ - `--template-path` flag - use local template directories for development
1512
+ - `--verbose` flag - control output verbosity across all commands
1513
+ - Improved error messages with actionable suggestions for generation failures
1514
+
1515
+ #### Comms Service (New Service Layer)
1516
+ - Communication service foundation for inter-component messaging
1517
+ - Event-driven architecture support
1518
+ - Service discovery patterns
1519
+
1520
+ ### Added
1521
+
1522
+ - Copier integration testing for template validation
1523
+ - CI/CD parallelization for faster builds
1524
+ - Commit badges in generated project READMEs
1525
+ - Scheduler environment variable configuration
1526
+ - Enhanced Overseer documentation
1527
+
1528
+ ### Fixed
1529
+
1530
+ - `aegis update` now correctly targets HEAD instead of latest tag
1531
+ - Template path handling with `git+file://` URL format for Copier
1532
+ - Dashboard rendering edge cases with component state
1533
+
1534
+ ---
1535
+
1536
+ ## [0.2.1] - 2025-11-10
1537
+
1538
+ ### Fixed
1539
+
1540
+ - Minor bug fixes and stability improvements
1541
+ - Added verbosity flag foundation
1542
+
1543
+ ---
1544
+
1545
+ ## [0.2.0] - 2025-11-05
1546
+
1547
+ ### Major Features
1548
+
1549
+ #### Dynamic Component Management
1550
+ - **NEW**: `aegis add` command - Add components to existing projects post-generation
1551
+ - **NEW**: `aegis remove` command - Remove components from existing projects
1552
+ - **NEW**: `aegis update` command - Update projects with latest template changes
1553
+ - **NEW**: Copier template engine support with version tracking
1554
+ - Projects can now evolve after creation (Copier-based projects only)
1555
+ - Intelligent dependency resolution (e.g., worker auto-adds Redis, auth auto-adds database)
1556
+ - File-level component management without full project regeneration
1557
+ - Automatic dependency installation and code formatting after changes
1558
+
1559
+ #### Services Architecture (Business Logic Layer)
1560
+ - **NEW**: Authentication Service (`--services auth`)
1561
+ - JWT-based authentication with access and refresh tokens
1562
+ - User registration, login, and profile management
1563
+ - Password hashing with bcrypt
1564
+ - Protected API routes with FastAPI dependency injection
1565
+ - Database migrations via Alembic
1566
+ - User management CLI commands (`create-user`, `list-users`, `delete-user`, etc.)
1567
+ - Comprehensive test suite with 52+ authentication tests
1568
+ - Automatically includes database component
1569
+
1570
+ - **NEW**: AI Service (`--services ai`)
1571
+ - PydanticAI integration for type-safe AI interactions
1572
+ - Multi-provider support (OpenAI, Anthropic, Gemini, Groq)
1573
+ - Streaming chat responses with markdown rendering
1574
+ - Conversation memory and persistence to database
1575
+ - Interactive CLI chat interface with rich formatting
1576
+ - Health monitoring for AI provider connectivity
1577
+ - Environment variable configuration
1578
+ - API endpoints for chat operations
1579
+
1580
+ #### Enhanced Scheduler Component
1581
+ - **NEW**: SQLite-backed persistence option (`--scheduler-backend sqlite`)
1582
+ - Automatic database backup jobs when scheduler + database combined
1583
+ - Task monitoring API endpoints
1584
+ - Interactive CLI for viewing and managing scheduled tasks
1585
+ - Enhanced health checks with task execution tracking
1586
+ - Job statistics and history
1587
+
1588
+ ### Added
1589
+
1590
+ #### CLI Commands
1591
+ - `aegis add` - Add components to existing projects
1592
+ - `aegis remove` - Remove components from projects
1593
+ - `aegis update` - Update projects with latest templates
1594
+ - `aegis services` - List available services
1595
+ - `aegis components` - Show detailed component information
1596
+ - `aegis version` - Display CLI version
1597
+ - Template engine selection via `--engine` flag (copier or cookiecutter)
1598
+ - Interactive service selection during project creation
1599
+ - Component backend selection (e.g., `--scheduler-backend sqlite`)
1600
+
1601
+ #### Developer Experience
1602
+ - **uvx support** - Run without installation (`uvx aegis-stack init my-project`)
1603
+ - Enhanced dashboard with component and service health cards:
1604
+ - Auth service card (user count, health status, database connection)
1605
+ - AI service card (provider status, model info, conversation stats)
1606
+ - Scheduler card (job stats, task history, next run times)
1607
+ - Worker card (queue stats, job history, worker health)
1608
+ - FastAPI card (route inspection, middleware detection)
1609
+ - Database card (table stats, connection pool info)
1610
+ - Redis card (memory usage, connection statistics)
1611
+ - Load testing CLI with visual progress indicators
1612
+ - FastAPI middleware and route inspection utilities
1613
+ - Rich terminal formatting for AI chat (markdown, code blocks, tables)
1614
+ - Comprehensive CLI tools for component management
1615
+
1616
+ #### Testing & Quality
1617
+ - Migrated from mypy to `ty` for faster type checking
1618
+ - Extensive test coverage for auth service (52+ tests)
1619
+ - Extensive test coverage for AI service
1620
+ - Template parity tests (Cookiecutter vs Copier output validation)
1621
+ - Component addition/removal integration tests
1622
+ - Auth integration tests (registration, login, JWT flows, protected routes)
1623
+ - AI conversation persistence tests
1624
+ - Middleware and route inspection tests
1625
+ - Extended test matrix for component combinations
1626
+ - Clean validation workflow for template testing
1627
+
1628
+ #### Documentation
1629
+ - Complete auth service documentation (API reference, CLI commands, integration guide, examples)
1630
+ - Complete AI service documentation (provider setup, API reference, CLI commands, integration)
1631
+ - Services architecture guide and dashboard integration docs
1632
+ - "Evolving Your Stack" guide - post-generation component management philosophy
1633
+ - Scheduler persistence and CLI documentation
1634
+ - Enhanced installation guide (uvx, uv tool, pip methods)
1635
+ - Integration patterns documentation
1636
+ - Component-specific CLAUDE.md files for AI development context
1637
+ - Release process documentation with PyPI/TestPyPI workflow
1638
+
1639
+ #### Infrastructure
1640
+ - GitHub Actions workflow for automated PyPI releases
1641
+ - TestPyPI pre-flight testing workflow
1642
+ - PyPI Trusted Publishing (OIDC, no API tokens)
1643
+ - Template versioning and compatibility tracking
1644
+ - Copier template infrastructure with `.copier-answers.yml`
1645
+ - Post-generation task system refactored
1646
+ - Component file management utilities
1647
+ - Service dependency resolver
1648
+ - Manual updater for Cookiecutter-based projects
1649
+
1650
+ ### Changed
1651
+
1652
+ - **Default template engine** is now Copier (Cookiecutter still fully supported via `--engine cookiecutter`)
1653
+ - Type checker migrated from mypy to `ty` for improved performance
1654
+ - Enhanced dashboard UI with modern card-based architecture
1655
+ - Improved component dependency resolution logic
1656
+ - Better error messages with actionable suggestions
1657
+ - Scheduler component refactored with service layer separation
1658
+ - Worker health check registration improved
1659
+ - Database health checks enhanced with connection pool monitoring
1660
+ - Restructured CLI command organization into separate modules
1661
+ - Dashboard rendering optimizations
1662
+
1663
+ ### Fixed
1664
+
1665
+ - Dashboard rendering bugs with component state management
1666
+ - Worker type annotations and kwargs handling
1667
+ - arq worker info retrieval issues
1668
+ - Scheduler component integration edge cases
1669
+ - Database card rendering and refactoring issues
1670
+ - Redis component card state updates
1671
+ - FastAPI middleware detection for edge cases
1672
+ - Template generation with various component combinations
1673
+ - Health check caching race conditions
1674
+
1675
+ ### Security
1676
+
1677
+ - JWT-based authentication with secure token handling
1678
+ - Password hashing with bcrypt (cost factor 12)
1679
+ - Protected API routes with dependency injection patterns
1680
+ - Secure user model implementation
1681
+ - API key handling for AI providers
1682
+ - Environment variable-based secrets management
1683
+
1684
+ ### Performance
1685
+
1686
+ - Faster type checking with `ty` replacing mypy
1687
+ - Optimized component dependency resolution
1688
+ - Improved dashboard rendering performance
1689
+ - Enhanced health check caching strategies
1690
+ - Reduced template generation time
1691
+
1692
+ ### Statistics
1693
+
1694
+ - 62 pull requests merged since v0.1.0
1695
+ - 456 files changed (72,387 insertions, 4,590 deletions)
1696
+ - 8 new CLI commands
1697
+ - 2 new services (auth, AI)
1698
+ - 13+ new documentation files
1699
+ - 100+ new test files
1700
+ - 10 weeks of development (Aug 28 - Nov 5, 2025)
1701
+
1702
+ ### Highlights for Users
1703
+
1704
+ 1. **Your stack can now evolve** - Add/remove components after project creation
1705
+ 2. **Authentication ready** - Production JWT auth with one command (`--services auth`)
1706
+ 3. **AI-ready** - Multi-provider AI integration built-in (`--services ai`)
1707
+ 4. **No installation needed** - Run with `uvx aegis-stack init my-project`
1708
+ 5. **Scheduler persistence** - SQLite-backed job storage for reliability
1709
+ 6. **Enhanced DX** - Rich CLI tools, better dashboard, comprehensive health monitoring
1710
+
1711
+ ### Notes
1712
+
1713
+ - Copier is now the default template engine, enabling `aegis add/remove/update` commands
1714
+ - Both Copier and Cookiecutter templates are fully supported
1715
+ - Auth service automatically includes Alembic for database migrations
1716
+ - AI service supports OpenAI, Anthropic, Gemini, and Groq providers
1717
+ - Scheduler persistence requires database component
1718
+ - Template version compatibility tracked in `.copier-answers.yml` (Copier projects)
1719
+ - Worker component still requires explicit Redis component specification
1720
+
1721
+ ## [0.1.0] - 2025-08-27
1722
+
1723
+ ### Added
1724
+ - Initial release of Aegis Stack CLI tool
1725
+ - Database component with SQLite/SQLModel ORM integration
1726
+ - FastAPI backend with health monitoring system
1727
+ - Flet frontend for web and desktop applications
1728
+ - Worker component with arq/Redis for background tasks
1729
+ - Scheduler component with APScheduler
1730
+ - Docker containerization support
1731
+ - Comprehensive testing infrastructure with pytest
1732
+ - Type checking with mypy and pydantic plugin
1733
+ - Auto-formatting with ruff
1734
+ - Project generation via `aegis init` command
1735
+ - Component dependency resolution system
1736
+ - Database health checks with detailed metrics
1737
+ - Transaction rollback testing fixtures
1738
+ - Template validation system
1739
+
1740
+ ### Fixed
1741
+ - Database test isolation issues
1742
+ - Type checking for Pydantic models with mypy plugin
1743
+ - Template linting issues in generated projects
1744
+
1745
+ ### Components
1746
+ - Backend (FastAPI) - Always included
1747
+ - Frontend (Flet) - Always included
1748
+ - Database (SQLite/SQLModel) - Optional
1749
+ - Worker (arq/Redis) - Optional
1750
+ - Scheduler (APScheduler) - Optional
1751
+
1752
+ [0.4.0]: https://github.com/lbedner/aegis-stack/compare/v0.3.4...v0.4.0
1753
+ [0.3.4]: https://github.com/lbedner/aegis-stack/compare/v0.3.3...v0.3.4
1754
+ [0.3.3]: https://github.com/lbedner/aegis-stack/compare/v0.3.2...v0.3.3
1755
+ [0.3.2]: https://github.com/lbedner/aegis-stack/compare/v0.3.1...v0.3.2
1756
+ [0.3.1]: https://github.com/lbedner/aegis-stack/compare/v0.3.0...v0.3.1
1757
+ [0.3.0]: https://github.com/lbedner/aegis-stack/compare/v0.2.1...v0.3.0
1758
+ [0.2.1]: https://github.com/lbedner/aegis-stack/compare/v0.2.0...v0.2.1
1759
+ [0.2.0]: https://github.com/lbedner/aegis-stack/compare/v0.1.0...v0.2.0
1760
+ [0.1.0]: https://github.com/lbedner/aegis-stack/releases/tag/v0.1.0