Skip to content

Introduce pulsing-forge module and enhance pulsing-cli functionality#72

Merged
reiase merged 14 commits into
mainfrom
feature/pulsing_forge
Jul 14, 2026
Merged

Introduce pulsing-forge module and enhance pulsing-cli functionality#72
reiase merged 14 commits into
mainfrom
feature/pulsing_forge

Conversation

@reiase

@reiase reiase commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Overview:

Details:

Where should the reviewer start?

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • closes GitHub issue: #xxx

reiase added 2 commits July 12, 2026 15:03
- Added a new `pulsing-forge` module, providing a sandboxed environment for executing agent tools.
- Implemented core components including `ToolExecutor`, `ToolRuntime`, and session management for executing commands in a controlled environment.
- Integrated support for handling execution output and errors, with structured result types for better interaction with tools.
- Updated `Cargo.toml` and `Cargo.lock` to include new dependencies and ensure compatibility.
- Enhanced documentation in `README.md` and `README.zh.md` to reflect the new features and usage examples for the Pulsing Forge and Agent CLI.
- Updated `.gitignore` to exclude new workspace files and vendor directories.
- Added new members to the workspace in `Cargo.toml`, including `pulsing-bindings-core`, `pulsing-rpymod`, `pulsing-workspace`, and `pulsing-cli`.
- Updated `Justfile` to improve development commands, including new `dev-binary` and `build-binary` tasks for building the CLI with embedded Python.
- Enhanced the `pulsing-cli` with a new command structure for workspace management, including `Init`, `History`, `Checkpoint`, and `Rollback`.
- Introduced `pulsing-bindings-core` with shared logic for both PyO3 and RustPython bindings, including ID parsing helpers and message handling.
- Updated `pyproject.toml` to include new features for the extension module.
- Added new Rust files for `pulsing-bindings-core` to support shared logic across different binding paths.
- Improved documentation in `README.md` for the `pulsing-cli` and its dual build modes.

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

reiase added 6 commits July 12, 2026 17:43
- Adjusted spacing and formatting in `ids.rs`, `main.rs`, and `workspace.rs` for consistency.
- Refactored method definitions and error handling in `interop.rs`, `actor_ref.rs`, and `actor_system.rs` to enhance clarity.
- Streamlined function signatures and argument handling in `codec.rs`, `message.rs`, and `stream.rs`.
- Improved readability in Python files by adjusting line breaks and indentation in various modules, including `npc.py`, `permissions.py`, and `workspace/journal.py`.
- Ensured consistent use of parentheses and line breaks in function definitions and calls across the codebase.
…gement

- Added `pulsing-gui` as a new member in the workspace for desktop chat functionality.
- Introduced immersive workflow sessions in `pulsing-cli`, allowing users to run Python scripts interactively.
- Enhanced command structure in `pulsing-cli` to support new commands for managing workflows and agent tasks.
- Implemented session configuration for LLM providers and workspace paths, improving user experience.
- Refactored input handling and command parsing for better interaction in the CLI.
- Updated documentation in `README.md` to reflect new features and usage examples for the CLI.
- Improved error handling and user feedback during workspace initialization and command execution.
- Updated `.gitignore` to exclude new binary and package artifacts.
- Modified CI workflows to build and upload both wheels and binaries for macOS, Linux x86-64, and aarch64.
- Added new steps in CI to build the pulsing binary and upload it as an artifact.
- Enhanced `pulsing-cli` with a new `--batch` option for non-interactive script execution.
- Refactored workflow session management to accommodate the new batch execution feature.
- Improved test coverage for new features in `pulsing-cli` and ensured compatibility with existing tests.
- Updated `Justfile` to introduce new `build-release` and `build-all` commands for streamlined building of wheels and binaries.
- Modified existing commands to improve clarity and functionality, including adjustments to the `dev` command output.
- Enhanced CI build process to support both wheel and single binary generation, ensuring compatibility with various platforms.
- Updated documentation in `CONTRIBUTING.md` to reflect new build commands and usage instructions.
…nagement

- Replaced the GPUI with egui for the desktop chat interface in `pulsing-gui`, enhancing user experience.
- Introduced a new chat module for rendering chat messages and user interactions.
- Added a left panel for file exploration and management, allowing users to open and refresh files.
- Implemented a right panel for session management, displaying active sessions and enabling new chat creation.
- Refactored existing code to remove deprecated components and improve overall structure.
- Updated dependencies in `Cargo.toml` to support new features and ensure compatibility.
- Enhanced documentation to reflect changes in the GUI and user interactions.
- Updated `Cargo.lock` to include new dependencies and versions, improving compatibility and functionality.
- Added a new `.cargo/config.toml` file to set environment variables for specific build conditions.
- Enhanced the `setup-build-env` GitHub Action to include additional development libraries.
- Modified `pulsing-cli` to support optional GUI features and updated the build scripts to allow for GUI-less builds.
- Improved documentation and error handling in the `run` function of `pulsing-cli` to guide users on GUI availability.
@codecov-commenter

