@zq-silk/yui 0.8.9 → 0.10.0

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.
Files changed (51) hide show
  1. package/ARCHITECTURE.md +48 -46
  2. package/README.md +72 -42
  3. package/dist/cli/commandCatalog.js +16 -8
  4. package/dist/cli.js +27 -32
  5. package/dist/commands/executionAuditCommands.js +2 -2
  6. package/dist/commands/globalRoleCommands.js +0 -12
  7. package/dist/commands/sessionCommands.js +116 -0
  8. package/dist/commands/taskBaseCommands.js +1 -11
  9. package/dist/commands/taskCommands.js +123 -340
  10. package/dist/commands/taskCompletionGate.js +15 -12
  11. package/dist/commands/taskContextCommand.js +18 -11
  12. package/dist/commands/taskNextActionCommand.js +4 -5
  13. package/dist/commands/taskWorkspaceCommands.js +2 -2
  14. package/dist/controller/clientRuntime.js +65 -0
  15. package/dist/controller/fileSchedulerStoreAdapter.js +2 -49
  16. package/dist/doctor/doctor.js +16 -12
  17. package/dist/execution/executionGroup.js +0 -3
  18. package/dist/executor/agentAdapter.js +39 -42
  19. package/dist/executor/agentExecutor.js +4 -2
  20. package/dist/executor/codexConfigConflict.js +40 -16
  21. package/dist/executor/effectiveLaunch.js +33 -3
  22. package/dist/executor/fileRoleLaunchPlanner.js +15 -24
  23. package/dist/integration/deliveryObligation.js +72 -0
  24. package/dist/integration/gitIntegrationService.js +1 -1
  25. package/dist/lifecycle/exactRunTerminalization.js +12 -8
  26. package/dist/observability/orchestrationMetrics.js +12 -26
  27. package/dist/profile/agentProfile.js +1 -1
  28. package/dist/repository/taskBaseFreshness.js +5 -11
  29. package/dist/repository/taskWorkspaceCoordinator.js +2 -0
  30. package/dist/repository/taskWorkspacePreparer.js +173 -26
  31. package/dist/review/reviewRound.js +41 -24
  32. package/dist/role/role.js +0 -9
  33. package/dist/runtime/{firstProgressStopLoss.js → firstProgressAdvisory.js} +7 -21
  34. package/dist/scheduler/leaderWakeupProcessor.js +0 -25
  35. package/dist/setup/setupCommand.js +0 -5
  36. package/dist/storage/migration/productionRegistry.js +138 -0
  37. package/dist/storage/sqliteStore.js +2 -1
  38. package/dist/storage/taskStore.js +27 -27
  39. package/dist/storage/upgrade/upgradeOrchestrator.js +35 -7
  40. package/dist/task/completionReadiness.js +35 -25
  41. package/dist/task/nextAction.js +70 -78
  42. package/dist/task/task.js +12 -19
  43. package/dist/web/assets/client/components.js +3 -1
  44. package/dist/web/assets/client/i18n.js +6 -0
  45. package/dist/web/webSnapshot.js +0 -3
  46. package/i18n/README.zh-CN.md +33 -24
  47. package/package.json +1 -1
  48. package/skills/yui-leader/SKILL.md +55 -52
  49. package/skills/yui-operator/SKILL.md +31 -40
  50. package/skills/yui-reviewer/SKILL.md +18 -12
  51. package/skills/yui-worker/SKILL.md +5 -3
@@ -10,12 +10,9 @@ making Task decisions. Recover authority from its Snapshot and deltas, never
10
10
  from launch text or transcript memory.
11
11
 
12
12
  Own Task direction, decomposition, semantic decisions, acceptance, integration,
13
- and durable context. Yui has one work model: every bounded outcome is a
14
- WorkItem. Choose one of three execution paths for each WorkItem:
15
-
16
- 1. execute it directly as this Leader;
17
- 2. create a native subagent inside this Leader's current Agent conversation;
18
- 3. dispatch it to a Task Role and its independently managed AgentRun.
13
+ and durable context. The Task is the bounded user outcome. A WorkItem is only
14
+ one substantial, independently acceptable requirement with a distinct owner;
15
+ it is not the default container for every edit, check, finding, or repair.
19
16
 
20
17
  Do not invent another execution entity or a `yui ... subagent` command.
21
18
 
@@ -33,16 +30,18 @@ workspace or infer a Lane result from a non-durable checkout.
33
30
 
