Skip to content

added: bongo for postgres #1139

Open
icebear5h wants to merge 1 commit intoairweave-ai:mainfrom
icebear5h:feature/postgres-bongo
Open

added: bongo for postgres #1139
icebear5h wants to merge 1 commit intoairweave-ai:mainfrom
icebear5h:feature/postgres-bongo

Conversation

@icebear5h
Copy link
Copy Markdown

@icebear5h icebear5h commented Nov 26, 2025

  • added monkey bongo testing for postgres, added yaml(left some logging things in code because it wouldn't work without (i kinda suck/ couldnt figure out working yaml correctly so I just tinkered with curl for a hot minute))

  • changed _token_present_in_collection to add a strict flag for token field match to prevent false positive

  • ooh ooh aah ah

  • this was highkey vibecoded twin 💔


Summary by cubic

Adds a Postgres bongo that creates, updates, and deletes test rows, plus a YAML config to run the end-to-end flow. Tightens deletion verification to avoid false positives and sets docker images to linux/amd64 for consistency.

  • New Features

    • PostgresBongo: ensures workspace table, inserts entities with tokens, updates payloads, deletes rows, and supports cleanup.
    • Rate-limited async operations using asyncpg pool; configurable schema/table, update count, and SSL options.
    • New postgres.yaml: direct auth fields, test flow steps, entity_count, verification and deletion settings.
  • Bug Fixes

    • Added require_token_field_match to _token_present_in_collection to prevent false positives during delete checks.
    • Enhanced partial deletion verification with clearer logging and metrics.
    • Infrastructure supports direct auth payloads; docker-compose sets platform to linux/amd64 for backend, frontend, and worker.

Written for commit 20f3e5c. Summary will update automatically on new commits.

… cross-platform compatibility.

- changed _token_present_in_collection to add a strict flag for token field match to prevent false positive
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 5 files

Prompt for AI agents (all 1 issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="monke/bongos/postgres.py">

<violation number="1" location="monke/bongos/postgres.py:307">
Username/password/database are interpolated into the Postgres DSN without URL encoding, so credentials containing characters like @ or : break the connection string and prevent connections.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Ask questions if you need clarification on any suggestion

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

raise ValueError("Postgres credentials need host/user or connection_string")
password = self.password or ""
base = (
f"postgresql://{self.user}:{password}@{self.host}:{self.port}/{self.database}"
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Username/password/database are interpolated into the Postgres DSN without URL encoding, so credentials containing characters like @ or : break the connection string and prevent connections.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At monke/bongos/postgres.py, line 307:

<comment>Username/password/database are interpolated into the Postgres DSN without URL encoding, so credentials containing characters like @ or : break the connection string and prevent connections.</comment>

<file context>
@@ -0,0 +1,313 @@
+            raise ValueError(&quot;Postgres credentials need host/user or connection_string&quot;)
+        password = self.password or &quot;&quot;
+        base = (
+            f&quot;postgresql://{self.user}:{password}@{self.host}:{self.port}/{self.database}&quot;
+        )
+        if self.ssl is False:
</file context>
Fix with Cubic

@icebear5h
Copy link
Copy Markdown
Author

umm idk precisely what i did that caused the google drive error to happen.

@hiddeco hiddeco added connector:database Database source connectors (Postgres, Mongo, etc.) enhancement New feature or request labels Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

connector:database Database source connectors (Postgres, Mongo, etc.) enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants