@dewtech/dare-cli 3.7.0 → 3.8.1

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 (113) hide show
  1. package/README.md +10 -0
  2. package/dist/commands/__tests__/execute.formal.spec.d.ts +2 -0
  3. package/dist/commands/__tests__/execute.formal.spec.d.ts.map +1 -0
  4. package/dist/commands/__tests__/execute.formal.spec.js +81 -0
  5. package/dist/commands/__tests__/execute.formal.spec.js.map +1 -0
  6. package/dist/commands/execute-verification.d.ts +15 -1
  7. package/dist/commands/execute-verification.d.ts.map +1 -1
  8. package/dist/commands/execute-verification.js +43 -4
  9. package/dist/commands/execute-verification.js.map +1 -1
  10. package/dist/commands/execute.d.ts.map +1 -1
  11. package/dist/commands/execute.js +27 -3
  12. package/dist/commands/execute.js.map +1 -1
  13. package/dist/commands/graph.d.ts.map +1 -1
  14. package/dist/commands/graph.js +1 -0
  15. package/dist/commands/graph.js.map +1 -1
  16. package/dist/graphrag/__tests__/types.test.js +4 -2
  17. package/dist/graphrag/__tests__/types.test.js.map +1 -1
  18. package/dist/graphrag/types.d.ts +4 -4
  19. package/dist/graphrag/types.d.ts.map +1 -1
  20. package/dist/graphrag/types.js +2 -0
  21. package/dist/graphrag/types.js.map +1 -1
  22. package/dist/utils/path-safety.d.ts.map +1 -1
  23. package/dist/utils/path-safety.js +6 -1
  24. package/dist/utils/path-safety.js.map +1 -1
  25. package/dist/verification/__tests__/best-of-n-runner.test.js +2 -15
  26. package/dist/verification/__tests__/best-of-n-runner.test.js.map +1 -1
  27. package/dist/verification/__tests__/config.formal.test.d.ts +2 -0
  28. package/dist/verification/__tests__/config.formal.test.d.ts.map +1 -0
  29. package/dist/verification/__tests__/config.formal.test.js +38 -0
  30. package/dist/verification/__tests__/config.formal.test.js.map +1 -0
  31. package/dist/verification/config.d.ts +3 -1
  32. package/dist/verification/config.d.ts.map +1 -1
  33. package/dist/verification/config.js +31 -0
  34. package/dist/verification/config.js.map +1 -1
  35. package/dist/verification/gates/formal/__tests__/anti-bypass.test.d.ts +2 -0
  36. package/dist/verification/gates/formal/__tests__/anti-bypass.test.d.ts.map +1 -0
  37. package/dist/verification/gates/formal/__tests__/anti-bypass.test.js +55 -0
  38. package/dist/verification/gates/formal/__tests__/anti-bypass.test.js.map +1 -0
  39. package/dist/verification/gates/formal/__tests__/dafny-parse.test.d.ts +2 -0
  40. package/dist/verification/gates/formal/__tests__/dafny-parse.test.d.ts.map +1 -0
  41. package/dist/verification/gates/formal/__tests__/dafny-parse.test.js +70 -0
  42. package/dist/verification/gates/formal/__tests__/dafny-parse.test.js.map +1 -0
  43. package/dist/verification/gates/formal/__tests__/marker.test.d.ts +2 -0
  44. package/dist/verification/gates/formal/__tests__/marker.test.d.ts.map +1 -0
  45. package/dist/verification/gates/formal/__tests__/marker.test.js +55 -0
  46. package/dist/verification/gates/formal/__tests__/marker.test.js.map +1 -0
  47. package/dist/verification/gates/formal/__tests__/no-shell-formal.test.d.ts +2 -0
  48. package/dist/verification/gates/formal/__tests__/no-shell-formal.test.d.ts.map +1 -0
  49. package/dist/verification/gates/formal/__tests__/no-shell-formal.test.js +35 -0
  50. package/dist/verification/gates/formal/__tests__/no-shell-formal.test.js.map +1 -0
  51. package/dist/verification/gates/formal/__tests__/registry.test.d.ts +2 -0
  52. package/dist/verification/gates/formal/__tests__/registry.test.d.ts.map +1 -0
  53. package/dist/verification/gates/formal/__tests__/registry.test.js +22 -0
  54. package/dist/verification/gates/formal/__tests__/registry.test.js.map +1 -0
  55. package/dist/verification/gates/formal/__tests__/runner-formal.test.d.ts +2 -0
  56. package/dist/verification/gates/formal/__tests__/runner-formal.test.d.ts.map +1 -0
  57. package/dist/verification/gates/formal/__tests__/runner-formal.test.js +112 -0
  58. package/dist/verification/gates/formal/__tests__/runner-formal.test.js.map +1 -0
  59. package/dist/verification/gates/formal/__tests__/security-formal.test.d.ts +2 -0
  60. package/dist/verification/gates/formal/__tests__/security-formal.test.d.ts.map +1 -0
  61. package/dist/verification/gates/formal/__tests__/security-formal.test.js +195 -0
  62. package/dist/verification/gates/formal/__tests__/security-formal.test.js.map +1 -0
  63. package/dist/verification/gates/formal/__tests__/telemetry-formal.test.d.ts +2 -0
  64. package/dist/verification/gates/formal/__tests__/telemetry-formal.test.d.ts.map +1 -0
  65. package/dist/verification/gates/formal/__tests__/telemetry-formal.test.js +27 -0
  66. package/dist/verification/gates/formal/__tests__/telemetry-formal.test.js.map +1 -0
  67. package/dist/verification/gates/formal/__tests__/verified-rate.test.d.ts +2 -0
  68. package/dist/verification/gates/formal/__tests__/verified-rate.test.d.ts.map +1 -0
  69. package/dist/verification/gates/formal/__tests__/verified-rate.test.js +52 -0
  70. package/dist/verification/gates/formal/__tests__/verified-rate.test.js.map +1 -0
  71. package/dist/verification/gates/formal/anti-bypass.d.ts +20 -0
  72. package/dist/verification/gates/formal/anti-bypass.d.ts.map +1 -0
  73. package/dist/verification/gates/formal/anti-bypass.js +53 -0
  74. package/dist/verification/gates/formal/anti-bypass.js.map +1 -0
  75. package/dist/verification/gates/formal/backend.d.ts +38 -0
  76. package/dist/verification/gates/formal/backend.d.ts.map +1 -0
  77. package/dist/verification/gates/formal/backend.js +26 -0
  78. package/dist/verification/gates/formal/backend.js.map +1 -0
  79. package/dist/verification/gates/formal/dafny.d.ts +18 -0
  80. package/dist/verification/gates/formal/dafny.d.ts.map +1 -0
  81. package/dist/verification/gates/formal/dafny.js +131 -0
  82. package/dist/verification/gates/formal/dafny.js.map +1 -0
  83. package/dist/verification/gates/formal/lean.d.ts +17 -0
  84. package/dist/verification/gates/formal/lean.d.ts.map +1 -0
  85. package/dist/verification/gates/formal/lean.js +61 -0
  86. package/dist/verification/gates/formal/lean.js.map +1 -0
  87. package/dist/verification/gates/formal/marker.d.ts +15 -0
  88. package/dist/verification/gates/formal/marker.d.ts.map +1 -0
  89. package/dist/verification/gates/formal/marker.js +73 -0
  90. package/dist/verification/gates/formal/marker.js.map +1 -0
  91. package/dist/verification/gates/formal/registry.d.ts +7 -0
  92. package/dist/verification/gates/formal/registry.d.ts.map +1 -0
  93. package/dist/verification/gates/formal/registry.js +31 -0
  94. package/dist/verification/gates/formal/registry.js.map +1 -0
  95. package/dist/verification/gates/formal/runner.d.ts +31 -0
  96. package/dist/verification/gates/formal/runner.d.ts.map +1 -0
  97. package/dist/verification/gates/formal/runner.js +118 -0
  98. package/dist/verification/gates/formal/runner.js.map +1 -0
  99. package/dist/verification/gates/formal/verus.d.ts +17 -0
  100. package/dist/verification/gates/formal/verus.d.ts.map +1 -0
  101. package/dist/verification/gates/formal/verus.js +65 -0
  102. package/dist/verification/gates/formal/verus.js.map +1 -0
  103. package/dist/verification/runner.d.ts.map +1 -1
  104. package/dist/verification/runner.js +14 -0
  105. package/dist/verification/runner.js.map +1 -1
  106. package/dist/verification/telemetry.d.ts +3 -0
  107. package/dist/verification/telemetry.d.ts.map +1 -1
  108. package/dist/verification/telemetry.js +47 -0
  109. package/dist/verification/telemetry.js.map +1 -1
  110. package/dist/verification/types.d.ts +42 -1
  111. package/dist/verification/types.d.ts.map +1 -1
  112. package/package.json +1 -1
  113. package/templates/UPDATE-MANIFEST.json +283 -4