34
31
  ## Default to the Leader-first fast path
35
32
 
36
- Start from the Task's recorded delivery path:
33
+ Start from Task intent and make the topology decision yourself:
37
34
 
38
- - **Direct**: for a low-risk Project Task, implement, commit, and verify in the
39
- managed Task main. Do not create a WorkItem, ChangeSet, IntegrationAttempt,
40
- Worker Role, or managed ReviewRound merely to leave more records.
41
- - **Integrated**: create one roleless WorkItem for the bounded result. Keep its
42
- investigation, implementation, targeted checks, and ordinary review fixes
43
- together. Split only for independently acceptable ownership or real parallel
44
- value; a phase name is not a reason to create another WorkItem, Role,
45
- Session, Run, Message, or Input.
35
+ - **Bugfix**: own it in the Leader Session and managed Task main. Implement,
36
+ commit, and verify promptly without creating a WorkItem or Worker Role. If
37
+ investigation proves that independent delivery owners are actually needed,
38
+ update the Task to `feature` before creating those WorkItems. Request one
39
+ Task-final Review only when risk warrants independent verification.
40
+ - **Feature**: own a small feature the same way. Create WorkItems only when the
41
+ feature contains multiple substantial requirements that different Workers
42
+ can own and advance independently, normally in parallel. One WorkItem per
43
+ owner/delivery boundary is the goal—not one per phase, file, implementation
44
+ step, test, finding, or fix.
46
45
 
47
46
  Choose the executor in this order:
48
47
 
@@ -56,23 +55,24 @@ Choose the executor in this order:
56
55
  unavailable to the current Agent, or an independently managed Session and
57
56
  Run lifecycle.
58
57
 
59
- Do not dispatch a Task Role merely to obtain a fresh context, run a command,
58
+ Do not create or dispatch a WorkItem merely to obtain a fresh context, run a command,
60
59
  perform a routine small edit, or add an intermediate review. Direct and native
61
60
  execution add no Worker Role, Worker Yui Session, or Worker AgentRun. The exact
62
61
  Leader Run remains active until an explicit Yui yield, completion, or exact
63
62
  failure; native child lifecycle never decides that Run outcome. Task main is
64
- the direct path's durable delivery boundary; the WorkItem and its workspace are
65
- the integrated path's boundary.
63
+ the Leader-owned durable delivery boundary; the WorkItem and its workspace are
64
+ an independently owned requirement's boundary.
66
65
 
67
66
  Provider-native foreground and background child lifecycle stays owned by the
68
67
  current Agent Session. Structured child completion notifications may resume the
69
68
  Leader in later provider Turns while the same Yui AgentRun remains active.
70
69
 
71
- A direct Project result uses a clean committed Task main and exact completion
72
- head proof. An integrated result uses one WorkItem-owned Develop workspace and
73
- a clean committed Candidate; Candidate, ChangeSet, committed Integration,
70
+ A Leader-owned Project result uses a clean committed Task main and exact
71
+ completion-head proof. A WorkItem result uses its own Develop workspace and a
72
+ clean committed Candidate; Candidate, ChangeSet, committed Integration,
74
73
  acceptance, Task-final Review when required, and Task completion remain
75
- distinct judgments and records.
74
+ distinct judgments and records. Integrate every accepted WorkItem result into
75
+ the single Task main before reviewing or completing the whole Task.
76
76
 
77
77
  Use this validation and review cadence unless Project Policy requires more:
78
78
 
@@ -82,16 +82,15 @@ Use this validation and review cadence unless Project Policy requires more:
82
82
  2. Have a native child return one consolidated result for the requested round.
83
83
  The Leader inspects that result, the diff, and the acceptance criteria; do
84
84
  not create progress handoffs or poll the child.
85
- 3. For direct delivery, run Project Policy's complete local delivery validation
86
- once on the final Task-main commit, then complete. Use a bounded native
87
- review when useful. If an independently managed final Review is required,
88
- promote to integrated before Task main advances. An already established
89
- immutable final Review remains binding.
90
- 4. For integrated delivery, capture the Candidate and run the complete delivery
91
- validation once on the Integration candidate. Use one independent Task-final
92
- Review of the frozen committed heads when policy requires it; do not
93
- substitute per-WorkItem ReviewRounds or repeat a successful full check on an
94
- unchanged commit.
85
+ 3. For Leader-owned delivery, run Project Policy's complete local validation
86
+ once on the final Task-main commit, then complete or request one Task-final
87
+ Review when risk warrants it. An established immutable final Review remains
88
+ binding.
89
+ 4. For WorkItem delivery, capture each Candidate and run complete delivery
90
+ validation once on the Integration candidate. After all results are on Task
91
+ main, request one independent Task-final Review when risk or contract
92
+ requires it; do not substitute per-WorkItem ReviewRounds or repeat a
93
+ successful full check on an unchanged commit.
95
94
 
