agent-learning 0.8.2__tar.gz → 0.9.0__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 (106) hide show
  1. {agent_learning-0.8.2/src/agent_learning.egg-info → agent_learning-0.9.0}/PKG-INFO +1 -1
  2. {agent_learning-0.8.2 → agent_learning-0.9.0}/README.md +34 -1
  3. {agent_learning-0.8.2 → agent_learning-0.9.0}/pyproject.toml +1 -1
  4. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/__init__.py +6 -0
  5. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/_version.py +1 -1
  6. agent_learning-0.9.0/src/agent_learning/audit.py +593 -0
  7. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/learners/base.py +8 -3
  8. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/learners/reinforce.py +5 -1
  9. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/policy/softmax_bandit.py +5 -0
  10. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/training/runner.py +36 -0
  11. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/types.py +41 -1
  12. {agent_learning-0.8.2 → agent_learning-0.9.0/src/agent_learning.egg-info}/PKG-INFO +1 -1
  13. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning.egg-info/SOURCES.txt +5 -0
  14. agent_learning-0.9.0/tests/test_audit.py +789 -0
  15. agent_learning-0.9.0/tests/test_audit_examples.py +83 -0
  16. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_learner.py +67 -1
  17. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_policy.py +12 -0
  18. agent_learning-0.9.0/tests/test_training_run_storage.py +83 -0
  19. agent_learning-0.9.0/tests/test_training_runner.py +260 -0
  20. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_types.py +80 -0
  21. {agent_learning-0.8.2 → agent_learning-0.9.0}/LICENSE +0 -0
  22. {agent_learning-0.8.2 → agent_learning-0.9.0}/PYPI.md +0 -0
  23. {agent_learning-0.8.2 → agent_learning-0.9.0}/setup.cfg +0 -0
  24. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/autonomy.py +0 -0
  25. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/capture.py +0 -0
  26. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/__init__.py +0 -0
  27. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/base.py +0 -0
  28. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/router.py +0 -0
  29. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/scorers/__init__.py +0 -0
  30. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/scorers/_base.py +0 -0
  31. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/scorers/adherence.py +0 -0
  32. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/scorers/completion.py +0 -0
  33. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/classifiers/scorers/intent.py +0 -0
  34. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/cli.py +0 -0
  35. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/config.py +0 -0
  36. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/decision.py +0 -0
  37. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/learners/__init__.py +0 -0
  38. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/__init__.py +0 -0
  39. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/base.py +0 -0
  40. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/intent_resolution.py +0 -0
  41. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/local.py +0 -0
  42. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/registry.py +0 -0
  43. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/task_adherence.py +0 -0
  44. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/metrics/task_completion.py +0 -0
  45. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/policy/__init__.py +0 -0
  46. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/policy/base.py +0 -0
  47. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/policy/contextual_softmax.py +0 -0
  48. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/py.typed +0 -0
  49. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/rewards/__init__.py +0 -0
  50. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/rewards/shaping.py +0 -0
  51. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/rewards/writer.py +0 -0
  52. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/__init__.py +0 -0
  53. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/base.py +0 -0
  54. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/llm/__init__.py +0 -0
  55. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/llm/_base.py +0 -0
  56. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/llm/adherence.py +0 -0
  57. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/llm/completion.py +0 -0
  58. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/llm/intent.py +0 -0
  59. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp/__init__.py +0 -0
  60. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp/_base.py +0 -0
  61. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp/adherence.py +0 -0
  62. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp/completion.py +0 -0
  63. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp/intent.py +0 -0
  64. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp_text/__init__.py +0 -0
  65. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp_text/_base.py +0 -0
  66. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp_text/adherence.py +0 -0
  67. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp_text/completion.py +0 -0
  68. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/nlp_text/intent.py +0 -0
  69. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/slm/__init__.py +0 -0
  70. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/slm/_base.py +0 -0
  71. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/slm/adherence.py +0 -0
  72. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/slm/completion.py +0 -0
  73. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/slm/intent.py +0 -0
  74. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/stdlib/__init__.py +0 -0
  75. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/stdlib/_text.py +0 -0
  76. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/stdlib/adherence.py +0 -0
  77. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/stdlib/completion.py +0 -0
  78. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/scorers/stdlib/intent.py +0 -0
  79. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/storage/__init__.py +0 -0
  80. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/storage/base.py +0 -0
  81. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/storage/cosmos.py +0 -0
  82. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/storage/local.py +0 -0
  83. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/storage/memory.py +0 -0
  84. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning/training/__init__.py +0 -0
  85. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning.egg-info/dependency_links.txt +0 -0
  86. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning.egg-info/entry_points.txt +0 -0
  87. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning.egg-info/requires.txt +0 -0
  88. {agent_learning-0.8.2 → agent_learning-0.9.0}/src/agent_learning.egg-info/top_level.txt +0 -0
  89. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_autonomy.py +0 -0
  90. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_capture.py +0 -0
  91. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_cli.py +0 -0
  92. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_contextual_policy.py +0 -0
  93. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_decision.py +0 -0
  94. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_default_store.py +0 -0
  95. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_end_to_end.py +0 -0
  96. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_linux_install_script.py +0 -0
  97. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_metrics_local.py +0 -0
  98. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_release_workflow.py +0 -0
  99. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_scorers.py +0 -0
  100. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_scorers_llm.py +0 -0
  101. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_scorers_nlp_text.py +0 -0
  102. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_scorers_slm.py +0 -0
  103. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_scorers_stdlib.py +0 -0
  104. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_shaping.py +0 -0
  105. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_storage_local.py +0 -0
  106. {agent_learning-0.8.2 → agent_learning-0.9.0}/tests/test_storage_memory.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-learning
