@polderlabs/bizar-omp 0.2.0 → 0.3.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 (77) hide show
  1. package/README.md +30 -4
  2. package/agents/bizar-architect.md +1 -1
  3. package/agents/bizar-docs.md +1 -1
  4. package/agents/bizar-implementer.md +1 -1
  5. package/agents/bizar-planner.md +1 -1
  6. package/agents/bizar-researcher.md +1 -1
  7. package/agents/bizar-reviewer.md +1 -1
  8. package/agents/bizar-security-reviewer.md +1 -1
  9. package/agents/bizar-verifier.md +1 -1
  10. package/dist/cli/doctor.d.ts +4 -4
  11. package/dist/cli/install.js +2 -2
  12. package/dist/extension.d.ts +17 -0
  13. package/dist/extension.d.ts.map +1 -1
  14. package/dist/extension.js +60 -12
  15. package/dist/extension.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/omp/autonomous-settings.d.ts +0 -5
  21. package/dist/omp/autonomous-settings.d.ts.map +1 -1
  22. package/dist/omp/autonomous-settings.js +1 -5
  23. package/dist/omp/autonomous-settings.js.map +1 -1
  24. package/dist/omp/compatibility.d.ts +4 -4
  25. package/dist/omp/compatibility.js +1 -1
  26. package/dist/omp/config.d.ts.map +1 -1
  27. package/dist/omp/config.js +2 -1
  28. package/dist/omp/config.js.map +1 -1
  29. package/dist/omp/model-role-assignment.d.ts +62 -0
  30. package/dist/omp/model-role-assignment.d.ts.map +1 -0
  31. package/dist/omp/model-role-assignment.js +92 -0
  32. package/dist/omp/model-role-assignment.js.map +1 -0
  33. package/dist/omp/model-roles.d.ts +11 -3
  34. package/dist/omp/model-roles.d.ts.map +1 -1
  35. package/dist/omp/model-roles.js +2 -1
  36. package/dist/omp/model-roles.js.map +1 -1
  37. package/docs/compatibility/baseline.json +2 -2
  38. package/docs/compatibility/phase-0-report.md +1 -1
  39. package/docs/compatibility/supported-surfaces.json +1 -1
  40. package/docs/releases/0.3.0.md +9 -0
  41. package/docs/releases/native-stable.md +1 -1
  42. package/docs/releases/npm-publishing.md +1 -1
  43. package/docs/releases/support-matrix.md +1 -1
  44. package/package.json +2 -1
  45. package/skills/omp-native-development/SKILL.md +111 -0
  46. package/skills/omp-native-development/agents/openai.yaml +4 -0
  47. package/skills/omp-native-development/assets/native-role-pack/agent-names.example.json +8 -0
  48. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-implementer.md +12 -0
  49. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-planner.md +12 -0
  50. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-researcher.md +12 -0
  51. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-reviewer.md +12 -0
  52. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-security-reviewer.md +12 -0
  53. package/skills/omp-native-development/assets/native-role-pack/agents/bizar-verifier.md +12 -0
  54. package/skills/omp-native-development/assets/native-role-pack/bindings.json +8 -0
  55. package/skills/omp-native-development/assets/native-role-pack/config.fragment.json +10 -0
  56. package/skills/omp-native-development/assets/native-role-pack/config.fragment.yml +13 -0
  57. package/skills/omp-native-development/assets/native-role-probe.ts +37 -0
  58. package/skills/omp-native-development/assets/tests/acceptance-matrix.json +802 -0
  59. package/skills/omp-native-development/assets/tests/native-role-contract.test.ts +96 -0
  60. package/skills/omp-native-development/references/accuracy-and-versioning.md +63 -0
  61. package/skills/omp-native-development/references/agent-and-model-roles.md +158 -0
  62. package/skills/omp-native-development/references/bizar-integration-contract.md +100 -0
  63. package/skills/omp-native-development/references/bundle-validation.json +54 -0
  64. package/skills/omp-native-development/references/developer-handoff.md +126 -0
  65. package/skills/omp-native-development/references/execution-and-lifecycle.md +74 -0
  66. package/skills/omp-native-development/references/extensions-and-packaging.md +82 -0
  67. package/skills/omp-native-development/references/native-validation-matrix.md +96 -0
  68. package/skills/omp-native-development/references/official-docs-index.md +174 -0
  69. package/skills/omp-native-development/references/offline-test-results.txt +43 -0
  70. package/skills/omp-native-development/references/research-and-test-status.md +31 -0
  71. package/skills/omp-native-development/references/sessions-sdk-rpc.md +59 -0
  72. package/skills/omp-native-development/references/settings-providers-security.md +69 -0
  73. package/skills/omp-native-development/references/source-manifest.json +1359 -0
  74. package/skills/omp-native-development/references/tools-and-capabilities.md +59 -0
  75. package/skills/omp-native-development/scripts/audit_role_config.py +167 -0
  76. package/skills/omp-native-development/scripts/omp_docs.py +252 -0
  77. package/skills/omp-native-development/scripts/test_tools.py +222 -0
