Skip to content

fix: agent exit signal, local port overrides, A3 probe hint#2511

Open
Chessing234 wants to merge 4 commits into
block:mainfrom
Chessing234:fix/agent-exit-ports-probe
Open

fix: agent exit signal, local port overrides, A3 probe hint#2511
Chessing234 wants to merge 4 commits into
block:mainfrom
Chessing234:fix/agent-exit-ports-probe

Conversation

@Chessing234

Copy link
Copy Markdown
Contributor

Summary

  • Runtime poller records last_error when a harness dies so Agents no longer look merely idle (#2453)
  • Compose / setup honor PGPORT and BUZZ_REDIS_HOST_PORT alongside Homebrew services (#2479)
  • Clearer A3 probe failure text + Helm git.conformanceProbe for non-CAS stores like GCS (#2470)

Test plan

  • Kill a running buzz-acp child; Agents card shows an error / restart affordance
  • With Homebrew on :5432/:6379, set alternate ports in .env and run just setup
  • Helm/env: git.conformanceProbe: false sets BUZZ_GIT_CONFORMANCE_PROBE=false

Closes #2453
Closes #2479
Closes #2470

Made with Cursor

Chessing234 and others added 3 commits July 23, 2026 15:35
Record last_error when the runtime poller reaps a dead harness so Agents no longer look merely idle after a silent crash.

Signed-off-by: Taksh <takshkothari09@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Publish compose ports from PGPORT / BUZZ_REDIS_HOST_PORT so setup works alongside Homebrew services on :5432/:6379.

Signed-off-by: Taksh <takshkothari09@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Point operators at BUZZ_GIT_CONFORMANCE_PROBE and expose the flag in the Helm chart (GCS S3-interop cannot pass If-Match).

Signed-off-by: Taksh <takshkothari09@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@MiPnamic

Copy link
Copy Markdown

The same host-port collision sill hits MinIO (9000/9001) and Adminer (8082), which are still hardcoded in docker-compose.yml.
On machines where another stack owns those ports, docker compose up fails on those two services even after the pg/redis fix.

Extending identical pattern to the (MinIO's host paired with BUZZ_S3_ENDPOINT, same as PGPORT<->DATABASE_URL):

# adminer
- "${BUZZ_ADMINER_HOST_PORT:-8082}:8080"
# minio
- "${BUZZ_MINIO_HOST_PORT:-9000}:9000"
- "${BUZZ_MINIO_CONSOLE_HOST_PORT:-9001}:9001"

plus the matching .env.example docs (BUZZ_S3_ENDPOINT pairing) and the Adminer URL line in dev-setup.sh. Full diff: Solexma@289e7973

Happy to push this into your branch if you'd like it folded into #2479 fix, or open it as a follow-up PR after this lands - whichever you prefer. It's deliberately coupled to this PR, so it should merge after or with it, not independently.

Same pattern as PGPORT/Redis so a local :9000/:9001/:8082 no longer blocks docker compose up.

Signed-off-by: Taksh <takshkothari09@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@Chessing234

Copy link
Copy Markdown
Contributor Author

Folded the MinIO/Adminer host-port overrides (+ .env.example / dev-setup.sh) into this branch — same pattern as PG/Redis.

@ArgussLabs

Copy link
Copy Markdown

Independent confirmation of the #2479 half of this, from a fresh clone of main @ c0d7b52 on macOS with a native (non-Homebrew-managed) Postgres on :5432.

One extra data point in case it is useful for the .env.example wording: the failure I hit was not the collision check but the seed step, and it is confusing because Buzz's own Postgres is healthy at the time.

Setting only DATABASE_URL to a free port leaves PGPORT=5432 in .env, and scripts/seed-local-community.sh uses PGPORT (${PGPORT:-5432}) rather than deriving from DATABASE_URL. Because the Justfile has set dotenv-load := true, .env also beats an inherited PGPORT from the shell, so PGPORT=5434 just migrate looks like it should work and does not. Migrations succeed (they use DATABASE_URL), then seeding fails against the host Postgres:

Database migrations complete.
./scripts/seed-local-community.sh
psql: error: connection to server at "localhost" (::1), port 5432 failed: FATAL:  role "buzz" does not exist
error: Recipe `_ensure-migrations` failed on line 191 with exit code 2

role "buzz" does not exist while buzz-postgres reports healthy sends you looking at the container rather than at which server you reached.

Your # override with PGPORT + DATABASE_URL together line plus "${PGPORT:-5432}:5432" in compose covers this, so no change requested — the pairing just deserves to be hard to miss, since the symptom points somewhere else. Deriving PGPORT from DATABASE_URL in the seed script would make the two impossible to desync, if you want a belt-and-braces follow-up.

Thanks for picking this up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants