Skip to content

Binary testing instructions, agent-seed bootstrap scenarios and binary smoke test - #3722

Merged
Herklos merged 1 commit into
devfrom
binary-testing-instructions
Oct 6, 2026
Merged

Herklos merged 1 commit into
devfrom
binary-testing-instructions

Conversation

@Herklos

@Herklos Herklos commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Document how to test a CI-built PyInstaller binary, and add the tooling to do it: extra agent-seed bootstrap scenarios and a curl-only smoke test.

Solve the issue: (no issue)

Changelog

  • Add packages/binary/BINARY_TESTING_INSTRUCTIONS.md: download the artifact, TENTACLES_URL_TAG=latest only for builds from bin_factory, run it, and a test checklist (HTTP surface, Node UI, seeded QA, debug API user actions, scheduler, journal, restart recovery)
  • Add packages/binary/AGENTS.md pointing to it
  • Add packages/binary/scripts/smoke_test.sh: boots the binary in an empty dir, checks the HTTP and setup/debug APIs, creates a throwaway wallet, stops and restarts it. Needs only bash and curl. Exit code 0 or 1
  • agent-seed: bootstrap and all take repeatable --scenario (grid default, index, completed, lifecycle, all); seed-agent.sh bootstrap forwards the options
    • index: index automation on Seed kraken B
    • completed: a second index automation, created then stopped, so the UI has a completed automation
    • lifecycle: stops and restarts the grid automation and raises AutomationNameLostError if the name is lost
  • New builders (index create, stop, restart), BootstrapScenario enum, typed errors, unit tests for builders, scenarios (fake debug API) and CLI options
  • Docs: agent-seed README, ARCHITECTURE and skill

What's new?

Tested against the bin_factory Linux x64 binary (run 36476985898):

  • Smoke test: 28 of 28 checks pass. It exits 1 and reports the reason when the node does not boot
  • grid, index and completed scenarios work, re-running them is a no-op, and the UI shows Active 2, Completed 1
  • lifecycle currently fails on purpose: after automation_restart the automation name is empty (the UI then shows OctoBot a00000). This is a node bug (restart_automation.py), not addressed here
  • There is no seeded errored automation: a failing automation keeps retrying and stays running, it only becomes failed after recovery attempts are exhausted
  • tools/tests and packages/node/tests/agent_seed: 101 passed. python -m tools.extended_linter --base origin/dev: 0 violations

🤖 Generated with Claude Code

https://claude.ai/code/session_014ymEjzdSYvMDqN5bJVwhjR

Herklos commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

CI note on the packages/node failure at dfc57c5: tests/functional_tests/test_start_check_and_stop_dca_2_evaluators_workflow.py::TestTriggerTaskDCATwoEvaluatorsDbosIntegration::test_trigger_task_dca_two_evaluators_selective_entry_fill_then_stop failed with Timed out waiting for stop completion ... within 15.0s (1 failed, 996 passed, 1 skipped).

This is not caused by this PR. It only adds/edits markdown (packages/binary/*.md, tools/agent_seed/README.md), and the failing test is a wall-clock timeout in a DBOS functional test under xdist. I am not changing the test or the node code here.

The push of c4f0c7a started a new CI run on the current head, which serves as the one re-run. If packages/node fails again on the same test, I will treat it as real and report it separately.


Generated by Claude Code

@Herklos Herklos changed the title docs: add binary testing instructions and agents documentation Binary testing instructions, agent-seed bootstrap scenarios and binary smoke test Sep 29, 2026

Herklos commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor Author

CI note on the ubuntu-latestx64 - Python 3.13.x - octobot failure at 9e35cb6 (1 failed, 1709 passed, 38 skipped): tentacles/Services/Interfaces/web_interface/tests/distributions/test_default.py::TestDefaultDistribution::test_browse_all_pages_required_password_with_login. The classic web UI page /data_collector returned 500, and the server log shows sqlite3.OperationalError: disk I/O error behind it.

This is not caused by this PR: it does not touch web_interface, its tests, or any sqlite code (it changes tools/agent_seed, packages/binary, three new constants in octobot_node/agent_seed/constants.py, and docs). The error is an I/O failure on the runner while browsing pages under xdist.

I could not re-run the failed job: the re-run request was rejected with a 403 (Resource not accessible by integration), so someone with permission needs to re-run it. I will keep watching this PR, and if the same test fails again on a re-run I will treat it as real and dig into it separately.

(Correction: an earlier version of this comment said I had re-run the job. I had not.)


Generated by Claude Code

Comment thread packages/binary/BINARY_TESTING_INSTRUCTIONS.md Outdated
@GuillaumeDSM

Copy link
Copy Markdown
Member

good for me when the branch is rebased and not with a dev merge commit

…y smoke test

Document how to test a CI-built PyInstaller binary, and add the tooling to
do it: BINARY_TESTING_INSTRUCTIONS.md, a curl-only smoke_test.sh, and
agent-seed bootstrap scenarios (grid, index, completed, lifecycle) with
builders, typed errors, and unit tests.

Co-authored-by: Herklos <herklos@drakkar.software>
@cursor
cursor Bot force-pushed the binary-testing-instructions branch from 050ec92 to 194fced Compare October 6, 2026 15:02
@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

it's up

@Herklos
Herklos enabled auto-merge (rebase) October 6, 2026 15:06
@Herklos
Herklos merged commit 2ba0668 into dev Oct 6, 2026
48 of 49 checks passed
@Herklos
Herklos deleted the binary-testing-instructions branch October 6, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants