Skip to content

[GENT-954] WIP forge build automation#587

Draft
IliaMManolov wants to merge 7 commits intomainfrom
forge_build_agent
Draft

[GENT-954] WIP forge build automation#587
IliaMManolov wants to merge 7 commits intomainfrom
forge_build_agent

Conversation

@IliaMManolov
Copy link
Collaborator

@IliaMManolov IliaMManolov commented Jun 20, 2025

WIP forge build automation

Change type: feature

Summary

  • Purpose: Adds forge build automation via global config (defaults to false). Currently it's broken because of this: [Bug] ChatAdapter cannot parse response without newlines correctly stanfordnlp/dspy#8379 There's a comment on the #help channel on the DSPy Discord. Also probably needs a bit more cleanup since I was debugging this issue. sync tools work fine but async always seem to hit that issue for some reason. You can see a few runs with the name pytest-of-test_deps_and_compile_with_agent in Langfuse. You can run the test to recreate this issue with pytest --ignore=deps --rootdir=/home/imanolov/git/Archimedes_Prototype /home/imanolov/git/Archimedes_Prototype/hackbot/tests/poc gen/test_repo.py::TestRepo::test_deps_and_compile_with_agent[https://github.com/code-423n4/2022-04-backed] -vvvv. If anyone wants to pick this up while I'm away they can be my guest but I think the only two options are:
  • the DSPy devs get this fixed
  • cursed monkeypatch
    I'll keep going at this when I'm back if it's not solved in the meantime.

Checklist

  • Unit tests included

@notion-workspace
Copy link

@IliaMManolov IliaMManolov marked this pull request as draft June 20, 2025 16:59
@github-actions
Copy link

AI Summary of Changes

🚀 Major Feature Changes

  • New Build Agent Integration: Implemented a build agent capable of compiling code using a newly created build_agent.py, which includes the compile_codebase function. The existing compilation method is preserved for when the build agent is disabled.

    📁 Files changed
    • hackbot/src/pocgen/build_agent.py
    • hackbot/src/pocgen/repo.py
  • Async Tool Enhancements: Introduced several asynchronous tools in dspy/tools.py for improved flexibility and clearer async handling, including tools for file manipulation and command execution.

    📁 Files changed
    • hackbot/utils/dspy/tools.py

✨ Quality of Life Changes

Quality of Life Changes
  • Configuration Update: Modified the global configuration to disable llm_cache_enabled and added a new section for build_agent.

    📁 Files changed
    • common/config/global_config.yaml
  • Enhanced Type Checking: Added @runtime_checkable decorator in runtime_environment.py to improve type checking capabilities.

    📁 Files changed
    • hackbot/src/pocgen/runtime_environment.py
  • Test Additions: Created a new test class and an asynchronous test for compiling the repository to ensure functionality, enhancing test coverage.

    📁 Files changed
    • hackbot/tests/pocgen/test_repo.py
  • Dependency Updates: Minor version updates for agentql and tf-playwright-stealth in lock files to ensure compatibility with newer features.

    📁 Files changed
    • requirements-dev.lock
    • requirements.lock

Session ID: could-remember-only-end

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.

1 participant