罚单
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中推断出票价
-
更喜欢明确
status字段当存在时. @adlc/ 核心票 计划( s)packages/core/lib/tickets.mjs)没有宣布status字段, 不过validateTicket()也不拒绝未知属性,所以 罚单可以携带一张.done编号 :closed编号 :complete编号 :completed编号 :archived编号 :shipped(大小写不敏感)是 stale; 任何其他字符串 值被作为明确的“未完成”对待,并胜过推论 即使门票范围看起来是完全运走的. -
否则,只有
--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 预览仅用于表达式的迁移.