3
- Version: 0.8.2
3
+ Version: 0.9.0
4
4
  Summary: Evidence-driven reasoned and learned decisions for AI agents with inspectable autonomy.
5
5
  Author: Chris Tava
6
6
  License: MIT License
@@ -100,7 +100,7 @@ or install it with the automation script:
100
100
 
101
101
  ```bash
102
102
  curl -fsSL https://raw.githubusercontent.com/microsoft/agent-learning/main/scripts/install-linux.sh -o /tmp/install-linux.sh
103
- bash /tmp/install-linux.sh --version 0.8.2 --install-dir /usr/local/bin
103
+ bash /tmp/install-linux.sh --version 0.9.0 --install-dir /usr/local/bin
104
104
  ```
105
105
 
106
106
  The Linux installation guide covers Debian/Ubuntu, RHEL-compatible, and
@@ -115,6 +115,37 @@ Released versions are published to PyPI:
115
115
  pip install agent-learning
116
116
  ```
117
117
 
118
+ ### Development with uv
119
+
120
+ **PyPI (any OS):** Install [uv](https://docs.astral.sh/uv/getting-started/installation/)
121
+ with `pip`:
122
+
123
+ ```shell
124
+ pip install uv
125
+ ```
126
+
127
+ Create a virtual environment and install the project runtime and development
128
+ dependencies declared in `pyproject.toml`:
129
+
130
+ ```shell
131
+ uv sync --extra dev
132
+ ```
133
+
134
+ Commit `uv.lock` to keep dependency versions reproducible. After changing
135
+ dependencies, update and verify the lock file:
136
+
137
+ ```shell
138
+ uv lock
139
+ uv lock --check
140
+ ```
141
+
142
+ Run validation inside the managed environment with `uv run`:
143
+
144
+ ```shell
145
+ uv run pytest
146
+ uv run ruff check .
147
+ ```
148
+
118
149
  ## Quickstart: improve one recurring decision
119
150
 
120
151
  Use one durable store across CLI processes:
@@ -242,6 +273,8 @@ agent-learn task-policy --agent-id <agent_id> --task-id <task_id>
242
273
 
243
274
  ## Documentation
244
275
 
276
+ - [Audit and replay](docs/audit-replay.md): reconstruct a recorded native
277
+ update, inspect episode contributions, and run the offline operator demo.
245
278
  - [Agentic decision making](docs/decision-making.md): concepts, evidence,
246
279
  workflow, math, and deployment.
247
280
  - [Complexity-proportional autonomy](docs/autonomy-complexity.md): declared
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-learning"
7
- version = "0.8.2"
7
+ version = "0.9.0"
8
8
  description = "Evidence-driven reasoned and learned decisions for AI agents with inspectable autonomy."
9
9
  readme = "PYPI.md"
10
10
  requires-python = ">=3.10"
@@ -57,6 +57,7 @@ Quick start::
57
57
  """
58
58
 
59
59
  from ._version import __version__
60
+ from .audit import AuditReport, AuditStatus, audit_run
60
61
  from .autonomy import (
61
62
  AutonomyAssessment,
62
63
  ComplexityAssessment,
@@ -122,6 +123,7 @@ from .types import (
122
123
  Action,
123
124
  AgentSummary,
124
125
  AgentTaskSummary,
126
+ ConsumedInput,
125
127
  Episode,
126
128
  MetricName,
127
129
  MetricResult,
@@ -138,6 +140,8 @@ __all__ = [
138
140
  "AdherenceScorer",
139
141
  "AgentSummary",
140
142
  "AgentTaskSummary",
143
+ "AuditReport",
144
+ "AuditStatus",
141
145
  "AutonomyAssessment",
142
146
  "AutonomyConfig",
143
147
  "AutonomyTier",
@@ -148,6 +152,7 @@ __all__ = [
148
152
  "CompletionScorer",
149
153
  "ComplexityAssessment",
150
154
  "ComplexityProfile",
155
+ "ConsumedInput",
151
156
  "ContextualSoftmaxPolicy",
152
157
  "CosmosConfig",
153
158
  "CosmosStore",
@@ -198,6 +203,7 @@ __all__ = [
198
203
  "__version__",
199
204
  "assess_autonomy",
200
205
  "assess_complexity",
206
+ "audit_run",
201
207
  "default_metrics",
202
208
  "evaluate_all",
203
209
  "get_capture",
@@ -1,3 +1,3 @@
1
1
  """Package version."""
2
2
 
3
- __version__ = "0.8.2"
3
+ __version__ = "0.9.0"