@evomap/evolver 1.88.1 → 1.88.2

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 (59) hide show
  1. package/index.js +148 -3
  2. package/package.json +2 -1
  3. package/src/adapters/claudeCode.js +21 -1
  4. package/src/adapters/hookAdapter.js +4 -2
  5. package/src/adapters/scripts/evolver-session-start.js +14 -10
  6. package/src/adapters/scripts/evolver-task-recall.js +173 -0
  7. package/src/atp/atpExecute.js +20 -7
  8. package/src/atp/cli.js +17 -9
  9. package/src/atp/protocol.js +41 -0
  10. package/src/config.js +23 -0
  11. package/src/evolve/guards.js +1 -1
  12. package/src/evolve/pipeline/collect.js +1 -1
  13. package/src/evolve/pipeline/dispatch.js +1 -1
  14. package/src/evolve/pipeline/enrich.js +1 -1
  15. package/src/evolve/pipeline/hub.js +1 -1
  16. package/src/evolve/pipeline/select.js +1 -1
  17. package/src/evolve/pipeline/signals.js +1 -1
  18. package/src/evolve/utils.js +1 -1
  19. package/src/evolve.js +1 -1
  20. package/src/forceUpdate.js +108 -3
  21. package/src/gep/a2aProtocol.js +1 -1
  22. package/src/gep/assetCallLog.js +40 -1
  23. package/src/gep/autoDistillConv.js +1 -1
  24. package/src/gep/autoDistillLlm.js +1 -1
  25. package/src/gep/candidateEval.js +1 -1
  26. package/src/gep/candidates.js +1 -1
  27. package/src/gep/contentHash.js +1 -1
  28. package/src/gep/conversationSniffer.js +1 -1
  29. package/src/gep/crypto.js +1 -1
  30. package/src/gep/curriculum.js +1 -1
  31. package/src/gep/deviceId.js +1 -1
  32. package/src/gep/envFingerprint.js +1 -1
  33. package/src/gep/epigenetics.js +1 -1
  34. package/src/gep/execBridge.js +1 -1
  35. package/src/gep/explore.js +1 -1
  36. package/src/gep/hash.js +1 -1
  37. package/src/gep/hubFetch.js +1 -1
  38. package/src/gep/hubReview.js +1 -1
  39. package/src/gep/hubSearch.js +1 -1
  40. package/src/gep/hubVerify.js +1 -1
  41. package/src/gep/learningSignals.js +1 -1
  42. package/src/gep/memoryGraph.js +1 -1
  43. package/src/gep/memoryGraphAdapter.js +1 -1
  44. package/src/gep/mutation.js +1 -1
  45. package/src/gep/narrativeMemory.js +1 -1
  46. package/src/gep/openPRRegistry.js +1 -1
  47. package/src/gep/personality.js +1 -1
  48. package/src/gep/policyCheck.js +1 -1
  49. package/src/gep/prompt.js +1 -1
  50. package/src/gep/recallInject.js +1 -0
  51. package/src/gep/recallVerifier.js +1 -1
  52. package/src/gep/reflection.js +1 -1
  53. package/src/gep/selector.js +1 -1
  54. package/src/gep/skillDistiller.js +1 -1
  55. package/src/gep/solidify.js +1 -1
  56. package/src/gep/strategy.js +1 -1
  57. package/src/gep/workspaceKeychain.js +1 -1
  58. package/src/proxy/index.js +22 -1
  59. package/src/proxy/lifecycle/manager.js +456 -2
package/src/config.js CHANGED
@@ -177,6 +177,26 @@ const SELF_PR_TIMEOUT_MS = envInt('EVOLVER_SELF_PR_TIMEOUT_MS', 30000);
177
177
 
178
178
  const LEAK_CHECK_MODE = envStr('EVOLVER_LEAK_CHECK', 'strict');
179
179
 
180
+ // --- Reuse attribution (P4-a, Slice A) ---
181
+ // Controls whether the evolver attaches a `reuse_attribution` block to the
182
+ // synced `outcome` MemoryGraphEvent so the Hub can LATER (P4-a Slice B, gated +
183
+ // team-signed-off) credit the SOURCE node when its asset is reused. Modes:
184
+ // off (default) — attach nothing; byte-identical to pre-P4-a behavior.
185
+ // shadow — attach the attribution block; it rides the existing
186
+ // syncEventToHub -> /a2a/memory/event into the Hub's
187
+ // MemoryGraphEvent.payload blob, which is GDI-inert and
188
+ // read by NO payout path today.
189
+ // There is intentionally NO `enforce` on the CLIENT: the evolver cannot move
190
+ // money, so an enforce word would be a lie. The report stays economy-inert
191
+ // until a SIGNED-OFF Hub reader converts it to credit (which MUST add the
192
+ // anti-sybil gating — see P4-a Slice B). Until then it only emits honest,
193
+ // runtime-observed attribution data (never agent-supplied identity).
194
+ const REUSE_ATTRIBUTION_MODE = envStr('EVOLVER_REUSE_ATTRIBUTION', 'off');
195
+ function reuseAttributionMode() {
196
+ const v = String(process.env.EVOLVER_REUSE_ATTRIBUTION || REUSE_ATTRIBUTION_MODE || 'off').toLowerCase().trim();
197
+ return v === 'shadow' ? 'shadow' : 'off';
198
+ }
199
+
180
200
  // --- Validator mode (opt-out) ---
181
201
  // Node role: the evolver periodically fetches assigned validation tasks from
182
202
  // the Hub, runs the commands in an isolated sandbox, and submits
@@ -257,6 +277,9 @@ module.exports = {
257
277
  BLAST_RADIUS_HARD_CAP_LINES,
258
278
  // Security
259
279
  LEAK_CHECK_MODE,
280
+ // Reuse attribution (P4-a Slice A)
281
+ REUSE_ATTRIBUTION_MODE,
282
+ reuseAttributionMode,
260
283
  // Validator (opt-in role)
261
284
  VALIDATOR_ENABLED,
262
285
  VALIDATOR_STAKE_AMOUNT,