Repository navigation
Releases: frcoder-lh/tack-harness
Releases · frcoder-lh/tack-harness
Release list
Tack Harness V0.0.17
中文
- 新增: close 收尾彻底注销工作区——移除 worktree、按 branches 登记簿清理分支后,经
work.sh purge删除整个space/<workspace>/目录并经project.sh work-remove移除 AGENTS.md 项目信息区块的 work 条目(过程文档不保留,跨工作区知识已先行沉淀至 wiki/harness);purge 设三道安全门禁:仅接受单层目录名(拒绝分隔符、空白与./..)、目标物理路径经pwd -P确认位于space/内(防 symlink 逃逸)、repo/下不得残留有效 worktree,任一不满足即拒绝删除;收尾中断支持断点续跑(worktree 已移除、目录已删而条目残留两类断点自动接续) - 新增: evolution 新增「工作区登记校准」步骤(第 3 步)——
project.sh新增work-reconcile/work-remove/work-path三个子命令:reconcile 对账 AGENTS.md work 条目与space/实际目录(只报告、零写入),输出 MISSING_DIR(条目在、目录缺失 → 移除孤儿条目)、UNREGISTERED(目录在、无条目 → 按 status.yaml 概要补登记)、STALE_COMPLETED(旧版 close 归档残留 → 确认后 purge 并移除)、PATH_MISMATCH(登记路径与磁盘不符 → 以实际目录为准经 work-path 校准)四类差异,逐类经用户确认后由脚本落盘;work 列表与切换改为只以 AGENTS.md 登记为事实源,不扫描磁盘 - 优化: development 工作流终态由「置 completed」改为「close 注销」——状态流转止于 merged,close 后工作区目录与登记一并移除;close 不再写无消费者的 cleaned 状态、不再询问过程文档是否保留,删除由收尾统一提交
- 优化: 执行效率纪律沉淀——tack/AGENTS.md 核心约束新增第 14 条「省往返、省上下文」(信息收集先 grep/glob 定位、只读命中片段,独立检索同轮并行,list/扫描类输出先在 shell 侧裁剪,同文件关联改动先列映射再整块编辑,删除/归档/重命名类需求先确认关联面);源仓库 AGENTS.md 新增开发时「执行效率纪律」节(连带语义先问清、E2E 用例最小化、Windows 下直接用 Git for Windows sh.exe 绝对路径等六条)
English
- Added: close now fully deregisters a workspace at finalization—after removing worktrees and cleaning branches per the branches register,
work.sh purgedeletes the wholespace/<workspace>/directory andproject.sh work-removeremoves the work entry from the AGENTS.md project-info block (process documents are not kept; cross-workspace knowledge has already been distilled into wiki/harness). purge enforces three safety gates: a single-segment directory name only (no separators, whitespace, or./..), the physical target path confirmed viapwd -Pto reside insidespace/(symlink-escape protection), and no valid worktree left underrepo/; deletion is rejected if any gate fails. Interrupted finalization resumes from breakpoints (worktree already removed, or directory gone while the entry remains) - Added: evolution gains a "workspace registration reconciliation" step (new step 3)—
project.shgains three subcommandswork-reconcile/work-remove/work-path: reconcile compares AGENTS.md work entries against the actualspace/directories (report only, zero writes) and outputs four diff types—MISSING_DIR (entry exists, directory missing → remove the orphan entry), UNREGISTERED (directory exists, no entry → re-register from the status.yaml summary), STALE_COMPLETED (legacy close archive residue → purge and remove after confirmation), PATH_MISMATCH (registered path differs from disk → recalibrate via work-path using the actual directory); each fix lands through scripts after per-type user confirmation. Workspace listing and switching now use AGENTS.md registrations as the sole source of truth instead of scanning the disk - Improved: The development workflow terminal state changes from "marked completed" to "deregistered by close"—state transitions end at merged, and close removes both the workspace directory and its registration; close no longer writes the unconsumed cleaned status or asks whether to keep process documents, and the deletion is recorded by the unified finalization commit
- Improved: Execution-efficiency discipline is crystallized—the shipped tack/AGENTS.md gains core constraint #14 "save roundtrips and context" (locate via grep/glob and read only matched snippets; issue independent searches and reads in parallel in one round; trim list/scan output on the shell side; map related edits in a file before block-replacing them; confirm the full blast radius before delete/archive/rename actions); the source-repo AGENTS.md gains a developer-facing "Execution efficiency discipline" section (six rules covering clarifying connected semantics first, minimal E2E cases, and using the Git for Windows sh.exe absolute path directly on Windows)
Full Changelog: V0.0.16...V0.0.17
Tack Harness V0.0.16
中文
- 新增: 工作区分支登记簿与关闭时统一清理——
status.yaml新增branches列表(repo/name/role[main|tmp]/source/cleaned),work 新建工作区、worktree 补建、branch-op prepare 产生的分支全部自动登记(work.sh新增NEW_BRANCHES结果行、git-worktree-helper.sh create输出BRANCH_CREATED,登记经work-status.sh branch register脚本化);close 移除 worktree 后遍历登记簿清理:tmp 分支直接删除,main 分支先经branch-merged实时判定合并状态(不落字段),已合并用-d安全删除、未合并列出由用户选择 force 删除或保留,每条删除后branch mark ... cleaned;用户手工创建、未登记的分支不自动删除 - 新增: 工作区触发词(trigger_words)机制——AGENTS.md 项目信息区块 work 条目新增
trigger_words字段,创建工作区时自动从目的描述分词提取(中文去停用词、保留短语与核心词;英文小写去停用词),project.sh新增work-trigger子命令(自动去重、跳过与 work_id/branch 相同的词);切换工作区改为四级匹配:work_id/branch 精确 → 触发词精确 → 触发词子串 → 描述包含,多候选选中后把查询词追加为触发词形成正反馈,工作区列表展示触发词 - 新增: 项目主页(GitHub Pages)上线——仓库根新增
index.html中英双语产品落地页(首屏字体预加载、导航交互、移动端首屏适配、站点图标);中英 README 标题链接由 GitHub 仓库页改指https://frcoder-lh.github.io/tack-harness/ - 优化: testcode 核心原则新增第 4 条——改动已有断言前先回 spec/plan 反向核对,先判定「单测过时」还是「代码实现有问题」,需求不清晰时询问用户,不自行改断言去适配代码
- 修复: branches 登记簿
register在空列表首次登记时误判为重复而跳过(awk 单一 found 标志同时承担去重命中与已追加两种语义,拆为 dup/emitted 双标志),隔离临时仓库 E2E 16 项断言通过
English
- Added: A workspace branch register with unified cleanup on close—
status.yamlgains abrancheslist (repo/name/role[main|tmp]/source/cleaned); every branch created bywork(new workspace),worktree(backfill), or branch-op prepare is registered automatically (work.shemits a newNEW_BRANCHESresult line,git-worktree-helper.sh createemitsBRANCH_CREATED, and registration goes through the newwork-status.sh branch register). After removing worktrees, close iterates the register: tmp branches are deleted directly; for main branches the merge status is checked in real time via the newbranch-mergedhelper (not stored), merged ones are safely deleted with-d, and unmerged ones are listed for the user to force-delete or keep; each deleted branch is marked viabranch mark ... cleaned. Branches users create manually without registration are never auto-deleted - Added: Workspace trigger words—work entries in the AGENTS.md project-info block gain a
trigger_wordsfield, automatically extracted from the purpose description at creation time (Chinese: stop words removed, phrases and core words kept; English: lowercased with stop words removed);project.shgains awork-triggersubcommand (deduplicates and skips words equal to work_id/branch). Workspace switching now uses four-level matching: exact work_id/branch → exact trigger word → trigger-word substring → description containment; when multiple candidates exist and the user picks one, the query word is appended as a trigger word as positive feedback, and the workspace list shows trigger words - Added: Project homepage on GitHub Pages—new root
index.html, a bilingual (Chinese/English) product landing page (preloaded heading fonts, navigation interactions, mobile first-screen layout fixes, site icon); the title link in both READMEs now points tohttps://frcoder-lh.github.io/tack-harness/instead of the GitHub repository page - Improved: testcode gains core principle #4—before changing an existing assertion, go back to spec/plan to reverse-check whether the test is outdated or the implementation is wrong; when the requirement is unclear, ask the user instead of editing the assertion to fit the code
- Fixed: The branches-register
registersubcommand wrongly treated the first registration into an empty list as a duplicate and skipped it (a single awkfoundflag served both dedup-hit and appended semantics; split into separate dup/emitted flags); 16 E2E assertions pass in an isolated temporary repository
Full Changelog: V0.0.15...V0.0.16
Tack Harness V0.0.15
中文
- 新增: 「非必要的反向描述不保留」升级为全仓库硬约束——tack/AGENTS.md 核心约束新增第 13 条,源仓库根 AGENTS.md 新增「文档与注释写作纪律」节:生成或修改任何 markdown 文件与代码注释时,事实被取消且无明确禁止意图即直接删除相关描述,不留「不再做 X」式反向描述、不追加否定补丁,否定表述只用于当下仍可能发生且必须阻止的真实禁令;evolution 的 cleanup 候选改为引用该硬约束,规则单一事实源
- 优化: evolution 审查新增两项要求——① 新增 cleanup 候选:被取消的事实若无明确禁止意图,相关描述整段删除,不保留「不再做 X」式反向描述、不追加否定句补丁(删除前 grep 确认无真实消费者、删除后校验无悬空引用);② sh 脚本审查从跨平台兼容升级为按
harness/rule/coding-standards-shell.md全量编码规范审查,不符合项发现即当场修正(保持行为与退出码语义不变、改完必跑sh -n),不再走候选确认,仅涉及行为/逻辑选择的修法降级为 script 候选 - 优化: README 联系方式二维码改用 GitHub raw 绝对链接(
https://raw.githubusercontent.com/frcoder-lh/tack-harness/master/contact.png),安装包、本机升级与空间初始化不再分发或物化contact.png——物化到harness/的 README 在任意目录阅读均可直接显示图片;contact.png源文件保留在仓库根供链接引用 - 新增:
harness/rule/update-check.md统一版本检查口径——调用时机(close/evolution/record/help 收尾执行、会话加载时不检查)、三行输出协议(无输出静默 / 首行版本提醒加区间更新摘要 / 非零退出静默忽略)与双节流(7 天一次、同版本只提醒一次)收敛为单一事实源,四个命令文件中的重复说明瘦身为一行引用 - 新增: work-status.sh 新增
guidance子命令——guidance 条目 distilled/dismissed 回写脚本化:替换或补写状态行与中文「落点:」行,distilled 必须带 ≥1 个落点、dismissed 拒绝落点,条目不存在返回退出码 3 并同步刷新 updated_at;close/record/evolution 中手工编辑 YAML 的步骤统一改为脚本调用 - 新增: project.sh 新增三个结构化回写子命令——
keywords(覆盖写项目关键词)、service-repo(追加服务↔仓库映射,空[]自动展开为列表块)、work-services(回写 work 条目服务列表并可同步 status.yaml 顶层 services);init/create-repo/worktree 中「直接编辑项目信息区块 YAML」的步骤全部改为脚本调用,区块维护入口收敛到 project.sh - 优化: lint-harness.sh 新增 frontmatter 完整性检查(ERROR 级)——首行非
---(缺 frontmatter)、fence 仅出现一次(未闭合)均检出;reference/rule 等本无 frontmatter 的文件豁免,不误报 - 优化: code-review 方法论收敛为单一框架——统一以 reference/code-review.md 的「双轴」(改动内容事实组织 / Spec 轴含 bug 深化 / Standards 轴含安全性能兼容)为准,审查三视角(规范符合度 / bug 与正确性 / 约定与安全)明确标注为双轴的执行分解,命令文件、agent 文件与工作流映射不再两套框架并列
- 优化: 工作区状态回写口径对齐——testing/bugfix/merge-conflict 三工作流的「状态回写要求」统一为
status按状态流转表加current.stage经 work-status.sh 回写的双写口径;run命令 init 模式不再误置 progress.run,完成检验补 progress.run=true;work-status.yaml 模板 stage 枚举补 bugfix(reproduce/diagnose/fix/verify)与 merge-conflict(fetch/merge/resolve/push)取值 - 优化:
rule/security.md新增「工作区凭据落位」节(敏感数据落 run/local/、入库文档只标来源不写真值),run/test/development-workflow 等处散落说明收敛为引用;rule/git-boundary.md明确「提交统一由 commit 命令完成、框架不代提代码仓库、空间仓库与代码仓库两类提交不合并」,六个命令文件的边界半句统一改为引用该规则 - 优化: spec/plan/code/testcode/fix 五个命令文件的「输入源与加载策略」重复样板收敛——统一口径(输入源清单、三级降级、防循环放大)以 development 工作流「上下文加载原则」节为单一事实源,各命令只保留本环节特化(首环节输入、复用搜索、任务级定位、修正点定位等)
- 优化: tack/AGENTS.md 核心约束第 7 条与第 11 条的 guidance 自动采集描述去重(第 7 条保留触发点、口径归第 11 条);项目信息区块说明文字与 project.sh 内置模板同步
- 修复: 6 个脚本的 POSIX 兼容性问题(scan-routes.sh、work-status.sh 的 awk FNR 判定与分支闭合、git-bug-trace.sh、repo.sh、work.sh、git-diff-context.sh),Git for Windows(GNU 工具)与 macOS(BSD 工具)下行为一致
- 修复: 一批文档结构与悬空引用——study.md 三处失效的
$root/SKILL.md引用、commit.md frontmatter 未闭合、development-workflow 环节映射表重编号(补「7 按需命令」行)、testcode.md 步骤交叉引用、tack/AGENTS.md 脚本清单漏列 git-fetch-helper、ask.md 残留的 progress.analysis 字段、context-loading.md 引用方数量;同步删除四处已失效的「跳过标记」反向描述 - 优化: 全仓 24 个 shell 脚本的变量引用统一为
"${VAR}"(双引号加花括号),按harness/rule/coding-standards-shell.md保留刻意分词、命令位置变量、awk 字段引用等豁免项,全部脚本sh -n通过;源仓库取消「存量代码不批量追溯」条款,evolution 的 sh 脚本审查即修边界升级为同一脚本内存量不符合项一次性全量修正
English
- Added: "No needless negative descriptions" is now a repository-wide hard constraint—core constraint #13 is added to the shipped tack/AGENTS.md and a "Documentation and comment writing discipline" section to the source-repo root AGENTS.md: when generating or modifying any markdown file or code comment, if a fact has been removed with no intent to forbid the behavior, the description is deleted directly—no "X is no longer done"-style statements and no negation patches; negation is reserved for real prohibitions of behavior that can still happen; the evolution cleanup candidates now reference this constraint as the single source of truth
- Improved: The evolution review gains two requirements—(1) new cleanup candidates: when a fact has been removed and there is no intent to explicitly forbid it, its descriptions are deleted wholesale instead of keeping "X is no longer done"-style negative statements or appending negation patches (grep confirms no real consumers before deletion and no dangling references afterward); (2) the shell review is upgraded from cross-platform compatibility to a full coding-standard review against
harness/rule/coding-standards-shell.md—violations are fixed on the spot without candidate confirmation (behavior and exit-code semantics stay unchanged,sh -nmust pass after each fix), and only fixes involving behavioral or logical choices fall back to script candidates - Improved: The contact QR code in both READMEs now uses an absolute GitHub raw URL (
https://raw.githubusercontent.com/frcoder-lh/tack-harness/master/contact.png), so installation, local skill upgrade, and space initialization no longer distribute or materializecontact.png—READMEs materialized underharness/render the image directly from any directory; the sourcecontact.pngstays in the repository root to back the link - Added:
harness/rule/update-check.mdunifies the version-check protocol—when it runs (at the end of close/evolution/record/help, never at session load), the three-line output contract (silent with no output / version reminder on the first line plus in-range update summary / silently ignored on non-zero exit), and the double throttle (once per 7 days, once per version) are now a single source of truth; duplicated explanations in the four command files are reduced to a one-line reference - Added: work-status.sh gains a
guidancesubcommand—distilled/dismissed write-back for guidance entries is now scripted: it replaces or adds the status line and the Chinese "落点:" (landing-point) line, requires ≥1 landing point for distilled while rejecting points for dismissed, returns exit code 3 when the entry does not exist, and refreshes updated_at; manual YAML editing in close/record/evolution is uniformly replaced by script calls - Added: project.sh gains three structured write-back subcommands—
keywords(overwrites project keywords),service-repo(appends a service↔repository mapping, expanding an empty[]into a list block), andwork-services(writes a work entry's services and optionally syncs status.yaml's top-level services); the "edit the project info block YAML directly" steps in init/create-repo/worktree are all replaced by script calls, converging block maintenance on project.sh - Improved: lint-harness.sh now checks frontmatter integrity (ERROR level)—a first line other than
---(missing frontmatter) and a lone fence (unclosed block) are both detected; files that legitimately have no frontmatter (reference/rule, etc.) are exempt and produce no false positives - Improved: The code-review methodology converges to a single framework—everything follows the "two axes" in reference/code-review.md (fact organization of the change / Spec axis including bug deepening / Standards axis including security, performance, compatibility), and the three review perspectives (spec compliance / bugs and correctness / conventions and security) are explicitly defined as the execution decomposition of the two axes; the command file, agent file, and workflow mapping no longer present two parallel frameworks
- Improved: Status write-back conventions are aligned—the "status write-back" sections of the testing/bugfix/merge-conflict workflows uniformly use the dual-write contract:
statusfollows the state-transition table andcurrent.stageis written via work-status.sh;runinit mode no longer sets progress.run prematurely and the completion checklist gains progress.run=true; the work-status.yaml template's stage enum gains bugfix values (reproduce/diagnose/fix/verify) and merge-conflict values (fetch/merge/resolve/push) - Improved:
rule/security.mdgains a "Workspace credential placement" section (sensitive data goes to run/local/; committed documents mark the source only, never the secret value), with scattered explanations in run/test/development-workflow converging to references;rule/git-boundary.mdnow states that commits are made exclusively through the commit command, the framework never commits in code repositories on the user's behalf, and the two kinds of commits (space repo vs code repo) are never mixed—half-sentence boundary notes in six command files uniformly reference the rule - Improved: The duplicated "input sources and loading strategy" boilerplate in five command files (spec/plan/code/testcode/fix) is converged—the common contract (input source list, three-level fallback, anti-circular-amplification) lives solely in the "Context loading principles" section of the development workflow, and each command keeps only its stage-specific notes (first-stage inputs, reuse search, task-level locating, fix-point locating, etc.)
- Improved: The duplicated guidance-collection wording between core constraints #7 and #11 in the shipped tack/AGENTS.md is deduplicated (#7 keeps the trigger point, the protocol lives in #11); the project-info block note is synchronized with project.sh's built-in template
- Fixed: POSIX compatibility issues in six scripts (scan-routes.sh; awk FNR checks and branch closing in work-status.sh; git-bug-trace.sh; repo.sh; work.sh; git-diff-context.sh)—behavior is now identical under Git for Windows (GNU tools) and macOS (BSD tools)
- Fixed: A batch of documentation structure issues and dangling references—three stale
$root/SKILL.mdreferences in study.md, an unclosed frontmatter in commit.md, renumbered stage mapping in the development workflow (adding the "7 on-demand commands" row), cross-step references in testcode.md, the missing git-fetch-helper in tack/AGENTS.md's script list, a leftover progress.analysis field in ask.md, and the referenced-by count in context-loading.md; four obsolete "skip marker" negative descriptions were removed as well - Improved: Variable references in all 24 shell scripts repository-wide now uniformly use
"${VAR}"(double quotes plus braces) perharness/rule/coding-standards-shell.md, keeping the deliberate exemptions (wor...
Tack Harness V0.0.14
中文
- 优化: Hook 空间/工作区解析改为无状态的当次 cwd 实时判定,移除 SessionStart 经 ENV_FILE 写入的
TACK_ROOT/TACK_WORK路径环境变量——会话级缓存在多项目窗口、同一空间多工作区并行时无法表达「当次调用归属哪个空间/工作区」,且缓存校验只验自身有效、不查与 cwd 的从属关系,错配时不会触发回退;现三个 Hook 一律从 payload cwd 向上探测空间根,工作区先按 cwd 是否位于space/<name>/内精确命中(多工作区并行互不串扰),cwd 在工作区外时 SessionStart/UserPromptSubmit 回退最近活跃并提示确认、PreToolUse 留空且不扫描;拼命令改用注入文本中的绝对路径,TACK_HOOK_LOG/TACK_HOOK_ENFORCE两个模式开关不变 - 新增: 英文版 README
README.en.md——中文 README 的完整英文对照,两版顶部互链;安装(install.sh)、本机升级(skill-update.sh)、空间初始化(init-tack.sh)链路同步分发与物化中英双版 README - 新增: 路由英文触发词——26 个命令与 5 个工作流的 front matter triggers 在保留中文的同时增补对应英文触发词,英文输入可直接路由(如
requirement planning→spec、fix bug→ bugfix 工作流),中英 README 同步列出双语触发词 - 新增: CHANGELOG 双语与发版链路双语支持——新增
CHANGELOG.en.md与中文条目一一对应;release.sh发版前同时校验中英两份 CHANGELOG 段落齐备;CI Release body 中英双语拼接;check-update.sh与update命令同时拉取并展示中英「本次更新内容」;install.sh/skill-update.sh分发清单纳入中英 CHANGELOG
English
- Improved: Hook space/workspace resolution is now stateless and determined in real time from the cwd of each invocation; the
TACK_ROOT/TACK_WORKpath environment variables written by SessionStart via ENV_FILE were removed—session-level caches cannot express "which space/workspace does this call belong to" with multiple project windows or multiple parallel workspaces in one space, and cache validation only checked their own validity without checking containment of the cwd, so mismatches never triggered fallback. All three Hooks now probe upward from the payload cwd for the space root; a workspace is matched exactly when the cwd lies insidespace/<name>/(parallel workspaces never interfere), and when the cwd is outside any workspace SessionStart/UserPromptSubmit fall back to the most recently active one with a confirmation prompt while PreToolUse leaves it blank and skips scanning; commands are assembled using the absolute paths in the injected text, and the two mode switchesTACK_HOOK_LOG/TACK_HOOK_ENFORCEare unchanged - Added: English README
README.en.md—a complete English counterpart of the Chinese README with a language-switch link in both files; the install (install.sh), local skill upgrade (skill-update.sh), and space initialization (init-tack.sh) pipelines all distribute and materialize both READMEs - Added: English triggers for the routes—26 commands and 5 workflows now carry corresponding English triggers in their front matter alongside the Chinese ones, so English input is routed directly (e.g.
requirement planning→spec,fix bug→ the bugfix workflow); both READMEs list the bilingual triggers - Added: Bilingual changelog and release pipeline—new
CHANGELOG.en.mdmirrors the Chinese file entry for entry;release.shgates releases on both changelogs containing the target version section; the CI Release body is assembled from both languages;check-update.shand theupdatecommand fetch and show both Chinese and English "what's new" sections;install.sh/skill-update.shdistribution lists include both changelog files
Full Changelog: V0.0.13...V0.0.14
Tack Harness V0.0.13
- 新增:
code-review代码审查命令(简写rv,触发词「代码审查/审查报告」)——以plan.md/tech-design.md为规范、与目标分支的三点 diff 为事实,按「仓库→文件→函数」逐函数分析改动内容(附代码锚点)、逻辑正确性、明显 bug 与代码层面危害(安全/性能/兼容性),并评估受影响接口与涉及业务场景,产出独立报告$work/code-review.md;跨模块大改动可委派 code-reviewer 三视角并行,审查基准一致时merge门禁可复用报告结论 - 新增:
release-check上线检查命令(简写rc,触发词「上线检查/发布检查」)——逐项识别数据库变更(给出可执行变更与回滚语句、执行环境与时机)、配置变更(给出键/值示例/生效环境模板)、新增接口调用(需申请的权限与白名单)、新增中间件(需提前申请配置的资源),另覆盖定时任务、凭据、灰度与回滚预案等兜底项,产出$work/release-check.md逐项打勾清单与上线顺序建议 - 新增: 共享脚本
git-diff-context.sh——解析目标分支(本地优先、回退 origin/、自动探测 master/main)、计算 merge-base 并导出三点 diff 与统计,为审查类命令提供确定性事实;E2E 覆盖本地/仅远端/无差异/错误路径 - 新增: Hook 统一日志——设置
TACK_HOOK_LOG=1后三个 Hook 每次调用完整记录时间、事件、pid、cwd、环境变量、输入 payload 全文、注入/拦截输出全文、退出码与耗时到.tack/log/hook.log(互斥锁整块串行追加、并发不交错);关闭时 Hook 输出逐字节不变 - 优化:
TACK_ROOT/TACK_WORK接入实际消费——环境变量仅作 SessionStart 缓存,消费前校验空间标记、路径归属、工作区状态(非 completed),失效自动回退实时探测;UserPromptSubmit/PreToolUse 省去重复的向上探测与 space 全量扫描
Full Changelog: V0.0.12...V0.0.13
Tack Harness V0.0.12
- 优化:
commit命令取消二次确认——用户发起命令即确认提交意图,提交信息自动生成(用户参数优先,否则结合实际 diff 与current.task,Conventional Commits 风格)后直接提交,完成后如实汇报 commit hash、提交信息与改动文件清单;push等影响远端的操作仍需用户明确指令 - 优化: 空间根
.gitignore显式忽略任意层级local/目录(local/→**/local/,覆盖run/local/、space/*/local/等所有位置的敏感数据目录) - 优化:
update指令融合空间根.gitignore——新版模板与用户本地文件按新增/已修改/一致分类对比,走与 harness 文件一致的新增/覆盖/保留/融合流程;.tack/条目为框架强制兜底,即便用户选择保留本地.gitignore也必须追加,防止运行时数据误入空间仓库
Full Changelog: V0.0.11...V0.0.12
Tack Harness V0.0.11
- 新增: bugfix 工作流缺陷溯源环节——
harness/script/git-bug-trace.sh给定缺陷代码行,一键追溯引入缺陷的 commit、时间、作者、对应需求/工单 ID(#123/MEEGO-456等)、commit 链接与合并到主干的 MR 链接(支持 GitHub/GitLab/Bitbucket);结果写入status.yaml的bug_origin区块,诊断参考diagnosing-bugs.md新增对应阶段 - 新增:
test系统测试命令(把测试描述转化为$work/test.md可落地方案)与run脚本执行命令(run/目录 +run.md执行清单,敏感数据落 gitignored 的run/local/) - 新增: IDE Hook 可选加速层——
harness/script/hook/提供 SessionStart(预载路由表与工作区快照、导出 TACK_ROOT/TACK_WORK)、UserPromptSubmit(零往返scan-routes resolve注入 cmd/workflow 正文)、PreToolUse(边界观察:Git 双层边界/--force/--no-verify)三个事件;默认 observe 零拦截,TACK_HOOK_LOG=1探针校准真实 payload,TACK_HOOK_ENFORCE=1预留 deny 路径 - 新增:
install-hooks.sh初始化空间时自动生成.trae/hooks.json与.claude/settings.json;需在 IDE「设置 > Hooks」手动启用后生效 - 优化: 工作区目录改为日期前缀命名
space/<YYYYMMDD>-<branch>/(如space/20261001-user-login/),目录按名排序即按创建时间排序;git 分支名与 work_id 保持不带日期,status.yaml新增work_dir字段,work.sh末尾输出WORKSPACE/BRANCH结果行供调用方解析实际路径,git-worktree-helper.sh与check-guidance.sh参数同步改为工作区目录名 - 优化:
testcode/test/run重定位为按需命令——移出 development 主链路环节映射,不占状态、不阻塞 commit/push/merge/close,AI 不在 code 完成后主动询问或引导;用户需要时直接触发或以 testing 工作流承接,不触发无需任何标记;删除testcode_skipped跳过机制与字段,三个命令的能力与产物保持不变 - 优化: 框架运行时数据统一收拢至
.tack/(log 日志 / backup 回滚备份 / tmp 临时文件 / state 本机状态),不入库、可随时清理 - 优化: skill 更新改为整体覆盖
script/、template/、reference/、workflow/(cmd/只增补不覆盖、rule/与 AGENTS.md 保留),临时产物统一落空间 .backup 并及时清理 - 优化: 修复空间标记探测的可靠性——
hook_grep_mark统一用LC_ALL=C grep纯字节匹配,规避 GNU grep 在 UTF-8 locale 下中文模式行为不稳定 - 修复: SKILL.md 与 hook 常量的空间标记文本与 AGENTS.md 实际文本不一致(缺空格),同步修正为「本空间由 tack harness 驱动」
Full Changelog: V0.0.10...V0.0.11
Tack Harness V0.0.9
Full Changelog: V0.0.8...V0.0.9
Tack Harness V0.0.10
- 新增: check-update.sh 自动更新检查——close / evolution / record / help 命令收尾时静默检查新版本(7 天节流、同版本只提醒一次,不在会话开始时抢占任务),提醒附带「本机版本→最新版本」区间的全部更新内容
- 新增: release.sh 发版前校验 CHANGELOG 目标版本段落,缺失即中止;CI 创建 Release 时自动抽取对应段落作为 Release body
- 新增: 发版约定(根 AGENTS.md)——发版前由 AI 全仓扫描新增能力并融入 README(结构不动),覆盖 script/命令/工作流/核心特性四处落点
- 新增: git fetch 命令自动修复本地分支与远程同名分支的上游关联
- 修复: fetch 上游校验为同名分支,错名时自动纠正
Full Changelog: V0.0.9...V0.0.10
Tack Harness V0.0.8
Full Changelog: V0.0.7...V0.0.8