@adlc/ticket-prune

中文文档
1.12.0发布于 2026/10/10MITES Module构建来源已验证近 30 天下载 8195

在.adlc/tickets.json(默认为干线运行)中,报告和档案已停放/发运出票.

中文使用文档
文档目录10 节
  1. 使用量
  2. 墓葬 (遗存), 不删除 (# 104)
  3. 完成铁路冷冻票( --ceremony 已贬值, 第208号
  4. "积分"是如何决定的
  5. 旗帜
  6. 退出代码
  7. 实例
  8. 锁定和原子化
  9. 与兄弟姐妹工具的关系
  10. 兼容性

罚单

ADLC阶段:C12——维护(机床生命周期卫生)

活性ADLC售票店是可变的工作套. 没有别的东西可以磨了 在售票船之后, 完成的售票会累积 并伪装成 你无法分辨现场工作 交叉核对可达到的目标,并手工合并公关. ticket-prune 报告 (和,与 --write墓碑),它能确定的票是 stale.

地址 问题39。 。 。 .

使用量

ticket-prune [--tickets path] [--base-ref ref] [--infer-scope] [--write] [--allow-unsigned] [--json]

与 ADLC 编写器一致的默认干线运行(skill-rot, (中文(简体) ), rejection-mining, (中文(简体) ), model-ratchet:它报告它会没有什么 改变商店直到你通过 --write{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}在一家罐头店里, --write 档案存单通过活动 – 存档交易; a 遗产 .adlc/tickets.json 如下文所述,保存这些墓碑.

墓葬 (遗存), 不删除 (# 104)

在遗产上 .adlc/tickets.json 存储, --write 已经 没有 删除 stale 罚单或移动到侧式文件。 它又说 completed: true 罚单 内 地点 并且不会改变其他的。 这是有意的: .adlc/tickets.json 这是 铁道保护信托根及其CI门(scripts/rails-guard-ci.mjs) 困难 任何公关 删除 或以其他方式变形 基本票。 一个例外 门雕刻的正是加的 completed: true 到一张宣布的票 无栏杆 ——注解给予"零解冻"特权,因此在"零解冻"中安全 普通公关 墓葬是用来制作的 所以是例行公事 prune 合并后没有管理权限 .

一张烂票 铁栏杆仍然被冻结 实值 没有 自动取出 --write数字 : 完成后,铁轨将从工会中失效(特权解冻) 保护基地管理员仪式的大门 这些票是 报告 在干燥和写作中 (# 198) — 在 needsCeremony 与 blocker: "rails-freeze",所以漂移是可见的 在它阻挡 PR 比较 不只是当你试图写.

完成铁路冷冻票(--ceremony 已贬值, 第208号

铁路冷冻车票 needsCeremony 完成的是一个普通的 PR 绝不然 rails-guard-ci 拒绝基于 罚单). 完成在保护基地的检查 main, (中文(简体) ), 一个id在一个 时间,与犬科命令:

adlc ticket complete <id> --write --authorize --json

设计时的平板电脑:它命名了一个ID(没有批量再计算,没有交叉平板电脑爆炸半径)——虽然id自己的版本在运行时仍然被解决,所以在完成之前验证它仍然是真实的;修改后有约束 --expect 计划的后续行动) 售票店交易(工作树锁+预期Snapshot CAS),记录 完成证据 .adlc/manifest.jsonl,并致力于遗产和 目录存储。 A 类 preexisting-completed-field 罚单携带一个 completed 价值是某个人故意设定的——它继续报告,而不是覆盖.

ticket-prune --ceremony 曾经是作为批量通过,但它没有身份证明和 重算了运行时设定的目标(一个TOCTOU窗口,没有每盘过滤器), 写作时没有记录明显的证据,也没有目录存储支持. 这个 实值 贬值(# 208): 引用它现在失败关闭并重定向到 以上指挥.

"积分"是如何决定的

这是问题39的未决问题:明确 status 选项 从合并的可交付品/PR中推断出票价

  1. 更喜欢明确 status 字段当存在时. @adlc/ 核心票 计划( s)packages/core/lib/tickets.mjs)没有宣布 status 字段, 不过 validateTicket() 也不拒绝未知属性,所以 罚单可以携带一张. done 编号 : closed 编号 : complete 编号 : completed 编号 : archived 编号 : shipped (大小写不敏感)是 stale; 任何其他字符串 值被作为明确的“未完成”对待,并胜过推论 即使门票范围看起来是完全运走的.

  2. 否则,只有 --infer-scope,从现有范围推断 基础参考. 没有明确身份的罚单,只有申报在 至少一个 scope 阴影 财务报告和审定财务报表 每个被宣布的光彩至少决定一个 跟踪到的文件 --base-ref (默认) HEAD,通过 git ls-tree) (中文(简体) ). 一张票 没有宣布的范围 永远不会被推断为 stale —— 据报道它一直活动到 明确的地位解决它.

推论是默认关闭的(# 779). 范围的存在不能证明 一张票的作品落地:它问道: packages/core/** 匹配跟踪文件?", 任何比罚单积存时间长的退票 票是真实的 作者——目录已经存在. 没有检查范围文件 已更改这张票创造了他们 或者这张票曾经进入过 建设。 默认情况下 它把这回宝206张门票中的179张归类为呆账票, 其中有23个没有铁轨,因此由 --write 所有23个开放式工作 ——而运行打印出成功行并退出 0. 因此,默认的答案来自作者获取 status 独自一人,还有一位召唤者 它想要弱者 的信号要求它的名字。 文本报告和 --json 说哪个分类者创造了数.

为什么"镜/道+一个关闭的公关引用"?? 问题浮出PR 作为佐证信号的参考文献。 这雷波的票计划没有场地 记录公关号码 承诺信息协议不可靠 足够从历史推断出:a git log --oneline 关于这方面的调查 repo 显示不连贯的车票编号 直接(例如:. (T13/T14)),但打开代码 T1- 说吧T5 车票运输 PRs (# 27- Q- 31) 引用“ A/B/C/E阶段” , 绝对不会在 都说吧 因此,盗取票证的历史 错过 完全一样的僵硬 罚单 自己的工作例子 被写到捕捉。 存在范围 对照履带文件的快照是决定性的,不需要模糊的文字 匹配,并且正是这个问题的实践实例手工做的检查.

旗帜

旗帜说明
--tickets <path>车票存储控制器 默认自动检测器被压缩 .adlc/tickets/ 遗产 .adlc/tickets.json。 。 。 .
--base-ref <ref>检查已申报的 Git ref scope 阴影反对( 默认) HEAD) (中文(简体) ). 点到 origin/main 审计一个功能分支的门票 与已经运出在干线上的东西.
--infer-scope启用范围存在扭曲推断( 默认) 关, 第779页. 没有它,只有明显的完成形状 status 做一张烂票.
--write墓石铁道无渣票:加 completed: true 保存在遗留的平面文件商店(从未删除,也从未变异出任何其他字段); 移动到 .adlc/ticket-archive/ 在被压碎的商店。 铁路冷冻已停售的车票没有动过,按下列方式报告: needsCeremony。 。 。 .
--allow-unsigned让一个 --write 对被冻结的信任根记录 ADLC_MANIFEST_KEY 设置(先警告;未签名的条目是永久的)。 合同与 adlc ticket --allow-unsigned。 。 。 .
--ceremony已贬值(# 208). 关闭失败并重定向到 adlc ticket complete <id> --write --authorize --json铁路冷冻车票通过该指令完成每张车票,而非在此批量完成.
--json机器可读 { baseRef, write, ceremony, inferScope, stale[], active[], tombstoned[], archived[], ceremonyCompleted[], needsCeremony[], blocked[] }。 。 。 .

--json 字段 : archived[] 列出入场券 --write 从活动目录存储中移出( e).adlc/tickets/),所以在那个商店,不是 tombstoned[],记录变化; tombstoned[] 列出位置 completed: true 墓碑 --write 在遗留的平面文件商店上添加(.adlc/tickets.json(三); blocked[] 列出没有存档的旧票,因为批次外的一张票仍然提到它们; ceremony 总是 false 财务报告和审定财务报表 ceremonyCompleted[] 一直空着 --ceremony 已贬值(# 208) , 两者都保留以兼容 .

退出代码

代码含义
0报告或墓碑成功——不管找到多少张破门票. 这是咨询( 如 model-ratchet),不是通/故障门:烂票是杂乱的,不是合并阻塞.
1操作出错——出错/漏票文件,JSON无效,无法解决 --base-ref,无法获取写入锁,或者已贬值 --ceremony 被引用(重定向).

实例

# Report stale tickets on the currently checked-out ref (dry-run, default).
# Stale here means an explicit done-shaped `status` — nothing is inferred.
ticket-prune

# Tombstone the rails-less stale tickets found above (completed:true in place).
# Same classifier as the dry run above, so what you reviewed is what it writes.
ticket-prune --write

# Audit against main from a feature branch. --infer-scope is what makes this an
# audit rather than a status report: it also treats a ticket whose declared scope
# fully resolves as shipped. That signal is WEAK — it is true the moment a ticket
# is authored on a repo older than its backlog — so this is a review aid. Confirm
# each id by hand and complete it per-ticket; do not pair --infer-scope with
# --write to archive in bulk on the strength of it (#779).
ticket-prune --base-ref origin/main --infer-scope --json

# Admin, on a protected-base checkout of main: complete a rail-freezing shipped
# ticket, expiring its rails (T36). Per-ticket, records manifest evidence, both
# backends. (ticket-prune --ceremony is deprecated — see #208.)
adlc ticket complete <id> --write --authorize --json

锁定和原子化

在破烂的商店里, --write 使用卡通售票服务的工作树锁, hash CAS, 日记, 证据, 和活性/ 存档交易 。 遗产桥 保留共享 .adlc/tickets.lock 加上档案第一原子替换 同步和prune不比赛 一张票永远不会从两个商店消失。 下 锁定工具在写入前重新读取并重新分类, 所以一张票又一张 编剧未被困入赛道窗口 从未被挤出.

与兄弟姐妹工具的关系

  • @adlc/ticket-sync - 从外部写/读活动票店 跟踪器; 共享相同的锁定路径, 所以同步和prune 永不中断 .
  • model-ratchet 编号 : skill-rot ——其他由衰变驱动,由干跑倒计时 接入的维修检查 /adlc-maintain· ; ticket-prune 沿着 同一报告合同.

兼容性

新建寄存器归档以通过 : @adlc/tickets旧的 平面活性/存档配对仅可写作1.x相容路径; 使用情况 adlc ticket store migrate 预览仅用于表达式的迁移.

版本与发布记录

@adlc/ticket-prune 共发布 15 个版本,首次发布于 2026/07/11;过去 12 个月发布了 15 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.0latest2026/10/1027 天前
1.11.12026/09/091 个月前
1.11.02026/08/252 个月前
1.10.02026/08/112 个月前
1.9.02026/08/092 个月前
1.8.02026/08/082 个月前

关于 @adlc/ticket-prune 的常见问题

@adlc/ticket-prune 是什么?

在.adlc/tickets.json(默认为干线运行)中,报告和档案已停放/发运出票.

如何安装 @adlc/ticket-prune?

在项目目录运行 npm install @adlc/ticket-prune,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ticket-prune,可以用 npx ticket-prune 直接运行。

@adlc/ticket-prune 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adlc__ticket-prune 是否存在。

@adlc/ticket-prune 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adlc/ticket-prune 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@adlc/ticket-prune 可以商用吗?

@adlc/ticket-prune 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@adlc/ticket-prune 的下载量有多少?

根据 npm 官方下载统计,@adlc/ticket-prune 在 2026/10/05 – 2026/11/03 这 30 天内被下载 8,195 次,日均约 273 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adlc/ticket-prune 还在维护吗?

最新版本 1.12.0 发布于 2026/10/10(27 天前);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/07/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。