codecov-commenter commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 53.15468% with 5524 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/pulsing-forge/src/cli/repl.rs 0.00% 485 Missing ⚠️
crates/pulsing-gui/src/app/mod.rs 0.00% 407 Missing ⚠️
crates/pulsing-forge/src/patch/streaming_parser.rs 21.58% 247 Missing ⚠️
crates/pulsing-forge/src/cli/session.rs 0.00% 177 Missing ⚠️
crates/pulsing-forge/src/cli/completer.rs 29.95% 166 Missing ⚠️
crates/pulsing-gui/src/app/chat.rs 0.00% 155 Missing ⚠️
crates/pulsing-forge/src/mcp/client.rs 0.00% 151 Missing ⚠️
crates/pulsing-cli/src/session/mod.rs 0.00% 149 Missing ⚠️
crates/pulsing-forge/src/llm/anthropic.rs 0.00% 132 Missing ⚠️
crates/pulsing-forge/src/discovery/catalog.rs 55.40% 128 Missing ⚠️
... and 88 more
Files with missing lines Coverage Δ
crates/pulsing-actor/src/policies/cache_aware.rs 64.85% <100.00%> (ø)
crates/pulsing-forge/src/discovery/bm25.rs 100.00% <100.00%> (ø)
crates/pulsing-forge/src/discovery/mod.rs 100.00% <100.00%> (ø)
crates/pulsing-forge/src/error.rs 100.00% <100.00%> (ø)
crates/pulsing-forge/src/handlers/bash.rs 100.00% <100.00%> (ø)
crates/pulsing-forge/src/handlers/mod.rs 100.00% <100.00%> (ø)
crates/pulsing-forge/src/handlers/plan.rs 100.00% <100.00%> (ø)
crates/pulsing-rpymod/src/bindings/actor_ref.rs 0.00% <ø> (ø)
crates/pulsing-rpymod/src/bindings/actor_system.rs 0.00% <ø> (ø)
crates/pulsing-rpymod/src/bindings/codec.rs 0.00% <ø> (ø)
... and 189 more

... and 169 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

reiase added 6 commits July 13, 2026 19:40
- Updated `Justfile` to include `libffi-devel` in both manylinux and Fedora CI setup commands, ensuring necessary dependencies are installed.
- Modified the `setup-build-env` GitHub Action to add `libffi-dev`, enhancing the build environment for better compatibility with various libraries.
- Adjusted `build-binary.sh` to support conditional GUI builds, allowing for smaller binaries when GUI features are not required.
- Introduced lazy loading for heavy modules in `pulsing.forge` using `__getattr__`, optimizing package initialization by deferring imports until needed.
- Updated imports across multiple files to utilize the new lazy loading mechanism, enhancing performance and reducing initial load times.
- Refactored `ensure_*` functions to return `ActorProxy` directly from the `pulsing.core` module, streamlining actor resolution processes.
- Improved code organization and readability by consolidating import statements and removing unnecessary dependencies.
- Refactored import statements across multiple files to utilize the new lazy loading mechanism, improving code organization and reducing unnecessary dependencies.
- Implemented `__getattr__` in `pulsing.__init__` to handle circular imports more effectively, ensuring critical APIs are accessible during package initialization.
- Updated decorators and references to `remote` to align with the new import structure, enhancing clarity and consistency in the codebase.
- Streamlined import statements across multiple modules to improve organization and reduce circular dependencies.
- Refactored the `__getattr__` method in `pulsing.__init__` to better handle circular imports and ensure critical APIs are accessible during initialization.
- Updated references to `ActorProxy` and `IsolatedSpawnHandle` to directly use imports from `pulsing.core`, enhancing clarity and consistency.
- Improved lazy loading mechanisms in `pulsing.forge` to optimize performance during package initialization.
- Removed unused dependencies from `Cargo.lock` to streamline the project.
- Enhanced `Cargo.toml` by restructuring workspace members for better organization and adding default members for faster builds.
- Updated `tokio`, `tracing`, and other dependencies to use default features selectively, improving build efficiency and reducing unnecessary bloat.
- Introduced custom build profiles for development and release to optimize compilation speed and artifact size.
- Modified `.github/workflows/ci.yml` to specify installation of pulsing-specific wheels, enhancing clarity in dependency management.
- Updated `.cargo/config.toml` to include incremental build settings and a target directory for improved build performance.
- Removed the placeholder `__init__.py` file from `pulsing-bench-py`, streamlining the package structure.
@reiase
reiase merged commit 4f25fff into main Jul 14, 2026
25 of 26 checks passed
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