nthlayer-workers 3.0.0__tar.gz → 3.0.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 (193) hide show
  1. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/PKG-INFO +2 -2
  2. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/pyproject.toml +7 -3
  3. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/PKG-INFO +2 -2
  4. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/requires.txt +1 -1
  5. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/tests/test_dependency_declarations.py +23 -0
  6. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/README.md +0 -0
  7. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/setup.cfg +0 -0
  8. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/__init__.py +0 -0
  9. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/cli.py +0 -0
  10. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/cli_output.py +0 -0
  11. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/__init__.py +0 -0
  12. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/cli.py +0 -0
  13. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/config.py +0 -0
  14. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/__init__.py +0 -0
  15. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/changes.py +0 -0
  16. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/dedup.py +0 -0
  17. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/engine.py +0 -0
  18. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/temporal.py +0 -0
  19. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/correlation/topology.py +0 -0
  20. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/ingestion/__init__.py +0 -0
  21. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/ingestion/protocol.py +0 -0
  22. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/ingestion/severity.py +0 -0
  23. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/ingestion/webhook.py +0 -0
  24. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/notifications.py +0 -0
  25. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/prometheus.py +0 -0
  26. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/reasoning.py +0 -0
  27. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/session.py +0 -0
  28. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/snapshot/__init__.py +0 -0
  29. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/snapshot/generator.py +0 -0
  30. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/snapshot/model.py +0 -0
  31. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/snapshot/token.py +0 -0
  32. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/state.py +0 -0
  33. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/store/__init__.py +0 -0
  34. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/store/protocol.py +0 -0
  35. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/store/sqlite.py +0 -0
  36. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/summary.py +0 -0
  37. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/traces/__init__.py +0 -0
  38. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/traces/protocol.py +0 -0
  39. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/traces/tempo.py +0 -0
  40. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/traces/topology.py +0 -0
  41. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/types.py +0 -0
  42. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/verdict_chain.py +0 -0
  43. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/correlate/worker.py +0 -0
  44. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/__init__.py +0 -0
  45. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/__main__.py +0 -0
  46. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_apply.py +0 -0
  47. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_gh.py +0 -0
  48. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_interactive.py +0 -0
  49. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_interactive_app.py +0 -0
  50. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_preview.py +0 -0
  51. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_trigger.py +0 -0
  52. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/_yaml.py +0 -0
  53. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/cli.py +0 -0
  54. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/recommendations.py +0 -0
  55. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/retrospective.py +0 -0
  56. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/trends.py +0 -0
  57. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/learn/worker.py +0 -0
  58. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/__init__.py +0 -0
  59. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/__main__.py +0 -0
  60. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/_parsing.py +0 -0
  61. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/__init__.py +0 -0
  62. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/_util.py +0 -0
  63. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/devin.py +0 -0
  64. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/gastown.py +0 -0
  65. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/prometheus.py +0 -0
  66. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/protocol.py +0 -0
  67. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/adapters/webhook.py +0 -0
  68. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/calibration/__init__.py +0 -0
  69. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/calibration/loop.py +0 -0
  70. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/calibration/slos.py +0 -0
  71. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/calibration/verdict_calibration.py +0 -0
  72. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/cli.py +0 -0
  73. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/config.py +0 -0
  74. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/detection/__init__.py +0 -0
  75. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/detection/detector.py +0 -0
  76. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/detection/protocol.py +0 -0
  77. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/governance/__init__.py +0 -0
  78. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/governance/engine.py +0 -0
  79. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/manifest.py +0 -0
  80. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/notifications.py +0 -0
  81. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/pipeline/__init__.py +0 -0
  82. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/pipeline/evaluator.py +0 -0
  83. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/pipeline/router.py +0 -0
  84. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/store/__init__.py +0 -0
  85. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/store/protocol.py +0 -0
  86. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/store/sqlite.py +0 -0
  87. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/telemetry.py +0 -0
  88. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/thresholds/__init__.py +0 -0
  89. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/thresholds/phase.py +0 -0
  90. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/thresholds/sampler.py +0 -0
  91. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/thresholds/state.py +0 -0
  92. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/tiering/__init__.py +0 -0
  93. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/tiering/classifier.py +0 -0
  94. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/tiering/promotion.py +0 -0
  95. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/trends/__init__.py +0 -0
  96. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/trends/tracker.py +0 -0
  97. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/types.py +0 -0
  98. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/measure/worker.py +0 -0
  99. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/__init__.py +0 -0
  100. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/__main__.py +0 -0
  101. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/api/__init__.py +0 -0
  102. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/assessment.py +0 -0
  103. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/cli.py +0 -0
  104. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/config.py +0 -0
  105. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/db/__init__.py +0 -0
  106. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/decision_records.py +0 -0
  107. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/__init__.py +0 -0
  108. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/discovery.py +0 -0
  109. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/__init__.py +0 -0
  110. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/backstage.py +0 -0
  111. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/base.py +0 -0
  112. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/consul.py +0 -0
  113. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/etcd.py +0 -0
  114. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/kubernetes.py +0 -0
  115. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/prometheus.py +0 -0
  116. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/dependencies/providers/zookeeper.py +0 -0
  117. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/deployments/__init__.py +0 -0
  118. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/discovery/__init__.py +0 -0
  119. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/discovery/classifier.py +0 -0
  120. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/discovery/client.py +0 -0
  121. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/discovery/models.py +0 -0
  122. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/drift/__init__.py +0 -0
  123. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/drift/analyzer.py +0 -0
  124. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/drift/models.py +0 -0
  125. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/drift/patterns.py +0 -0
  126. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/explanation.py +0 -0
  127. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate/__init__.py +0 -0
  128. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate/conditions.py +0 -0
  129. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate/correlator.py +0 -0
  130. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate/evaluator.py +0 -0
  131. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate/policies.py +0 -0
  132. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/gate_adapter.py +0 -0
  133. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/incident.py +0 -0
  134. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/portfolio/__init__.py +0 -0
  135. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/portfolio/aggregator.py +0 -0
  136. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/portfolio/scorer.py +0 -0
  137. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/slo/__init__.py +0 -0
  138. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/slo/collector.py +0 -0
  139. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/slo/spec_loader.py +0 -0
  140. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/sqlite_store.py +0 -0
  141. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/store.py +0 -0
  142. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/verification/__init__.py +0 -0
  143. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/verification/exporter_guidance.py +0 -0
  144. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/verification/extractor.py +0 -0
  145. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/verification/models.py +0 -0
  146. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/verification/verifier.py +0 -0
  147. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/observe/worker.py +0 -0
  148. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/__init__.py +0 -0
  149. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/__main__.py +0 -0
  150. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/__init__.py +0 -0
  151. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/base.py +0 -0
  152. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/communication.py +0 -0
  153. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/investigation.py +0 -0
  154. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/remediation.py +0 -0
  155. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/response_models.py +0 -0
  156. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/agents/triage.py +0 -0
  157. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/cli.py +0 -0
  158. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/config.py +0 -0
  159. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/context_store.py +0 -0
  160. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/coordinator.py +0 -0
  161. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/metrics.py +0 -0
  162. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notification_backends/__init__.py +0 -0
  163. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notification_backends/ntfy_backend.py +0 -0
  164. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notification_backends/protocol.py +0 -0
  165. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notification_backends/slack_backend.py +0 -0
  166. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notification_backends/stdout_backend.py +0 -0
  167. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/notifications.py +0 -0
  168. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/oncall/__init__.py +0 -0
  169. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/oncall/escalation.py +0 -0
  170. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/oncall/runner.py +0 -0
  171. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/oncall/schedule.py +0 -0
  172. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/safe_actions/__init__.py +0 -0
  173. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/safe_actions/actions.py +0 -0
  174. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/safe_actions/registry.py +0 -0
  175. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/safe_actions/webhook.py +0 -0
  176. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/server.py +0 -0
  177. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/__init__.py +0 -0
  178. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/brief.py +0 -0
  179. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/delegation.py +0 -0
  180. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/post_incident.py +0 -0
  181. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/shift_report.py +0 -0
  182. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/sre/suppression.py +0 -0
  183. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/types.py +0 -0
  184. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/verdict_submission.py +0 -0
  185. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/worker.py +0 -0
  186. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/respond/worker_helpers.py +0 -0
  187. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers/runner.py +0 -0
  188. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/SOURCES.txt +0 -0
  189. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/dependency_links.txt +0 -0
  190. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/entry_points.txt +0 -0
  191. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/src/nthlayer_workers.egg-info/top_level.txt +0 -0
  192. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/tests/test_cli_gate.py +0 -0
  193. {nthlayer_workers-3.0.0 → nthlayer_workers-3.0.2}/tests/test_runner.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nthlayer-workers
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: NthLayer workers — Tier 2 background computation (observe, measure, correlate, respond, learn)
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
7
- Requires-Dist: nthlayer-common<6.0.0,>=5.2.0
7
+ Requires-Dist: nthlayer-common<6.0.0,>=5.3.1
8
8
  Requires-Dist: httpx>=0.27