@@ -0,0 +1,65 @@
1
+ import { safeSpawn } from '../../../exec/safe-spawn.js';
2
+ import { FormalBackendError, FormalToolNotFoundError } from './backend.js';
3
+ const VERUS_BIN = 'verus';
4
+ const MIN_VERSION = '0.0.0';
5
+ export function parseVerusOutput(args) {
6
+ const combined = `${args.stdout}\n${args.stderr}`;
7
+ if (args.timedOut) {
8
+ return { verified: false, stage: 'none', reason: 'proof timed out' };
9
+ }
10
+ const verifiedMatch = /verification results:\s*(\d+)\s+verified,\s*0\s+errors/i.exec(combined);
11
+ if (args.code === 0 && verifiedMatch) {
12
+ return { verified: true, stage: 'none', reason: 'verus: verified' };
13
+ }
14
+ if (/\berror\b/i.test(combined) || /\bfailed\b/i.test(combined)) {
15
+ return { verified: false, stage: 'impl', reason: 'verus: proof rejected' };
16
+ }
17
+ if (args.code !== 0) {
18
+ return { verified: false, stage: 'none', reason: 'verus: unparseable' };
19
+ }
20
+ return { verified: false, stage: 'none', reason: 'verus: unparseable' };
21
+ }
22
+ export function buildVerusArgv(input) {
23
+ return [input.specPath, '--time-limit', String(input.proofTimeoutSeconds)];
24
+ }
25
+ async function isAvailable(cwd) {
26
+ const r = await safeSpawn(VERUS_BIN, ['--version'], {
27
+ cwd,
28
+ timeoutSeconds: 30,
29
+ maxChars: 2000,
30
+ });
31
+ return r.code === 0;
32
+ }
33
+ async function run(input) {
34
+ const start = Date.now();
35
+ if (!(await isAvailable(input.cwd))) {
36
+ throw new FormalToolNotFoundError('verus', input.target.file);
37
+ }
38
+ const r = await safeSpawn(VERUS_BIN, buildVerusArgv(input), {
39
+ cwd: input.cwd,
40
+ timeoutSeconds: input.proofTimeoutSeconds,
41
+ maxChars: 8000,
42
+ });
43
+ const parse = parseVerusOutput(r);
44
+ if (r.code !== 0 && !r.timedOut && parse.reason === 'verus: unparseable') {
45
+ throw new FormalBackendError(`verus exited ${r.code}`, r.stderr);
46
+ }
47
+ return {
48
+ backend: 'verus',
49
+ verified: parse.verified,
50
+ stage: parse.stage,
51
+ bypassDetected: false,
52
+ repairIterations: 0,
53
+ solverExitCode: r.code,
54
+ reason: parse.reason,
55
+ durationMs: Date.now() - start,
56
+ };
57
+ }
58
+ export const verusBackend = {
59
+ backend: 'verus',
60
+ minVersion: MIN_VERSION,
61
+ isAvailable,
62
+ run,
63
+ };
64
+ export const backend = verusBackend;
65
+ //# sourceMappingURL=verus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verus.js","sourceRoot":"","sources":["../../../../src/verification/gates/formal/verus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/verification/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOhD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KAC3C,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;CAClD;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAMrC,CAAC;AA8FF,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,gBAA0C,GAC/C,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAkH/D;AAED,eAAO,MAAM,eAAe,SApHlB,sBAAsB,KAAK,OAAO,CAAC,kBAAkB,CAoHT,CAAC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/verification/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KAC3C,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,eAAe,CAAC;CAClD;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAMrC,CAAC;AA8FF,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,gBAA0C,GAC/C,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAoI/D;AAED,eAAO,MAAM,eAAe,SAtIlB,sBAAsB,KAAK,OAAO,CAAC,kBAAkB,CAsIT,CAAC"}
@@ -3,6 +3,7 @@ import { checkAntiTamper } from './gates/anti-tamper.js';
3
3
  import { checkTypes } from './gates/type-check.js';