@@ -0,0 +1,802 @@
1
+ {
2
+ "schema_version": 1,
3
+ "cases": [
4
+ {
5
+ "id": "Q01",
6
+ "area": "Qualification",
7
+ "scenario": "Fingerprint the real target",
8
+ "required_outcome": "Record package/binary integrity, commit when available, Bun, OS, mode, profile and cwd; distinguish main from a same-version release.",
9
+ "status": "NOT_RUN",
10
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
11
+ "source_paths": [
12
+ "docs/extension-loading.md",
13
+ "docs/skills.md",
14
+ "docs/task-agent-discovery.md"
15
+ ]
16
+ },
17
+ {
18
+ "id": "Q02",
19
+ "area": "Qualification",
20
+ "scenario": "Clean native install and discovery",
21
+ "required_outcome": "All expected extension tools, commands, agents and skills appear once from their intended sources.",
22
+ "status": "NOT_RUN",
23
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
24
+ "source_paths": [
25
+ "docs/extension-loading.md",
26
+ "docs/skills.md",
27
+ "docs/task-agent-discovery.md"
28
+ ]
29
+ },
30
+ {
31
+ "id": "Q03",
32
+ "area": "Qualification",
33
+ "scenario": "Import and reload",
34
+ "required_outcome": "Factory import performs registration only; reload produces no duplicate callbacks, timers or model calls.",
35
+ "status": "NOT_RUN",
36
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
37
+ "source_paths": [
38
+ "docs/extension-loading.md",
39
+ "docs/skills.md",
40
+ "docs/task-agent-discovery.md"
41
+ ]
42
+ },
43
+ {
44
+ "id": "Q04",
45
+ "area": "Qualification",
46
+ "scenario": "Project agent shadowing",
47
+ "required_outcome": "The exact-name project definition wins; diagnostics identify the effective source.",
48
+ "status": "NOT_RUN",
49
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
50
+ "source_paths": [
51
+ "docs/extension-loading.md",
52
+ "docs/skills.md",
53
+ "docs/task-agent-discovery.md"
54
+ ]
55
+ },
56
+ {
57
+ "id": "Q05",
58
+ "area": "Qualification",
59
+ "scenario": "Case-sensitive identities",
60
+ "required_outcome": "Different agent names retain exact native matching; a case typo cannot silently route elsewhere.",
61
+ "status": "NOT_RUN",
62
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
63
+ "source_paths": [
64
+ "docs/extension-loading.md",
65
+ "docs/skills.md",
66
+ "docs/task-agent-discovery.md"
67
+ ]
68
+ },
69
+ {
70
+ "id": "Q06",
71
+ "area": "Qualification",
72
+ "scenario": "Skill autoload",
73
+ "required_outcome": "The discovered skill is injected into a real child; missing/filtered skill is detected by Bizar qualification despite native silent-ignore behavior.",
74
+ "status": "NOT_RUN",
75
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
76
+ "source_paths": [
77
+ "docs/extension-loading.md",
78
+ "docs/skills.md",
79
+ "docs/task-agent-discovery.md"
80
+ ]
81
+ },
82
+ {
83
+ "id": "R01",
84
+ "area": "Roles",
85
+ "scenario": "Built-ins and custom roles",
86
+ "required_outcome": "The target built-in list and configured custom roles are supported; no obsolete hard-coded role inventory.",
87
+ "status": "NOT_RUN",
88
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
89
+ "source_paths": [
90
+ "docs/task-agent-discovery.md",
91
+ "docs/models.md",
92
+ "docs/settings.md",
93
+ "packages/coding-agent/src/config/model-resolver.ts"
94
+ ]
95
+ },
96
+ {
97
+ "id": "R02",
98
+ "area": "Roles",
99
+ "scenario": "Alias chains",
100
+ "required_outcome": "Configured custom role chains resolve through native helpers; original explicit role identity is retained.",
101
+ "status": "NOT_RUN",
102
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
103
+ "source_paths": [
104
+ "docs/task-agent-discovery.md",
105
+ "docs/models.md",
106
+ "docs/settings.md",
107
+ "packages/coding-agent/src/config/model-resolver.ts"
108
+ ]
109
+ },
110
+ {
111
+ "id": "R03",
112
+ "area": "Roles",
113
+ "scenario": "Agent override precedence",
114
+ "required_outcome": "task.agentModelOverrides wins over the agent frontmatter selector in actual child execution.",
115
+ "status": "NOT_RUN",
116
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
117
+ "source_paths": [
118
+ "docs/task-agent-discovery.md",
119
+ "docs/models.md",
120
+ "docs/settings.md",
121
+ "packages/coding-agent/src/config/model-resolver.ts"
122
+ ]
123
+ },
124
+ {
125
+ "id": "R04",
126
+ "area": "Roles",
127
+ "scenario": "Agent default precedence",
128
+ "required_outcome": "Without a settings override, the qualified frontmatter role resolves before the applicable parent fallback.",
129
+ "status": "NOT_RUN",
130
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
131
+ "source_paths": [
132
+ "docs/task-agent-discovery.md",
133
+ "docs/models.md",
134
+ "docs/settings.md",
135
+ "packages/coding-agent/src/config/model-resolver.ts"
136
+ ]
137
+ },
138
+ {
139
+ "id": "R05",
140
+ "area": "Roles",
141
+ "scenario": "Active main model versus custom roles",
142
+ "required_outcome": "Changing only the main selection does not silently remap unrelated custom roles.",
143
+ "status": "NOT_RUN",
144
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
145
+ "source_paths": [
146
+ "docs/task-agent-discovery.md",
147
+ "docs/models.md",
148
+ "docs/settings.md",
149
+ "packages/coding-agent/src/config/model-resolver.ts"
150
+ ]
151
+ },
152
+ {
153
+ "id": "R06",
154
+ "area": "Roles",
155
+ "scenario": "Default agent inheritance",
156
+ "required_outcome": "Singleton default aliases preserve the native active-session inheritance behavior.",
157
+ "status": "NOT_RUN",
158
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
159
+ "source_paths": [
160
+ "docs/task-agent-discovery.md",
161
+ "docs/models.md",
162
+ "docs/settings.md",
163
+ "packages/coding-agent/src/config/model-resolver.ts"
164
+ ]
165
+ },
166
+ {
167
+ "id": "R07",
168
+ "area": "Roles",
169
+ "scenario": "Task-role inheritance",
170
+ "required_outcome": "Configured @task and unconfigured @task cases match native resolution, rather than a Bizar approximation.",
171
+ "status": "NOT_RUN",
172
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
173
+ "source_paths": [
174
+ "docs/task-agent-discovery.md",
175
+ "docs/models.md",
176
+ "docs/settings.md",
177
+ "packages/coding-agent/src/config/model-resolver.ts"
178
+ ]
179
+ },
180
+ {
181
+ "id": "R08",
182
+ "area": "Roles",
183
+ "scenario": "Legacy and default aliases",
184
+ "required_outcome": "Supported pi/role and * spellings retain native semantics; new configuration prefers @role.",
185
+ "status": "NOT_RUN",
186
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
187
+ "source_paths": [
188
+ "docs/task-agent-discovery.md",
189
+ "docs/models.md",
190
+ "docs/settings.md",
191
+ "packages/coding-agent/src/config/model-resolver.ts"
192
+ ]
193
+ },
194
+ {
195
+ "id": "R09",
196
+ "area": "Roles",
197
+ "scenario": "Selector grammar",
198
+ "required_outcome": "Colon-bearing IDs, effort suffixes and supported upstream routing are parsed by the native target.",
199
+ "status": "NOT_RUN",
200
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
201
+ "source_paths": [
202
+ "docs/task-agent-discovery.md",
203
+ "docs/models.md",
204
+ "docs/settings.md",
205
+ "packages/coding-agent/src/config/model-resolver.ts"
206
+ ]
207
+ },
208
+ {
209
+ "id": "R10",
210
+ "area": "Roles",
211
+ "scenario": "Role cycles",
212
+ "required_outcome": "Native cycle/fallback behavior is measured; stricter Bizar lint is identified as Bizar policy.",
213
+ "status": "NOT_RUN",
214
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
215
+ "source_paths": [
216
+ "docs/task-agent-discovery.md",
217
+ "docs/models.md",
218
+ "docs/settings.md",
219
+ "packages/coding-agent/src/config/model-resolver.ts"
220
+ ]
221
+ },
222
+ {
223
+ "id": "R11",
224
+ "area": "Roles",
225
+ "scenario": "Unavailable required role",
226
+ "required_outcome": "A missing/unavailable required model produces an explicit diagnosis or approved native fallback; no hidden arbitrary Bizar model.",
227
+ "status": "NOT_RUN",
228
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
229
+ "source_paths": [
230
+ "docs/task-agent-discovery.md",
231
+ "docs/models.md",
232
+ "docs/settings.md",
233
+ "packages/coding-agent/src/config/model-resolver.ts"
234
+ ]
235
+ },
236
+ {
237
+ "id": "R12",
238
+ "area": "Roles",
239
+ "scenario": "Live config reload",
240
+ "required_outcome": "Role and agent changes made during a session affect the next native preflight, or trigger explicit strict-profile readmission.",
241
+ "status": "NOT_RUN",
242
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
243
+ "source_paths": [
244
+ "docs/task-agent-discovery.md",
245
+ "docs/models.md",
246
+ "docs/settings.md",
247
+ "packages/coding-agent/src/config/model-resolver.ts"
248
+ ]
249
+ },
250
+ {
251
+ "id": "R13",
252
+ "area": "Roles",
253
+ "scenario": "Config layers",
254
+ "required_outcome": "Global, cwd-project, ordered overlays and runtime overrides retain native precedence; records merge and arrays replace.",
255
+ "status": "NOT_RUN",
256
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
257
+ "source_paths": [
258
+ "docs/task-agent-discovery.md",
259
+ "docs/models.md",
260
+ "docs/settings.md",
261
+ "packages/coding-agent/src/config/model-resolver.ts"
262
+ ]
263
+ },
264
+ {
265
+ "id": "R14",
266
+ "area": "Roles",
267
+ "scenario": "Role persistence destination",
268
+ "required_outcome": "Native project role storage works without turning all settings writes into project writes.",
269
+ "status": "NOT_RUN",
270
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
271
+ "source_paths": [
272
+ "docs/task-agent-discovery.md",
273
+ "docs/models.md",
274
+ "docs/settings.md",
275
+ "packages/coding-agent/src/config/model-resolver.ts"
276
+ ]
277
+ },
278
+ {
279
+ "id": "R15",
280
+ "area": "Roles",
281
+ "scenario": "Profiles and relocated roots",
282
+ "required_outcome": "Profile/agent-directory changes do not leak roles or credentials between runs.",
283
+ "status": "NOT_RUN",
284
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
285
+ "source_paths": [
286
+ "docs/task-agent-discovery.md",
287
+ "docs/models.md",
288
+ "docs/settings.md",
289
+ "packages/coding-agent/src/config/model-resolver.ts"
290
+ ]
291
+ },
292
+ {
293
+ "id": "R16",
294
+ "area": "Roles",
295
+ "scenario": "Role-specific retry identity",
296
+ "required_outcome": "Fallback uses the original selected role; receipts also record the actual effective model.",
297
+ "status": "NOT_RUN",
298
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
299
+ "source_paths": [
300
+ "docs/task-agent-discovery.md",
301
+ "docs/models.md",
302
+ "docs/settings.md",
303
+ "packages/coding-agent/src/config/model-resolver.ts"
304
+ ]
305
+ },
306
+ {
307
+ "id": "R17",
308
+ "area": "Roles",
309
+ "scenario": "Authentication fallback",
310
+ "required_outcome": "Missing primary auth and parent-auth fallback are visible; strict approved-provider/local-only policy is enforced before data leaves the boundary or declared unsupported.",
311
+ "status": "NOT_RUN",
312
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
313
+ "source_paths": [
314
+ "docs/task-agent-discovery.md",
315
+ "docs/models.md",
316
+ "docs/settings.md",
317
+ "packages/coding-agent/src/config/model-resolver.ts"
318
+ ]
319
+ },
320
+ {
321
+ "id": "R18",
322
+ "area": "Roles",
323
+ "scenario": "Keyless local models",
324
+ "required_outcome": "A native keyless provider is not mistaken for broken authentication or silently routed remote.",
325
+ "status": "NOT_RUN",
326
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
327
+ "source_paths": [
328
+ "docs/task-agent-discovery.md",
329
+ "docs/models.md",
330
+ "docs/settings.md",
331
+ "packages/coding-agent/src/config/model-resolver.ts"
332
+ ]
333
+ },
334
+ {
335
+ "id": "R19",
336
+ "area": "Roles",
337
+ "scenario": "Disabled provider and scope",
338
+ "required_outcome": "Native model/discovery disable rules and model scope are preserved, with the correct source/provider namespace.",
339
+ "status": "NOT_RUN",
340
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
341
+ "source_paths": [
342
+ "docs/task-agent-discovery.md",
343
+ "docs/models.md",
344
+ "docs/settings.md",
345
+ "packages/coding-agent/src/config/model-resolver.ts"
346
+ ]
347
+ },
348
+ {
349
+ "id": "R20",
350
+ "area": "Roles",
351
+ "scenario": "Optional effort schema",
352
+ "required_outcome": "effort is present/absent with task.enableEffort and is not passed to a schema that does not expose it.",
353
+ "status": "NOT_RUN",
354
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
355
+ "source_paths": [
356
+ "docs/task-agent-discovery.md",
357
+ "docs/models.md",
358
+ "docs/settings.md",
359
+ "packages/coding-agent/src/config/model-resolver.ts"
360
+ ]
361
+ },
362
+ {
363
+ "id": "R21",
364
+ "area": "Roles",
365
+ "scenario": "Effort caps and model transitions",
366
+ "required_outcome": "Coarse effort maps to actual supported levels and caps survive fallback; no invented universal high/max support.",
367
+ "status": "NOT_RUN",
368
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
369
+ "source_paths": [
370
+ "docs/task-agent-discovery.md",
371
+ "docs/models.md",
372
+ "docs/settings.md",
373
+ "packages/coding-agent/src/config/model-resolver.ts"
374
+ ]
375
+ },
376
+ {
377
+ "id": "R22",
378
+ "area": "Roles",
379
+ "scenario": "Per-agent service tiers",
380
+ "required_outcome": "Exact-name override precedes subagent default; unsupported families, inherit, same/cross-family fallback and persisted empty maps are tested.",
381
+ "status": "NOT_RUN",
382
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
383
+ "source_paths": [
384
+ "docs/task-agent-discovery.md",
385
+ "docs/models.md",
386
+ "docs/settings.md",
387
+ "packages/coding-agent/src/config/model-resolver.ts"
388
+ ]
389
+ },
390
+ {
391
+ "id": "R23",
392
+ "area": "Roles",
393
+ "scenario": "Prewalk",
394
+ "required_outcome": "Off/on/custom overrides, missing targets, exact no-op, same-model effort downgrade and actual model-change receipts are correct.",
395
+ "status": "NOT_RUN",
396
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
397
+ "source_paths": [
398
+ "docs/task-agent-discovery.md",
399
+ "docs/models.md",
400
+ "docs/settings.md",
401
+ "packages/coding-agent/src/config/model-resolver.ts"
402
+ ]
403
+ },
404
+ {
405
+ "id": "R24",
406
+ "area": "Roles",
407
+ "scenario": "Advisor",
408
+ "required_outcome": "Child defaults, explicit overrides, selected role, cancellation and revival persistence follow native behavior.",
409
+ "status": "NOT_RUN",
410
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
411
+ "source_paths": [
412
+ "docs/task-agent-discovery.md",
413
+ "docs/models.md",
414
+ "docs/settings.md",
415
+ "packages/coding-agent/src/config/model-resolver.ts"
416
+ ]
417
+ },
418
+ {
419
+ "id": "R25",
420
+ "area": "Roles",
421
+ "scenario": "User-tagged models",
422
+ "required_outcome": "m1-style branch-local identities remain generic tagged-model requests; no unwanted specialist substitution or cross-session persistence.",
423
+ "status": "NOT_RUN",
424
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
425
+ "source_paths": [
426
+ "docs/task-agent-discovery.md",
427
+ "docs/models.md",
428
+ "docs/settings.md",
429
+ "packages/coding-agent/src/config/model-resolver.ts"
430
+ ]
431
+ },
432
+ {
433
+ "id": "R26",
434
+ "area": "Roles",
435
+ "scenario": "Vibe parity",
436
+ "required_outcome": "fast/sonic and good/task model overrides work; service-tier behavior is not falsely assumed identical to task/eval.",
437
+ "status": "NOT_RUN",
438
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
439
+ "source_paths": [
440
+ "docs/task-agent-discovery.md",
441
+ "docs/models.md",
442
+ "docs/settings.md",
443
+ "packages/coding-agent/src/config/model-resolver.ts"
444
+ ]
445
+ },
446
+ {
447
+ "id": "R27",
448
+ "area": "Roles",
449
+ "scenario": "Gateway capabilities",
450
+ "required_outcome": "Real OmniRoute/provider IDs, endpoint format, context limits, image/tool support and hidden backend identity are qualified or explicitly unknown.",
451
+ "status": "NOT_RUN",
452
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
453
+ "source_paths": [
454
+ "docs/task-agent-discovery.md",
455
+ "docs/models.md",
456
+ "docs/settings.md",
457
+ "packages/coding-agent/src/config/model-resolver.ts"
458
+ ]
459
+ },
460
+ {
461
+ "id": "R28",
462
+ "area": "Roles",
463
+ "scenario": "Non-destructive initialization",
464
+ "required_outcome": "Existing native and Bizar mappings, tags, cycles, provider settings and tiers survive setup unchanged unless an explicit diff is approved.",
465
+ "status": "NOT_RUN",
466
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
467
+ "source_paths": [
468
+ "docs/task-agent-discovery.md",
469
+ "docs/models.md",
470
+ "docs/settings.md",
471
+ "packages/coding-agent/src/config/model-resolver.ts"
472
+ ]
473
+ },
474
+ {
475
+ "id": "E01",
476
+ "area": "Execution",
477
+ "scenario": "Native task shape",
478
+ "required_outcome": "No public per-call model field; context and per-item agent/output fields match the target flat/batch schema.",
479
+ "status": "NOT_RUN",
480
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
481
+ "source_paths": [
482
+ "docs/tools/task.md",
483
+ "docs/extensions.md",
484
+ "packages/coding-agent/src/task/structured-subagent.ts"
485
+ ]
486
+ },
487
+ {
488
+ "id": "E02",
489
+ "area": "Execution",
490
+ "scenario": "Async acknowledgement",
491
+ "required_outcome": "Spawn acknowledgement and empty results never mark a worker complete.",
492
+ "status": "NOT_RUN",
493
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
494
+ "source_paths": [
495
+ "docs/tools/task.md",
496
+ "docs/extensions.md",
497
+ "packages/coding-agent/src/task/structured-subagent.ts"
498
+ ]
499
+ },
500
+ {
501
+ "id": "E03",
502
+ "area": "Execution",
503
+ "scenario": "Mixed batch",
504
+ "required_outcome": "Blocking results and ongoing async jobs are reconciled independently; partial spawn failures are not lost.",
505
+ "status": "NOT_RUN",
506
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
507
+ "source_paths": [
508
+ "docs/tools/task.md",
509
+ "docs/extensions.md",
510
+ "packages/coding-agent/src/task/structured-subagent.ts"
511
+ ]
512
+ },
513
+ {
514
+ "id": "E04",
515
+ "area": "Execution",
516
+ "scenario": "Strict outputs",
517
+ "required_outcome": "Schema validation, missing yield, failed/aborted children and partial results cannot become successful evidence.",
518
+ "status": "NOT_RUN",
519
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
520
+ "source_paths": [
521
+ "docs/tools/task.md",
522
+ "docs/extensions.md",
523
+ "packages/coding-agent/src/task/structured-subagent.ts"
524
+ ]
525
+ },
526
+ {
527
+ "id": "E05",
528
+ "area": "Execution",
529
+ "scenario": "Task capture-only isolation",
530
+ "required_outcome": "Managed native task writers return artifacts without premature application.",
531
+ "status": "NOT_RUN",
532
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
533
+ "source_paths": [
534
+ "docs/tools/task.md",
535
+ "docs/extensions.md",
536
+ "packages/coding-agent/src/task/structured-subagent.ts"
537
+ ]
538
+ },
539
+ {
540
+ "id": "E06",
541
+ "area": "Execution",
542
+ "scenario": "Eval capture-only isolation",
543
+ "required_outcome": "Explicit supported eval apply:false is verified independently of task.isolation.apply; alternate paths cannot bypass advertised policy.",
544
+ "status": "NOT_RUN",
545
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
546
+ "source_paths": [
547
+ "docs/tools/task.md",
548
+ "docs/extensions.md",
549
+ "packages/coding-agent/src/task/structured-subagent.ts"
550
+ ]
551
+ },
552
+ {
553
+ "id": "E07",
554
+ "area": "Execution",
555
+ "scenario": "Workpool coverage",
556
+ "required_outcome": "Workpool behavior is qualified separately; unsupported managed-writer paths are visibly excluded, not silently advertised as equivalent.",
557
+ "status": "NOT_RUN",
558
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
559
+ "source_paths": [
560
+ "docs/tools/task.md",
561
+ "docs/extensions.md",
562
+ "packages/coding-agent/src/task/structured-subagent.ts"
563
+ ]
564
+ },
565
+ {
566
+ "id": "E08",
567
+ "area": "Execution",
568
+ "scenario": "Cancellation and settlement",
569
+ "required_outcome": "Cancel terminates owned work and bounded repair; terminal/idle checks do not deadlock inside awaited event callbacks.",
570
+ "status": "NOT_RUN",
571
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
572
+ "source_paths": [
573
+ "docs/tools/task.md",
574
+ "docs/extensions.md",
575
+ "packages/coding-agent/src/task/structured-subagent.ts"
576
+ ]
577
+ },
578
+ {
579
+ "id": "E09",
580
+ "area": "Execution",
581
+ "scenario": "Revival differences",
582
+ "required_outcome": "Non-isolated revival and non-revivable completed isolation have distinct correct follow-up paths.",
583
+ "status": "NOT_RUN",
584
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
585
+ "source_paths": [
586
+ "docs/tools/task.md",
587
+ "docs/extensions.md",
588
+ "packages/coding-agent/src/task/structured-subagent.ts"
589
+ ]
590
+ },
591
+ {
592
+ "id": "E10",
593
+ "area": "Execution",
594
+ "scenario": "Native event visibility",
595
+ "required_outcome": "Required lifecycle data is observed from the real extension/SDK context; internal-only events are not assumed public.",
596
+ "status": "NOT_RUN",
597
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
598
+ "source_paths": [
599
+ "docs/tools/task.md",
600
+ "docs/extensions.md",
601
+ "packages/coding-agent/src/task/structured-subagent.ts"
602
+ ]
603
+ },
604
+ {
605
+ "id": "E11",
606
+ "area": "Execution",
607
+ "scenario": "Same-name delegation",
608
+ "required_outcome": "invokeTool is used only for the supported same-name built-in delegation contract.",
609
+ "status": "NOT_RUN",
610
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
611
+ "source_paths": [
612
+ "docs/tools/task.md",
613
+ "docs/extensions.md",
614
+ "packages/coding-agent/src/task/structured-subagent.ts"
615
+ ]
616
+ },
617
+ {
618
+ "id": "S01",
619
+ "area": "Sessions",
620
+ "scenario": "Concurrent main sessions",
621
+ "required_outcome": "Independent AgentRegistry/session bindings prevent model, callback and state cross-talk.",
622
+ "status": "NOT_RUN",
623
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
624
+ "source_paths": [
625
+ "docs/sdk.md",
626
+ "docs/extensions.md",
627
+ "docs/session.md",
628
+ "docs/rpc.md"
629
+ ]
630
+ },
631
+ {
632
+ "id": "S02",
633
+ "area": "Sessions",
634
+ "scenario": "Restricted tools",
635
+ "required_outcome": "toolNames versus restrictToolNames and custom-tool exceptions behave as declared; no unsupported sandbox claim.",
636
+ "status": "NOT_RUN",
637
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
638
+ "source_paths": [
639
+ "docs/sdk.md",
640
+ "docs/extensions.md",
641
+ "docs/session.md",
642
+ "docs/rpc.md"
643
+ ]
644
+ },
645
+ {
646
+ "id": "S03",
647
+ "area": "Sessions",
648
+ "scenario": "Branch and compaction state",
649
+ "required_outcome": "Current-branch state reconstructs correctly; stale evidence from another branch cannot authorize completion.",
650
+ "status": "NOT_RUN",
651
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
652
+ "source_paths": [
653
+ "docs/sdk.md",
654
+ "docs/extensions.md",
655
+ "docs/session.md",
656
+ "docs/rpc.md"
657
+ ]
658
+ },
659
+ {
660
+ "id": "S04",
661
+ "area": "Sessions",
662
+ "scenario": "Tool evidence taxonomy",
663
+ "required_outcome": "toolResult roles and toolCall blocks are parsed correctly without substituting snake_case hook names.",
664
+ "status": "NOT_RUN",
665
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
666
+ "source_paths": [
667
+ "docs/sdk.md",
668
+ "docs/extensions.md",
669
+ "docs/session.md",
670
+ "docs/rpc.md"
671
+ ]
672
+ },
673
+ {
674
+ "id": "S05",
675
+ "area": "Sessions",
676
+ "scenario": "SDK disposal and retry drain",
677
+ "required_outcome": "Correct root exports, shared auth instance, waitForIdle and dispose semantics; retry events are not lost at teardown.",
678
+ "status": "NOT_RUN",
679
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
680
+ "source_paths": [
681
+ "docs/sdk.md",
682
+ "docs/extensions.md",
683
+ "docs/session.md",
684
+ "docs/rpc.md"
685
+ ]
686
+ },
687
+ {
688
+ "id": "S06",
689
+ "area": "Sessions",
690
+ "scenario": "RPC and UI modes",
691
+ "required_outcome": "Workflow correctness works without TUI widgets; RPC acknowledgements, UI subsets and disconnect behavior are tested.",
692
+ "status": "NOT_RUN",
693
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
694
+ "source_paths": [
695
+ "docs/sdk.md",
696
+ "docs/extensions.md",
697
+ "docs/session.md",
698
+ "docs/rpc.md"
699
+ ]
700
+ },
701
+ {
702
+ "id": "G01",
703
+ "area": "Integration",
704
+ "scenario": "Serialized integration",
705
+ "required_outcome": "Only one qualified integration path mutates the target; expected base and artifact hashes are checked.",
706
+ "status": "NOT_RUN",
707
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
708
+ "source_paths": [
709
+ "docs/tools/task.md",
710
+ "docs/non-compaction-retry-policy.md"
711
+ ]
712
+ },
713
+ {
714
+ "id": "G02",
715
+ "area": "Integration",
716
+ "scenario": "Dirty tree and partial failures",
717
+ "required_outcome": "Stash/cherry-pick/patch conflict states are reconciled from actual Git state without deleting unrelated work.",
718
+ "status": "NOT_RUN",
719
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
720
+ "source_paths": [
721
+ "docs/tools/task.md",
722
+ "docs/non-compaction-retry-policy.md"
723
+ ]
724
+ },
725
+ {
726
+ "id": "G03",
727
+ "area": "Integration",
728
+ "scenario": "Fresh proof after merge",
729
+ "required_outcome": "Verification is tied to the integrated candidate; source-branch success alone does not pass the objective.",
730
+ "status": "NOT_RUN",
731
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
732
+ "source_paths": [
733
+ "docs/tools/task.md",
734
+ "docs/non-compaction-retry-policy.md"
735
+ ]
736
+ },
737
+ {
738
+ "id": "G04",
739
+ "area": "Integration",
740
+ "scenario": "Irreversible-action recovery",
741
+ "required_outcome": "Restart reconciles push/publish/deploy outcomes instead of blindly replaying mutations.",
742
+ "status": "NOT_RUN",
743
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
744
+ "source_paths": [
745
+ "docs/tools/task.md",
746
+ "docs/non-compaction-retry-policy.md"
747
+ ]
748
+ },
749
+ {
750
+ "id": "P01",
751
+ "area": "Security",
752
+ "scenario": "Secret hygiene",
753
+ "required_outcome": "Config inspection, role reports, model changes, logs and evidence never expose credentials or secret command outputs.",
754
+ "status": "NOT_RUN",
755
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
756
+ "source_paths": [
757
+ "docs/settings.md",
758
+ "docs/extensions.md",
759
+ "docs/approval-mode.md"
760
+ ]
761
+ },
762
+ {
763
+ "id": "P02",
764
+ "area": "Security",
765
+ "scenario": "Containment claims",
766
+ "required_outcome": "Tools, eval, shell, LSP and native isolation boundaries are accurately described and separately tested where adversarial isolation is required.",
767
+ "status": "NOT_RUN",
768
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
769
+ "source_paths": [
770
+ "docs/settings.md",
771
+ "docs/extensions.md",
772
+ "docs/approval-mode.md"
773
+ ]
774
+ },
775
+ {
776
+ "id": "P03",
777
+ "area": "Security",
778
+ "scenario": "Untrusted reference content",
779
+ "required_outcome": "Repository text, retrieved docs and child outputs cannot grant authorization or rewrite operator policy.",
780
+ "status": "NOT_RUN",
781
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
782
+ "source_paths": [
783
+ "docs/settings.md",
784
+ "docs/extensions.md",
785
+ "docs/approval-mode.md"
786
+ ]
787
+ },
788
+ {
789
+ "id": "P04",
790
+ "area": "Security",
791
+ "scenario": "Reversible migration",
792
+ "required_outcome": "Existing legacy/current configuration and state are preserved; ownership-aware rollback refuses to overwrite later user changes.",
793
+ "status": "NOT_RUN",
794
+ "qualification": "Native/Bizar acceptance scenario; not proved by offline utility unit tests.",
795
+ "source_paths": [
796
+ "docs/settings.md",
797
+ "docs/extensions.md",
798
+ "docs/approval-mode.md"
799
+ ]
800
+ }
801
+ ]
802
+ }