9
9
  Requires-Dist: pyyaml>=6.0
10
10
  Requires-Dist: structlog>=24.1.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nthlayer-workers"
7
- version = "3.0.0"
7
+ version = "3.0.2"
8
8
  description = "NthLayer workers — Tier 2 background computation (observe, measure, correlate, respond, learn)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -47,11 +47,15 @@ dependencies = [
47
47
  # green. Still missing, and tracked as opensrm-p62o: the EXPECTED_MAJORS
48
48
  # half, which reads the BUILT wheel's own metadata in the release
49
49
  # container, where deps come from PyPI instead of the sibling checkout.
50
- # WHY 5.2.0 (opensrm-g32d): judgment thresholds are evaluated with
50
+ # WHY 5.3.1 (opensrm-dww5): the version this repo is now built and tested
51
+ # against (nthlayer-core rule 10: the floor is the installed sibling). Bump
52
+ # it on every nthlayer-common minor release: the floor guard fails until you
53
+ # do.
54
+ # 5.2.0 (opensrm-g32d): judgment thresholds are evaluated with
51
55
  # nthlayer-common's evaluate_threshold (CORE §5.5.6) and read from core 3.0's
52
56
  # /manifests via threshold_from_v2_entry; error magnitudes are no longer
53
57
  # SLOs (decision 3c, common 4.0/5.0). See nthlayer-common/docs/upgrading-5.0.md.