96
95
  Yui may reuse a successful Integration check only for the same Task, Project,
97
96
  exact candidate commit, ordered check commands, immutable runtime release, and
@@ -116,15 +115,14 @@ children through adapter metadata, and routes a later result reference through
116
115
  the durable inbox. Do not poll, send a waiting Message, rewrite a checkpoint,
117
116
  or yield merely to preserve that native wait.
118
117
 
119
- Before the first durable Leader action, Yui permits at most one automatic
120
- same-Session Provider continuation. If two fresh Leader generations still
121
- produce no WorkItem, Review, Integration, or Leader-attributed durable event,
122
- the Controller stops before a third generation, marks recovery failed, and
123
- hands the exact evidence to the unique global Operator. Do not bypass that
124
- stop-loss by manufacturing another Role, Run, Session, or Task. The Operator
125
- must inspect the failure and explicitly recover or change the configured
126
- Leader; after first durable progress, ordinary bounded Provider retry policy
127
- continues to apply.
118
+ Before the first durable Leader action, Yui observes fresh native generations
119
+ that produce no WorkItem, Review, Integration, or Leader-attributed durable
120
+ event. Two such generations create a non-blocking orchestration advisory for
121
+ Leader and Operator judgment; they do not fail the Role, reduce the configured
122
+ Provider retry policy, or prevent another useful generation. Read the evidence
123
+ before retrying, then choose whether to continue, change the configured Leader,
124
+ or perform direct maintenance without manufacturing protocol records merely to
125
+ silence the advisory.
128
126
 
129
127
  Native child results have an explicit durability boundary. A native subagent is
130
128
  best-effort by default: its result returns through the parent Conversation, and
@@ -532,16 +530,21 @@ authorized expansions.
532
530
  terminal. Never bypass an active round.
533
531
  - `leader`: decide whether the existing evidence is sufficient. Request Agent
534
532
  review with `yui task work review <work-id>` when it adds useful evidence.
535
- - `final`: for normal software delivery, keep WorkItem acceptance and
536
- integration independent, then request one fresh ReviewRound over the frozen,
537
- integrated Task candidate before completing the Task. The final Reviewer
538
- evaluates the complete result across bound Projects; it is not a second
539
- per-WorkItem approval protocol.
533
+ - `final`: keep WorkItem acceptance and integration independent. After all
534
+ results are integrated into Task main, decide whether risk warrants one
535
+ Task-final ReviewRound over the frozen Task candidate. A Task contract may
536
+ require it. The final Reviewer evaluates the complete result across bound
537
+ Projects; it is not a second per-WorkItem approval protocol.
538
+ - A changed Task head creates a new semantic Task-final Round. Reuse the same
539
+ compatible Reviewer Role Session and stable workspace when Yui offers it;
540
+ do not create a new Role or native Session for every Round. Round identity
541
+ still binds each Run to the exact frozen head.
540
542
  - A completed review is advice. Decide whether to accept, reject, review again,
541
543
  or ask the user.
542
544
  - Route a reachable final-Review finding to the original Worker while that
543
- WorkItem is open; otherwise create the smallest Repair WorkItem. Resolve
544
- all findings from one final Review in one consolidated Repair WorkItem by
545
+ WorkItem is open; otherwise fix a small local issue as Leader on Task main.
546
+ Create a Repair WorkItem only when the repair is itself a substantial,
547
+ independently owned requirement. Keep related findings in that one unit by
545
548
  default. Select `task review finding repair-wave --strategy parallel` only
546
549
  when the groups have independently acceptable ownership and the concurrency
547
550
  benefit exceeds the added Integration and Review cost. Use Leader/Integration
@@ -726,10 +729,10 @@ results are outstanding: the provider owns their completion notifications, and
726
729
  Yui keeps this AgentRun active across intermediate provider Turns. After native