4
4
  import { adapterForStack } from './registry.js';
5
5
  import { MutationToolNotFoundError } from './gates/mutation/adapter.js';
6
+ import { checkFormal } from './gates/formal/runner.js';
6
7
  import { createLogger } from '../utils/logger.js';
7
8
  const log = createLogger('verification');
8
9
  export const defaultVerificationDeps = {
@@ -166,6 +167,19 @@ export function createRunVerification(deps = defaultVerificationDeps) {
166
167
  ? 'skip'
167
168
  : 'fail');
168
169
  }
170
+ if (config.formal.enabled) {
171
+ notify(opts.onProgress, 'formal', 'start');
172
+ const fm = await checkFormal({
173
+ taskId,
174
+ stack: opts.stack,
175
+ cwd,
176
+ config: config.formal,
177
+ changedFiles: opts.changedFiles,
178
+ });
179
+ aspects.push(fm);
180
+ logAspect(fm);
181
+ notify(opts.onProgress, 'formal', fm.verdict === 'PASS' ? 'pass' : fm.verdict === 'SKIP' ? 'skip' : 'fail');
182
+ }
169
183
  return finish(taskId, aspects, startedAt);
170
184
  };
171
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/verification/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/verification/runner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { KnowledgeGraph } from '../graphrag/knowledge-graph.js';
2
2
  import type { VerificationResult } from './types.js';
