Reverse engineering#4
Open
jackstine wants to merge 20 commits into
Open
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- factory.py: build_session() constructs ClaudeAgentOptions and assembled prompt - Uses setting_sources=["user"] to enforce READ_CLAUDE_MD=False (SDK workaround) - Interpolates all entry fields and drafter sub-agent config into prompt - Raises FileNotFoundError for missing domain root or update target - Raises ValueError for unresolvable prompt placeholders - .gitignore: add Python __pycache__, .pyc, .venv, dist patterns Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- runner.py: async execute() dispatcher + four mode runners - single_shot: parallel asyncio.gather with one prompt per session - self_refine: initial + N review follow-ups with round context per session - multi_pass: P full passes, create→update after first pass - peer_review: initial + N peer review follow-ups with reviewer config - _run_entry catches exceptions → failure result, other sessions continue - dispatch table built at call-time in execute() so tests can patch runners - test_runner.py: 5 functional + 2 edge_case, mocked at _run_entry level Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…on, per-entry result routing
The version var lived in package cmd but GoReleaser ldflags targeted main.version, so released builds always showed v0.0.1. Move version, commit, and date to a shared buildinfo package importable by both cmd and state. Also add extra_files for the Python release tarball. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Create __main__.py and add [project.scripts] entry point so the reverse-engineer package can be invoked as a module by the Go binary's venv Python instead of as a bare script. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New pyenv.go provides ResolvePythonEnv (locates versioned venv Python), cleanEnv (strips host Python vars from subprocess environment), verifyChecksums (SHA-256 integrity check of installed Python files), and FORGECTL_PYTHON_PROJECT dev-mode override. Includes 7 tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pyRunner now resolves the versioned venv Python via ResolvePythonEnv, invokes python -m reverse_engineer instead of a bare script, and strips host Python env vars via cleanEnv. Exit code 2 from Python signals an environment error (hard failure) vs exit code 1 (retryable script error). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Makefile: install-python copies Python project to versioned dir, runs uv sync, generates checksums; install-global does both - install-forgectl.sh: standalone installer for GitHub release users - package-python.sh: creates release tarball for GoReleaser - release.yml: adds uv install + Python packaging steps - Dockerfile.install-test: proves install works on clean Debian - dev-docs/environment_variables.md: documents FORGECTL_PYTHON_PROJECT Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.