727
730
  work drains, continue to Task completion, InputRequest, or final yield.
728
731
 
729
- Complete only after the selected delivery path's evidence is satisfied, Role
730
- work is terminal, latest isolated results are integrated or deliberately
731
- abandoned, and user inputs are resolved. Direct delivery has no WorkItem gate;
732
- integrated delivery retains it. Task completion is a semantic boundary: it
732
+ Complete only after the topology-derived evidence is satisfied, Role work is
733
+ terminal, latest isolated results are integrated or deliberately abandoned,
734
+ and user inputs are resolved. A Leader-owned Task has no WorkItem gate; a Task
735
+ with WorkItems must settle and integrate them. Task completion is a semantic boundary: it
733
736
  records exact Project heads, reports terminal-workspace cleanup advisories, and
734
737
  notifies the global Operator. It does not stop this Leader. Do not kill tmux
735
738
  panes, edit Session records, or add a provider-specific cleanup step. After
@@ -111,9 +111,9 @@ completion, failure, and rollback are all independent and it can run in parallel
111
111
  without waiting on or controlling another Task. Same repository, same file, or a
112
112
  potential Git conflict is neutral to Task identity; let rebase, merge, and
113
113
  review handle independent changes instead of merging the Tasks. One bounded
114
- outcome may bind multiple Projects and independent base refs. A feature, bug
115
- fix, and question do not need separate Task types; intent and acceptance
116
- criteria carry the difference.
114
+ outcome may bind multiple Projects and independent base refs. Task type records
115
+ Project-defined intent such as `feature` or `bugfix`; it does not determine
116
+ Task identity or execution topology.
117
117
 
118
118
  The Task title is the human-facing label used in Agent session lists. Keep it to
119
119
  one concise outcome phrase, ideally within 20 characters. Put request details,
@@ -126,7 +126,7 @@ yui operator submit "<related request>" --task <task-id>
126
126
  yui task create "<distinct mission>" \
127
127
  --project <project-a> --project <project-b> \
128
128
  --base <project-a>=<ref> --base <project-b>=<ref> \
129
- --delivery integrated
129
+ --type feature
130
130
  yui operator submit "<request and routing context>" --task <new-task-id>
131
131
  yui task activate <new-task-id>
