{"_id":"@ai-operations/spark-engine","name":"@ai-operations/spark-engine","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ai-operations/spark-engine","version":"0.1.0","description":"SPARK engine — Self-Perpetuating Adaptive Reasoning Kernel with predict/learn feedback loop, awareness, and conversational reasoning","private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","clean":"rm -rf dist"},"dependencies":{"@ai-operations/shared-types":"*","@ai-operations/ops-storage":"*"},"optionalDependencies":{"@ai-operations/cord-adapter":"*"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"keywords":["ai","safety","learning","feedback-loop","spark"],"license":"MIT","_id":"@ai-operations/spark-engine@0.1.0","gitHead":"5479e60c372e0d4d5269e3fd1f87915563e9a87d","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-DlFyWIQ++RQAGS5zLVq9H8ayiyVkUiCiuJoSGXGujtD6gb6eUk/5CWkDNiCpdrMgUsNopz7/qQnViIwCh+uDrw==","shasum":"70616f2ccd2d5dd8dced5908942b647fd609f004","tarball":"https://registry.npmjs.org/@ai-operations/spark-engine/-/spark-engine-0.1.0.tgz","fileCount":78,"unpackedSize":423926,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGt3juWfwoKQKaI1vfla68+yoqxGO8//BSaiNoXL1i4OAiEA2txywEaqM445rzfXYe2VbOshGombLb045YEJ738wWDc="}]},"_npmUser":{"name":"alexpinkone","email":"pinkevich1980@gmail.com"},"directories":{},"maintainers":[{"name":"alexpinkone","email":"pinkevich1980@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spark-engine_0.1.0_1773153579212_0.31764009877489885"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-10T14:39:39.114Z","0.1.0":"2026-03-10T14:39:39.367Z","modified":"2026-03-10T14:39:39.897Z"},"maintainers":[{"name":"alexpinkone","email":"pinkevich1980@gmail.com"}],"description":"SPARK engine — Self-Perpetuating Adaptive Reasoning Kernel with predict/learn feedback loop, awareness, and conversational reasoning","keywords":["ai","safety","learning","feedback-loop","spark"],"license":"MIT","readme":"# @ai-operations/spark-engine\n\n**Self-Perpetuating Adaptive Reasoning Kernel** — A closed feedback loop that makes CORD safety scoring learn from outcomes.\n\n## The Spark\n\nMost AI safety systems use static rules. SPARK closes the loop: **Predict → Act → Measure → Learn**.\n\n```\nStep arrives → Predictor predicts outcome → CORD scores (with learned weights)\n                                                ↓\n                                          Step executes\n                                                ↓\n           LearningCore compares ← OutcomeTracker measures\n                    ↓\n          WeightManager updates (bounded by SENTINEL)\n```\n\n## Core Modules\n\n### Predictor\nBefore each step, predicts the CORD score, expected outcome, and confidence.\n\n```typescript\nimport { Predictor } from '@ai-operations/spark-engine';\n\nconst predictor = new Predictor(sparkStore);\nconst prediction = predictor.predict(stepId, runId, 'gmail', 'send');\n// { predictedScore: 35, predictedOutcome: 'success', confidence: 0.72 }\n```\n\n### OutcomeTracker\nAfter execution, measures what actually happened.\n\n```typescript\nimport { OutcomeTracker } from '@ai-operations/spark-engine';\n\nconst tracker = new OutcomeTracker(sparkStore);\nconst outcome = tracker.measure(step, runId, wasApproved);\n// { actualOutcome: 'failure', signals: { succeeded: false, hasError: true } }\n```\n\n### LearningCore\nCompares prediction to reality and adjusts weights.\n\n```typescript\nimport { LearningCore } from '@ai-operations/spark-engine';\n\nconst core = new LearningCore(sparkStore);\nconst episode = core.learn(prediction, outcome);\n// { adjustmentDirection: 'increase', reason: 'CORD scored 15 but action failed' }\n```\n\n### AdaptiveSafetyGate\nWraps CordSafetyGate with learned weight multipliers.\n\n```typescript\nimport { AdaptiveSafetyGate } from '@ai-operations/spark-engine';\n\nconst gate = new AdaptiveSafetyGate(cordGate, weightManager);\nconst result = gate.evaluateAction('gmail', 'send', input);\n// score adjusted by learned weight, decision may change\n```\n\n## Safety Bounds (SENTINEL)\n\n- All weights bounded ±30% of base (0.70–1.30)\n- **Destructive** and **financial** categories can NEVER decrease below 1.0\n- Minimum 3 episodes before any learning occurs\n- EMA smoothing (α=0.1) prevents oscillation\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-a448d842d5595048a5568cd998898076"}