Repository navigation
Releases: YiJieqwq/batchcode
Release list
batchcode v0.3.3
Changes
session del allsafely retires both per-ID management and running lock files, preserving artifacts and global locks. Busy target refuses deletion before changes; other running sessions can continue.- Gate registration checks and lock acquisition behind the index lock, and make session-list activity probing non-creating. Delayed references/list snapshots cannot recreate deleted locks. Recovery journals include lock retirement; inode/permissions checks fail closed.
- Install-time housekeeping removes historical orphan lock pairs only when safely identified: generated ID, not indexed, no session entry, empty regular single-link files and no lock holder. Busy/unsafe files retained; no runtime GC or artifact purge.
- Shared system instruction: answer contains only the actual body, no extraneous tag/XML/function-call/end wrappers. Explicit user-requested markup/code remains valid; no regex rewriting of answers/history.
Validation
208 offline/mock tests passed locally and GitHub Actions Python 3.10/3.12/3.14 (run 36338208151), including real subprocess lock interleavings, inherited FDs, stale openers, recovery, independent task deletion and installer cleanup.
Clean final ZIP install/query/cleanup/del-all/uninstall/reinstall passed. The revised prompt has not been live-API tested; mocks verify the instruction and raw preservation, not guaranteed model compliance.
Upgrade
Same v0.3.x schema/config/CLI. Run install.sh after updating code to clean safe historical orphan locks. Do not overlay filled profile files; ZIP defaults contain empty keys. Existing artifacts stay put. A local rollback install of v0.3.2 is retained by the developer, not part of the release.
ZIP + SHA256 below; no private keys/history or DNS repair code included.
batchcode v0.3.2
Unified final delivery
- submit_answer remains available and is now required by the prompt in both summary and full, including greetings/no-task replies. No unrelated file/search work.
- full prints all visible messages AND the final /answer (last valid submission this run), instead of hiding the submitted body.
- Remove the answer-length target from CLI/config/default profiles/prompts/feedback. Length follows the user task text; without a request the model should be concise. Every submit still reports actual characters, with revisions/normal closing and warned fallback unchanged.
Upgrade
Same v0.3.x ctx schema. After updating code/copying old model and session configs, run install.sh. It backs up exact originals and removes only the retired answer-length config field, including pending config transactions. Keys, other settings and raw histories remain unchanged. Private backups under state/ are not packaged. Do not overwrite filled profile files by overlay extraction.
Strict existing-reference/name rules, raw ctx queries, quotas and tool permissions are unchanged. No GC/human view/help/auto-name redesign included.
Validation
168 offline/mock tests passed locally and GitHub Actions Python 3.10/3.12/3.14 (run 36335800712). Fresh ZIP installation, config cleanup, raw queries, uninstall and reinstall passed. No v0.3.2 live API integration; independent v0.3.1 DeepSeek/Tavily brief is prior-version evidence, not certification of this revised prompt or OpenAI live behavior.
Downloads: clean ZIP + SHA256, empty API keys, no private reports/history or DNS repair code.
batchcode v0.3.1
Fixes and usability
- Explicit session name/ID references must exist; typos never create new contexts. Omit task reference to create, or use explicit session add/fork. session set conf is strict too.
task --name=NAMEnames a new session;task EXISTING --name=NEWrenames while continuing, with stable ID/history/artifact paths. Conflicts/busy/preflight errors are rejected. Batch JSON usessessiononly for existing refs andnamefor new labels (including fork_from targets).- Keep name-based output prefixes even if invoked by ID; long ID appears only in useful summary/info/list locations.
- Summary instructions require at least one submit_answer for finished, abandoned and no-task replies (including greetings). Soft character target, revision support, normal closing and warned fallback remain.
- File-not-found/permission/directory/space errors report the actual filesystem cause and requested path, not invalid JSON.
- Clearing ctx intentionally leaves a runnable/listed session identity.
Verification
149 offline/mock tests passed locally AND GitHub Actions Python 3.10/3.12/3.14 (run 36332775175). Clean ZIP install/query/key-check/uninstall/reinstall passed. The revised v0.3.1 prompt has NOT been tested against real paid APIs; mock greeting submissions do not prove actual-model compliance. External v0.3.0 DeepSeek/Tavily report remains separate evidence; no OpenAI live certification.
Upgrade
Same ctx schema as v0.3.0; no migration needed for that data. Invocation semantics tightened: use --name to create instead of an unknown positional name; fork batch destinations use name, not session. Do not overlay ZIP on filled profile files. Downloads include ZIP + matching SHA256; no private histories, keys or DNS repair script.
batchcode v0.3.0
Breaking redesign
- New task/gconf/session CLI, stable generated session IDs and mutable names.
- Shallow ctx msgs/events, deterministic provider compiler and critical/warning diagnostics.
- User evt/msg editing, guarded drop-suffix and rerun; no silent history rewriting.
- Default summary with revisable submit_answer; full output and stderr granularity remain independent.
- SSE complete-block persistence and interruption handling; raw transcript preserved.
- Model profiles own runtime defaults; task overrides persist to sessions; no automatic routing.
- Quotas default 0, task timeout 1800s, retained single-operation safeguards.
- Read-only DNS doctor, lifecycle-safe conservative uninstall. exec_command remains TODO.
Validation
119 offline/mock tests passed locally and on GitHub Actions Python 3.10 / 3.12 / 3.14 (commit 3e31aca). Fresh ZIP install/query/uninstall/reinstall passed.
No v0.3.0 live API integration has been performed. In particular, actual-model hello behavior, submission quality and streaming compatibility still need real-provider validation; mocks are not a substitute.
Upgrade
No old CLI/storage migration. Install into a NEW directory; do not overlay configured profile files. Keep old data as backup. ZIP includes empty API keys, no private histories or DNS repair tools.
Download ZIP + matching SHA256. Run bash install.sh, fill profile keys, then batchcode task .... See README.md and AGENT.md.
batchcode v0.2.2
Add bash uninstall.sh: remove matching managed launcher and private venv, preserve keys/config/history/artifacts/source. Refuse busy sessions; no system packages or DNS touched. 35 offline/mock tests passed; fresh ZIP uninstall/reinstall smoke passed.
batchcode v0.2.1
- Read-only DNS doctor (no repair, no paid API requests).
- Optional layered temperature/top_p/penalties/thinking/effort.
- DS defaults: thinking enabled, effort auto (omit field), temperature/top_p 1.
- Runtime config.json excluded from ZIP.
- 31 offline/mock tests passed; fresh ZIP install passed.
- v0.2.1 thinking-enabled defaults have not been live-API tested. See docs/TESTING.md.
batchcode v0.2.0
首个正式项目版本。
- task / op CLI,全局与会话配置
- 会话 fork、并发任务、task list
- stdout 完整可见回复,stderr 工具记录与错误
- .txt JSON 配置,PATH 一键安装
- 24 项离线/mock 回归通过
下载 ZIP 后解压,运行 bash install.sh,填写两个配置的 api_key 即可。
本版本尚未重新进行真实 API 联调;详见 docs/TESTING.md。