@ericrisco/rsc 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/manifest.json +3 -2
- package/package.json +1 -1
- package/scripts/lib/review-ledger.js +4 -2
- package/scripts/lib/risk.js +6 -3
- package/scripts/rsc.js +16 -3
- package/scripts/spec-gate.js +13 -3
- package/skills/asdd/SKILL.md +35 -11
- package/skills/asdd/evals/cases.yaml +1 -1
- package/skills/clarify/SKILL.md +12 -1
- package/skills/constitution/SKILL.md +9 -8
- package/skills/constitution/evals/cases.yaml +1 -1
- package/skills/debug/SKILL.md +2 -2
- package/skills/implement/SKILL.md +45 -43
- package/skills/implement/references/per-task-review.md +11 -2
- package/skills/implement/scripts/task-brief +28 -22
- package/skills/plan/SKILL.md +1 -1
- package/skills/plan/evals/cases.yaml +1 -1
- package/skills/plan/references/plan-template.md +2 -2
- package/skills/review/SKILL.md +31 -19
- package/skills/sdd-init/SKILL.md +6 -4
- package/skills/ship/SKILL.md +25 -17
- package/skills/specify/SKILL.md +11 -9
- package/skills/specify/evals/cases.yaml +1 -1
- package/skills/specify/references/eliciting-requirements.md +1 -1
- package/skills/specify/references/spec-template.md +1 -1
- package/skills/tasks/evals/cases.yaml +1 -1
- package/skills/verify/SKILL.md +5 -4
- package/skills/verify/evals/cases.yaml +1 -1
- package/skills/verify/references/generic-gate.md +43 -0
- package/targets/sello.mjs +8 -2
package/targets/sello.mjs
CHANGED
|
@@ -45,6 +45,11 @@ export const SELLO_STATE_PATHS = [
|
|
|
45
45
|
'.rsc/automation-gaps.md', '.rsc/review-ledger.jsonl',
|
|
46
46
|
];
|
|
47
47
|
|
|
48
|
+
// Worktrees nested inside the project (the assistant's native `.claude/worktrees/`, rsc's own
|
|
49
|
+
// `.worktrees/`) are other checkouts, not part of this change. Untracked, they showed up as one
|
|
50
|
+
// `.claude/…` path, scored as harness — tier 2 for every task of a run that used isolation.
|
|
51
|
+
export const NESTED_WORKTREES = /^(?:\.claude\/worktrees|\.worktrees)(?:\/|$)/;
|
|
52
|
+
|
|
48
53
|
export function selloPaths(root) {
|
|
49
54
|
return {
|
|
50
55
|
config: join(root, '.rsc', 'sello-config.json'),
|
|
@@ -241,7 +246,8 @@ export function computeCandidate(rawRoot, cfg = null) {
|
|
|
241
246
|
|
|
242
247
|
const names = new Set();
|
|
243
248
|
for (const n of nulList(git(root, 'diff', '--name-only', '-z', base))) names.add(n);
|
|
244
|
-
|
|
249
|
+
// Untracked nested worktrees are other checkouts; committed paths under them are part of the change.
|
|
250
|
+
for (const n of nulList(git(root, 'ls-files', '--others', '--exclude-standard', '-z'))) if (!NESTED_WORKTREES.test(n)) names.add(n);
|
|
245
251
|
for (const p of SELLO_STATE_PATHS) names.delete(p);
|
|
246
252
|
|
|
247
253
|
const files = {};
|
|
@@ -266,7 +272,7 @@ export function computeCandidate(rawRoot, cfg = null) {
|
|
|
266
272
|
// Untracked files never appear in numstat, so a fix hidden in a new file would
|
|
267
273
|
// cost zero budget. Count their lines.
|
|
268
274
|
for (const n of nulList(git(root, 'ls-files', '--others', '--exclude-standard', '-z'))) {
|
|
269
|
-
if (SELLO_STATE_PATHS.includes(n) || numstat[n] !== undefined) continue;
|
|
275
|
+
if (SELLO_STATE_PATHS.includes(n) || NESTED_WORKTREES.test(n) || numstat[n] !== undefined) continue;
|
|
270
276
|
try {
|
|
271
277
|
const st = lstatSync(join(root, n));
|
|
272
278
|
if (st.isFile()) numstat[n] = readFileSync(join(root, n), 'utf8').split('\n').length;
|