Skip to content

Releases: YiJieqwq/batchcode

batchcode v0.3.3

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 17:52

Changes

  • session del all safely 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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 17:12

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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 16:23

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=NAME names a new session; task EXISTING --name=NEW renames while continuing, with stable ID/history/artifact paths. Conflicts/busy/preflight errors are rejected. Batch JSON uses session only for existing refs and name for 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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 15:15

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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 05:17

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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 04:15
  • 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

Choose a tag to compare

@YiJieqwq YiJieqwq released this 27 Sep 02:49

首个正式项目版本。

  • task / op CLI,全局与会话配置
  • 会话 fork、并发任务、task list
  • stdout 完整可见回复,stderr 工具记录与错误
  • .txt JSON 配置,PATH 一键安装
  • 24 项离线/mock 回归通过

下载 ZIP 后解压,运行 bash install.sh,填写两个配置的 api_key 即可。
本版本尚未重新进行真实 API 联调;详见 docs/TESTING.md。