3
+ import type { FormalVerdict } from './types.js';
3
4
  export interface VerificationTelemetrySummary {
4
5
  readonly passed: boolean;
5
6
  readonly mutationScore?: number;
@@ -15,4 +16,6 @@ export interface VerificationTelemetrySummary {
15
16
  * Falls back to task.metadata.verification when the backend rejects new types.
16
17
  */
17
18
  export declare function recordVerification(graph: KnowledgeGraph, result: VerificationResult): void;
19
+ /** Grava aresta task --proven_by--> formal-gate; fallback em task.metadata.formalProof (RF-09). */
20
+ export declare function recordFormalProof(graph: KnowledgeGraph, taskId: string, verdict: FormalVerdict): void;
18
21
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/verification/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKrD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAkED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CASN"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/verification/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAkED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CASN;AA4BD,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,IAAI,CAkBN"}
@@ -1,5 +1,7 @@
1
1
  const GATE_NODE_TYPE = 'gate';
2
+ const FORMAL_GATE_NODE_TYPE = 'formal-gate';
2
3
  const VERIFIED_BY_EDGE = 'verified_by';
4
+ const PROVEN_BY_EDGE = 'proven_by';
3
5
  function summarizeResult(result) {
4
6
  return {
5
7
  passed: result.passed,
@@ -68,4 +70,49 @@ export function recordVerification(graph, result) {
68
70
  fallbackToTaskMetadata(graph, taskId, result);
69
71
  }
70
72
  }
73
+ function formalGateNode(taskId, verdict) {
74
+ return {
75
+ id: `formal-gate:${taskId}`,
76
+ type: FORMAL_GATE_NODE_TYPE,
77
+ label: `formal proof ${taskId}`,
78
+ metadata: {
79
+ backend: verdict.backend,
80
+ verified: verdict.verified,
81
+ stage: verdict.stage,
82
+ bypassDetected: verdict.bypassDetected,
83
+ repairIterations: verdict.repairIterations,
84
+ solverExitCode: verdict.solverExitCode,
85
+ durationMs: verdict.durationMs,
86
+ },
87
+ };
88
+ }
89
+ function provenByEdge(taskId) {
90
+ return {
91
+ id: `edge:${taskId}:proven_by`,
92
+ sourceId: `task:${taskId}`,
93
+ targetId: `formal-gate:${taskId}`,
94
+ type: PROVEN_BY_EDGE,
95
+ };
96
+ }
97
+ /** Grava aresta task --proven_by--> formal-gate; fallback em task.metadata.formalProof (RF-09). */
98
+ export function recordFormalProof(graph, taskId, verdict) {
99
+ try {
100
+ graph.addNode(formalGateNode(taskId, verdict));
101
+ graph.addEdge(provenByEdge(taskId));
102
+ }
103
+ catch {
104
+ const taskNodeId = `task:${taskId}`;
105
+ const existing = graph.getNode(taskNodeId);
106
+ const base = existing ?? {
107
+ id: taskNodeId,
108
+ type: 'task',
109
+ label: taskId,
110
+ metadata: {},
111
+ };
112
+ graph.addNode({
113
+ ...base,
114
+ metadata: { ...base.metadata, formalProof: verdict },
115
+ });
116
+ }
117
+ }
71
118
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/verification/telemetry.ts"],"names":[],"mappings":"AAIA,MAAM,cAAc,GAAG,MAAe,CAAC;AACvC,MAAM,gBAAgB,GAAG,aAAsB,CAAC;AAahD,SAAS,eAAe,CAAC,MAA0B;IACjD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;QACH,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,MAA0B;IAC1D,OAAO;QACL,EAAE,EAAE,QAAQ,MAAM,EAAE;QACpB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,gBAAgB,MAAM,EAAE;QAC/B,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO;QACL,EAAE,EAAE,QAAQ,MAAM,cAAc;QAChC,QAAQ,EAAE,QAAQ,MAAM,EAAE;QAC1B,QAAQ,EAAE,QAAQ,MAAM,EAAE;QAC1B,IAAI,EAAE,gBAAgB;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAqB,EACrB,MAAc,EACd,MAA0B;IAE1B,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,OAAO,CAAC;YACZ,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG,QAAQ;QACX,QAAQ,EAAE;YACR,GAAG,QAAQ,CAAC,QAAQ;YACpB,YAAY,EAAE,OAAO;SACtB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAqB,EACrB,MAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,IAAI,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/verification/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,46 @@
1
1
  export type LoopPolicy = 'decay' | 'fixed';
2
2
  export type SaturationAction = 'fresh-start' | 'replan' | 'escalate';
3
3
  export type MutationTool = 'stryker' | 'mutmut' | 'cargo-mutants' | 'infection';
4
+ export type FormalBackend = 'dafny' | 'verus' | 'lean';
5
+ /** Em qual obrigação a prova falhou (CLEVER §spec/impl certification, RF-07). */
6
+ export type FormalStage = 'spec' | 'impl' | 'both' | 'none';
7
+ export interface FormalGateConfig {
8
+ /** Ausência do bloco ⇒ false (RNF-01). Segundo portão além da marcação. */
9
+ readonly enabled: boolean;
10
+ /** Backend default 'dafny' (A-4 — 82% vs. Lean 27%, Vericoding). */
11
+ readonly backend: FormalBackend;
12
+ /** Módulos/funções críticas marcadas (RF-01). Vazio + sem @dare-formal ⇒ aspecto nunca roda. */
13
+ readonly modules: ReadonlyArray<string>;
14
+ /** Teto de iterações do loop de reparo PREFACE (RF-04). Default 5. */
15
+ readonly maxRepairIterations: number;
16
+ /** Timeout por prova, em segundos (RNF-03 — SMT é caro). Default 120. */
17
+ readonly proofTimeoutSeconds: number;
18
+ /** Sub-gate anti-trapaça obrigatório quando enabled (RF-06/RS-02). Default true. */
19
+ readonly antiBypass: boolean;
20
+ }
21
+ /** Marcação resolvida de um alvo crítico (A-11). */
22
+ export interface CriticalModuleMarker {
23
+ readonly file: string;
24
+ readonly symbol?: string;
25
+ readonly source: 'tag' | 'config';
26
+ }
27
+ /**
28
+ * Veredito determinístico do verificador externo (NUNCA do LLM — RS-06).
29
+ *
30
+ * INVARIANTE (§4.2): `verified` deve SEMPRE ser `solverPassed && !bypassDetected`.
31
+ * Nenhum produtor de FormalVerdict pode setar `verified:true` sem que o solver
32
+ * tenha provado E o anti-bypass tenha passado. Nunca derivado de LLM.
33
+ */
34
+ export interface FormalVerdict {
35
+ readonly backend: FormalBackend;
36
+ readonly verified: boolean;
37
+ readonly stage: FormalStage;
38
+ readonly bypassDetected: boolean;
39
+ readonly repairIterations: number;
40
+ readonly solverExitCode: number;
41
+ readonly reason: string;
42
+ readonly durationMs: number;
43
+ }
4
44
  export interface MutationConfig {
5
45
  readonly enabled: boolean;
6
46
  /** 0..1. Bloqueia DONE se score < minScore. Default 0.70. */
@@ -44,8 +84,9 @@ export interface VerificationConfig {
44
84
  readonly prerank: {
45
85
  readonly enabled: boolean;
46
86
  };
87
+ readonly formal: FormalGateConfig;
47
88
  }
48
- export type Aspect = 'build' | 'test' | 'lint' | 'type' | 'fail-to-pass' | 'anti-tamper' | 'mutation';
89
+ export type Aspect = 'build' | 'test' | 'lint' | 'type' | 'fail-to-pass' | 'anti-tamper' | 'mutation' | 'formal';
49
90
  export type Verdict = 'PASS' | 'FAIL' | 'SKIP';
50
91
  export interface AspectResult {
51
92
  readonly aspect: Aspect;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dewtech/dare-cli",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "description": "DARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,19 +16,25 @@
16
16
  "type": "modified",
17
17
  "path": "dare.config.json#version",
18
18
  "description": "Campo `version` agora rastreia a release do DARE (antes era placeholder `0.1.0` zombie)",
19
- "appliesTo": ["*"]
19
+ "appliesTo": [
20
+ "*"
21
+ ]
20
22
  },
21
23
  {
22
24
  "type": "added",
23
25
  "path": "dare.config.json#review",
24
26
  "description": "Adiciona objeto `review` ({ onComplete, strict }) em dare.config.json — gate opt-in pré-DONE no Ralph Loop",
25
- "appliesTo": ["*"]
27
+ "appliesTo": [
28
+ "*"
29
+ ]
26
30
  },
27
31
  {
28
32
  "type": "added",
29
33
  "path": "dare.config.json#refine",
30
34
  "description": "Adiciona objeto `refine.thresholds` em dare.config.json para customizar buckets de complexidade",
31
- "appliesTo": ["*"]
35
+ "appliesTo": [
36
+ "*"
37
+ ]
32
38
  }
33
39
  ],
34
40
  "migrations": [
@@ -53,7 +59,36 @@
53
59
  "type": "added",
54
60
  "path": "dare.config.json#verification",
55
61
  "description": "Adiciona objeto `verification` (enabled:false + defaults) — gate opt-in pós-Ralph Loop",
56
- "appliesTo": ["*"]
62
+ "appliesTo": [
63
+ "*"
64
+ ]
65
+ },
66
+ {
67
+ "type": "added",
68
+ "path": ".claude/commands/dare-bench.md",
69
+ "templateSource": "ide/claude/.claude/commands/dare-bench.md",
70
+ "description": "Comando `/dare-bench` (Claude Code) — harness determinístico de fixtures (Fix·Rate, solve-rate, regressão)",
71
+ "appliesTo": [
72
+ "claude-code"
73
+ ]
74
+ },
75
+ {
76
+ "type": "added",
77
+ "path": ".cursor/commands/dare-bench.md",
78
+ "templateSource": "ide/cursor/.cursor/commands/dare-bench.md",
79
+ "description": "Comando `/dare-bench` (Cursor) — harness determinístico de fixtures (Fix·Rate, solve-rate, regressão)",
80
+ "appliesTo": [
81
+ "cursor"
82
+ ]
83
+ },
84
+ {
85
+ "type": "added",
86
+ "path": ".agents/skills/dare-bench/SKILL.md",
87
+ "templateSource": "ide/antigravity/.agents/skills/dare-bench/SKILL.md",
88
+ "description": "Skill `dare-bench` (Antigravity) — harness determinístico de fixtures (Fix·Rate, solve-rate, regressão)",
89
+ "appliesTo": [
90
+ "antigravity"
91
+ ]
57
92
  }
58
93
  ],
59
94
  "migrations": [
@@ -63,6 +98,250 @@
63
98
  "optional": false
64
99
  }
65
100
  ]
