rlhf-feedback-loop 0.6.12 ā 0.6.13
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/adapters/README.md +1 -1
- package/adapters/chatgpt/INSTALL.md +1 -1
- package/adapters/chatgpt/openapi.yaml +1 -1
- package/adapters/claude/.mcp.json +1 -1
- package/adapters/codex/config.toml +1 -1
- package/bin/cli.js +7 -7
- package/openapi/openapi.yaml +1 -1
- package/package.json +2 -2
- package/scripts/feedback-loop.js +1 -1
- package/scripts/generate-paperbanana-diagrams.sh +1 -1
- package/scripts/jsonl-watcher.js +7 -3
- package/src/api/server.js +4 -4
package/adapters/README.md
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
- `chatgpt/openapi.yaml`: import into GPT Actions.
|
|
4
4
|
- `gemini/function-declarations.json`: Gemini function-calling definitions.
|
|
5
5
|
- `mcp/server-stdio.js`: underlying local MCP stdio server implementation.
|
|
6
|
-
- `claude/.mcp.json`: example Claude Code MCP config using `npx -y rlhf-feedback-loop@0.6.
|
|
6
|
+
- `claude/.mcp.json`: example Claude Code MCP config using `npx -y rlhf-feedback-loop@0.6.13 serve`.
|
|
7
7
|
- `codex/config.toml`: example Codex MCP profile section using the same version-pinned portable launcher.
|
|
8
8
|
- `amp/skills/rlhf-feedback/SKILL.md`: Amp skill template.
|
package/bin/cli.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* npx rlhf-feedback-loop capture # capture feedback
|
|
8
8
|
* npx rlhf-feedback-loop export-dpo # export DPO training pairs
|
|
9
9
|
* npx rlhf-feedback-loop stats # feedback analytics + Revenue-at-Risk
|
|
10
|
-
* npx rlhf-feedback-loop pro # upgrade to
|
|
10
|
+
* npx rlhf-feedback-loop pro # upgrade to Context Gateway
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
@@ -457,7 +457,7 @@ function stats() {
|
|
|
457
457
|
console.log(` Repeated Failures detected: ${data.totalNegative}`);
|
|
458
458
|
console.log(` Estimated Operational Loss: $${revenueAtRisk}`);
|
|
459
459
|
console.log(' Action Required: Run "npx rlhf-feedback-loop rules" to generate guardrails.');
|
|
460
|
-
console.log(' Strategic Recommendation: Upgrade to
|
|
460
|
+
console.log(' Strategic Recommendation: Upgrade to Context Gateway to sync these rules across your team.');
|
|
461
461
|
console.log(' Run: npx rlhf-feedback-loop pro');
|
|
462
462
|
} else {
|
|
463
463
|
console.log('\nā
System is currently high-reliability. No immediate revenue loss detected.');
|
|
@@ -466,7 +466,7 @@ function stats() {
|
|
|
466
466
|
|
|
467
467
|
function pro() {
|
|
468
468
|
const stripeUrl = 'https://buy.stripe.com/bJe14neyU4r4f0leOD3sI02';
|
|
469
|
-
console.log('\nš
|
|
469
|
+
console.log('\nš MCP Memory Gateway ā Context Gateway');
|
|
470
470
|
console.log('ā'.repeat(50));
|
|
471
471
|
console.log('Unlock the full Agentic Control Plane:');
|
|
472
472
|
console.log(' - Hosted Team API (Shared memory across all repos)');
|
|
@@ -628,7 +628,7 @@ function serve() {
|
|
|
628
628
|
}
|
|
629
629
|
|
|
630
630
|
function install() {
|
|
631
|
-
console.log('Installing
|
|
631
|
+
console.log('Installing MCP Memory Gateway as a global MCP skill...');
|
|
632
632
|
const results = [
|
|
633
633
|
setupClaude(),
|
|
634
634
|
setupCodex(),
|
|
@@ -638,10 +638,10 @@ function install() {
|
|
|
638
638
|
];
|
|
639
639
|
const success = results.some(r => r === true);
|
|
640
640
|
if (success) {
|
|
641
|
-
console.log('\nSuccess!
|
|
641
|
+
console.log('\nSuccess! MCP Memory Gateway is now available to your agents.');
|
|
642
642
|
console.log('Try asking your agent: "Capture positive feedback for this task"');
|
|
643
643
|
} else {
|
|
644
|
-
console.log('\
|
|
644
|
+
console.log('\nMCP Memory Gateway is already configured.');
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
|
|
@@ -676,7 +676,7 @@ function help() {
|
|
|
676
676
|
console.log(' export-dpo Export DPO training pairs (prompt/chosen/rejected JSONL)');
|
|
677
677
|
console.log(' rules Generate prevention rules from repeated failures');
|
|
678
678
|
console.log(' self-heal Run self-healing check and auto-fix');
|
|
679
|
-
console.log(' pro Upgrade to
|
|
679
|
+
console.log(' pro Upgrade to Context Gateway ($10/mo)');
|
|
680
680
|
console.log(' prove [--target=X] Run proof harness (adapters|automation|attribution|lancedb|local-intelligence|...)');
|
|
681
681
|
console.log(' watch [flags] Watch .rlhf/ for external signals and ingest through pipeline (--once, --source=X)');
|
|
682
682
|
console.log(' status Show learning curve dashboard ā approval trend + failure domains');
|
package/openapi/openapi.yaml
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rlhf-feedback-loop",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13",
|
|
4
4
|
"description": "Feedback-Driven Development (FDD) for AI agents ā capture preference signals, steer behavior via Thompson Sampling, and export KTO/DPO training pairs for downstream fine-tuning.",
|
|
5
5
|
"homepage": "https://rlhf-feedback-loop-production.up.railway.app",
|
|
6
6
|
"repository": {
|
|
@@ -136,5 +136,5 @@
|
|
|
136
136
|
"apache-arrow": "^18.1.0",
|
|
137
137
|
"stripe": "^20.4.1"
|
|
138
138
|
},
|
|
139
|
-
"mcpName": "io.github.
|
|
139
|
+
"mcpName": "io.github.IgorGanapolsky/rlhf-feedback-loop"
|
|
140
140
|
}
|
package/scripts/feedback-loop.js
CHANGED
|
@@ -74,7 +74,7 @@ TXT
|
|
|
74
74
|
budget_check "$PB_ESTIMATE_PER_DIAGRAM"
|
|
75
75
|
paperbanana generate \
|
|
76
76
|
--input docs/diagrams/rlhf-architecture.txt \
|
|
77
|
-
--caption "
|
|
77
|
+
--caption "MCP Memory Gateway architecture for AI coding agents with schema gate, memory store, prevention rules, and DPO export" \
|
|
78
78
|
--vlm-provider gemini \
|
|
79
79
|
--vlm-model "$PB_VLM_MODEL" \
|
|
80
80
|
--image-provider google_imagen \
|
package/scripts/jsonl-watcher.js
CHANGED
|
@@ -120,9 +120,13 @@ function watch(sourceFilter) {
|
|
|
120
120
|
if (sourceFilter) log(`[jsonl-watcher] Filtering source: ${sourceFilter}`);
|
|
121
121
|
|
|
122
122
|
setInterval(() => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
try {
|
|
124
|
+
const result = processNewEntries(FEEDBACK_DIR, FEEDBACK_LOG_PATH, sourceFilter);
|
|
125
|
+
if (result.processed > 0) {
|
|
126
|
+
log(`[jsonl-watcher] Ingested ${result.processed} entries (${result.promoted} promoted)`);
|
|
127
|
+
}
|
|
128
|
+
} catch (err) {
|
|
129
|
+
log(`[jsonl-watcher] Poll error (non-fatal): ${err.message}`);
|
|
126
130
|
}
|
|
127
131
|
}, POLL_INTERVAL_MS);
|
|
128
132
|
}
|
package/src/api/server.js
CHANGED
|
@@ -126,7 +126,7 @@ function renderCheckoutSuccessPage() {
|
|
|
126
126
|
<head>
|
|
127
127
|
<meta charset="UTF-8" />
|
|
128
128
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
129
|
-
<title>
|
|
129
|
+
<title>Context Gateway Activated</title>
|
|
130
130
|
<style>
|
|
131
131
|
:root {
|
|
132
132
|
--bg: #f6f1e8;
|
|
@@ -227,7 +227,7 @@ function renderCheckoutSuccessPage() {
|
|
|
227
227
|
</head>
|
|
228
228
|
<body>
|
|
229
229
|
<main>
|
|
230
|
-
<span class="eyebrow">
|
|
230
|
+
<span class="eyebrow">Context Gateway</span>
|
|
231
231
|
<h1>Your hosted API key is ready.</h1>
|
|
232
232
|
<p class="lead">This page verifies your Stripe session, provisions the key if needed, and gives you a copy-paste onboarding snippet for the hosted API.</p>
|
|
233
233
|
|
|
@@ -284,7 +284,7 @@ function renderCheckoutSuccessPage() {
|
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
statusEl.textContent = '
|
|
287
|
+
statusEl.textContent = 'Context Gateway activated.';
|
|
288
288
|
summaryEl.textContent = 'Your API key is ready. Copy the snippets below into your workflow project.';
|
|
289
289
|
keyBlock.textContent = body.apiKey || 'Provisioned, but no key was returned.';
|
|
290
290
|
envBlock.textContent = body.nextSteps && body.nextSteps.env ? body.nextSteps.env : 'Environment snippet unavailable.';
|
|
@@ -346,7 +346,7 @@ function renderCheckoutCancelledPage() {
|
|
|
346
346
|
<main>
|
|
347
347
|
<h1>Checkout cancelled.</h1>
|
|
348
348
|
<p>No charge was made. You can return to the landing page and restart checkout whenever you are ready.</p>
|
|
349
|
-
<a href="/">Return to
|
|
349
|
+
<a href="/">Return to Context Gateway</a>
|
|
350
350
|
</main>
|
|
351
351
|
</body>
|
|
352
352
|
</html>`;
|