Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ USER_SUMMARY_EVERY_N=20
# the SDK and the Function App are deployed against the same database.
#
# * Unset / blank -> SDK auto-trigger fires; FA change-feed SKIPS.
# (Pure SDK deployments no env config needed.)
# (Pure SDK deployments - no env config needed.)
# * "inprocess" -> SDK auto-trigger fires; FA change-feed SKIPS.
# * "durable" -> SDK auto-trigger SKIPS; FA change-feed fires.
#
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_test_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
verbose: true
print-hash: true
repository-url: https://test.pypi.org/legacy/
# CI-only overwrites a same-version file if a re-run is needed.
# CI-only - overwrites a same-version file if a re-run is needed.
# https://github.com/pypa/gh-action-pypi-publish#tolerating-release-package-file-duplicates
skip-existing: true
# Attestations default-on in v1.11.0+ and require additional
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
env:
PKG_NAME: ${{ needs.build.outputs.pkg-name }}
VERSION: ${{ needs.build.outputs.version }}
# Two-pass retry TestPyPI mirror propagation can lag by a few seconds.
# Two-pass retry - TestPyPI mirror propagation can lag by a few seconds.
# Primary index is real PyPI so all the dependencies resolve normally;
# the just-published preview only lives on TestPyPI.
run: |
Expand Down Expand Up @@ -164,7 +164,7 @@ jobs:
packages-dir: dist/
verbose: true
print-hash: true
# Attestations default-on in v1.11.0+ opt out until configured.
# Attestations default-on in v1.11.0+ - opt out until configured.
attestations: false

mark-release:
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
* `ProcessThreadResult` gains `procedural` and `user_summary` fields. `extract_memories` returns a `dropped_episodic_count` for monitoring LLM-extraction quality.See [PR:#20](https://github.com/aayush3011/AgentMemoryToolkit/pull/20)


## [0.1.0b1] 2026-06-01
## [0.1.0b1] - 2026-06-01


Initial public preview release.
Expand All @@ -91,7 +91,7 @@ Pin a specific version when integrating.
tag filters, and per-type scoping.
- Built-in memory processing pipeline: fact extraction, thread/user
summarization, procedural-memory synthesis, contradiction handling, and
deduplication all driven by versioned `.prompty` prompts.
deduplication - all driven by versioned `.prompty` prompts.
- Two processor backends: `InProcessProcessor` (default, runs in your
application process) and `DurableFunctionProcessor` (offloads work to a
sibling Azure Function app via Cosmos DB change feed).
Expand Down
18 changes: 9 additions & 9 deletions Docs/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This project uses [PEP 440](https://peps.python.org/pep-0440/) versioning:

Before cutting a release:

1. **CI green on `main`** every workflow in `.github/workflows/` passes.
1. **CI green on `main`** - every workflow in `.github/workflows/` passes.
2. **Unit tests pass locally** in a fresh venv:
```bash
python -m venv /tmp/release-venv
Expand All @@ -32,21 +32,21 @@ Before cutting a release:
```bash
AGENT_MEMORY_RUN_INTEGRATION=true pytest tests/integration -q
```
4. **Samples and notebooks work** every script under `Samples/` runs to
4. **Samples and notebooks work** - every script under `Samples/` runs to
completion against the live environment.
5. **No uncommitted local changes** `git status` clean.
5. **No uncommitted local changes** - `git status` clean.

## Cutting a release

1. **Bump the version** in `pyproject.toml`:
2. **Update `CHANGELOG.md`** add a new section with the version, the
2. **Update `CHANGELOG.md`** - add a new section with the version, the
date, and a summary of changes. Move entries from the unreleased
section if you keep one.
3. **Bump the Function app's SDK pin** in `function_app/requirements.txt`
to match `azure-cosmos-agent-memory==<NEW_VERSION>`. The FA installs
to match - `azure-cosmos-agent-memory==<NEW_VERSION>`. The FA installs
the SDK from PyPI, so the pin must move in lockstep with the SDK
release. (If the release workflow fails after merge, the FA will be
pinned to a non-existent version until you cut a follow-up patch
pinned to a non-existent version until you cut a follow-up patch -
coordinate the merge + release-workflow run together.)
4. **Open a PR** with the version bump + CHANGELOG + updated FA pin.
Suggested title: `Release v<NEW_VERSION>`. Get it reviewed and merged
Expand All @@ -55,7 +55,7 @@ Before cutting a release:
- Navigate to **Actions → release → Run workflow**
- Pick the `main` branch
- Click **Run workflow**
6. **The workflow does the rest** see `.github/workflows/release.yml`:
6. **The workflow does the rest** - see `.github/workflows/release.yml`:
- Builds `dist/*.whl` + `dist/*.tar.gz`
- Asserts no namespace `__init__.py` shadows are in the wheel
- Publishes to **TestPyPI** via trusted publishing
Expand All @@ -69,7 +69,7 @@ Before cutting a release:
## Namespace package note

`azure-cosmos-agent-memory` installs files under `azure/cosmos/agent_memory/`.
It MUST NOT ship `azure/__init__.py` or `azure/cosmos/__init__.py` those
It MUST NOT ship `azure/__init__.py` or `azure/cosmos/__init__.py` - those
are owned by the `azure-cosmos` package. The wheel build is configured
(`[tool.setuptools.packages.find]` with `include = ["azure.cosmos.agent_memory*"]`
and `namespaces = true`) so that only the `agent_memory` subtree is packaged.
Expand All @@ -94,4 +94,4 @@ If a release ships a regression:
3. Add a deprecation note to the GitHub Release pointing at the
replacement version.

Never delete a PyPI release yank it and ship a fixed version instead.
Never delete a PyPI release - yank it and ship a fixed version instead.
4 changes: 2 additions & 2 deletions Docs/azure_testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Set any threshold to `"0"` to disable that processing type.

The `leases` container is provisioned by `create_memory_store()` alongside the `memories` and `counter` containers, so the Function App should be configured to use that existing lease container.

The Function App authenticates to Cosmos DB and Azure OpenAI via its managed identity there's no shared key or function-key handoff between the SDK and the Function App.
The Function App authenticates to Cosmos DB and Azure OpenAI via its managed identity - there's no shared key or function-key handoff between the SDK and the Function App.

---

Expand Down Expand Up @@ -300,7 +300,7 @@ print(memory.search_cosmos("hello", user_id="user-1"))

### Durable processing (change-feed driven)

Processing is no longer invoked directly from the SDK write turns with `add_cosmos()` / `push_to_cosmos()` and the deployed Function App's change-feed trigger fires the `extract_memories`, `thread_summary`, and `user_summary` orchestrators per the configured thresholds.
Processing is no longer invoked directly from the SDK - write turns with `add_cosmos()` / `push_to_cosmos()` and the deployed Function App's change-feed trigger fires the `extract_memories`, `thread_summary`, and `user_summary` orchestrators per the configured thresholds.

```python
# Write enough turns to cross THREAD_SUMMARY_EVERY_N (default 10).
Expand Down
Loading
Loading