101
+ },
102
+ "3.4.0": {
103
+ "releasedAt": "2026-06",
104
+ "summary": "Security Hardening — superfície MCP endurecida, validação de `dare init` e supply-chain no CI",
105
+ "changelog": "Endurece a superfície MCP (auth Bearer fora de loopback, bind 127.0.0.1, erros 5xx sanitizados), valida estritamente o nome em `dare init` e adiciona gates de supply-chain no CI (ESLint bloqueante, cobertura Vitest, `npm publish --provenance`, GitHub Actions pinadas por SHA). Não introduz skill/comando/config de projeto novo — as mudanças vivem no runtime do CLI e no CI; `dare update` não precisa entregar artefato ao projeto-alvo.",
106
+ "changes": [],
107
+ "migrations": []
108
+ },
109
+ "3.5.0": {
110
+ "releasedAt": "2026-06",
111
+ "summary": "Dual Graph — grafo dual requisito↔código determinístico",
112
+ "changelog": "Grafo dual (nós `code_symbol`+`requirement`, arestas `affects`+`derives_from`) com extração determinística de símbolos/requisitos e travessia tipada BFS. Os subcomandos `dare graph owners|impact|trace|locate` entram via skill `dare-graph` atualizada nas 3 IDEs. Localização opcional pré-patch no Ralph Loop (`graph.locateBeforePatch`) e MCP tools `graph_locate`/`graph_map_requirement`/`graph_traverse`.",
113
+ "changes": [
114
+ {
115
+ "type": "modified",
116
+ "path": ".claude/commands/dare-graph.md",
117
+ "templateSource": "ide/claude/.claude/commands/dare-graph.md",
118
+ "description": "Skill `dare-graph` (Claude Code) atualizada com subcomandos owners/impact/trace/locate",
119
+ "appliesTo": [
120
+ "claude-code"
121
+ ]
122
+ },
123
+ {
124
+ "type": "modified",
125
+ "path": ".cursor/commands/dare-graph.md",
126
+ "templateSource": "ide/cursor/.cursor/commands/dare-graph.md",
127
+ "description": "Skill `dare-graph` (Cursor) atualizada com subcomandos owners/impact/trace/locate",
128
+ "appliesTo": [
129
+ "cursor"
130
+ ]
131
+ },
132
+ {
133
+ "type": "modified",
134
+ "path": ".agents/skills/dare-graph/SKILL.md",
135
+ "templateSource": "ide/antigravity/.agents/skills/dare-graph/SKILL.md",
136
+ "description": "Skill `dare-graph` (Antigravity) atualizada com subcomandos owners/impact/trace/locate",
137
+ "appliesTo": [
138
+ "antigravity"
139
+ ]
140
+ }
141
+ ],
142
+ "migrations": []
143
+ },
144
+ "3.6.0": {
145
+ "releasedAt": "2026-06",
146
+ "summary": "Agent Hooks + Steering Files — hooks determinísticos com trust gate + steering por precedência",
147
+ "changelog": "Agent Hooks (eventos fechados on-save/on-file-create/on-task-complete/pre-commit, allowlist canônica, trust gate opt-in) e Steering files (reuso de PROJECT-DNA.md como base + precedência determinística), servidos às 3 IDEs via MCP. Adiciona comandos `dare hooks` e `dare steering` (skills nas 3 IDEs) e os blocos `hooks`/`steering` em dare.config.json. Opt-in: ausência dos blocos mantém comportamento idêntico a v3.5.0.",
148
+ "changes": [
149
+ {
150
+ "type": "added",
151
+ "path": ".claude/commands/dare-hooks.md",
152
+ "templateSource": "ide/claude/.claude/commands/dare-hooks.md",
153
+ "description": "Comando `/dare-hooks` (Claude Code) — hooks determinísticos com trust gate",
154
+ "appliesTo": [
155
+ "claude-code"
156
+ ]
157
+ },
158
+ {
159
+ "type": "added",
160
+ "path": ".cursor/commands/dare-hooks.md",
161
+ "templateSource": "ide/cursor/.cursor/commands/dare-hooks.md",
162
+ "description": "Comando `/dare-hooks` (Cursor) — hooks determinísticos com trust gate",
163
+ "appliesTo": [
164
+ "cursor"
165
+ ]
166
+ },
167
+ {
168
+ "type": "added",
169
+ "path": ".agents/skills/dare-hooks/SKILL.md",
170
+ "templateSource": "ide/antigravity/.agents/skills/dare-hooks/SKILL.md",
171
+ "description": "Skill `dare-hooks` (Antigravity) — hooks determinísticos com trust gate",
172
+ "appliesTo": [
173
+ "antigravity"
174
+ ]
175
+ },
176
+ {
177
+ "type": "added",
178
+ "path": ".claude/commands/dare-steering.md",
179
+ "templateSource": "ide/claude/.claude/commands/dare-steering.md",
180
+ "description": "Comando `/dare-steering` (Claude Code) — steering por precedência via MCP",
181
+ "appliesTo": [
182
+ "claude-code"
183
+ ]
184
+ },
185
+ {
186
+ "type": "added",
187
+ "path": ".cursor/commands/dare-steering.md",
188
+ "templateSource": "ide/cursor/.cursor/commands/dare-steering.md",
189
+ "description": "Comando `/dare-steering` (Cursor) — steering por precedência via MCP",
190
+ "appliesTo": [
191
+ "cursor"
192
+ ]
193
+ },
194
+ {
195
+ "type": "added",
196
+ "path": ".agents/skills/dare-steering/SKILL.md",
197
+ "templateSource": "ide/antigravity/.agents/skills/dare-steering/SKILL.md",
198
+ "description": "Skill `dare-steering` (Antigravity) — steering por precedência via MCP",
199
+ "appliesTo": [
200
+ "antigravity"
201
+ ]
202
+ },
203
+ {
204
+ "type": "added",
205
+ "path": "dare.config.json#hooks",
206
+ "description": "Adiciona objeto `hooks` (trusted:false + defaults opt-in) em dare.config.json",
207
+ "appliesTo": [
208
+ "*"
209
+ ]
210
+ },
211
+ {
212
+ "type": "added",
213
+ "path": "dare.config.json#steering",
214
+ "description": "Adiciona objeto `steering` (defaults opt-in) em dare.config.json",
215
+ "appliesTo": [
216
+ "*"
217
+ ]
218
+ }
219
+ ],
220
+ "migrations": [
221
+ {
222
+ "id": "add-hooks-steering-defaults",
223
+ "description": "Adiciona os blocos `hooks` e `steering` com defaults opt-in (trusted:false) em projetos pré-3.6 — não habilita hooks automaticamente",
224
+ "optional": false
225
+ }
226
+ ]
227
+ },
228
+ "3.7.0": {
229
+ "releasedAt": "2026-06",
230
+ "summary": "Brownfield Discovery — auto-discovery determinístico de padrões + planejadores leves",
231
+ "changelog": "Comando `dare patterns` (auto-discovery determinístico de padrões implícitos do legado, com evidência arquivo:linha) gerando `PATTERNS.md` + `patterns-facts.json`, e nós `pattern` no grafo. Adiciona skill `dare-patterns` nas 3 IDEs. `dare design --interactive` e personas leves (Analyst/PM em `/dare-design`, Architect em `/dare-blueprint`) atualizam as skills design/blueprint nas 3 IDEs. Opt-in puro: ausência de patterns-facts.json/PATTERNS.md mantém comportamento idêntico a v3.6.0.",
232
+ "changes": [
233
+ {
234
+ "type": "added",
235
+ "path": ".claude/commands/dare-patterns.md",
236
+ "templateSource": "ide/claude/.claude/commands/dare-patterns.md",
237
+ "description": "Comando `/dare-patterns` (Claude Code) — auto-discovery determinístico de padrões do legado",
238
+ "appliesTo": [
239
+ "claude-code"
240
+ ]
241
+ },
242
+ {
243
+ "type": "added",
244
+ "path": ".cursor/commands/dare-patterns.md",
245
+ "templateSource": "ide/cursor/.cursor/commands/dare-patterns.md",
246
+ "description": "Comando `/dare-patterns` (Cursor) — auto-discovery determinístico de padrões do legado",
247
+ "appliesTo": [
248
+ "cursor"
249
+ ]
250
+ },
251
+ {
252
+ "type": "added",
253
+ "path": ".agents/skills/dare-patterns/SKILL.md",
254
+ "templateSource": "ide/antigravity/.agents/skills/dare-patterns/SKILL.md",
255
+ "description": "Skill `dare-patterns` (Antigravity) — auto-discovery determinístico de padrões do legado",
256
+ "appliesTo": [
257
+ "antigravity"
258
+ ]
259
+ },
260
+ {
261
+ "type": "modified",
262
+ "path": ".claude/commands/dare-design.md",
263
+ "templateSource": "ide/claude/.claude/commands/dare-design.md",
264
+ "description": "Skill `dare-design` (Claude Code) com `--interactive` + personas Analyst/PM",
265
+ "appliesTo": [
266
+ "claude-code"
267
+ ]
268
+ },
269
+ {
270
+ "type": "modified",
271
+ "path": ".cursor/commands/dare-design.md",
272
+ "templateSource": "ide/cursor/.cursor/commands/dare-design.md",
273
+ "description": "Skill `dare-design` (Cursor) com `--interactive` + personas Analyst/PM",
274
+ "appliesTo": [
275
+ "cursor"
276
+ ]
277
+ },
278
+ {
279
+ "type": "modified",
280
+ "path": ".agents/skills/dare-design/SKILL.md",
281
+ "templateSource": "ide/antigravity/.agents/skills/dare-design/SKILL.md",
282
+ "description": "Skill `dare-design` (Antigravity) com `--interactive` + personas Analyst/PM",
283
+ "appliesTo": [
284
+ "antigravity"
285
+ ]
286
+ },
287
+ {
288
+ "type": "modified",
289
+ "path": ".claude/commands/dare-blueprint.md",
290
+ "templateSource": "ide/claude/.claude/commands/dare-blueprint.md",
291
+ "description": "Skill `dare-blueprint` (Claude Code) com persona Architect",
292
+ "appliesTo": [
293
+ "claude-code"
294
+ ]
295
+ },
296
+ {
297
+ "type": "modified",
298
+ "path": ".cursor/commands/dare-blueprint.md",
299
+ "templateSource": "ide/cursor/.cursor/commands/dare-blueprint.md",
300
+ "description": "Skill `dare-blueprint` (Cursor) com persona Architect",
301
+ "appliesTo": [
302
+ "cursor"
303
+ ]
304
+ },
305
+ {
306
+ "type": "modified",
307
+ "path": ".agents/skills/dare-blueprint/SKILL.md",
308
+ "templateSource": "ide/antigravity/.agents/skills/dare-blueprint/SKILL.md",
309
+ "description": "Skill `dare-blueprint` (Antigravity) com persona Architect",
310
+ "appliesTo": [
311
+ "antigravity"
312
+ ]
313
+ }
314
+ ],
315
+ "migrations": []
316
+ },
317
+ "3.8.0": {
318
+ "releasedAt": "2026-06",
319
+ "summary": "Formal Verification Gate — gate opt-in que prova (não só testa) módulos críticos marcados",
320
+ "changelog": "Aspecto `formal` no runner de verificação (extensão do verification-core v3.3.0) — gate opt-in estrito em dois níveis (`verification.formal.enabled` + marcação por módulo). Dafny default, Verus/Lean opcionais; flags `--formal`/`--no-formal`/`--formal-backend`. Toolchain externa não é dep do CLI. Opt-in estrito: ausência do bloco `verification.formal` ou de marcação mantém comportamento idêntico a v3.7.0.",
321
+ "changes": [
322
+ {
323
+ "type": "added",
324
+ "path": "dare.config.json#verification.formal",
325
+ "description": "Adiciona bloco `verification.formal` (enabled:false + defaults) — gate de prova formal opt-in por módulo marcado",
326
+ "appliesTo": [
327
+ "*"
328
+ ]
329
+ }
330
+ ],
331
+ "migrations": [
332
+ {
333
+ "id": "add-formal-defaults",
334
+ "description": "Adiciona `verification.formal` com defaults opt-in (enabled:false) em projetos pré-3.8 — não ativa prova formal automaticamente",
335
+ "optional": false
336
+ }
337
+ ]
338
+ },
339
+ "3.8.1": {
340
+ "releasedAt": "2026-06",
341
+ "summary": "Patch — dare update entrega skills/comandos/config das v3.4→v3.8 a projetos existentes",
342
+ "changelog": "Correcao de manutencao do `dare update`. O UPDATE-MANIFEST.json parava na v3.3.0, entao projetos existentes nao recebiam os artefatos das v3.4-v3.8. Esta release faz o backfill do manifesto (ver entradas 3.4.0-3.8.0). Sem artefato novo de projeto nesta 3.8.1.",
343
+ "changes": [],
344
+ "migrations": []
66
345
  }
67
346
  }
68
347
  }