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: README.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
@@ -323,7 +323,7 @@ If you want to convert an older classic project to the new layout, run `ospec la
323
323
-**Goal experience contracts**: every goal runs with `Announce-Before-Act` (the AI announces its skill and stage, the `ospec execute …` command and the artifact it writes, and each subagent dispatch), `Brainstorm-First` (open direction, architecture, API, UI, risk, and scope decisions are asked one at a time through the native question UI before design is locked), and `Zero-Setup` (you only start a goal and describe the requirement — the AI runs every `ospec` command itself). In Claude Code, `ospec session hook --target claude --apply` adds hooks that announce every dispatch and hard-block subagent dispatch while a required decision is still pending.
324
324
-**Optional pre-change aids**: `ospec brainstorm` writes durable exploration artifacts under `.ospec/brainstorms/`, with an optional static visual companion; `ospec plan` writes plan drafts under `.ospec/plans/` and only updates `implementation-plan.md` when `--apply` is passed. The Change flow starts with `ospec change` (`ospec new` is an alias); the Goal flow starts with `ospec goal` only when selected by the user.
325
325
-**Session brief and hooks**: `ospec session` writes `.ospec/session-brief.json` and `.ospec/session-brief.md` so agents or humans entering an existing project can see active changes, queued changes, queue-run state, indexed document and archived-feature counts, a cache fingerprint, and the next safe command before touching a change; `ospec session hook --target claude` writes opt-in harness startup artifacts plus a Claude Code hook bundle under `.ospec/hooks/`, and `--apply` idempotently merges it into `.claude/settings.json`.
326
-
-**Integrated goal loop**: `ospec loop run --once` emits token-bounded task/review/verification action batches for fresh model-native subagents. It uses packet paths instead of duplicating the whole goal, persists pending actions and feedback, routes review failures through retry or one grouped repair wave, and enforces required decisions, L3 allowlists, budgets, no-progress stops, and comprehension-review pauses. The removed `loop watch` path now returns migration guidance without starting an agent process.
326
+
-**Integrated goal loop**: `ospec loop run --once`(or the single-iteration `ospec loop tick` alias) emits token-bounded task/review/verification action batches for fresh model-native subagents. It uses packet paths instead of duplicating the whole goal, persists pending actions and feedback, routes stalled review findings through one durable root-cause strategy escalation before stopping repeats, and enforces required decisions, L3 allowlists, budgets, no-progress stops, and comprehension-review pauses. The removed `loop watch` path now returns migration guidance without starting an agent process.
327
327
-**Task graph controller**: `ospec execute bootstrap` writes a one-change startup/resume snapshot with the project session brief snapshot and next safe action; `handoff` writes a cross-tool worker handoff guide; `doc-review` creates design and implementation-plan reviewer packets; `status` and `next` report controller state; `workspace` records git workspace safety; `worktree` manages explicit git worktree plans/runs; `dispatch`, `launch`, `complete`, and `review` create and settle native-subagent packets; `retry` reopens blocked or needs-context work; `debug`, `tdd`, and `verify` record durable evidence; `sync` rebuilds `worker-status.md`. `orchestrate`, `launch --run --command`, and `review --run --command` are retained only as migration errors and never launch agent CLIs.
328
328
-**Adaptive review and model routing**: `.skillrc.workflow.document_review_policy` keeps independent document review by default. With `adaptive`, inline preflight still requires an explicit `risk_level: low` (or `none`) declaration and no detected risk signal; `.skillrc.workflow.model_profiles` maps logical roles without provider model names in OSpec defaults.
329
329
-**Measured execution and grouped repair**: command runners can write authoritative usage to `OSPEC_USAGE_FILE` for automatic ingestion, while `--usage-file` remains a manual input. Metrics distinguish complete, partial, and missing coverage. `ospec execute repair` turns all structured `NEEDS_CHANGES` findings into one repair task.
Copy file name to clipboardExpand all lines: SKILL.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
@@ -51,7 +51,7 @@ Use the full `ospec execute ...` layer only for goal work or when the user expli
51
51
- Dispatch scoped worker packets, use the launch plan with the current harness native agent mechanism, record completion, then perform one combined task review.
52
52
- A worker profile is logical (`mechanical`, `standard`, `strong_reasoning`, `review`, `final_review`). Harness-specific model names come from `.skillrc`; absence is explicit and falls back to the harness default.
53
53
- Record optional provider usage sidecars through the supported completion command. Metrics are evidence, not an archive gate unless project policy says otherwise.
54
-
- When final review requires changes, group all findings into one repair wave and one repair task, run its covering verification once, then run one combined task review and one final re-review.
54
+
- When final review requires changes, group all findings into one repair wave and one repair task, run its covering verification once, then run one combined task review and one final re-review. In continuous mode, a stalled task or final finding set may receive one durable root-cause strategy escalation; execute that packet normally, but never reissue the same strategy key or raise a limit to repeat unchanged work.
55
55
- Keep reviewers independent: they read scoped evidence, do not edit implementation, do not accept hidden severity downgrades, and report findings before summaries. Record actionable findings in both Markdown and the sibling structured `*.findings.json`.
56
56
- Do not archive while task graph, review, decision, documentation, optional-step, worker-status, or verification gates are unresolved.
Copy file name to clipboardExpand all lines: assets/for-ai/ar/execution-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
@@ -38,7 +38,7 @@ tags: [ai, protocol, ospec]
38
38
- في goal اشتق `artifacts/agents/task-graph.json` من `implementation-plan.md`؛ ويجب أن تتضمن كل مهمة id والحالة والاعتماديات وسلامة التوازي والتعارضات والملفات المستهدفة وأوامر التحقق والنتيجة المتوقعة ودور worker. اضبط `parallelizable: true` لكل مهمة لا تتداخل `target_files` الخاصة بها مع مهمة جاهزة أخرى ولا تعتمد عليها؛ واترك `parallelizable: false` فقط عند تعارض الملفات أو وجود اعتماد حقيقي، وسجل `serial_reason` و`conflicts_with`. لا تجعل المهام متسلسلة افتراضيا، وسجل `maxParallelReason` عند تقييد graph آمن إلى worker واحد. قسّم task التي تتجاوز ستة `target_files`، أو أضف `scope_reason` واضحاً عندما يتطلب نطاق تحقق ذري واحد هذا الاتساع
39
39
- تستخدم L3 allowlist الاستبدال الآمن. فضّل `ospec loop allowlist derive/check/apply --from-task-graph`، وراجع الفرق المرتبط بـ CAS، ووافق صراحة فقط على توسيع الصلاحيات المقصود. لا تفترض أن أوامر `loop configure --allow-*` المتكررة تضيف القيم.
40
40
- يجب أن تتقارب مراجعة المستندات المتخصصة. اقرأ findings sidecar السابق وأدلة الحل أولا، ثم راجع المستند الحالي كاملا. قيم round/time الافتراضية هي عتبات تقارب: يمكن لمجموعة structured finding-ID جديدة أن تستمر تلقائيا، بينما تتوقف المجموعات المتكررة أو الدورية. لا تستهلك cache/pending reuse أو استعادة dispatch نفسه جولة، ولا يتجاوز `--force` حواجز Loop lifetime أو token أو STOP أو no-progress أو context أو executor provenance. يحتفظ strict mode بنافذة extra round التي يصرح بها المستخدم بدقة.
41
-
- يجب أن تتقارب عمليات review repair. ترث task downstream التي تعدل ملفات مشتركة التزامات regression من upstream المتعدية. تمثل الجولتان الافتراضيتان عتبة تقارب. يستمر التنفيذ عندما تتغير structured finding IDs. ويمكن أن يستمر المعرف نفسه فقط عندما يتغير كل من structured finding fingerprint وcode snapshot داخل repair scope المصرح به سابقا؛ أما تغيير الصياغة فقط أو الكود فقط أو التكرار الدقيق أو الدورة فيتوقف. عندما تكون final review بحالة `BLOCKED` يجب التوقف لحل blocker وعدم بدء grouped repair. لا ترفع الحدود لتجاوز evidence غير المتغيرة.
41
+
- يجب أن تتقارب عمليات review repair. ترث task downstream التي تعدل ملفات مشتركة التزامات regression من upstream المتعدية. تمثل الجولتان الافتراضيتان عتبة تقارب. يستمر التنفيذ عندما تتغير structured finding IDs، ولا يستمر المعرف الثابت إلا عند تغير structured finding fingerprint وcode snapshot المصرح بهما معا. في continuous mode تحصل مجموعة findings المتوقفة للـ task أو final review على strategy escalation دائمة واحدة مرتبطة بالـ scope والمعرفات نفسها؛ نفذ packet إعادة تحليل root cause وfocused regression مرة واحدة، ثم توقف إذا بقيت المجموعة نفسها متوقفة. يحتفظ strict mode بالحد المضبوط. عندما تكون final review بحالة `BLOCKED` يجب التوقف لحل blocker وعدم بدء grouped repair. لا ترفع الحدود لتكرار عمل لم يتغير.
42
42
- يجب أن يكون انتظار native child محدوداً في كل harness. يعيد `wait_agent` في Codex/GPT وpolling لـ Claude Task وأي native wait آخر التحكم خلال 60 ثانية؛ هذا حد poll واحدة للـ controller وليس حد تشغيل child. حدّث كل child حي قبل `heartbeatDueAt`، وعند الاكتمال استخدم `loop finalize` الصادر مع action لحفظ evidence وresult ذرياً، ثم أعد tick بعد كل poll. يمكن للـ child الاستمرار عبر عدة polls حتى action deadline، وتوجد result grace محدودة بعد اكتمال evidence. عند غياب capacity يستخدم implementation التوازي الافتراضي وهو ثلاث مهام من دون تقليل توازي review الآمن. إذا كان harness يعرف بثقة capacity حالية أكبر للـ child فيمكنه ربطها بجلسة controller النشطة ورفع `maxParallel` وفقاً لذلك؛ لا تخمّن capacity ولا تعِد استخدام قيمة قديمة.
43
43
- تجدد كل controller poll ناجحة ومحدودة lease القصيرة لـ child حي ومطالب به من دون تمديد absolute deadline. ويمكن لـ poll تصل خلال نافذة wait محدودة قدرها 60 ثانية بعد حد lease القصيرة أن تجدد نفس item المطالب به؛ تبقى النتائج المتأخرة المباشرة مرفوضة، وتنتهي items المفقودة فعلا، ولا يتحرك absolute deadline. يجب تنفيذ prerequisite review المفقودة قبل إعادة محاولة dependent work القابل للإعادة. لا يقبل cross-task finding paths إضافية إلا إذا كانت مملوكة لمهام مكتملة ومعلنة في task graph؛ جمّد scope الكامل وأعد review للمالكين المتغيرين. ما دام أي cross-task owner مسجل غير معتمد، تسبق review أو repair الخاصة به أي implementation جديد أو retryable worker، مع بقاء reviewers الآخرين غير المتعارضين متوازيين. قبل full Docker Compose rebuild من دون أسماء خدمات، اقرأ release guidance للمشروع واستخدم أسماء خدمات صريحة عند وجود خدمات غير مرتبطة.
44
44
- عند بدء أو استئناف active change واحد، استخدم `ospec execute bootstrap [changes/active/<change>]` لكتابة `artifacts/agents/bootstrap.json` و`artifacts/agents/bootstrap.md` مع project session brief snapshot، ثم اتبع الإجراء الآمن التالي المسجل فيه
Copy file name to clipboardExpand all lines: assets/for-ai/en-US/execution-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
@@ -40,7 +40,7 @@ tags: [ai, protocol, ospec]
40
40
- For goals, derive `artifacts/agents/task-graph.json` from `implementation-plan.md`; each task must include id, status, dependencies, parallel safety, conflicts, target files, verification commands, expected result, and worker role. Set `parallelizable: true` for every task whose `target_files` do not overlap another ready task's and that has no dependency on it, so OSpec dispatches them as one parallel batch and the goal runs faster; only leave `parallelizable: false` when tasks share files or genuinely depend on each other, and record `serial_reason` plus `conflicts_with`. Do not default everything to `parallelizable: false`; record `maxParallelReason` when explicitly limiting a safe graph to one worker. Split tasks with more than six `target_files`, or add a concrete `scope_reason` when one atomic verification boundary requires that breadth.
41
41
- L3 allowlists use secure replacement semantics. Prefer `ospec loop allowlist derive/check/apply --from-task-graph`; review the CAS-bound diff and explicitly approve intended expansions. Never assume repeated `loop configure --allow-*` calls append.
42
42
- Specialist document review must converge. Consume the prior findings sidecar and resolution evidence, then review the complete current document. The default round/time values are convergence thresholds: a new structured finding-ID set may continue automatically, while a repeated or cycling set stops. Cache/pending reuse and recovery of the same dispatch do not consume a round; `--force` never bypasses Loop lifetime, token, STOP, no-progress, context, or executor-provenance guards. Strict mode retains the exact user-authorized extra-round window.
43
-
- Review repair must converge. A downstream task that shares files inherits transitive upstream regression obligations. The default two-round values are convergence thresholds. Continue when structured finding IDs change. A stable ID may also continue only when both its structured finding fingerprint and its prior authorized repair-scope code snapshot changed; wording-only or code-only churn, exact repeats, and cycles stop. A blocked final review stops for blocker resolution; it never enters grouped repair. Do not raise a limit to bypass unchanged evidence.
43
+
- Review repair must converge. A downstream task that shares files inherits transitive upstream regression obligations. The default two-round values are convergence thresholds. Continue when structured finding IDs change. A stable ID may also continue only when both its structured finding fingerprint and its prior authorized repair-scope code snapshot changed. In continuous mode, stalled task or final findings receive one durable strategy escalation for that exact scope and finding-ID set; execute its root-cause and focused-regression packet once, then stop if the same set remains stalled. Strict mode retains the configured limit. A blocked final review stops for blocker resolution; it never enters grouped repair. Do not raise a limit to repeat unchanged evidence.
44
44
- Native child waiting is bounded on every harness. Codex/GPT `wait_agent`, Claude Task polling, and other native waits return within 60 seconds; this limits one controller poll, not the child runtime. Refresh every live child before `heartbeatDueAt`, persist each completed result with its emitted `loop finalize` command, and re-tick after every poll. A live child may continue across polls up to its action deadline, and evidence-complete work receives a bounded result grace period. Unknown capacity uses the default implementation concurrency of three without reducing safe review parallelism. A harness that authoritatively knows a larger current child capacity may report it for the active controller session and raise `maxParallel` accordingly; never guess or reuse stale capacity.
45
45
- A successful bounded controller poll renews the short lease for an already-claimed live child without extending its absolute deadline. A poll arriving within one bounded 60-second wait after the short-lease boundary may renew that same claimed item; direct late results remain rejected, genuinely abandoned items still expire, and the absolute deadline never moves. Retryable dependent work must schedule missing prerequisite reviews before worker retry. Cross-task finding scope is valid only when every additional path belongs to a declared completed task; freeze the complete scope and re-review changed owners. While any recorded cross-task owner lacks approval, its review or repair precedes new implementation and retryable worker work, while other conflict-safe reviewers may remain parallel. Before any unscoped full Docker Compose rebuild, inspect project release guidance and prefer explicit service names when unrelated services exist.
46
46
- When starting or resuming one active change, use `ospec execute bootstrap [changes/active/<change>]` to write `artifacts/agents/bootstrap.json` and `artifacts/agents/bootstrap.md` with the project session brief snapshot, then follow its next safe action
0 commit comments