132
132
  ```
@@ -145,25 +145,21 @@ separate Tasks merely because it spans several Projects or files. A Task may
145
145
  carry many features and rounds of WorkItems toward its shared outcome, but it is
146
146
  not a permanent backlog; genuinely independent goals become their own Tasks.
147
147
 
148
- Choose the Project delivery path before activation and report it with the Task:
149
-
150
- - `--delivery direct` for one bounded, low-risk outcome that Project Policy
151
- allows the Leader to implement and verify on Task main. Direct delivery does
152
- not require a WorkItem, ChangeSet, IntegrationAttempt, or policy-created
153
- managed ReviewRound; it still requires a clean committed managed Task main.
154
- - `--delivery integrated` when Project Policy requires independent provenance,
155
- Integration CAS, or final Review, and whenever the change crosses Projects,
156
- storage/migration, permission or authorization, destructive behavior,
157
- concurrency/recovery invariants, or release machinery. It requires the
158
- WorkItem, ChangeSet, and committed Integration evidence chain.
159
- - Omit `--delivery` only for a Task with no Project bindings. The legacy
160
- `--require-integration` flag remains an alias for `--delivery integrated`.
161
-
162
- Risk is a Leader/Project Policy judgment, not a file-count score. When evidence
163
- changes the risk, promotion from direct to integrated is explicit and
164
- irreversible; never silently downgrade an integrated Task to make completion
165
- easier. Do not pre-create WorkItems merely because integrated delivery might
166
- become necessary later.
148
+ Record Project-defined Task intent and leave execution topology to the Leader.
149
+ For software Projects, use `--type bugfix` or `--type feature`. A bugfix is
150
+ Leader-owned; if it expands into independently owned delivery requirements,
151
+ the Leader reclassifies it as a feature before creating WorkItems. For a
152
+ feature, the Leader decides whether to own the whole result on Task main or
153
+ create substantial WorkItems for different Workers. Never choose a WorkItem
154
+ count at routing time merely from file count, risk labels, or a desire for more
155
+ progress records.
156
+
157
+ Do not create WorkItems for investigation notes, implementation steps, tests,
158
+ review rounds, findings, or small fixes. A WorkItem is justified only when it
159
+ has its own meaningful requirement, owner, acceptance boundary, and useful
160
+ independent progress—normally enough work for a different Worker to advance in
161
+ parallel. Integration evidence is derived later from WorkItems that actually
162
+ produce isolated Git results.
167
163
 
168
164
  Managed workspaces are owner-keyed, not Role-keyed: Task main, WorkItem
169
165
  Develop, ReviewRound, and IntegrationAttempt each retain their own durable
@@ -178,16 +174,11 @@ outcome: keep it on the original Task, submit only the delta and its reason, and
178
174
  let the Leader retire the affected WorkItem, optionally name its replacement,
179
175
  and create the replacement. When a change instead abandons the current outcome for an
180
176
  independent one, do not force it onto the original Task; apply the strict
181
- new-Task rule above. If the delta promotes a Project-backed direct Task into
182
- guarded delivery, first run
183
- `yui task update <task-id> --delivery integrated`, read back the delivery path,
184
- and only then submit the delta. Promotion is allowed only while Task main is
185
- still at its recorded base and no WorkItem, ChangeSet, Integration, or Review
186
- evidence exists. If implementation already advanced Task main, keep the branch
187
- intact and either finish under the direct contract or create an integrated
188
- replacement Task; never manufacture provenance for earlier commits. Bind a
189
- Project before selecting a delivery path
190
- for a previously Gitless Task. When a completed Task
177
+ new-Task rule above. If the delta changes the request kind, update the optional
178
+ Task type and submit the delta; the Leader then re-evaluates topology from the
179
+ current Task state without manufacturing WorkItems or provenance for earlier
180
+ commits. Bind a Project before execution when a previously Gitless Task gains
181
+ repository scope. When a completed Task
191
182
  receives genuinely new work, reopen it only if it is still the same outcome;
192
183
  otherwise create a follow-up Task and reference the earlier result.
193
184
 
@@ -302,8 +293,9 @@ terminal text. For progress, report:
302
293
  - current Brief focus, latest Milestone, blockers, and open InputRequests.
303
294
 
304
295
  Worker yield is not completion. Describe a result as awaiting Leader review
305
- until it is accepted; do not report isolated code as delivered before its latest
306
- ChangeSet is integrated.
296
+ until it is accepted. Report code as delivered only when the governing
297
+ Candidate's current ChangeSet is committed; a superseded disposition settles
298
+ the workflow without claiming that version was delivered.
307
299
 
308
300
  ## Enter and administer
309
301
 
@@ -349,11 +341,10 @@ ChangeSet is integrated.
349
341
  Run, Agent, receipt, launch, and Session identities; never reconstruct them
350
342
  from terminal text or ask the user to paste them.
351
343
  - Retry only an explicitly failed recovery Job.
352
- - When a Leader first-progress stop-loss is reported, inspect its two exact
353
- native generations and absence of durable progress. Do not request a third
354
- automatic generation or create another Operator. Recover the existing Task
355
- only after choosing an explicit valid Leader configuration or a direct
356
- maintenance action.
344
+ - When a Leader first-progress advisory is reported, inspect its native
345
+ generations and absence of durable progress. It is cost evidence rather than
346
+ a recovery gate: choose whether another generation, a different configured
347
+ Leader, or direct maintenance is the smallest useful next action.
357
348
  - Use `yui task next-action <task>` and `yui execution audit` orchestration
358
349
  advisories as read-only cost evidence. They may flag excess WorkItems,
359
350
  repeated Reviews/checks, pre-progress generations, or terminal workspaces;
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yui-reviewer
3
- description: Review the exact frozen WorkItem Candidate or Task-final Integration scope without changing delivery sources.
3
+ description: Review the exact frozen WorkItem Candidate or unified Task-final scope without changing delivery sources.
4
4
  ---
5
5
 
6
6
  # Yui Reviewer
@@ -13,11 +13,16 @@ Review only the exact frozen scope and ReviewRound assigned by the Leader; never
13
13
  reinterpret its scope:
14
14
 
15
15
  - For a WorkItem ReviewRound, inspect that Round's exact frozen Candidate.
16
- - For a Task-final ReviewRound, inspect the exact frozen committed Integration
17
- heads supplied by that Round.
16
+ - For a Task-final ReviewRound, inspect the exact frozen Task-main heads
17
+ supplied directly by that Round. It has no synthetic WorkItem or Candidate
18
+ anchor.
18
19
 
19
- A Role is an executor, not a workspace owner: the ReviewRound owns its fresh
20
- workspace. Review edits are confined to that workspace, never modify the
20
+ A Role is an executor, not a workspace owner: each ReviewRound owns an exact
21
+ workspace record. Consecutive Task-final Rounds for the same Reviewer may
22
+ reassign one clean physical workspace and continue the same compatible native
23
+ Session. Treat the new Run Context Pack and frozen head as the authority even
24
+ when the conversation continues; never reuse an earlier verdict. Review edits
25
+ are confined to that workspace, never modify the
21
26
  WorkItem Develop workspace, and never become a ChangeSet source.
22
27
 
23
28
  ## Separate infrastructure failure from review judgment
@@ -68,17 +73,18 @@ not accept the WorkItem or complete the Task. Preserve the ReviewRound record
68
73
  and explicitly clean its workspace after the round is terminal.
69
74
 
70
75
  For normal software delivery, follow the applicable Project Policy. The
71
- Leader's default policy schedules one
72
- independent Task-final Review of the frozen committed Integration result before
73
- completion instead of scheduling a complete ReviewRound for every WorkItem.
76
+ Leader decides whether risk warrants one independent Task-final Review of the
77
+ frozen Task result instead of scheduling a complete ReviewRound for every WorkItem.
74
78
  That scheduling policy does not authorize a Reviewer to decline or reinterpret
75
79
  an explicitly or risk-triggered WorkItem ReviewRound already assigned to it.
76
80
  Reuse the supplied validation evidence and run only checks needed to close a
77
81
  specific gap; do not rerun an unchanged complete suite for ceremony.
78
82
 
79
83
  Return each reachable finding to the Leader with direct evidence and a bounded
80
- route to the original execution unit: direct Leader work returns to the Leader,
84
+ route to the original execution unit: Leader-owned work returns to the Leader,
81
85
  native work to the same child, and managed work to the same Role and native
82
- Session. Keep the existing WorkItem when its scope remains open; if the frozen
83
- final-review boundary requires a repair, recommend only the smallest repair
84
- WorkItem. Never capture or integrate the ReviewRound's diagnostic workspace.
86
+ Session. Keep the existing WorkItem when its scope remains open. For a small
87
+ Task-main fix, return it to the Leader without recommending another WorkItem;
88
+ recommend a Repair WorkItem only when the repair is itself a substantial,
89
+ independently owned requirement. Never capture or integrate the ReviewRound's
90
+ diagnostic workspace.
@@ -9,7 +9,7 @@ Follow `yui-runtime` first. For a managed Run, load its exact Context Pack and
9
9
  use only the returned WorkItem, refs, workspace, writable Project IDs, and
10
10
  completion actions. The launch Envelope is a pointer, not an execution brief.
11
11
 
12
- Complete only the assigned bounded WorkItem. The Leader owns Task direction,
12
+ Complete only the assigned substantial, independently owned WorkItem. The Leader owns Task direction,
13
13
  decomposition, acceptance, integration, scope expansion, and conflict
14
14
  decisions. A Worker must not create or rebind Yui worktrees, Sessions, Roles,
15
15
  Runs, WorkItems, ReviewRounds, or integration state.
@@ -31,7 +31,9 @@ pack.
31
31
  ## Execute within the exact boundary
32
32
 
33
33
  - Preserve the Task, WorkItem, Role, Run, native Session, and workspace
34
- identities supplied by Yui.
34
+ identities supplied by Yui. A new Run is another attempt or continuation of
35
+ the same delivery unit; do not request a fresh Role or Session merely because
36
+ implementation entered another step or repair round.
35
37
  - Follow the configured Profile's responsibilities, constraints, access
36
38
  intent, Skills, and expected output. Report unsupported model or effort
37
39
  hints instead of claiming they were applied.
@@ -56,7 +58,7 @@ authority.
56
58
  ## Validate proportionately
57
59
 
58
60
  Keep investigation, implementation, the smallest targeted check, and ordinary
59
- finding fixes in one coherent WorkItem round. Run checks that can catch the
61
+ finding fixes in one coherent WorkItem. Run checks that can catch the
60
62
  changed behavior; do not repeat an unchanged successful check. Follow Project
61
63
  Policy for required validation and state passed, failed, and intentionally
62
64
  skipped checks honestly.