Skip to content

Commit 39b7dd7

Browse files
committed
Merge remote-tracking branch 'origin/main' into claude/issue-17864-adr0087-framing-word-mention
2 parents bb0e902 + 85c6d76 commit 39b7dd7

3 files changed

Lines changed: 44 additions & 3 deletions

File tree

‎.claude/skills/checklist-test/SKILL.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ Tier 1 批量清掉,剩下的预算才对得起 Tier 2。
9595
- **并行度**:API 面测试项放开并行扇出(各自端口,便宜)。浏览器项**少量并行**
9696
(2–3 个),各自端口 + 浏览器上下文 —— 超过这个数,单机 CPU 与共享显示开始互相争
9797
抢。派发 runner 子代理时,档位引当次
98-
`node scripts/pm/dispatch-gates.mjs --tier <paths>` 的输出、⛔ 不凭记忆(floor
99-
sonnet · default opus · ceiling fable);每个给:该项 JSON、RUNNER.md、dogfood 技
98+
`node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --tier <paths>` 的输出、
99+
⛔ 不凭记忆(floor sonnet · default opus · ceiling fable);每个给:该项 JSON、RUNNER.md、dogfood 技
100100
能、自己的端口/DB、结果不进仓规则(§4)。
101101
- **没有子代理工具时,顺序跑 —— 并在运行记录里声明这一轮是顺序执行的。** 规则与它
102102
的论证住在 `checklist-author` 技能(维护者所定,一处成文);⛔ 不留第二份拷贝。

‎.claude/skills/pm-dispatch/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
474474
- 条款②入队闸门只读认领评论且只读行首键:句中提及与另发评论皆读不到,卡即不可读。
475475
- 谓词保持严格、⛔ 不放宽;session ID 不可省,`mode:subagent` 下 dev 与 PM 同 ID,身份看分支。
476476
- `Clause-②: yes | no` 恰这两种拼写,恒英文机器判据;判据:本卡放宽接受集或扩大公开面吗。
477-
- Container & model 行的档位引当次 `node scripts/pm/dispatch-gates.mjs --tier <paths>` 输出,⛔ 不凭记忆。
477+
- 引当次 `node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --tier <paths>` 输出⛔ 不凭记忆
478478
- 末行 Serial constraints cleared 是落在评论里的读数,同包在飞单不点名等于没查。
479479
- 本卡 pin 断言兄弟卡在改的行为 ⇒ 派发令注明,并在用例内预登记翻转触发词,⛔ 不修绿。
480480
- 文件面申报到区域级,每单必填;分支名必须带 issue 号。

‎scripts/check-bash32-floor.mjs‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,47 @@
4040
* depth over the class, at the price of a regex — and the blind spot named
4141
* under "Known limit" below is exactly the half the simulation harness holds.
4242
*
43+
* ## The BOUNDARY: the axis is the bash INTERPRETER, not the userland binaries
44+
*
45+
* A gate that states its class but not its boundary can be widened by a
46+
* well-meaning row, so the boundary is written here rather than left to be
47+
* re-derived. This gate's axis is the VERSION OF BASH THAT RUNS A SCRIPT, and
48+
* the row schema says so by construction, not by convention: every
49+
* `CONSTRUCTS` row carries a `since:` that is a bash version, and every `kind`
50+
* is a bash category — a builtin, a piece of syntax, a variable. There is no
51+
* value for "an external binary", and a row about one has nowhere to put it.
52+
*
53+
* So a difference between the GNU and BSD USERLAND BINARIES a script calls —
54+
* `mktemp` and where it will accept the `XXXXXX`, `sed -i` and whether it
55+
* demands a suffix argument, `readlink -f`, `date` and its flags — is a
56+
* DIFFERENT AXIS, and ⛔ it is not a row here. Such a row could not be written
57+
* honestly: `mktemp` has no bash version, so its `since:` would have to be a
58+
* lie or a special case, and the verdict line this gate prints ends
59+
* "constructs checked, floor bash 3.2" — which becomes false advertising the
60+
* moment a coreutils-vs-BSD rule joins the table it counts. Widening here
61+
* would silently convert a gate that means "this script needs bash 4" into one
62+
* that means "this script behaves differently on a Mac": a strictly larger
63+
* claim, made by adding a row.
64+
*
65+
* ⇒ That class wants a SIBLING gate, not a row here — and ⛔ not yet. The
66+
* measured population of real userland defects in this repo is ONE: an
67+
* `mktemp` template whose `XXXXXX` was not last. It is already fixed and
68+
* guarded by a per-script pin, which ⛔ stays — nothing here replaces it. A
69+
* shared gate for a population of one is not warranted, and the evidence that
70+
* would change that is a SECOND real instance; the place to land it is the
71+
* boundary card this paragraph came from (#17141).
72+
*
73+
* ⚠️ The basis is written out and not just the verdict, on purpose: a boundary
74+
* stated without its basis gets re-litigated by the next person who
75+
* provisionally leans yes. That is not hypothetical. This exact question —
76+
* should this gate grow a BSD/portability rule, so the `mktemp` class is
77+
* caught by a shared gate instead of a per-script pin — was asked, was
78+
* answered NO, and the seat that answered it had leaned the other way first
79+
* and put that on the record: *"measuring is what produced it — I had
80+
* provisionally leaned yes."* ⇒ Measuring is the part that is reproducible.
81+
* Read any row's `since:` and `kind:` before re-opening this; ⛔ do not
82+
* re-litigate it from intuition.
83+
*
4384
* ## The exemption rule: telling a HUNTER from a USER
4485
*
4586
* The hard part of a repo-wide scan is that the files which document this floor

0 commit comments

Comments
 (0)