Repository navigation
fix(python): match memory subscription keys literally - #1136
santoshkumarradha merged 1 commit into
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Performance
✓ No regressions detected |
📊 Coverage gateThresholds from
✅ Gate passedNo surface regressed past the allowed threshold and the aggregate stayed above the floor. |
📐 Patch coverage gateThreshold: 80% on lines this PR touches vs
✅ Patch gate passedEvery surface whose lines were touched by this PR has patch coverage at or above the threshold. |
santoshkumarradha
left a comment
There was a problem hiding this comment.
Looks good. Escaping the pattern before expanding only * keeps memory keys literal, and the coverage cases exercise the important regex characters.
Summary
Memory subscription patterns currently interpret regular-expression characters in keys. For example,
config.*dispatches events forconfigXtheme, whilequeue[0].*misses the literal bracketed key.Escape literal characters before expanding the supported
*wildcard. Add regressions through the public client connection/subscription flow for dots, plus signs and brackets; existing wildcard and scope behavior is preserved.Type of change
Test plan
ruff check .,mypy --config-file mypy.ini agentfield/, and./scripts/run_pytest.sh --cov=agentfield.memory_events— 2919 passed, 4 skipped, 38 deselected by the existing defaults.go test ./...passed in the existing Go 1.25.14 Linux environment, as a non-root user with Python venv support and normal public/NXDOMAIN DNS resolution.npm run test:core— 1380 passed, 1 skipped; web UInpm run test— 837 passed.make fmt tidypassed; unrelated pre-existing formatter changes were excluded.The native macOS
./scripts/test-all.shattempt was blocked by the installed SDK/linker combination. Its component checks passed using Linux for Go and the native environments for Python/Node. No upstream assertions were changed.Test coverage
Checklist
docs/CONTRIBUTING.md,docs/DEVELOPMENT.mdanddocs/COVERAGE.md.