Repository navigation
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