Repository navigation
fix: regenerate from nebula@e3d834d - #585
nebula-sdk-bot[bot] wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Zero Review - 3 findings shown inline.
3,917,525 tokens used (3,887,224 prompt / 30,301 completion; 3,397,120 served from cache, billed ~10%).
Models - prime-root: zero/swe-root (1 agent, 1 task, 43 calls, 2,433,674 tokens), prime-child: zero/balanced (4 agents, 4 tasks, 45 calls, 1,483,851 tokens)
| self.enterprise: EnterpriseResource = EnterpriseResource(self._core) | ||
| self.marketplace: MarketplaceResource = MarketplaceResource(self._core) | ||
| self.memory: MemoryResource = MemoryResource(self._core) | ||
| self.snapshots: SnapshotsResource = SnapshotsResource(self._core) |
There was a problem hiding this comment.
🟡 Preserve the public memories resource alias
This changes the existing client.memories resource to client.memory without keeping an alias. Any current caller using documented/resource-style calls such as client.memories.search(...) now fails immediately with AttributeError. A focused head-package check prints memories False, while the merge-base client initializes self.memories. Since this PR is intended as a fix release, keep self.memories as a compatibility alias (or otherwise avoid publishing this breaking rename in the fix).
Evidence
- At merge base, src/nebula/_client.py initializes
self.memories: MemoriesResource. - Focused command on head:
hasattr(Nebula(), "memories")printedFalse.
|
|
||
| # ---- memories ---- | ||
|
|
||
| async def list_memories( |
There was a problem hiding this comment.
🟡 Restore the high-level memory storage helpers
The rewritten Nebula facade jumps directly from construction to list_memories, deleting the previously public store_memory and store_memories methods. Existing applications calling either helper now get AttributeError; the focused head check printed both attributes as false. This is especially inconsistent with the retained migration text, which still describes store_memories(max_concurrency=...) as a non-breaking improvement. Please retain compatibility wrappers that forward to memory.store / memory.store_many (and preserve the old append/return behavior as applicable), or treat/document this as an intentional breaking release rather than a fix.
Evidence
- At merge base, src/nebula/_dx.py implements
store_memoryandstore_memories; neither definition exists at head. - Focused head-package command printed
store_memory Falseandstore_memories False. - MIGRATION.md at head still says
store_memoriesacceptsmax_concurrencyunder “Non-breaking improvements”.
| # 421 reports that this request reached a region that does not own the | ||
| # collection. Ownership is durable and the routing directory converges, so | ||
| # the misroute is transient; the edge replays what it can, and retrying | ||
| # covers the requests it cannot (uncloneable bodies, unannotated routes). |
There was a problem hiding this comment.
🟡 Continue retrying transient 502/504/408 responses
The retryable status set drops 408, 502, and 504, so even operations explicitly generated with retryable=True fail on the first transient gateway timeout/bad-gateway response. In a focused reproduction, client.health() received a 502 followed by a 200 from MockTransport, but raised NebulaServerError after exactly one request. These are standard transient conditions that the merge-base runtime retried; retain them in the set unless there is a demonstrated protocol reason not to.
Evidence
- Merge-base retry set is
{408, 429, 502, 503, 504}; head set is{421, 429, 503}. - Focused
uv run --extra test pythonreproduction with health responses 502 then 200 printedNebulaServerError 1. - Full native suite passed:
uv run --extra test pytest -q=> 61 passed.
Zero ReviewSummary
3 per-line findings posted in the inline review. |
Automated SDK regeneration.
Source: zeroset-inc/nebula@e3d834d
Generator: nebula-sdks/generator (@workos/oagen-backed)
Bump type:
fix(drives release-please's next version)Review the diff carefully — this is a release artifact. The in-tree
pyproject.tomlversion is0.0.0+from-source; release-pleaseowns the published version.