54
- "nthlayer-common>=5.2.0,<6.0.0",
58
+ "nthlayer-common>=5.3.1,<6.0.0",
55
59
  "httpx>=0.27",
56
60
  "pyyaml>=6.0",
57
61
  "structlog>=24.1.0",
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nthlayer-workers
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: NthLayer workers — Tier 2 background computation (observe, measure, correlate, respond, learn)
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
7
- Requires-Dist: nthlayer-common<6.0.0,>=5.2.0
7
+ Requires-Dist: nthlayer-common<6.0.0,>=5.3.1
8
8
  Requires-Dist: httpx>=0.27
9
9
  Requires-Dist: pyyaml>=6.0
10
10
  Requires-Dist: structlog>=24.1.0
@@ -1,4 +1,4 @@
1
- nthlayer-common<6.0.0,>=5.2.0
1
+ nthlayer-common<6.0.0,>=5.3.1
2
2
  httpx>=0.27
3
3
  pyyaml>=6.0
4
4
  structlog>=24.1.0
@@ -322,3 +322,26 @@ def test_declared_ceiling_is_exactly_the_next_major(name):
322
322
  f"is {installed}, so the ceiling must be '<{expected}'. A wider ceiling "
323
323
  f"publishes a major nothing here has run."
324
324
  )
325
+
326
+
327
+ def test_uv_lock_records_this_projects_version():
328
+ """uv.lock's own [[package]] entry must carry pyproject's version.
329
+
330
+ release-please bumps pyproject.toml; a toml extra-files updater in
331
+ release-please-config.json bumps this entry in the same release PR. That
332
+ updater only WARNS when its jsonpath matches nothing (a renamed package, a
333
+ lock-format change), so without this test the lock would silently go stale
334
+ again and every `uv sync` after a release would dirty it [opensrm-g35i].
335
+ Release PRs run CI, so a skipped bump fails here, on the release PR.
336
+ """
337
+ root = Path(__file__).resolve().parents[1]
338
+ project = tomllib.loads((root / "pyproject.toml").read_text())["project"]
339
+ lock = tomllib.loads((root / "uv.lock").read_text())
340
+ entries = [p for p in lock.get("package", []) if p.get("name") == project["name"]]
341
+ assert len(entries) == 1, (
342
+ f"uv.lock has {len(entries)} [[package]] entries named {project['name']!r}"
343
+ )
344
+ assert entries[0].get("version") == project["version"], (
345
+ f"uv.lock records {project['name']} {entries[0].get('version')}, pyproject says "
346
+ f"{project['version']}: run `uv lock` (and check release-please-config.json extra-files)"
347
+ )