You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: assets/for-ai/ar/change-protocol.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
11
11
1. أنشئ العمل الجديد عبر `ospec change <change-name> [path]`، ويبقى `ospec new` alias للتوافق.
12
12
2. إذا وُجد active change مطابق فتابعه ولا تنشئ نسخة مكررة.
13
-
3. تدخل تغييرات batch إلى queue وتُنفذ بالتتابع في worktree المشترك.
13
+
3. تدخل تغييرات batch إلى queue وتُنفذ بالتتابع في worktree المشترك. يجب استخدام worktree تسلسلياً: يُحظر الإغلاق (verify/finalize/archive) عند وجود ملفات غير مودعة خارج نطاق `affects` وعقد التوثيق في proposal، لذا أودع أو خزّن أو اعزل التغييرات غير المنسوبة، وصرّح بـ `affects` بصدق، ولا تدع تعديلات جلسة متزامنة تنزلق إلى الأرشيف.
14
14
4. حافظ فقط على `proposal.md` و`tasks.md` و`state.json` و`verification.md` و`review.md`، ولا تنشئ design أو plan أو task graph أو worker أو review provenance artifacts الخاصة بـ Goal.
15
15
5. شغّل فحوص المشروع المرتبطة فعلاً بالتغيير وسجّل الأوامر والنتائج في `verification.md`، ولا تفرض build أو lint أو test أو TDD أو debug غير ذي صلة.
16
16
6. ينفذ AI الحالي مراجعة خفيفة واحدة. يمكن إغلاق `APPROVED` و`APPROVED_WITH_CONCERNS` تلقائياً، بينما توقف `PENDING` و`NEEDS_CHANGES` و`BLOCKED` الإغلاق.
Copy file name to clipboardExpand all lines: assets/for-ai/en-US/change-protocol.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ At start, read `.skillrc`, the relevant `SKILL.index.json` entries, `proposal.md
10
10
11
11
1. Create new work with `ospec change <change-name> [path]`; `ospec new` remains a compatibility alias.
12
12
2. Continue an existing matching active change instead of duplicating it.
13
-
3. Batch changes go through the queue and run sequentially in the shared worktree.
13
+
3. Batch changes go through the queue and run sequentially in the shared worktree. The worktree must be used serially: closeout (verify/finalize/archive) blocks on uncommitted files outside the proposal `affects` and documentation scopes, so commit, stash, or isolate unattributed dirty files, declare `affects` honestly, and never let a concurrent session's edits ride along into the archive.
14
14
4. Keep only `proposal.md`, `tasks.md`, `state.json`, `verification.md`, and `review.md` aligned. Do not create Goal design, plan, task graph, worker, or review-provenance artifacts.
15
15
5. Run project checks relevant to the actual change and record commands and results in `verification.md`; do not require unrelated build, lint, test, TDD, or debug commands.
16
16
6. The current AI performs one lightweight review. `APPROVED` and `APPROVED_WITH_CONCERNS` may close automatically; `PENDING`, `NEEDS_CHANGES`, and `BLOCKED` stop closeout.
- Progress checklists track reality: tick each proposal.md acceptance criterion as it is actually verified — archiving blocks while proposal.md has unchecked items. review.md stays your one lightweight review; record its decision and complete its checklist before closeout. Never tick an item whose work was not done.
80
+
- The worktree is serial: closeout blocks on uncommitted files outside the proposal `affects` and documentation scopes. Declare `affects` honestly, and when unattributed dirty files appear (for example another session's edits), commit, stash, or isolate them instead of archiving over them.
80
81
- Do not assume dashboard workflows exist.
81
82
- Do not confuse repository initialization with change execution.
82
83
- Do not enter queue mode unless the user explicitly asks for queue behavior.
this.warn(`Workspace already has ${dirty.length} uncommitted file change(s) (e.g. ${dirty.slice(0,3).join(', ')}). A classic change assumes serial execution in this worktree, and closeout blocks on files outside the change's declared affects scope. Commit, stash, or isolate unrelated work first.`);
238
+
}
239
+
catch{
240
+
// The workspace warning is best-effort and must never block creation.
? `proposal.md declares no affects scope, so ${outOfScopePaths.length} uncommitted file change(s) cannot be attributed to this change: ${preview}${suffix}. Declare affects in proposal.md, or commit/stash/isolate unrelated work before closeout.`
139
+
: `Workspace has ${outOfScopePaths.length} uncommitted file change(s) outside this change's declared scope: ${preview}${suffix}. Commit, stash, or isolate unrelated work (or extend proposal.md affects) before closeout.`,
0 commit comments