oxe-cc 1.12.0 → 1.16.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.
- package/.github/dependabot.yml +31 -0
- package/.github/workflows/ci.yml +141 -56
- package/.github/workflows/release.yml +114 -89
- package/CHANGELOG.md +866 -754
- package/README.md +600 -736
- package/bin/lib/oxe-agent-install.cjs +299 -284
- package/bin/lib/oxe-artifact-catalog.cjs +376 -0
- package/bin/lib/oxe-command-registry.cjs +31 -0
- package/bin/lib/oxe-context-engine.cjs +11 -11
- package/bin/lib/oxe-core-command-handlers.cjs +82 -0
- package/bin/lib/oxe-dashboard.cjs +140 -140
- package/bin/lib/oxe-manifest.cjs +20 -20
- package/bin/lib/oxe-npm-version.cjs +6 -4
- package/bin/lib/oxe-plugin-cli.cjs +95 -0
- package/bin/lib/oxe-plugins.cjs +94 -3
- package/bin/lib/oxe-process.cjs +67 -0
- package/bin/lib/oxe-project-health.cjs +2846 -2781
- package/bin/lib/oxe-runtime-semantics.cjs +68 -69
- package/bin/oxe-cc.js +369 -353
- package/docs/INTEGRATION.md +182 -0
- package/docs/QUALITY-GATES.md +46 -0
- package/docs/RELEASE-READINESS.md +86 -61
- package/docs/RUNTIME-SMOKE-MATRIX.md +137 -135
- package/docs/oxe-artifact-map.html +1172 -0
- package/lib/sdk/index.cjs +20 -0
- package/lib/sdk/index.d.ts +971 -876
- package/lib/sdk/index.types.ts +933 -0
- package/oxe/templates/PLUGINS.md +8 -1
- package/oxe/templates/STATE-REFERENCE.md +125 -0
- package/oxe/templates/STATE.md +11 -121
- package/oxe/workflows/help.md +2 -0
- package/package.json +129 -108
- package/packages/runtime/package.json +18 -18
- package/packages/runtime/src/evidence/evidence-store.ts +2 -2
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +728 -728
- package/packages/runtime/src/workspace/strategies/git-worktree.ts +24 -24
- package/packages/runtime/tsconfig.json +8 -2
- package/vscode-extension/.vscodeignore +2 -0
- package/vscode-extension/package.json +193 -185
- package/vscode-extension/src/extension.js +11 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,754 +1,866 @@
|
|
|
1
|
-
# Changelog — OXE CLI (`oxe-cc`)
|
|
2
|
-
|
|
3
|
-
Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudanças mais recentes aparecem primeiro.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## [1.
|
|
8
|
-
|
|
9
|
-
###
|
|
10
|
-
|
|
11
|
-
Esta
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
- **
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- `
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- `.oxe
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- `
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
- novo
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
####
|
|
161
|
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
|
|
229
|
-
####
|
|
230
|
-
|
|
231
|
-
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
- `
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
-
|
|
260
|
-
- `
|
|
261
|
-
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
- `
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
- `
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
###
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
-
|
|
294
|
-
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
- `
|
|
318
|
-
- `
|
|
319
|
-
- `
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
-
|
|
339
|
-
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
- `
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
-
|
|
360
|
-
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
- `
|
|
371
|
-
- `
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
- `
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
-
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
-
|
|
396
|
-
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
- `
|
|
401
|
-
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
-
|
|
406
|
-
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
-
|
|
425
|
-
-
|
|
426
|
-
|
|
427
|
-
###
|
|
428
|
-
|
|
429
|
-
-
|
|
430
|
-
-
|
|
431
|
-
-
|
|
432
|
-
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
-
|
|
446
|
-
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
###
|
|
454
|
-
|
|
455
|
-
-
|
|
456
|
-
-
|
|
457
|
-
-
|
|
458
|
-
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
-
|
|
472
|
-
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
-
|
|
477
|
-
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
- `
|
|
482
|
-
- `
|
|
483
|
-
- `
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
- `
|
|
492
|
-
-
|
|
493
|
-
-
|
|
494
|
-
- `
|
|
495
|
-
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
- `
|
|
502
|
-
-
|
|
503
|
-
- `
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
- `
|
|
510
|
-
- `
|
|
511
|
-
- `
|
|
512
|
-
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
- `
|
|
517
|
-
-
|
|
518
|
-
- `
|
|
519
|
-
- `
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
-
|
|
524
|
-
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
-
|
|
533
|
-
-
|
|
534
|
-
- `
|
|
535
|
-
- `
|
|
536
|
-
- `
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
-
|
|
542
|
-
-
|
|
543
|
-
-
|
|
544
|
-
-
|
|
545
|
-
|
|
546
|
-
###
|
|
547
|
-
|
|
548
|
-
-
|
|
549
|
-
-
|
|
550
|
-
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
**
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
-
|
|
568
|
-
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
-
|
|
604
|
-
-
|
|
605
|
-
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
-
|
|
615
|
-
- `
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
- `
|
|
631
|
-
- `
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
- `
|
|
636
|
-
- `
|
|
637
|
-
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
- `
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
- `
|
|
647
|
-
- `
|
|
648
|
-
- `
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
-
|
|
661
|
-
-
|
|
662
|
-
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
- `
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
- `
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
- `
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
-
|
|
696
|
-
-
|
|
697
|
-
-
|
|
698
|
-
-
|
|
699
|
-
-
|
|
700
|
-
-
|
|
701
|
-
|
|
702
|
-
-
|
|
703
|
-
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
-
|
|
707
|
-
-
|
|
708
|
-
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
-
|
|
716
|
-
- `oxe
|
|
717
|
-
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
-
|
|
731
|
-
-
|
|
732
|
-
-
|
|
733
|
-
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
-
|
|
743
|
-
-
|
|
744
|
-
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
-
|
|
748
|
-
- `
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
1
|
+
# Changelog — OXE CLI (`oxe-cc`)
|
|
2
|
+
|
|
3
|
+
Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudanças mais recentes aparecem primeiro.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## [1.16.0] — 2026-07-18
|
|
8
|
+
|
|
9
|
+
### Segurança, pacote verificável e engenharia de release
|
|
10
|
+
|
|
11
|
+
Esta versão consolida o OXE-BUILD como framework multi-runtime orientado por
|
|
12
|
+
evidências, com foco em segurança de subprocessos, consumo real do pacote,
|
|
13
|
+
qualidade mensurável e releases reproduzíveis.
|
|
14
|
+
|
|
15
|
+
- **Executor seguro e multiplataforma** — invocações de `npm` e `npx` foram
|
|
16
|
+
centralizadas com argumentos estruturados e `shell: false`, incluindo
|
|
17
|
+
resolução explícita de `npm-cli.js`/`npx-cli.js` no Windows e testes contra
|
|
18
|
+
payloads hostis.
|
|
19
|
+
- **Portabilidade comprovada em Windows e Linux** — resolução de caminhos
|
|
20
|
+
Windows usa semântica `win32` mesmo quando simulada em outro host; mocks do
|
|
21
|
+
Azure CLI e instalações globais de agentes passaram a ser herméticos, e o
|
|
22
|
+
OpenCode recebe também a entrada raiz `oxe.md`.
|
|
23
|
+
- **CLI modular** — dispatch de comandos separado em registry e handlers
|
|
24
|
+
testáveis, reduzindo o acoplamento do entrypoint sem alterar a interface
|
|
25
|
+
pública.
|
|
26
|
+
- **Pacote validado como um consumidor real** — o gate cria o tarball, instala
|
|
27
|
+
em projeto temporário limpo e exercita CLI, SDK, runtime e compilação
|
|
28
|
+
TypeScript.
|
|
29
|
+
- **npm workspaces e lockfile único** — raiz, runtime e extensão usam a mesma
|
|
30
|
+
resolução; o lockfile aninhado obsoleto do runtime foi removido.
|
|
31
|
+
- **SDK types gerados pelo TypeScript** — `index.d.ts` passa a ser emissão
|
|
32
|
+
determinística de `index.types.ts`, com gate de drift e validação da ABI
|
|
33
|
+
pública.
|
|
34
|
+
- **Coverage ratchet** — pisos globais e de módulos críticos são executáveis e
|
|
35
|
+
não podem ser reduzidos abaixo do baseline versionado.
|
|
36
|
+
- **Extensão validada no VS Code real** — o Extension Host 1.95.3 comprova a
|
|
37
|
+
ativação e o registro observável dos 13 participantes OXE; o VSIX é gerado
|
|
38
|
+
por uma versão fixa do `vsce`.
|
|
39
|
+
- **Supply chain endurecida** — GitHub Actions fixadas por SHA, Dependabot,
|
|
40
|
+
permissões mínimas, actionlint, tag vinculada à versão e GitHub Release
|
|
41
|
+
condicionada ao build do VSIX.
|
|
42
|
+
- **Publicação npm manual nesta release** — a criação da tag gera validação e
|
|
43
|
+
GitHub Release, mas não executa `npm publish`; a promoção ao registry fica
|
|
44
|
+
sob controle explícito do mantenedor.
|
|
45
|
+
- **Quality telemetry** — relatório JSON/Markdown exige os 10 gates, rejeita
|
|
46
|
+
gates ausentes, duplicados ou inesperados e invalida evidências antigas.
|
|
47
|
+
- **README redesenhado** — proposta de valor, quickstart, fluxos Nano/Standard/
|
|
48
|
+
Full, runtime-first, adoção por equipes e métricas verificáveis agora formam
|
|
49
|
+
uma narrativa única e orientada ao uso.
|
|
50
|
+
|
|
51
|
+
### Evidência da release
|
|
52
|
+
|
|
53
|
+
- 10/10 quality gates aprovados.
|
|
54
|
+
- 384/384 testes do runtime e mais de 600 testes raiz.
|
|
55
|
+
- 30/30 cenários smoke, runtime real, recovery e multiagente.
|
|
56
|
+
- Cobertura: 83,06% lines/statements, 92,63% functions e 61,77% branches.
|
|
57
|
+
- `npm audit`: 0 vulnerabilidades.
|
|
58
|
+
- Tarball npm: 506 arquivos; VSIX: 13 participantes ativados em host real.
|
|
59
|
+
|
|
60
|
+
## [1.15.0] — 2026-06-27
|
|
61
|
+
|
|
62
|
+
### `.oxe/` enxuto no install + mapa vivo de artefatos
|
|
63
|
+
|
|
64
|
+
Resposta ao feedback de que a quantidade de pastas criadas no install era grande
|
|
65
|
+
demais e dificultava entender o fluxo versus o que de fato foi/será criado.
|
|
66
|
+
|
|
67
|
+
- **Lazy scaffolding** — `oxe-cc init-oxe`/`install` agora cria só o núcleo
|
|
68
|
+
essencial: `.oxe/STATE.md`, `.oxe/config.json` e `.oxe/README.md` (legenda
|
|
69
|
+
gerada). As ~13 subpastas e os arquivos operacionais (`codebase/`,
|
|
70
|
+
`capabilities/`, `investigations/`, `global/`, `sessions/`, `memory/`,
|
|
71
|
+
`runs/`, `EXECUTION-RUNTIME.md`, `ACTIVE-RUN.json`, `OXE-EVENTS.ndjson`,
|
|
72
|
+
`CHECKPOINTS.md`, `CAPABILITIES.md`, `INVESTIGATIONS.md`, …) passam a nascer
|
|
73
|
+
**sob demanda**, no primeiro uso do workflow correspondente.
|
|
74
|
+
- **Catálogo único de artefatos** (`bin/lib/oxe-artifact-catalog.cjs`) — fonte
|
|
75
|
+
da verdade que descreve cada artefato do `.oxe/` (path, propósito, origem,
|
|
76
|
+
grupo) e da qual derivam legenda, mapa e docs (uma definição, três saídas).
|
|
77
|
+
- **`oxe-cc map`** — mapa vivo anotado do `.oxe/`: o que já existe, o que está
|
|
78
|
+
disponível sob demanda e o estado de cada item (`✓ ativo · ◦ vazio ·
|
|
79
|
+
⚠ desatualizado · · sob demanda`). `oxe-cc map --json` (`oxeMapSchema: 1`)
|
|
80
|
+
para hosts; exposto no SDK como `artifacts.buildMapModel` / `renderLegend`.
|
|
81
|
+
- **`.oxe/README.md` gerado** — legenda local de todos os artefatos, escrita no
|
|
82
|
+
init e **re-renderizada por `oxe-cc doctor`** (documentação forte sem pastas
|
|
83
|
+
vazias).
|
|
84
|
+
- **STATE.md enxuto** — template reduzido de 141 → ~30 linhas (fase, sessão,
|
|
85
|
+
próximo passo, decisões, bloqueios). As ~15 seções opcionais foram movidas
|
|
86
|
+
para `oxe/templates/STATE-REFERENCE.md`, anexadas sob demanda.
|
|
87
|
+
- **`doctor`/`status` sem falsos-positivos** — a ausência de artefato lazy agora
|
|
88
|
+
é estado normal (não gera aviso); inconsistências reais (STATE diz X mas o
|
|
89
|
+
artefato não existe) continuam detectadas.
|
|
90
|
+
- Novos contratos documentados em `docs/INTEGRATION.md`; testes em
|
|
91
|
+
`tests/oxe-map.test.cjs` + contrato `map --json` em
|
|
92
|
+
`tests/oxe-integration-contracts.test.cjs`.
|
|
93
|
+
|
|
94
|
+
## [1.14.0] — 2026-05-30
|
|
95
|
+
|
|
96
|
+
### Contratos de integração para hosts — reatividade + dashboard embutível
|
|
97
|
+
|
|
98
|
+
Aditivo — nenhum contrato existente muda. Complementa o 1.13.0 (`status --json --summary`, `agentSkills`) para hosts como o OXESpace embutirem o oxe-cc de forma reativa e visual.
|
|
99
|
+
|
|
100
|
+
- **`oxe events --tail [N] --json [--since <evt_id>] [--session <s>]`** — projeção read-only e versionada (`oxeEventsSchema: 1`) do log append-only `.oxe/OXE-EVENTS.ndjson`: `{ summary: { total, byType, lastEvent }, events: [...] }`. `--since` devolve só os eventos novos desde um `event_id` conhecido (leitura incremental). Reusa `operational.readEvents`/`summarizeEvents`. Um host normalmente observa o arquivo e chama `status --json --summary`; este comando é a forma documentada de ler o tail sem reparsear tudo.
|
|
101
|
+
- **`oxe dashboard --json`** — emite **uma linha** estável e versionada (`oxeDashboardSchema: 1`) com `{ url, port, readOnly, projectRoot }` assim que o servidor sobe, e **continua servindo**. Permite a um host capturar URL/porta de forma robusta e embutir o dashboard num webview, em vez de raspar o banner humano. Combine com `--no-open --port 0` para porta efêmera.
|
|
102
|
+
- **`dashboard --port 0`** agora seleciona uma porta efêmera de verdade (antes caía no default `4173`).
|
|
103
|
+
- **`docs/INTEGRATION.md`** — contrato estável para hosts: `status --json --summary`, `agentSkills`, schema do `OXE-EVENTS.ndjson`, `events --json` e `dashboard --json`; marca o que é estável vs experimental.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## [1.13.0] — 2026-05-29
|
|
108
|
+
|
|
109
|
+
### Contratos de integração para hosts (IDEs, OXESpace)
|
|
110
|
+
|
|
111
|
+
Aditivo — nenhum contrato existente muda. Facilita hosts consumirem o oxe-cc.
|
|
112
|
+
|
|
113
|
+
- **`oxe status --json --summary`** — projeção compacta e versionada (`oxeSummarySchema: 1`) com `workspaceMode, phase, healthStatus, activeSession, nextStep, cursorCmd, reason, eventsCount, warningsCount` + um `agentSkills` compacto. Troca ~150KB do status completo por <1KB para o "glance" que um host precisa.
|
|
114
|
+
- **`agentSkills` no `status --json`** e **`agentSkillsReport(target)` no SDK** (`health.agentSkillsReport`) — status das skills `/oxe-*` por agente no workspace (`copilot-vscode`, `codex`, `copilot-cli`): `detected/skillsInstalled/skillsPath/status/issues`. Permite a um host detectar skills ausentes e oferecer instalação **antes** de lançar o agente (resolve o "Failed to load N skills").
|
|
115
|
+
- **SDK**: `health.buildStatusSummary(report)` e `health.agentSkillsReport(target)` exportados + tipados em `lib/sdk/index.d.ts`.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## [1.12.0] — 2026-05-12
|
|
120
|
+
|
|
121
|
+
### Agent Mode, Swarm Mode, Memory Kernel & Learning Kernel
|
|
122
|
+
|
|
123
|
+
Esta release transforma o OXE em um sistema autônomo orientado a objetivos. O usuário escreve `/oxe <objetivo em linguagem natural>` e o Conductor decide automaticamente o fluxo, os agentes e a estratégia de execução — sem precisar escolher comandos manualmente.
|
|
124
|
+
|
|
125
|
+
#### Conductor Agent (`oxe/workflows/conduct.md`)
|
|
126
|
+
|
|
127
|
+
- novo workflow que age como ponto de entrada para objetivos de implementação em linguagem natural
|
|
128
|
+
- classifica complexidade em três scores: simples | médio | complexo
|
|
129
|
+
- recupera memória relevante das 5 camadas (runtime_state, session_memory, project_memory, lessons, observations)
|
|
130
|
+
- seleciona personas aplicáveis por `intent_tags` (backend → executor/architect, frontend → ui-specialist, storage → db-specialist, etc.)
|
|
131
|
+
- decide automaticamente **Agent Mode** (simples/médio) ou **Swarm Mode** (complexo/multi-domínio)
|
|
132
|
+
- `oxe/workflows/oxe.md` e `route.md` atualizados: objetivos de implementação redirecionam para `conduct.md`
|
|
133
|
+
|
|
134
|
+
#### Agent Mode (`oxe/workflows/agent-mode.md`)
|
|
135
|
+
|
|
136
|
+
- Conductor age sozinho com a persona selecionada para objetivos de 1–2 domínios e ≤ 8 arquivos
|
|
137
|
+
- grava `AGENT-SESSION.json` em `.oxe/agent/` com intent, skills, tool_calls e reconciliação
|
|
138
|
+
- discovery mínimo antes de mutar: confirma write_set, padrões, riscos
|
|
139
|
+
- se write_set exceder threshold para `intent_score=simples`, eleva automaticamente para Swarm Mode
|
|
140
|
+
- `RECONCILIATION.md` gerado ao final com arquivos alterados e objective_satisfied
|
|
141
|
+
|
|
142
|
+
#### Swarm Mode (`oxe/workflows/swarm-mode.md`)
|
|
143
|
+
|
|
144
|
+
- orquestração de 5 papéis em pipeline controlado: Scout → Coordinator → Builder(s) → Reviewer → Verifier
|
|
145
|
+
- **Scout** (`oxe/workflows/swarm/scout.md`): produz CODEBASE-MAP.md, PATTERNS.md, RISK-MAP.md, FILE-CANDIDATES.json e TEST-CANDIDATES.json antes de qualquer mutação
|
|
146
|
+
- **File Ownership** (`FILE-OWNERSHIP.json`): cada Builder declara `write_set`; conflitos → Coordinator serializa em waves sequenciais
|
|
147
|
+
- **Board** (`oxe/workflows/swarm/board.md`): BOARD.md e BOARD.json atualizados em tempo real por fase
|
|
148
|
+
- **Quality Gates** automáticos: arquivo high-risk → gate humano; cobertura abaixo de threshold → gate auto
|
|
149
|
+
- **Reviewer**: produz `.oxe/swarm/reviews/<task_id>-REVIEW.md` por tarefa antes de integração
|
|
150
|
+
- **Verifier/Integrator**: FINAL-INTEGRATION.md com evidências completas e VERIFY.md atualizado
|
|
151
|
+
- novo schema `oxe/schemas/swarm-run.schema.json` (JSON Schema Draft-07) para SWARM-RUN.json
|
|
152
|
+
|
|
153
|
+
#### Memory Kernel (`oxe/workflows/memory.md` + `bin/lib/oxe-memory-kernel.cjs`)
|
|
154
|
+
|
|
155
|
+
- ativa o modelo de 4 camadas de memória já definido em `oxe-operational.cjs:2364`
|
|
156
|
+
- `retrieveMemory(projectRoot, intentTags, phase, objective)`: filtra fragmentos por relevância e phase; ranking por score (tag match, impacto, frequência)
|
|
157
|
+
- `saveContextPack()`: grava context pack em `.oxe/agent/MEMORY-INJECTIONS.md` ou `.oxe/swarm/DECISIONS.md` + snapshot auditável em `.oxe/memory/retrieved/<phase>.md`
|
|
158
|
+
- novos templates: `REPO-MEMORY.template.md` (decisões cross-session, pitfalls, preferências, padrões validados) e `MEMORY-INDEX.template.json`
|
|
159
|
+
|
|
160
|
+
#### Learning Kernel (`oxe/workflows/distill.md` + `bin/lib/oxe-learning-kernel.cjs`)
|
|
161
|
+
|
|
162
|
+
- detecta padrões automaticamente ao final de cada run: blocker_pattern, success_pattern, anti_pattern, file_conflict_pattern, integration_gap, scope_expansion
|
|
163
|
+
- atualiza `LESSONS.md` com dedup correto (Frequência++ para lições repetidas, não duplicatas)
|
|
164
|
+
- popula `lessons-metrics.json` com `outcomes` e `success_rate` por lição; deprecação automática se `success_rate < 0.5` e `apply_count >= 3`
|
|
165
|
+
- enfileira skill candidatas em `.oxe/learning/PROMOTION-QUEUE.md` quando padrão aparece em 2+ runs
|
|
166
|
+
- atualiza `REPO-MEMORY.md` com decisões arquiteturais e pitfalls novos
|
|
167
|
+
|
|
168
|
+
#### Skill Runtime (`bin/lib/oxe-skill-loader.cjs`)
|
|
169
|
+
|
|
170
|
+
- `loadSkill(id, projectRoot)`: resolve por ordem de precedência projeto → capabilities → global
|
|
171
|
+
- `listSkills()`: enumera active/proposed/archived/global por diretório
|
|
172
|
+
- `selectPersonasForIntent(intentTags, projectRoot)`: mapeia intent_tags para personas primárias e secundárias
|
|
173
|
+
- `recordSkillsLoaded()`: grava snapshot das personas ativas em `.oxe/agent/SKILLS-LOADED.json`
|
|
174
|
+
|
|
175
|
+
#### Event Bus (`bin/lib/oxe-event-bus.cjs`)
|
|
176
|
+
|
|
177
|
+
- `OXE-EVENTS.ndjson` passa a ser efetivamente populado durante runs (antes: schema definido, nunca emitido)
|
|
178
|
+
- helpers tipados: `emitRunStarted`, `emitWorkItemCompleted`, `emitWorkItemBlocked`, `emitRunCompleted`, `emitGateRequested`, `emitGateResolved`, `emitLessonPromoted`, `emitRetroPublished`
|
|
179
|
+
- `readEvents(projectRoot, filters)`: leitura com filtro por `run_id`, `type`, `since`
|
|
180
|
+
|
|
181
|
+
#### Runtime contracts
|
|
182
|
+
|
|
183
|
+
- `workflow-runtime-contracts.json` atualizado com contratos semânticos para todos os 5 novos workflows (conduct, agent-mode, swarm-mode, memory, distill)
|
|
184
|
+
- `help.md` router: nova entrada de prioridade máxima para objetivos de implementação → `/oxe <objetivo>` → Conductor
|
|
185
|
+
|
|
186
|
+
#### Templates adicionados
|
|
187
|
+
|
|
188
|
+
- `.oxe/templates/AGENT-SESSION.template.json`
|
|
189
|
+
- `.oxe/templates/swarm/SWARM-RUN.template.json`
|
|
190
|
+
- `.oxe/templates/swarm/FILE-OWNERSHIP.template.json`
|
|
191
|
+
- `.oxe/templates/swarm/BOARD.template.md`
|
|
192
|
+
- `.oxe/templates/swarm/QUALITY-GATES.template.md`
|
|
193
|
+
- `.oxe/templates/REPO-MEMORY.template.md`
|
|
194
|
+
- `.oxe/templates/MEMORY-INDEX.template.json`
|
|
195
|
+
- `.oxe/templates/learning/CANDIDATES.template.ndjson`
|
|
196
|
+
- `.oxe/templates/learning/PROMOTION-QUEUE.template.md`
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## [1.11.0] — 2026-05-06
|
|
201
|
+
|
|
202
|
+
### Spec Lifecycle Automation & CLI Gaps
|
|
203
|
+
|
|
204
|
+
Esta release fecha os gaps de adoção identificados na análise de maturidade v1.10.0, com foco em automação do ciclo de vida do SPEC, configuração de provider e tolerância de formato no parser de planos.
|
|
205
|
+
|
|
206
|
+
#### Automação do ciclo de vida (SPEC.md)
|
|
207
|
+
|
|
208
|
+
- nova função `applySpecChecklistSync` em `oxe-operational.cjs`: ao executar `runtime project` com um run `completed`, marca automaticamente `**DoD Wave N:**` e seções MVP/v0.x.x do checklist no `SPEC.md` com `[x]`
|
|
209
|
+
- v1.0.0 checklist não é marcado automaticamente — requer sign-off explícito
|
|
210
|
+
- exportada no módulo para testes de integração e uso programático
|
|
211
|
+
|
|
212
|
+
#### CLI — `runtime execute`
|
|
213
|
+
|
|
214
|
+
- novo flag `--agents-plan <path>`: override explícito para localização do `plan-agents.json`, com prioridade sobre detecção automática por sessão e raiz do projeto
|
|
215
|
+
- novo flag `--api-key-env <VAR>`: lê API key de variável de ambiente nomeada em vez de `OXE_LLM_API_KEY`
|
|
216
|
+
- novo subcomando `runtime configure`: wizard interativo que persiste `baseUrl`, `model`, `apiKey` em `.oxe/config.json` (seção `runtime.provider`)
|
|
217
|
+
|
|
218
|
+
#### Provider LLM auto-wired
|
|
219
|
+
|
|
220
|
+
- `createExecutionContext` passa a instanciar `PolicyEngine.fromConfigFile()` automaticamente quando `.oxe/config.json` contém seção `runtime.policy`
|
|
221
|
+
- `loadRuntimeProviderConfig` / `saveRuntimeProviderConfig` exportados de `oxe-operational.cjs`
|
|
222
|
+
- health checks de `runtime.provider` e `runtime.policy` adicionados ao `oxe-cc status`
|
|
223
|
+
|
|
224
|
+
#### Parser de planos — tolerância de formato (Gap E)
|
|
225
|
+
|
|
226
|
+
- `parsePlan` agora aceita `**Verificação:**`, `**Verify command:**` e `**Verification:**` além do formato `Verificação:` sem negrito
|
|
227
|
+
- planos gerados por LLM com markdown bold deixam de silenciosamente omitir verify commands
|
|
228
|
+
|
|
229
|
+
#### Spec-criteria enrichment (Gap B)
|
|
230
|
+
|
|
231
|
+
- `compileExecutionGraphFromArtifacts` extrai comandos backtick dos campos `howToVerify` dos critérios de aceite da SPEC e os anexa a `node.verify.command` quando ausente no PLAN
|
|
232
|
+
|
|
233
|
+
#### Testes e benchmark
|
|
234
|
+
|
|
235
|
+
- novo `test:runtime-llm` (`scripts/test-runtime-llm.cjs`): valida `LlmTaskExecutor` end-to-end com LLM real; skipa automaticamente quando `OXE_LLM_API_KEY` não está definido
|
|
236
|
+
- novo `benchmark:autonomy` (`scripts/benchmark-autonomy.cjs`): 5 fixtures de referência (simple → medium → parallel), mede taxa de compilação→execução→verify sem intervenção; saída em `.oxe/release/benchmark-autonomy-report.json`
|
|
237
|
+
- novos testes: `gap-spec-enrichment.test.cjs` (5 casos) e `gap-spec-checklist-sync.test.cjs` (4 casos)
|
|
238
|
+
|
|
239
|
+
## [1.10.0] — 2026-05-05
|
|
240
|
+
|
|
241
|
+
### Operational Maturity
|
|
242
|
+
|
|
243
|
+
Esta release amplia a prova operacional do OXE para cenários mais próximos de uso real, sem abrir novos comandos públicos.
|
|
244
|
+
|
|
245
|
+
- `test:runtime-real` passa a cobrir cenários multi-wave, multi-file, gate pendente, verify parcial e promoção bloqueada por ausência de evidência técnica
|
|
246
|
+
- `workspace-merge-report.json` passa a carregar `evidence_refs`, `diff_summary`, arquivos aplicados, status de verify pós-execução e próxima ação operacional por task
|
|
247
|
+
- `status`, `runtime status` e `runtime agents status` expõem merge readiness, blockers e próxima ação multi-agent de forma mais direta
|
|
248
|
+
- `workspaceMode: product_package` deixa de marcar `contextQuality` como crítico quando não há ciclo OXE ativo no próprio repositório do pacote
|
|
249
|
+
- smoke multi-runtime reforça Codex e Copilot VS Code com validação explícita de prompts/skills, manifesto e referências quebradas
|
|
250
|
+
- `doctor --release` passa a validar o conteúdo mínimo dos relatórios runtime-real e multi-agent-real da linha `1.10.0`
|
|
251
|
+
- `/oxe-spec` passa a ter contrato multimodal: imagens, screenshots e mockups enviados no chat devem virar `VISUAL-INPUTS.md/json`, anchors visuais e readiness bloqueante quando críticos para UI/fluxo
|
|
252
|
+
|
|
253
|
+
## [1.9.1] — 2026-05-04
|
|
254
|
+
|
|
255
|
+
### Multi-Agent Real
|
|
256
|
+
|
|
257
|
+
Esta release endurece a coordenação multi-agent sobre workspaces reais, sem abrir novos comandos públicos.
|
|
258
|
+
|
|
259
|
+
- multi-agent real passa a exigir workspaces isolados `git_worktree` para modos `parallel`, `competitive` e `cooperative`
|
|
260
|
+
- `runtime execute` valida `plan-agents.json` antes de iniciar agentes e usa `GitWorktreeManager` por padrão no caminho multi-agent
|
|
261
|
+
- novo artefato por run `.oxe/runs/<run_id>/workspace-merge-report.json` com worktrees, ownership, merge blockers e readiness
|
|
262
|
+
- `runtime agents status --json`, `status --json` e recovery passam a expor merge readiness, blockers, arbitration e worktrees órfãos
|
|
263
|
+
- novo `npm run test:multi-agent-real` gera `.oxe/release/multi-agent-real-report.json` usando repositório git temporário com worktrees reais
|
|
264
|
+
- `doctor --release` passa a exigir `multi-agent-real-report.json` em versões `>=1.9.1`
|
|
265
|
+
|
|
266
|
+
## [1.9.0] — 2026-05-04
|
|
267
|
+
|
|
268
|
+
### Runtime Real Maturity
|
|
269
|
+
|
|
270
|
+
Esta release eleva a maturidade prática do OXE com foco em prova determinística do ciclo real `spec -> plan -> execute -> verify -> status/doctor`, sem abrir novos comandos públicos.
|
|
271
|
+
|
|
272
|
+
#### Runtime real
|
|
273
|
+
|
|
274
|
+
- nova suíte `test:runtime-real` valida projetos representativos com executor mockado e sem chamada a LLM/API externa
|
|
275
|
+
- `runtime execute` passa a bloquear antes da mutação quando confiança, rationality packs ou gates não estão prontos
|
|
276
|
+
- `runtime verify` continua evidence-first e passa a ser validado dentro do fluxo real de execução
|
|
277
|
+
|
|
278
|
+
#### Release proof
|
|
279
|
+
|
|
280
|
+
- novo relatório obrigatório `.oxe/release/runtime-real-report.json`
|
|
281
|
+
- `doctor --release` passa a bloquear publicação quando a prova de runtime real estiver ausente ou falha
|
|
282
|
+
- novo `release:pack-check` valida o tarball npm em dry-run contra artefatos indevidos
|
|
283
|
+
|
|
284
|
+
## [1.8.3] — 2026-05-04
|
|
285
|
+
|
|
286
|
+
### Release readiness e higiene de publicação
|
|
287
|
+
|
|
288
|
+
Esta release consolida a linha `1.8.3` para publicação no npm com foco em consistência de versão, alinhamento documental e pacote distribuído mais limpo.
|
|
289
|
+
|
|
290
|
+
#### Publicação
|
|
291
|
+
|
|
292
|
+
- alinhamento da versão `1.8.3` entre manifesto raiz, runtime, extensão VS Code, README e changelog
|
|
293
|
+
- fechamento do gate oficial `doctor --release` para a linha atual
|
|
294
|
+
- preparação do pacote npm para sair sem drift entre versão publicada e documentação principal
|
|
295
|
+
|
|
296
|
+
#### Higiene do pacote
|
|
297
|
+
|
|
298
|
+
- exclusão dos arquivos `.vsix` históricos da extensão VS Code do tarball npm
|
|
299
|
+
- manutenção apenas do código-fonte da extensão dentro do pacote, evitando distribuir binários legados desnecessários
|
|
300
|
+
|
|
301
|
+
## [1.8.2] — 2026-04-30
|
|
302
|
+
|
|
303
|
+
### Fluxo inicial mais coerente e geração de `spec`/`plan` mais forte
|
|
304
|
+
|
|
305
|
+
Esta release fecha a linha de robustez do ciclo `install -> status/doctor -> /oxe -> spec -> plan -> execute -> verify` sem abrir nova superfície pública. O foco foi remover ruído operacional em projetos novos e aumentar a densidade executável dos artefatos que o OXE induz.
|
|
306
|
+
|
|
307
|
+
#### Fluxo operacional
|
|
308
|
+
|
|
309
|
+
- `install`, `status` e `doctor` passam a convergir em `/oxe` como próximo passo canônico para projetos recém-inicializados
|
|
310
|
+
- `doctor` e `status` deixam de tratar `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK` como blocker primário antes de existir `PLAN.md`
|
|
311
|
+
- o relatório racional agora marca o estado sem plano como `não aplicável ainda`, sem contaminar o próximo passo
|
|
312
|
+
- instalações e desinstalações locais por runtime continuam simétricas, com inferência de artefatos locais preservada
|
|
313
|
+
|
|
314
|
+
#### Indução mais forte de SPEC e PLAN
|
|
315
|
+
|
|
316
|
+
- `SPEC.template.md` passou a exigir outcome observável, público-alvo, restrições técnicas, setup externo, conteúdo/fluxos obrigatórios e contratos esperados para o plano
|
|
317
|
+
- `PLAN.template.md` ganhou contrato operacional da solução, densidade operacional mínima, `symbols alvo`, `estado/fluxo coberto` e `fixture/anchor obrigatório` por tarefa
|
|
318
|
+
- `oxe/workflows/spec.md` agora força extração explícita de blocos de interface, conteúdo mínimo, interações, responsividade e acessibilidade em demandas de produto/app/UI
|
|
319
|
+
- `oxe/workflows/plan.md` agora endurece o gate de confiança `>90%` para tarefas mutáveis vagas e exige fechamento mais forte de interface, conteúdo, estado persistido, anchors e fixtures em apps/UI estáticos
|
|
320
|
+
|
|
321
|
+
#### Testes
|
|
322
|
+
|
|
323
|
+
- novo teste cobrindo o estado racional não bloqueante antes da existência de `PLAN.md`
|
|
324
|
+
- suíte focada de CLI/health atualizada para manter o comportamento novo estável
|
|
325
|
+
|
|
326
|
+
## [1.8.1] — 2026-04-30
|
|
327
|
+
|
|
328
|
+
### Hotfix — Gaps implementados no fonte TypeScript (não em arquivos compilados)
|
|
329
|
+
|
|
330
|
+
A v1.8.0 aplicou as 5 correções críticas diretamente nos arquivos `.js` compilados (`lib/runtime/`), que são sobrescritos a cada `npm run build:runtime`. Esta release porta todas as correções para o fonte TypeScript em `packages/runtime/src/`, tornando-as permanentes.
|
|
331
|
+
|
|
332
|
+
#### Correções portadas para TypeScript
|
|
333
|
+
|
|
334
|
+
- **`models/failure.ts`**: `FailureClass` agora inclui `'verify'` e `'llm'` como classes canônicas
|
|
335
|
+
- **`scheduler/scheduler.ts`**: `TaskResult` com campo opcional `completed_by`; `TaskExecutor.execute()` aceita `options?: { previousError? }`; `verifyNode()` importa e chama `verifyRun` da fonte TS; `executeNode()` repassa `options`; `requestGateForNode()` com warning quando manager ausente
|
|
336
|
+
- **`executor/built-in-tools.ts`**: `finishTask` handler + registro em `BUILT_IN_TOOLS`
|
|
337
|
+
- **`executor/action-tool-map.ts`**: `finish_task` injetado universalmente em `selectToolsForActions()`
|
|
338
|
+
- **`executor/node-prompt-builder.ts`**: parâmetro `options`, seção de retry context, instrução `finish_task`
|
|
339
|
+
- **`executor/llm-task-executor.ts`**: detecção de `finish_task`, `completed_by` no retorno, `turn_limit_exhausted` retorna `success: false`
|
|
340
|
+
|
|
341
|
+
#### Testes
|
|
342
|
+
- 542 testes passando (era 542 na v1.8.0, nenhuma regressão)
|
|
343
|
+
- 36 testes de gaps (gap1–gap5) todos passando contra o código compilado
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## [1.8.0] — 2026-04-29
|
|
348
|
+
|
|
349
|
+
### Autonomous Execution — 5 Critical Gaps Resolved
|
|
350
|
+
|
|
351
|
+
Esta release eleva a autonomia do runtime de ~65% para ~85%+ em projetos de baixo a médio risco, tornando o OXE capaz de transformar um input bem estruturado em entrega verificada com mínima intervenção humana.
|
|
352
|
+
|
|
353
|
+
#### Gap 1 — GateManager Wiring
|
|
354
|
+
- `createExecutionContext()` exportada de `oxe-operational.cjs`: instancia `GateManager` real sempre que o runtime estiver disponível, eliminando o deadlock silencioso de `'gate-missing-manager'`
|
|
355
|
+
- `scheduler.js`: warning explícito quando `ctx.gateManager` ausente em vez de falha silenciosa
|
|
356
|
+
- Novo subcomando `oxe-cc runtime execute` com roteamento automático single-agent / multi-agent
|
|
357
|
+
|
|
358
|
+
#### Gap 2 — Verificação Inline após cada tarefa
|
|
359
|
+
- `Scheduler.verifyNode()`: executa o `verify.command` do nó logo após execução bem-sucedida, antes de emitir `WorkItemCompleted`
|
|
360
|
+
- Falha de verificação → tarefa reentrada no loop de retry com `failure_class: 'verify'`
|
|
361
|
+
- Falha de infraestrutura de verificação (comando inexistente, timeout) → não bloqueia progresso
|
|
362
|
+
- Eventos `VerificationStarted` / `VerificationCompleted` emitidos por tarefa (reducer já existia)
|
|
363
|
+
|
|
364
|
+
#### Gap 3 — Retry Inteligente com Contexto do Erro Anterior
|
|
365
|
+
- `node-prompt-builder.js`: seção "Contexto da tentativa anterior" injetada automaticamente nas tentativas 2+ com stderr/output truncado em 2000 chars
|
|
366
|
+
- `llm-task-executor.js`: aceita `options.previousError`; repassado para o prompt builder
|
|
367
|
+
- `scheduler.js`: `lastError` rastreado e propagado entre tentativas via `executeNode(options)`
|
|
368
|
+
|
|
369
|
+
#### Gap 4 — Sinal Autoritativo de Conclusão (`finish_task`)
|
|
370
|
+
- Nova tool built-in `finish_task` (idempotente) registrada em `BUILT_IN_TOOLS` e `ALL_BUILT_IN_SCHEMAS`
|
|
371
|
+
- `selectToolsForActions()`: `finish_task` injetada universalmente em todos os tipos de ação
|
|
372
|
+
- `node-prompt-builder.js`: instrução explícita de chamar `finish_task` ao concluir
|
|
373
|
+
- `llm-task-executor.js`: detecta chamada de `finish_task` → `completed_by: 'finish_task'`; turns esgotados sem `finish_task` → `success: false, failure_class: 'llm'`
|
|
374
|
+
|
|
375
|
+
#### Gap 5 — MultiAgentCoordinator Wiring
|
|
376
|
+
- `runRuntimeExecute()` exportada de `oxe-operational.cjs`: detecta `plan-agents.json` (sessão > raiz) e roteia para `MultiAgentCoordinator` (parallel/competitive/cooperative) ou `Scheduler` single-agent
|
|
377
|
+
- `oxe-cc runtime execute`: novo subcomando CLI com output formatado e exit code em falhas
|
|
378
|
+
|
|
379
|
+
#### Testes
|
|
380
|
+
- 5 novos arquivos de teste cobrindo cada gap: `gap1-gate-manager`, `gap2-inline-verify`, `gap3-retry-context`, `gap4-finish-task`, `gap5-multi-agent`
|
|
381
|
+
- Suite total: **543 testes passando**, 0 falhas
|
|
382
|
+
|
|
383
|
+
### Validation
|
|
384
|
+
|
|
385
|
+
- `node --test tests/*.cjs tests/*.test.js`
|
|
386
|
+
- `node bin/oxe-cc.js --version`
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## [1.7.0] — 2026-04-23
|
|
391
|
+
|
|
392
|
+
### OXE-native Agent Catalog
|
|
393
|
+
|
|
394
|
+
- adicionada a fonte canónica `oxe/agents/` com agentes especializados para plan, execute, verify, debug, research, codebase mapping, integração, validação e UI
|
|
395
|
+
- o instalador multi-runtime agora distribui agentes OXE para Claude Code (`.claude/agents`) e Codex/Antigravity (`.agents/skills` / skills compatíveis), além dos comandos já existentes
|
|
396
|
+
- uninstall e smoke matrix passaram a validar e remover os agentes gerados pelo OXE
|
|
397
|
+
|
|
398
|
+
### Rational Execution Artifacts
|
|
399
|
+
|
|
400
|
+
- templates de `PLAN`, `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS`, `FIXTURE-PACK` e `SUMMARY` foram endurecidos com contratos goal-backward, write-set, símbolos, sequência mínima, rollback, fixtures e evidência
|
|
401
|
+
- `/oxe-plan`, `/oxe-execute`, `/oxe-verify`, `/oxe-debug`, `/oxe-forensics`, `/oxe-ui-spec` e `/oxe-ui-review` agora referenciam explicitamente os agentes e gates racionais compatíveis com runtime enterprise
|
|
402
|
+
|
|
403
|
+
### Public Surface Hygiene
|
|
404
|
+
|
|
405
|
+
- `scan:assets` agora bloqueia referências públicas a namespaces, paths e nomes de origem legada
|
|
406
|
+
- criado `docs/CONTENT-MIGRATION-AUDIT.md` como trilha interna de incorporação, sem exposição nas superfícies instaladas
|
|
407
|
+
|
|
408
|
+
## [1.6.0] — 2026-04-23
|
|
409
|
+
|
|
410
|
+
### Product Reconciliation
|
|
411
|
+
|
|
412
|
+
- a árvore canónica `oxe/` foi restaurada como source of truth da release, incluindo `oxe/workflows/`, `oxe/workflows/references/`, `oxe/templates/` e `commands/oxe/` como superfície derivada sincronizada
|
|
413
|
+
- `workflow-runtime-contracts.json` voltou a ser contrato obrigatório da release; `sync-runtime-metadata` agora falha fechado quando a fonte canónica ou o registry semântico estão ausentes/inválidos
|
|
414
|
+
- `doctor --release` passou a bloquear explicitamente por topologia canónica ausente, contrato semântico inválido e drift entre workflows e wrappers
|
|
415
|
+
|
|
416
|
+
### Package-vs-Workspace Health
|
|
417
|
+
|
|
418
|
+
- `status`, `status --full`, dashboard e SDK agora distinguem `workspaceMode: product_package` de `workspaceMode: oxe_project`
|
|
419
|
+
- no repositório do pacote, o próximo passo deixa de cair em `plan/replan` por ruído de manutenção e passa a apontar para `doctor --release --write-manifest`
|
|
420
|
+
- `status --json` passou a expor `workspaceMode` e `releaseReadiness` como contrato estável da linha `1.6.0`
|
|
421
|
+
|
|
422
|
+
### Multi-runtime Edge Hardening
|
|
423
|
+
|
|
424
|
+
- a smoke matrix de release passou a validar a instalação do Codex de forma completa: prompts em `.codex/prompts/` e skills em `.agents/skills/oxe/`
|
|
425
|
+
- documentação de instalação foi ajustada para separar `--local` (layout do repo) de `--ide-local` (escopo da integração), eliminando a ambiguidade operacional em runtimes como Codex
|
|
426
|
+
|
|
427
|
+
### Validation
|
|
428
|
+
|
|
429
|
+
- `node --test tests/oxe-project-health.test.cjs`
|
|
430
|
+
- `node --test tests/oxe-cli-edge.test.cjs`
|
|
431
|
+
- `npm test`
|
|
432
|
+
- `npm run scan:assets`
|
|
433
|
+
- `npm run release:doctor`
|
|
434
|
+
|
|
435
|
+
## [1.5.1] — 2026-04-22
|
|
436
|
+
|
|
437
|
+
### Rational Execution Readiness
|
|
438
|
+
|
|
439
|
+
- `/oxe-plan` passou a exigir e propagar artefatos racionais de execução: `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS` e `FIXTURE-PACK`
|
|
440
|
+
- `/oxe-execute` agora é `pack-first` e bloqueia mutação quando confiança `<= 90%`, quando os packs estão incompletos ou quando há `critical_gap` aberto
|
|
441
|
+
- `doctor`, `status --json`, dashboard e SDK passaram a expor `implementationPackReady`, `referenceAnchorsReady`, `fixturePackReady`, `executionRationalityReady` e `criticalExecutionGaps`
|
|
442
|
+
|
|
443
|
+
### Session Compatibility
|
|
444
|
+
|
|
445
|
+
- o health report agora faz fallback explícito entre artefatos session-scoped e artefatos ainda materializados na raiz `.oxe/`, evitando falso negativo de readiness em workspaces legados
|
|
446
|
+
- o gate racional foi limitado ao estágio pré-execução; depois de `executing`/`verify_complete`, os packs continuam diagnósticos, mas não reescrevem o próximo passo do ciclo
|
|
447
|
+
|
|
448
|
+
### Publication Alignment
|
|
449
|
+
|
|
450
|
+
- versão alinhada para `1.5.1` em pacote raiz, runtime package, extensão VS Code, README e lockfile
|
|
451
|
+
- matriz pública de smoke runtime atualizada para refletir a release `1.5.1`
|
|
452
|
+
|
|
453
|
+
### Validation
|
|
454
|
+
|
|
455
|
+
- `npm test`
|
|
456
|
+
- `npm run scan:assets`
|
|
457
|
+
- `npm run release:manifest`
|
|
458
|
+
- `npm run build:vscode-ext`
|
|
459
|
+
|
|
460
|
+
## [1.5.0] — 2026-04-21
|
|
461
|
+
|
|
462
|
+
### Release Readiness 5/5
|
|
463
|
+
|
|
464
|
+
- `doctor --release --write-manifest` virou gate formal de publicação, com verificação bloqueante de versões, topo do `CHANGELOG`, runtime compilado, wrapper sync e relatórios obrigatórios
|
|
465
|
+
- a release agora persiste `release-manifest.json`, `runtime-smoke-report.json`, `recovery-fixture-report.json` e `multi-agent-soak-report.json` em `.oxe/release/`
|
|
466
|
+
- `npm test` passou a incluir smoke matrix multi-runtime, fixtures reproduzíveis de recovery/incidente e soak multi-agent
|
|
467
|
+
|
|
468
|
+
### Operational Proof
|
|
469
|
+
|
|
470
|
+
- nova smoke matrix obrigatória para Cursor, Copilot VS Code, Claude Code, Codex, OpenCode, Gemini, Windsurf e Antigravity, cobrindo install, entrypoint `oxe`, resolução de workflow e uninstall granular
|
|
471
|
+
- novo corpus de incidentes em `tests/fixtures/runtime-incidents/` para provar `runtime replay` e `runtime recover` fora do caminho feliz
|
|
472
|
+
- multi-agent passou a gerar e auditar `multi-agent-summary.json`, incluindo timeouts e reassignments
|
|
473
|
+
|
|
474
|
+
### Publication Contract
|
|
475
|
+
|
|
476
|
+
- versão alinhada para `1.5.0` em pacote raiz, runtime package, extensão VS Code, README e lockfile
|
|
477
|
+
- README, AGENTS e SDK docs atualizados para refletir o gate de release, os relatórios obrigatórios e o contrato estável desta publicação
|
|
478
|
+
|
|
479
|
+
### Validation
|
|
480
|
+
|
|
481
|
+
- `npm test`
|
|
482
|
+
- `npm run scan:assets`
|
|
483
|
+
- `npm run release:doctor`
|
|
484
|
+
|
|
485
|
+
## [1.4.0] — 2026-04-20
|
|
486
|
+
|
|
487
|
+
### Runtime Publication Stabilization
|
|
488
|
+
|
|
489
|
+
- `execute` e `verify` passaram a documentar e propagar o contrato `runtime-first`, com fallback legado explícito quando o runtime enterprise não estiver disponível
|
|
490
|
+
- `runtime gates` ganhou superfície operacional estável com `list`, `show`, `resolve`, filtros (`--run`, `--status`, `--scope`, `--task`) e `--json`
|
|
491
|
+
- `status --json` e `runtime status --json` consolidam `runtimeMode`, `fallbackMode`, `gateQueue`, `policyCoverage`, `promotionReadiness`, `recoveryState`, `multiAgent` e `providerCatalog`
|
|
492
|
+
- dashboard web passou a expor cards operacionais para gates, recovery, promotion e multi-agent, incluindo resolução de gates pela UI
|
|
493
|
+
- replay/recovery ficaram orientados a incidente com saída estruturada, reconciliação de run state e summaries derivados
|
|
494
|
+
- `multi-agent` foi endurecido como GA apenas sobre workspaces isolados reais; modos `parallel`, `competitive` e `cooperative` falham explicitamente em `inplace`
|
|
495
|
+
- SDK ampliado com `GateQueueSnapshot`, `replayRuntimeState`, `readRuntimeMultiAgentStatus` e alias `multiAgentStatus`
|
|
496
|
+
|
|
497
|
+
### Release Preparation
|
|
498
|
+
|
|
499
|
+
- alinhamento de versão para `1.4.0` em `package.json`, `package-lock.json`, `packages/runtime/package.json`, `vscode-extension/package.json`, banner e README
|
|
500
|
+
- alinhamento de licença da extensão VS Code com o pacote principal e inclusão de `vscode-extension/LICENSE` para empacotamento limpo do VSIX
|
|
501
|
+
- licença do projeto alterada de `GPL-3.0` para `MIT`, com manifests e documentação pública alinhados
|
|
502
|
+
- README atualizado para refletir o momento atual do produto, o contrato estável de publicação e a superfície enterprise do CLI/runtime
|
|
503
|
+
- `lib/sdk/README.md` e `AGENTS.md` atualizados para refletir os bridges do runtime enterprise e o comportamento `runtime-first`
|
|
504
|
+
|
|
505
|
+
### Adoção em Times (v1.4.0 final)
|
|
506
|
+
|
|
507
|
+
- `QUICKSTART.md` — guia de onboarding "primeiros 15 minutos": install, primeiro ciclo (6 comandos), runtime-first, validação dos 5 minutos
|
|
508
|
+
- `docs/ROLES.md` — guia por papel: executor, reviewer, operador de gate, mantenedor do pacote; cada papel com o que lê, decide e pode ignorar
|
|
509
|
+
- `docs/TEAM-ADOPTION.md` — fluxo branch/PR recomendado, ship local vs. promote remoto, sessões e workstreams, governança mínima
|
|
510
|
+
- `docs/WALKTHROUGH.md` — walkthrough completo reproduzível: spec → plan → execute → verify → gate → promotion com outputs esperados
|
|
511
|
+
- `docs/INCIDENT-PLAYBOOK.md` — gate stale, run bloqueada, RECOVERY-SUMMARY, dashboard como painel operacional
|
|
512
|
+
- `docs/RUNTIME-SMOKE-MATRIX.md` — matriz 8 runtimes × 6 operações com pressupostos e comportamentos por runtime
|
|
513
|
+
- `oxe-cc doctor` — health gates para IDEs (Copilot, Cursor, Claude Code), detecção de runtime compilado, readiness gate summary com próximo passo derivado da fase atual
|
|
514
|
+
- `oxe-cc status` — IDE readiness summary inline, gates pendentes no modo padrão (sem `--full`), diagnóstico de bloqueio explícito (SPEC/PLAN/VERIFY ausentes)
|
|
515
|
+
- `runtime gates list` — ícones visuais `⏳ pending` / `⚠ stale (>Nh)` / `✓ resolved`, ação sugerida e impacto no ciclo por gate
|
|
516
|
+
- `runtime gates resolve` — mensagem de impacto pós-resolução: "Run pode avançar" ou "N gates restantes"
|
|
517
|
+
- `.github/workflows/release.yml` — pipeline de publicação: validate → publish-npm (com provenance) → build-vsix → create-release com extração automática do CHANGELOG
|
|
518
|
+
- `.github/workflows/ci.yml` — novos jobs `doctor` (gate de qualidade operacional) e `wrapper-audit` (sync entre wrappers e contrato canônico)
|
|
519
|
+
- `README.md` — seção `## Para times` com links para todos os novos docs; link `→ Guia por papel` na seção "Momento atual do produto"
|
|
520
|
+
|
|
521
|
+
### Validation
|
|
522
|
+
|
|
523
|
+
- suíte root + runtime continua verde
|
|
524
|
+
- scanner de assets/markdown continua íntegro
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
## [1.3.0] — 2026-04-20
|
|
529
|
+
|
|
530
|
+
### Reasoning Contracts & Semântica Multi-Runtime
|
|
531
|
+
|
|
532
|
+
- Contratos de raciocínio v2.0.0 (`oxe_contract_version: 2.0.0`) em todos os workflows e wrappers de runtime
|
|
533
|
+
- Novos campos de metadata: `oxe_reasoning_mode`, `oxe_question_policy`, `oxe_output_contract`, `oxe_tool_profile`, `oxe_confidence_policy`, `oxe_context_tier`
|
|
534
|
+
- `oxe_semantics_hash` (SHA-256 16 chars) para detecção de drift semântico entre IDEs
|
|
535
|
+
- Módulo `bin/lib/oxe-runtime-semantics.cjs` gerencia o contrato canônico: `buildReasoningContractBlock()`, `buildContextTiers()`, `auditRuntimeTargets()`, `computeSemanticsHash()`
|
|
536
|
+
- `auditRuntimeTargets()` varre Copilot prompts, commands e Cursor commands e reporta divergências entre wrappers e o contrato canônico
|
|
537
|
+
- Prompts e commands sincronizados para todos os runtimes: Cursor, GitHub Copilot, Claude Code, OpenCode, Codex, Gemini CLI, Windsurf, Antigravity
|
|
538
|
+
|
|
539
|
+
### Novos Módulos bin/lib
|
|
540
|
+
|
|
541
|
+
- **`oxe-dashboard.cjs`** — servidor HTTP local (porta 9000), `loadDashboardContext()`, API REST com `/api/health/status`, `/api/plan/info`, `/api/runtime/gates/{id}/status`, `/api/runtime/gates/resolve`; suporte a PLAN-REVIEW.md com comentários e status de aprovação
|
|
542
|
+
- **`oxe-runtime-semantics.cjs`** — gestão de metadados de workflow e contratos de raciocínio: `getWorkflowContract()`, `getAllWorkflowContracts()`, `validateWorkflowContractsRegistry()`, `buildContextPackPaths()`, `buildReasoningContractBlock()`, `splitFrontmatter()`, `parseFrontmatterMap()`
|
|
543
|
+
- **`oxe-operational.cjs`** expandido — monitoramento de agents, gates, evidências e estado de run com maior granularidade
|
|
544
|
+
- **`oxe-project-health.cjs`** expandido — métricas de saúde: test scores, coverage, violations, integração Copilot
|
|
545
|
+
|
|
546
|
+
### Comandos e Superfície
|
|
547
|
+
|
|
548
|
+
- **`oxe-ship`** — cria commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`; disponível em todos os runtimes suportados
|
|
549
|
+
- **`oxe-skill`** — gestão e composição de skills com roles `@executor` e `@researcher`
|
|
550
|
+
- Contrato de raciocínio declarado em todos os workflows: `discovery`, `planning`, `execution`, `review`, `status`
|
|
551
|
+
- Regra pack-first em todos os wrappers: lê `.oxe/context/packs/<slug>.md` antes de cair para leitura direta
|
|
552
|
+
|
|
553
|
+
### Testes e Cobertura
|
|
554
|
+
|
|
555
|
+
- Novos testes unitários para `oxe-runtime-semantics.cjs`: 31 testes cobrindo todas as 19 funções exportadas
|
|
556
|
+
- Novos testes para `oxe-plugins.cjs`: 28 testes para `loadPlugins`, `runHook`, `validatePlugins`, `initPluginsDir`, `resolvePluginSources`
|
|
557
|
+
- Novos testes para `oxe-security.cjs`: `checkPathSafety`, `scanFileForSecrets`, `scanDirForSecretFiles`, `validatePlanPaths`
|
|
558
|
+
- Cobertura de linhas: **80.28% → 82.28%** (superando threshold de 82%)
|
|
559
|
+
- Total: **383 testes** passando (root + runtime)
|
|
560
|
+
|
|
561
|
+
---
|
|
562
|
+
|
|
563
|
+
## [1.2.1] — 2026-04-18
|
|
564
|
+
|
|
565
|
+
### Branding, Semântica e Empacotamento
|
|
566
|
+
|
|
567
|
+
- remove referências remanescentes ao framework legado dos workflows e do diagnóstico de integração Copilot
|
|
568
|
+
- alinha `package.json`, `package-lock.json`, banner CLI e README para `1.2.1`
|
|
569
|
+
- corrige deriva semântica do workflow `ship`, registrando-o no contrato canônico multi-runtime
|
|
570
|
+
- adiciona prompt files de `ship` para Copilot/Cursor
|
|
571
|
+
- remove o comando `auto` da superfície pública do OXE
|
|
572
|
+
- remove o comando `intel` da superfície pública do OXE
|
|
573
|
+
- reposiciona `ship` para fechar o ciclo com commit local guiado por `SPEC.md`, `PLAN.md` e `VERIFY.md`
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
## [1.2.0] — 2026-04-18
|
|
578
|
+
|
|
579
|
+
### Runtime Hardening & Robustez (Fases 1–9)
|
|
580
|
+
|
|
581
|
+
**Fase 1 — Runtime Hardening**
|
|
582
|
+
|
|
583
|
+
- `RunJournal` persistido em `.oxe/runs/{runId}/journal.json`: gravado a cada onda, atualizado no pause/cancel
|
|
584
|
+
- `Scheduler.pause()` agora grava journal e retorna `status: 'paused'` em vez de apenas setar flag in-memory
|
|
585
|
+
- `Scheduler.recover(runId, ctx, graph)` — retoma run pausado pelo journal; pula nós já completados
|
|
586
|
+
- `Scheduler.getJournal()` e `Scheduler.loadJournal(projectRoot, runId)` para inspeção
|
|
587
|
+
- `RunState` expandido: `retryCounts`, `policyDecisions`, `pendingGates`, `resolvedGates`, `verificationStatus`, `evidenceRefs`, `toolFailures`
|
|
588
|
+
- Reducer: handlers para `RetryScheduled`, `PolicyEvaluated`, `GateRequested`, `GateResolved`, `VerificationStarted`, `VerificationCompleted`, `ToolFailed`, `EvidenceCollected`
|
|
589
|
+
- Helpers: `getRetryCount`, `getPolicyDecision`, `getVerificationStatus`, `getEvidenceRefs`, `getToolFailures`
|
|
590
|
+
|
|
591
|
+
**Fase 2 — Policy, Side Effects e Security**
|
|
592
|
+
|
|
593
|
+
- `SideEffectClass` enum: `read_fs|write_fs|spawn_process|network_call|git_mutation|db_change|secret_access|infra_operation`
|
|
594
|
+
- `AutonomyTier` type: `L0|L1|L2|L3` — tier controla quais side effects são permitidos automaticamente
|
|
595
|
+
- `NodePolicyConfig` com `mutation_budget` e `autonomy_tier`
|
|
596
|
+
- `EnvironmentGuardrail` com `protected_paths`, `protected_branches`, `require_human_gate_on`
|
|
597
|
+
- Guardrails default: paths `.env`, `package.json`, `.oxe/config.json`; gate automático para `infra_operation`, `db_change`, `secret_access`
|
|
598
|
+
- `PolicyEngine.withGuardrail(g)` para customizar guardrails por projeto
|
|
599
|
+
- `side_effect_class` e `autonomy_tier` em `PolicyWhenClause` para regras direcionadas
|
|
600
|
+
|
|
601
|
+
**Fase 3 — Verify Operational**
|
|
602
|
+
|
|
603
|
+
- `VerificationManifest` formal: persistido em `.oxe/runs/{runId}/verification-manifest.json`
|
|
604
|
+
- `VerificationProfile`: `quick|standard|critical` — controla quais `FailureClass` geram riscos residuais
|
|
605
|
+
- `FailureClass` taxonomy: `deterministic|flaky|timeout|env_setup|policy_failure|evidence_missing`
|
|
606
|
+
- `classifyFailure(result)` — classifica automaticamente cada `CheckResult`
|
|
607
|
+
- `buildManifest(runId, results, options)` — compila manifest por work item, onda ou run
|
|
608
|
+
- `ResidualRiskLedger` persistido em `.oxe/runs/{runId}/residual-risks.json`
|
|
609
|
+
- `buildRiskLedger(runId, manifest)` — gera ledger de riscos residuais a partir do manifest
|
|
610
|
+
|
|
611
|
+
**Fase 4 — Delivery Native**
|
|
612
|
+
|
|
613
|
+
- `MergeGateEvaluator.evaluate(runResult, manifest, ledger)` — avalia se run está pronto para merge
|
|
614
|
+
- Bloqueios: tarefas failed/blocked, verificação falha, riscos `high`/`critical`
|
|
615
|
+
- `PromotionPipeline.promote(runResult, manifest, ledger, opts)` — cria PR draft via `gh`, persiste `RunPRLink`
|
|
616
|
+
- `PromotionPipeline.buildPRBody(...)` — corpo do PR com resumo, verificação e riscos residuais
|
|
617
|
+
- `RunPRLink` persistido em `.oxe/runs/{runId}/pr-link.json`
|
|
618
|
+
|
|
619
|
+
**Fase 5 — Context Engineering Avançado**
|
|
620
|
+
|
|
621
|
+
- `ContextPackStore`: `savePack`, `loadPack`, `markStale`, `isStale`, `listPackMeta` — packs persistidos em `.oxe/runs/{runId}/context-pack-{workItemId}.json`
|
|
622
|
+
- `ContextPackMeta` com `estimated_tokens`, `stale`, `stale_reason`
|
|
623
|
+
- `diffPacks(before, after)` — detecta added/removed/score_changed entre versões de pack
|
|
624
|
+
- Índice global por run em `context-packs.index.json`
|
|
625
|
+
|
|
626
|
+
**Fase 6 — Decision Engine / Seniority**
|
|
627
|
+
|
|
628
|
+
- `DecisionEngine.evaluate(input)` — avalia policy, gate, retry budget, risk, lesson match e retorna `DecisionRecord` com `type`, `seniority`, `confidence` e `rationale`
|
|
629
|
+
- Tipos de decisão: `proceed|retry|escalate_gate|skip|abort|promote_lesson`
|
|
630
|
+
- `SeniorityLevel`: `junior|standard|senior|expert` derivado da confidence
|
|
631
|
+
- `appendDecision`, `loadDecisionLog`, `queryDecisions` — log persistido em `.oxe/runs/{runId}/decisions.json`
|
|
632
|
+
|
|
633
|
+
**Fase 7 — Multi-Agent Robusto**
|
|
634
|
+
|
|
635
|
+
- `AgentRegistry` com heartbeat tracking por agente
|
|
636
|
+
- `registry.beat(id, currentTask)` — atualiza last_seen e status
|
|
637
|
+
- `registry.isAlive(id)` — detecta timeout configurável por instância
|
|
638
|
+
- `registry.timedOut()` / `registry.liveAgents()` — filtragem por liveness
|
|
639
|
+
- `registry.failover(fallbackAgentId)` — reassigna tasks de agentes expirados para fallback
|
|
640
|
+
- `registry.setStatus(id, status)` — transições manuais de estado
|
|
641
|
+
|
|
642
|
+
**Fase 8 — ABI Estável de Plugins**
|
|
643
|
+
|
|
644
|
+
- `PluginManifest` com `abi_version`, `capabilities`, declared providers
|
|
645
|
+
- `extractManifest(plugin)` — extrai manifest de qualquer `OxePlugin`
|
|
646
|
+
- `validatePlugin(plugin)` — retorna `{ valid, errors, warnings }` com checagem de nome, semver, providers
|
|
647
|
+
- `isAbiCompatible(version)` — garante compatibilidade de major version
|
|
648
|
+
- `sandboxInvoke(fn, timeoutMs)` — execução com timeout e isolamento de erro para plugins
|
|
649
|
+
|
|
650
|
+
**Fase 9 — Enterprise Operations**
|
|
651
|
+
|
|
652
|
+
- `AuditTrail` — registro imutável NDJSON em `.oxe/AUDIT-TRAIL.ndjson`
|
|
653
|
+
- 14 tipos de ação auditáveis: `run_started`, `secret_accessed`, `infra_mutation`, `merge_approved`, etc.
|
|
654
|
+
- Severity automática por ação (`info|warn|critical`)
|
|
655
|
+
- `AuditTrail.query(filter)` — filtra por action/severity/runId/since
|
|
656
|
+
- `RunQuota` — `createQuota`, `consumeQuota`, `checkQuota` para limitar work_items, mutations e retries por run
|
|
657
|
+
|
|
658
|
+
### Testes
|
|
659
|
+
|
|
660
|
+
- Runtime: **266 testes** (↑ de 145 pré-robustez)
|
|
661
|
+
- Root: 321 testes (sem regressões)
|
|
662
|
+
- Total: **587 testes** passando
|
|
663
|
+
|
|
664
|
+
---
|
|
665
|
+
|
|
666
|
+
## [1.1.0] — 2026-04-18
|
|
667
|
+
|
|
668
|
+
### Mudança de superfície (simplificação estratégica de produto)
|
|
669
|
+
|
|
670
|
+
**Trilha principal reduzida a 6 comandos**
|
|
671
|
+
|
|
672
|
+
O OXE agora se comporta como um framework guiado por etapas. A superfície pública foi reorganizada em três níveis:
|
|
673
|
+
|
|
674
|
+
**Trilha principal (6 comandos):**
|
|
675
|
+
- `/oxe` — entrada universal (absorve ask, next, route, help)
|
|
676
|
+
- `/oxe-quick` — modo nano sem cerimônia
|
|
677
|
+
- `/oxe-spec` — spec com flags: `--refresh`, `--full`, `--research`, `--ui`
|
|
678
|
+
- `/oxe-plan` — planejamento test-first
|
|
679
|
+
- `/oxe-execute` — implementação com flags: `--note`, `--debug`, `--deep-diagnosis`, `--checkpoint`, `--iterative`
|
|
680
|
+
- `/oxe-verify` — validação e fechamento com flags: `--gaps`, `--security`, `--ui`, `--pr`, `--diff`, `--skip-retro`
|
|
681
|
+
|
|
682
|
+
**Trilha avançada:** `/oxe-session` (absorve project, milestone, workstream), `/oxe-dashboard`
|
|
683
|
+
|
|
684
|
+
**Administrativa:** `/oxe-capabilities`, `/oxe-skill`, `oxe-cc azure`
|
|
685
|
+
|
|
686
|
+
### Depreciado (v1.1.0)
|
|
687
|
+
|
|
688
|
+
Os seguintes comandos foram incorporados por estágios principais e continuam funcionando com aviso de migração:
|
|
689
|
+
|
|
690
|
+
| Comando | Novo destino |
|
|
691
|
+
|---------|-------------|
|
|
692
|
+
| `/oxe-ask` | `/oxe "pergunta"` |
|
|
693
|
+
| `/oxe-scan` | `/oxe-spec --refresh` |
|
|
694
|
+
| `/oxe-research` | `/oxe-spec --research` |
|
|
695
|
+
| `/oxe-ui-spec` | `/oxe-spec --ui` |
|
|
696
|
+
| `/oxe-obs` | `/oxe-execute --note` |
|
|
697
|
+
| `/oxe-debug` | `/oxe-execute --debug` |
|
|
698
|
+
| `/oxe-forensics` | `/oxe-execute --deep-diagnosis` |
|
|
699
|
+
| `/oxe-checkpoint` | `/oxe-execute --checkpoint` |
|
|
700
|
+
| `/oxe-loop` | `/oxe-execute --iterative` |
|
|
701
|
+
| `/oxe-validate-gaps` | `/oxe-verify --gaps` |
|
|
702
|
+
| `/oxe-security` | `/oxe-verify --security` |
|
|
703
|
+
| `/oxe-ui-review` | `/oxe-verify --ui` |
|
|
704
|
+
| `/oxe-review-pr` | `/oxe-verify --pr` |
|
|
705
|
+
| `/oxe-retro` | `/oxe-verify` (retro automática) |
|
|
706
|
+
| `/oxe-project` | `/oxe-session milestone\|workstream` |
|
|
707
|
+
| `/oxe-compact` | `/oxe-spec --refresh` |
|
|
708
|
+
| `/oxe-next` | `/oxe` (sem argumento) |
|
|
709
|
+
| `/oxe-route` | `/oxe "intenção"` |
|
|
710
|
+
| `/oxe-milestone` | `/oxe-session milestone` |
|
|
711
|
+
| `/oxe-workstream` | `/oxe-session workstream` |
|
|
712
|
+
|
|
713
|
+
### Novos comportamentos
|
|
714
|
+
|
|
715
|
+
- **Retro automática:** `/oxe-verify` executa automaticamente retrospectiva ao fechar (`--skip-retro` para desativar)
|
|
716
|
+
- **Pergunta situacional inline:** `/oxe "pergunta"` substitui `/oxe-ask`
|
|
717
|
+
- `/oxe-session` agora suporta `milestone` e `workstream` como subcomandos
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
|
|
721
|
+
## [0.8.0] — 2026-04-14
|
|
722
|
+
|
|
723
|
+
### Adicionado
|
|
724
|
+
|
|
725
|
+
**Session forking + revert**
|
|
726
|
+
- `session fork [nome]` — bifurca a sessão ativa, copiando todos os artefatos para uma nova sessão; rastreia `forked_from` na SESSION.md
|
|
727
|
+
- `session revert <checkpoint-slug>` — restaura STATE.md ao snapshot de um checkpoint, sem apagar artefatos atuais
|
|
728
|
+
|
|
729
|
+
**Skill system**
|
|
730
|
+
- `/oxe-skill` — workflow para descobrir, invocar e gerenciar skills (unificação de personas e capabilities)
|
|
731
|
+
- `@<skill-id>` no chat resolve persona OU capability OU composite como ponto de entrada único
|
|
732
|
+
- Template `SKILL.template.md` para criação de skills de projeto em `.oxe/skills/`
|
|
733
|
+
- Resolução em 3 camadas: project → capabilities → global (personas do pacote)
|
|
734
|
+
|
|
735
|
+
**Sistema de permissões com wildcard**
|
|
736
|
+
- `permissions[]` em `.oxe/config.json` — regras glob+ação que controlam acesso a arquivos durante execute e apply
|
|
737
|
+
- Ações: `allow`, `deny`, `ask` — avaliação first-match wins
|
|
738
|
+
- Scopes: `execute`, `apply`, `all`
|
|
739
|
+
- Gate automático no workflow execute antes de cada onda
|
|
740
|
+
|
|
741
|
+
**Config hierárquico (system → user → project)**
|
|
742
|
+
- `loadOxeConfigMerged()` agora lê 3 níveis: system (`OXE_SYSTEM_CONFIG` ou path OS-default) < user (`~/.oxe/config.json`) < project (`.oxe/config.json`)
|
|
743
|
+
- `status --full` exibe fontes de cada nível de configuração
|
|
744
|
+
- Campo `sources` no retorno do SDK
|
|
745
|
+
|
|
746
|
+
**Event sourcing com replay**
|
|
747
|
+
- `replayEvents()` no SDK — reconstrói timeline de `OXE-EVENTS.ndjson` com deltas, filtros por run/wave/event
|
|
748
|
+
- `oxe-cc runtime replay [--run <id>] [--from <event-id>] [--wave <n>] [--write]` — visualização de timeline no terminal ou `REPLAY-SESSION.md` em disco
|
|
749
|
+
- Integração com `/oxe-forensics` — replay como ferramenta de investigação
|
|
750
|
+
|
|
751
|
+
**Plugin system com carregamento remoto**
|
|
752
|
+
- `plugins[]` em `config.json` aceita `{ source: "npm:<pkg>" }` e `{ source: "path:./file.cjs" }`
|
|
753
|
+
- `oxe-cc plugins list` — lista plugins carregados (local + externos)
|
|
754
|
+
- `oxe-cc plugins install npm:<pkg>` — instala plugin npm em `.oxe/plugins/_npm/`
|
|
755
|
+
- `resolvePluginSources()` e `installNpmPlugin()` expostos no SDK
|
|
756
|
+
|
|
757
|
+
### Tipos TypeScript
|
|
758
|
+
- `OxePermissionRule`, `PermissionCheckResult`, `ReplayReport`, `PluginSource` adicionados
|
|
759
|
+
- `security.checkFilePermission`, `security.checkPermissions`, `security.globToRegex` declarados
|
|
760
|
+
- `operational.replayEvents` declarado
|
|
761
|
+
- `plugins.resolvePluginSources`, `plugins.installNpmPlugin` declarados
|
|
762
|
+
- `health.loadOxeConfigMerged` retorna `sources: { system, user, project }`
|
|
763
|
+
|
|
764
|
+
---
|
|
765
|
+
|
|
766
|
+
## [0.7.0] — 2026-04-13
|
|
767
|
+
|
|
768
|
+
### Adicionado
|
|
769
|
+
|
|
770
|
+
**Provider Azure nativo (`oxe-cc azure`)**
|
|
771
|
+
- `azure status` — estado compacto read-only: CLI, login, subscription, inventário, pendências, alerta VPN
|
|
772
|
+
- `azure operations list` — histórico colorido de operações (planned/applied/pending)
|
|
773
|
+
- `azure find --type <serviço>` — filtro por família de serviço (servicebus, eventgrid, sql)
|
|
774
|
+
- `azure find --filter-rg <rg>` — filtro por resource group
|
|
775
|
+
- `azure sync --diff` — mostra recursos adicionados/removidos em relação ao snapshot anterior
|
|
776
|
+
- `azure apply --dry-run` — pré-visualiza comando `az` sem executar nem criar artefatos
|
|
777
|
+
- `azure auth login --tenant <id>` — suporte a Entra ID corporativo; passa `--tenant` ao `az login`
|
|
778
|
+
- `azure apply --vpn-confirmed` — confirma conexão VPN quando `vpn_required: true` está configurado
|
|
779
|
+
|
|
780
|
+
**SDK**
|
|
781
|
+
- `azure.diffInventory(previousItems, currentItems)` — compara snapshots de inventário (adicionados/removidos/unchanged)
|
|
782
|
+
- `azure.statusAzure(projectRoot, config?, options?)` — status compacto sem writes
|
|
783
|
+
|
|
784
|
+
**Workflows (guardrails)**
|
|
785
|
+
- `scan.md`: detecção Azure é informativa — não altera fluxo canônico OXE nem aciona steps Azure automaticamente
|
|
786
|
+
- `plan.md`: pré-check Azure só ativa quando Azure é mencionado **explicitamente** na SPEC ou `.oxe/cloud/azure/` existe
|
|
787
|
+
- `discuss.md`: perguntas Azure só ativam quando SPEC menciona Azure explicitamente — SQL genérico (PostgreSQL, MySQL, on-prem) não aciona o bloco
|
|
788
|
+
|
|
789
|
+
### Corrigido
|
|
790
|
+
- `loginAzure()` com `inherit: true` não passava mais `inherit` para `getAzureContext`, evitando crash ao tentar ler `account.id` de stdout null
|
|
791
|
+
|
|
792
|
+
### Tipos TypeScript
|
|
793
|
+
- `azure.searchAzureInventory` inclui parâmetro opcional `filters?: { type?, resourceGroup? }`
|
|
794
|
+
- `azure.diffInventory` declarado
|
|
795
|
+
- `azure.statusAzure` declarado
|
|
796
|
+
|
|
797
|
+
---
|
|
798
|
+
|
|
799
|
+
## [0.6.3] — 2026-04-04
|
|
800
|
+
|
|
801
|
+
### Corrigido
|
|
802
|
+
- `security_in_verify` agora é reconhecido como chave válida em `.oxe/config.json` (não mais rejeitado pelo doctor como "unknown key")
|
|
803
|
+
- `plan-agents.schema.json`: enum atualizado de `[1, 2]` para `[2, 3]`; campos `persona` e `model_hint` adicionados ao schema dos agentes
|
|
804
|
+
|
|
805
|
+
### Adicionado
|
|
806
|
+
- **`/oxe-retro` sugerido automaticamente** pelo `oxe-cc status` quando `phase: verify_complete` e `.oxe/LESSONS.md` ainda não existe
|
|
807
|
+
- **`health.parseLastRetroDate(stateText)`** — parseia campo `last_retro: YYYY-MM-DD` do STATE.md
|
|
808
|
+
- **`health.isStaleLessons(retroDate, maxDays)`** — detecta se LESSONS.md está desatualizado (par de `isStaleScan`)
|
|
809
|
+
- **`health.planAgentsWarnings(target)`** — avisa sobre schema 1 (legado) e `model_hint` inválido em `plan-agents.json`
|
|
810
|
+
- **`parseState()`** retorna novo campo `lastRetroDate: string | null`
|
|
811
|
+
- `OxeHealthReport` inclui `retroDate: Date | null`
|
|
812
|
+
- `config.template.json` inclui `security_in_verify: false` por padrão
|
|
813
|
+
- `plan-agents.template.json` inclui campo `persona` no agente-exemplo
|
|
814
|
+
- Melhorias de workflow: `obs.md` (tabela de classificação de impacto), `verify.md` (success_criteria camadas 5+6), `next.md` (flag de promoção QUICK→spec), `quick.md` (incorporação de OBSERVATIONS), `plan.md` (nota de replan + plan-agents sync)
|
|
815
|
+
- `AGENTS.md` atualizado para v0.6.x
|
|
816
|
+
|
|
817
|
+
### Tipos TypeScript
|
|
818
|
+
- `ParsedState` inclui `lastRetroDate: string | null`
|
|
819
|
+
- `OxeHealthReport` inclui `retroDate: Date | null`
|
|
820
|
+
- `health.*` expõe `parseLastRetroDate`, `isStaleLessons`, `planAgentsWarnings`
|
|
821
|
+
|
|
822
|
+
---
|
|
823
|
+
|
|
824
|
+
## [0.6.2] — 2026-04-04
|
|
825
|
+
|
|
826
|
+
### Adicionado
|
|
827
|
+
- **`/oxe-retro`** — workflow de retrospectiva de ciclo; sintetiza 3–5 lições prescritivas em `.oxe/LESSONS.md`
|
|
828
|
+
- `oxe/templates/LESSONS.template.md`
|
|
829
|
+
- Correções de consistência de schema (plan-agent.md, verify.md): referências atualizadas para schema v3
|
|
830
|
+
|
|
831
|
+
### Alterado
|
|
832
|
+
- README: tabela "Como cada comando fica mais inteligente" expandida com loop, security, research thinking_depth, model_hint
|
|
833
|
+
- Cadeia de help (`oxe.md`) atualizada para incluir `/oxe-retro` após verify
|
|
834
|
+
|
|
835
|
+
---
|
|
836
|
+
|
|
837
|
+
## [0.6.1] — 2026-04-04
|
|
838
|
+
|
|
839
|
+
### Adicionado
|
|
840
|
+
- **`/oxe-security`** — auditoria OWASP Top 10 filtrada pelo stack; produz `.oxe/SECURITY.md` com achados P0/P1/P2
|
|
841
|
+
- **`/oxe-loop`** — execução iterativa de onda com retries automáticos e diagnóstico inline
|
|
842
|
+
- **Model hints** em `plan-agents.json` schema v3: campo `model_hint` (`fast | balanced | powerful`) por agente
|
|
843
|
+
- **Thinking depth** em `/oxe-research`: classificação `surface | standard | deep` com raciocínio estendido para `deep`
|
|
844
|
+
- Integração automática de security no verify via `security_in_verify: true` (Camada 6)
|
|
845
|
+
- `oxe/templates/SECURITY.template.md`
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
849
|
+
## [0.6.0] — 2026-04-04
|
|
850
|
+
|
|
851
|
+
### Adicionado
|
|
852
|
+
- Workflow `/oxe-project` unificando `milestone`, `workstream`, `checkpoint`
|
|
853
|
+
- `/oxe-obs` com propagação automática para R-IDs e Tns afetados
|
|
854
|
+
- Auto-reflexão semântica em `/oxe-spec` (Fase 4b): detecta contradições e escopo creep antes da aprovação
|
|
855
|
+
- Modo de execução A/B/C em `/oxe-execute` (Completo / Por onda / Por tarefa)
|
|
856
|
+
- Debug inline automático em falhas de execute
|
|
857
|
+
- 4 profiles de execução: `balanced`, `strict`, `fast`, `legacy`
|
|
858
|
+
- Sistema de personas para agentes (`oxe/personas/`)
|
|
859
|
+
- Plugin lifecycle (`.oxe/plugins/*.cjs`)
|
|
860
|
+
- `scale_adaptive`: scan sugere profile pelo tamanho do projeto
|
|
861
|
+
|
|
862
|
+
---
|
|
863
|
+
|
|
864
|
+
## [0.5.0] — anterior
|
|
865
|
+
|
|
866
|
+
Versões anteriores não documentadas neste arquivo.
|