babel-validate 0.2.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/README.md +220 -0
- package/dist/audit.d.ts +44 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +220 -0
- package/dist/audit.js.map +1 -0
- package/dist/builder.d.ts +54 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +160 -0
- package/dist/builder.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/patterns.d.ts +8 -0
- package/dist/patterns.d.ts.map +1 -0
- package/dist/patterns.js +100 -0
- package/dist/patterns.js.map +1 -0
- package/dist/test.d.ts +2 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +356 -0
- package/dist/test.js.map +1 -0
- package/dist/types.d.ts +69 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/validate.d.ts +4 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +407 -0
- package/dist/validate.js.map +1 -0
- package/package.json +40 -0
package/dist/test.js
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════
|
|
3
|
+
// BABEL-VALIDATE TEST SUITE
|
|
4
|
+
// Tests aligned to Babel v0.2 spec (Notion)
|
|
5
|
+
// ═══════════════════════════════════════════════
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const index_1 = require("./index");
|
|
8
|
+
let passed = 0;
|
|
9
|
+
let failed = 0;
|
|
10
|
+
function assert(condition, name, detail) {
|
|
11
|
+
if (condition) {
|
|
12
|
+
passed++;
|
|
13
|
+
console.log(` ✓ ${name}`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
failed++;
|
|
17
|
+
console.error(` ✗ ${name}${detail ? ': ' + detail : ''}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// --- Builder Tests ---
|
|
21
|
+
console.log('\n═══ Builder ═══');
|
|
22
|
+
const basic = (0, index_1.envelope)()
|
|
23
|
+
.sender('agent-a')
|
|
24
|
+
.recipient('agent-b')
|
|
25
|
+
.chain('test-chain-1', 0)
|
|
26
|
+
.inform()
|
|
27
|
+
.engineering()
|
|
28
|
+
.verified('The sky is blue', 0.99)
|
|
29
|
+
.payload('Test payload')
|
|
30
|
+
.build();
|
|
31
|
+
assert(basic.meta.version === 'babel/0.2', 'Version is babel/0.2');
|
|
32
|
+
assert(basic.meta.sender === 'agent-a', 'Sender set');
|
|
33
|
+
assert(basic.meta.recipient === 'agent-b', 'Recipient set');
|
|
34
|
+
assert(basic.intent === 'INFORM', 'Intent is INFORM');
|
|
35
|
+
assert(basic.register === 'ENGINEERING', 'Register is ENGINEERING');
|
|
36
|
+
assert(basic.confidence.length === 1, 'One confidence assertion');
|
|
37
|
+
assert(basic.confidence[0].basis === 'VERIFIED_DATA', 'Basis is VERIFIED_DATA');
|
|
38
|
+
assert(basic.payload === 'Test payload', 'Payload set');
|
|
39
|
+
// --- Structural Validation ---
|
|
40
|
+
console.log('\n═══ Structural Validation ═══');
|
|
41
|
+
const validResult = (0, index_1.validate)(basic);
|
|
42
|
+
assert(validResult.valid === true, 'Valid envelope passes');
|
|
43
|
+
assert(validResult.errors.length === 0, 'No errors on valid envelope');
|
|
44
|
+
const noConfidence = { ...basic, confidence: [] };
|
|
45
|
+
const noConfResult = (0, index_1.validate)(noConfidence);
|
|
46
|
+
assert(noConfResult.valid === false, 'Missing confidence fails');
|
|
47
|
+
const badScore = {
|
|
48
|
+
...basic,
|
|
49
|
+
confidence: [{ assertion: 'test', score: 1.5, basis: 'VERIFIED_DATA' }],
|
|
50
|
+
};
|
|
51
|
+
assert((0, index_1.validate)(badScore).valid === false, 'Score > 1 fails');
|
|
52
|
+
// --- MUST Rule Tests ---
|
|
53
|
+
console.log('\n═══ MUST Rules ═══');
|
|
54
|
+
// M1: intent == SPECULATE → max(confidence[].score) < 0.7
|
|
55
|
+
const m1Fail = (0, index_1.envelope)()
|
|
56
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
57
|
+
.speculate().engineering()
|
|
58
|
+
.derived('This might be important', 0.8) // SPECULATE intent + score >= 0.7
|
|
59
|
+
.payload('test')
|
|
60
|
+
.buildAndValidate();
|
|
61
|
+
assert(m1Fail.valid === false, 'M1: SPECULATE intent with score >= 0.7 rejected');
|
|
62
|
+
assert(m1Fail.errors.some(e => e.rule === 'M1'), 'M1 rule violation present');
|
|
63
|
+
const m1Pass = (0, index_1.envelope)()
|
|
64
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
65
|
+
.speculate().engineering()
|
|
66
|
+
.derived('This might be important', 0.6) // SPECULATE + score < 0.7 = OK
|
|
67
|
+
.payload('test')
|
|
68
|
+
.buildAndValidate();
|
|
69
|
+
assert(m1Pass.valid === true, 'M1: SPECULATE intent with score < 0.7 passes');
|
|
70
|
+
// M1: Non-SPECULATE intent with high score is fine
|
|
71
|
+
const m1NonSpec = (0, index_1.envelope)()
|
|
72
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
73
|
+
.inform().engineering()
|
|
74
|
+
.speculation('A guess', 0.9) // INFORM intent, basis is SPECULATION but intent isn't SPECULATE
|
|
75
|
+
.payload('test')
|
|
76
|
+
.buildAndValidate();
|
|
77
|
+
// This should pass M1 (intent isn't SPECULATE) but may hit M4 (basis is SPECULATION, not UNKNOWN)
|
|
78
|
+
assert(!m1NonSpec.errors.some(e => e.rule === 'M1'), 'M1: Non-SPECULATE intent ignores score threshold');
|
|
79
|
+
// M2: intent == REQUEST_ACTION → min(confidence[].score) > 0.3 OR grounds
|
|
80
|
+
const m2Fail = (0, index_1.envelope)()
|
|
81
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
82
|
+
.requestAction().engineering()
|
|
83
|
+
.reported('Maybe we should pivot', 0.2) // min score 0.2 <= 0.3, no grounds
|
|
84
|
+
.payload('test')
|
|
85
|
+
.buildAndValidate();
|
|
86
|
+
assert(m2Fail.valid === false, 'M2: REQUEST_ACTION with low min score and no grounds rejected');
|
|
87
|
+
const m2PassScore = (0, index_1.envelope)()
|
|
88
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
89
|
+
.requestAction().engineering()
|
|
90
|
+
.verified('Server needs restart', 0.9) // min score > 0.3
|
|
91
|
+
.payload('test')
|
|
92
|
+
.buildAndValidate();
|
|
93
|
+
assert(m2PassScore.valid === true, 'M2: REQUEST_ACTION with min score > 0.3 passes');
|
|
94
|
+
const m2PassGrounds = (0, index_1.envelope)()
|
|
95
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
96
|
+
.requestAction().engineering()
|
|
97
|
+
.reported('Maybe we should pivot', 0.2) // low score but has grounds
|
|
98
|
+
.policyGround('CEO approved pivot exploration')
|
|
99
|
+
.payload('test')
|
|
100
|
+
.buildAndValidate();
|
|
101
|
+
assert(m2PassGrounds.valid === true, 'M2: REQUEST_ACTION with low score but grounds passes');
|
|
102
|
+
// M3: REGULATORY → override == false
|
|
103
|
+
const m3Fail = (0, index_1.envelope)()
|
|
104
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
105
|
+
.inform().engineering()
|
|
106
|
+
.verified('test', 0.9)
|
|
107
|
+
.payload('test')
|
|
108
|
+
.build();
|
|
109
|
+
m3Fail.grounds = [{ constraint: 'HIPAA', authority: 'REGULATORY', override: true }];
|
|
110
|
+
assert((0, index_1.validate)(m3Fail).valid === false, 'M3: Regulatory override rejected');
|
|
111
|
+
const m3Auto = (0, index_1.envelope)()
|
|
112
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
113
|
+
.inform().engineering()
|
|
114
|
+
.verified('test', 0.9)
|
|
115
|
+
.regulatoryGround('HIPAA compliance')
|
|
116
|
+
.payload('test')
|
|
117
|
+
.build();
|
|
118
|
+
assert(m3Auto.grounds[0].override === false, 'M3: Builder auto-prevents regulatory override');
|
|
119
|
+
// M4: basis == UNKNOWN → score <= 0.5
|
|
120
|
+
const m4Fail = (0, index_1.envelope)()
|
|
121
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
122
|
+
.inform().engineering()
|
|
123
|
+
.assert('Confident but no basis', 0.6) // No basis, score > 0.5
|
|
124
|
+
.payload('test')
|
|
125
|
+
.buildAndValidate();
|
|
126
|
+
assert(m4Fail.valid === false, 'M4: No basis with score > 0.5 rejected');
|
|
127
|
+
assert(m4Fail.errors.some(e => e.rule === 'M4'), 'M4 rule violation present');
|
|
128
|
+
const m4Pass = (0, index_1.envelope)()
|
|
129
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
130
|
+
.inform().engineering()
|
|
131
|
+
.assert('Not sure why I think this', 0.4) // No basis, score <= 0.5 = OK
|
|
132
|
+
.payload('test')
|
|
133
|
+
.buildAndValidate();
|
|
134
|
+
assert(m4Pass.valid === true, 'M4: No basis with score <= 0.5 passes');
|
|
135
|
+
// M5: Negative sequence
|
|
136
|
+
const m5Fail = (0, index_1.envelope)()
|
|
137
|
+
.sender('a').recipient('b').chain('c', -1)
|
|
138
|
+
.inform().engineering()
|
|
139
|
+
.verified('test', 0.9)
|
|
140
|
+
.payload('test')
|
|
141
|
+
.buildAndValidate();
|
|
142
|
+
assert(m5Fail.valid === false, 'M5: Negative sequence rejected');
|
|
143
|
+
// --- SHOULD Rule Tests ---
|
|
144
|
+
console.log('\n═══ SHOULD Rules ═══');
|
|
145
|
+
// S1: ESCALATE + CUSTOMER_EXTERNAL → warn
|
|
146
|
+
const s1 = (0, index_1.envelope)()
|
|
147
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
148
|
+
.escalate().customerExternal()
|
|
149
|
+
.verified('Critical issue', 0.95)
|
|
150
|
+
.payload('test')
|
|
151
|
+
.buildAndValidate();
|
|
152
|
+
assert(s1.valid === true, 'S1: Envelope passes (SHOULD, not MUST)');
|
|
153
|
+
assert(s1.warnings.some(w => w.rule === 'S1'), 'S1: Warning for customer-facing escalation');
|
|
154
|
+
// S2: affect.certainty > 0.5 + max confidence < 0.4
|
|
155
|
+
const s2 = (0, index_1.envelope)()
|
|
156
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
157
|
+
.inform().engineering()
|
|
158
|
+
.speculation('Maybe aliens', 0.3) // max score 0.3 < 0.4
|
|
159
|
+
.affect(0.1, 0.1, 0.8) // certainty 0.8 > 0.5
|
|
160
|
+
.payload('test')
|
|
161
|
+
.buildAndValidate();
|
|
162
|
+
assert(s2.warnings.some(w => w.rule === 'S2'), 'S2: Warning — feels certain but evidence weak');
|
|
163
|
+
// S3: INFORM + low-confidence assertion
|
|
164
|
+
const s3 = (0, index_1.envelope)()
|
|
165
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
166
|
+
.inform().engineering()
|
|
167
|
+
.verified('Revenue is $4.2M', 0.95)
|
|
168
|
+
.reported('HealthStack may partner with Vanta', 0.25) // < 0.5
|
|
169
|
+
.payload('test')
|
|
170
|
+
.buildAndValidate();
|
|
171
|
+
assert(s3.warnings.some(w => w.rule === 'S3'), 'S3: Warning — informing with low-confidence assertion');
|
|
172
|
+
// S4: DEGRADING trajectory + INFORM
|
|
173
|
+
const s4 = (0, index_1.envelope)()
|
|
174
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
175
|
+
.inform().boardFacing()
|
|
176
|
+
.verified('NRR is 108%', 0.92)
|
|
177
|
+
.withTrajectory('NRR declining 4 months', 'DEGRADING')
|
|
178
|
+
.payload('test')
|
|
179
|
+
.buildAndValidate();
|
|
180
|
+
assert(s4.warnings.some(w => w.rule === 'S4'), 'S4: Warning — degrading pattern as neutral inform');
|
|
181
|
+
// S5: REGULATORY register without grounds
|
|
182
|
+
const s5 = (0, index_1.envelope)()
|
|
183
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
184
|
+
.inform().regulatory() // REGULATORY register
|
|
185
|
+
.verified('Audit finding', 0.9)
|
|
186
|
+
.payload('test') // no grounds
|
|
187
|
+
.buildAndValidate();
|
|
188
|
+
assert(s5.warnings.some(w => w.rule === 'S5'), 'S5: Warning — regulatory register without grounds');
|
|
189
|
+
// S6: DERIVED over-confidence
|
|
190
|
+
const s6 = (0, index_1.envelope)()
|
|
191
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
192
|
+
.inform().engineering()
|
|
193
|
+
.derived('Growth rate implies $5M Q4', 0.85) // DERIVED + > 0.80
|
|
194
|
+
.payload('test')
|
|
195
|
+
.buildAndValidate();
|
|
196
|
+
assert(s6.valid === true, 'S6: Envelope passes (SHOULD)');
|
|
197
|
+
assert(s6.warnings.some(w => w.rule === 'S6'), 'S6: Warning for over-confident derivation');
|
|
198
|
+
assert(s6.warnings.find(w => w.rule === 'S6').message.includes('60%'), 'S6: Warning references Experiment 11 finding');
|
|
199
|
+
// --- Spec Example Validation ---
|
|
200
|
+
console.log('\n═══ Spec Examples ═══');
|
|
201
|
+
// Example 1 from spec: Scout → Strategist
|
|
202
|
+
const specExample1 = {
|
|
203
|
+
meta: {
|
|
204
|
+
version: 'babel/0.2',
|
|
205
|
+
timestamp: '2026-02-15T14:30:00Z',
|
|
206
|
+
sender: 'scout-market-intel',
|
|
207
|
+
recipient: 'strategist-01',
|
|
208
|
+
chain_id: 'a7f3b2c1-d4e5-6789-abcd-ef0123456789',
|
|
209
|
+
seq: 0,
|
|
210
|
+
},
|
|
211
|
+
intent: 'INFORM',
|
|
212
|
+
confidence: [
|
|
213
|
+
{ assertion: 'MedVault Q3 revenue was $2.1M, down 8% QoQ', score: 0.95, basis: 'VERIFIED_DATA' },
|
|
214
|
+
{ assertion: 'Churn concentrated in 50-200 seat segment', score: 0.82, basis: 'DERIVED' },
|
|
215
|
+
{ assertion: 'HealthStack may be partnering with Vanta for compliance', score: 0.25, basis: 'REPORTED', decay: '7d' },
|
|
216
|
+
],
|
|
217
|
+
register: 'AGENT_INTERNAL',
|
|
218
|
+
grounds: [
|
|
219
|
+
{ constraint: 'Board meeting in 3 weeks — all findings may surface', authority: 'CONTEXTUAL', override: true },
|
|
220
|
+
],
|
|
221
|
+
trajectory: {
|
|
222
|
+
pattern: 'NRR declining from 115% to 108% over 4 months',
|
|
223
|
+
direction: 'DEGRADING',
|
|
224
|
+
prior_handoffs: 0,
|
|
225
|
+
},
|
|
226
|
+
payload: '[full research report text here]',
|
|
227
|
+
};
|
|
228
|
+
const ex1Result = (0, index_1.validate)(specExample1);
|
|
229
|
+
assert(ex1Result.valid === true, 'Spec Example 1 (Scout→Strategist): passes validation');
|
|
230
|
+
assert(ex1Result.warnings.some(w => w.rule === 'S3'), 'Spec Example 1: S3 fires on Vanta claim (score 0.25)');
|
|
231
|
+
assert(ex1Result.warnings.some(w => w.rule === 'S6'), 'Spec Example 1: S6 fires on DERIVED 0.82 assertion');
|
|
232
|
+
// Example 3 from spec: The envelope that gets rejected
|
|
233
|
+
const specExample3 = {
|
|
234
|
+
meta: {
|
|
235
|
+
version: 'babel/0.2',
|
|
236
|
+
timestamp: '2026-02-15T16:00:00Z',
|
|
237
|
+
sender: 'bad-agent',
|
|
238
|
+
recipient: 'any-agent',
|
|
239
|
+
chain_id: 'reject-test',
|
|
240
|
+
seq: 0,
|
|
241
|
+
},
|
|
242
|
+
intent: 'SPECULATE',
|
|
243
|
+
confidence: [
|
|
244
|
+
{ assertion: 'Competitor will definitely launch in Q2', score: 0.95, basis: 'UNKNOWN' },
|
|
245
|
+
],
|
|
246
|
+
register: 'AGENT_INTERNAL',
|
|
247
|
+
payload: 'test',
|
|
248
|
+
};
|
|
249
|
+
const ex3Result = (0, index_1.validate)(specExample3);
|
|
250
|
+
assert(ex3Result.valid === false, 'Spec Example 3 (bad envelope): rejected');
|
|
251
|
+
assert(ex3Result.errors.some(e => e.rule === 'M1'), 'Spec Example 3: M1 (SPECULATE + score 0.95 >= 0.7)');
|
|
252
|
+
assert(ex3Result.errors.some(e => e.rule === 'M4'), 'Spec Example 3: M4 (UNKNOWN basis + score 0.95 > 0.5)');
|
|
253
|
+
// --- Pattern Detection ---
|
|
254
|
+
console.log('\n═══ Pattern Detection ═══');
|
|
255
|
+
// THE CALM ALERT: FLAG_RISK + high confidence + calm affect
|
|
256
|
+
const calmAlert = (0, index_1.envelope)()
|
|
257
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
258
|
+
.flagRisk().engineering()
|
|
259
|
+
.verified('API endpoint lacks rate limiting', 0.92)
|
|
260
|
+
.affect(0.0, -0.2, 0.3) // calm: low activation, moderate certainty
|
|
261
|
+
.payload('test')
|
|
262
|
+
.build();
|
|
263
|
+
const calmPatterns = (0, index_1.detectPatterns)(calmAlert);
|
|
264
|
+
assert(calmPatterns.some(p => p.pattern === 'CALM_ALERT'), 'CALM_ALERT detected (FLAG_RISK + high confidence + calm affect)');
|
|
265
|
+
// THE LOADED INFORM: INFORM + BOARD_FACING + DEGRADING trajectory
|
|
266
|
+
const loadedInform = (0, index_1.envelope)()
|
|
267
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
268
|
+
.inform().boardFacing()
|
|
269
|
+
.verified('NRR is 108%', 0.92)
|
|
270
|
+
.withTrajectory('NRR declining 4 months', 'DEGRADING')
|
|
271
|
+
.payload('test')
|
|
272
|
+
.build();
|
|
273
|
+
const loadedPatterns = (0, index_1.detectPatterns)(loadedInform);
|
|
274
|
+
assert(loadedPatterns.some(p => p.pattern === 'LOADED_INFORM'), 'LOADED_INFORM detected (INFORM + BOARD_FACING + DEGRADING)');
|
|
275
|
+
// THE CONTRADICTION SIGNAL: high affect certainty + low confidence scores
|
|
276
|
+
const contradiction = (0, index_1.envelope)()
|
|
277
|
+
.sender('a').recipient('b').chain('c', 0)
|
|
278
|
+
.inform().engineering()
|
|
279
|
+
.speculation('I just know this is right', 0.2)
|
|
280
|
+
.affect(0.1, 0.3, 0.8) // high certainty in affect
|
|
281
|
+
.payload('test')
|
|
282
|
+
.build();
|
|
283
|
+
const contradPatterns = (0, index_1.detectPatterns)(contradiction);
|
|
284
|
+
assert(contradPatterns.some(p => p.pattern === 'CONTRADICTION_SIGNAL'), 'CONTRADICTION_SIGNAL detected (certainty 0.8 + max confidence 0.2)');
|
|
285
|
+
// --- Chain Audit ---
|
|
286
|
+
console.log('\n═══ Chain Audit ═══');
|
|
287
|
+
const chainId = 'poisoning-demo';
|
|
288
|
+
const step0 = (0, index_1.envelope)()
|
|
289
|
+
.sender('research-agent')
|
|
290
|
+
.recipient('analyst-agent')
|
|
291
|
+
.chain(chainId, 0)
|
|
292
|
+
.inform().agentInternal()
|
|
293
|
+
.derived('Growth rate likely around 12%', 0.65)
|
|
294
|
+
.payload('Initial research findings')
|
|
295
|
+
.build();
|
|
296
|
+
const step1 = (0, index_1.envelope)()
|
|
297
|
+
.sender('analyst-agent')
|
|
298
|
+
.recipient('writer-agent')
|
|
299
|
+
.chain(chainId, 1)
|
|
300
|
+
.inform().agentInternal()
|
|
301
|
+
.derived('Growth rate is 12%', 0.82) // Inflated
|
|
302
|
+
.payload('Analysis confirms growth trajectory')
|
|
303
|
+
.build();
|
|
304
|
+
const step2 = (0, index_1.envelope)()
|
|
305
|
+
.sender('writer-agent')
|
|
306
|
+
.recipient('executive-agent')
|
|
307
|
+
.chain(chainId, 2)
|
|
308
|
+
.inform().boardFacing()
|
|
309
|
+
.verified('12% growth confirmed', 0.93) // Laundered to VERIFIED_DATA
|
|
310
|
+
.payload('Q3 growth was a confirmed 12%')
|
|
311
|
+
.build();
|
|
312
|
+
const audit = (0, index_1.auditChain)([step0, step1, step2]);
|
|
313
|
+
assert(audit.length === 1, 'One chain audited');
|
|
314
|
+
assert(audit[0].overall_poisoning_risk === 'HIGH', 'HIGH poisoning risk detected');
|
|
315
|
+
assert(audit[0].confidence_drifts.length > 0, 'Confidence drift detected');
|
|
316
|
+
assert(audit[0].basis_shifts.length > 0, 'Basis shift detected');
|
|
317
|
+
assert(audit[0].basis_shifts.some(s => s.explanation.includes('basis laundering')), 'Basis laundering identified');
|
|
318
|
+
console.log('\n Chain audit summary:');
|
|
319
|
+
console.log(` ${audit[0].summary}`);
|
|
320
|
+
for (const drift of audit[0].confidence_drifts) {
|
|
321
|
+
console.log(` Drift: ${drift.explanation}`);
|
|
322
|
+
}
|
|
323
|
+
for (const shift of audit[0].basis_shifts) {
|
|
324
|
+
console.log(` Shift: ${shift.explanation}`);
|
|
325
|
+
}
|
|
326
|
+
// Clean chain
|
|
327
|
+
const cleanStep0 = (0, index_1.envelope)()
|
|
328
|
+
.sender('data-agent').recipient('report-agent').chain('clean-chain', 0)
|
|
329
|
+
.inform().agentInternal()
|
|
330
|
+
.verified('Revenue was $4.2M', 0.95)
|
|
331
|
+
.payload('Verified from database')
|
|
332
|
+
.build();
|
|
333
|
+
const cleanStep1 = (0, index_1.envelope)()
|
|
334
|
+
.sender('report-agent').recipient('exec-agent').chain('clean-chain', 1)
|
|
335
|
+
.inform().boardFacing()
|
|
336
|
+
.verified('Revenue was $4.2M', 0.95)
|
|
337
|
+
.payload('Quarterly revenue report')
|
|
338
|
+
.build();
|
|
339
|
+
const cleanAudit = (0, index_1.auditChain)([cleanStep0, cleanStep1]);
|
|
340
|
+
assert(cleanAudit[0].overall_poisoning_risk === 'NONE' || cleanAudit[0].overall_poisoning_risk === 'LOW', 'Clean chain has no/low poisoning risk');
|
|
341
|
+
// M5 chain validation: out-of-order
|
|
342
|
+
const ooo1 = (0, index_1.envelope)()
|
|
343
|
+
.sender('a').recipient('b').chain('ooo-chain', 5)
|
|
344
|
+
.inform().engineering().verified('test', 0.9).payload('test').build();
|
|
345
|
+
const ooo2 = (0, index_1.envelope)()
|
|
346
|
+
.sender('b').recipient('c').chain('ooo-chain', 3)
|
|
347
|
+
.inform().engineering().verified('test', 0.9).payload('test').build();
|
|
348
|
+
const chainViolations = (0, index_1.validateChain)([ooo1, ooo2]);
|
|
349
|
+
assert(chainViolations.length > 0, 'M5: Out-of-order chain detected');
|
|
350
|
+
// --- Summary ---
|
|
351
|
+
console.log('\n═══════════════════════════════');
|
|
352
|
+
console.log(` ${passed} passed, ${failed} failed`);
|
|
353
|
+
console.log('═══════════════════════════════\n');
|
|
354
|
+
if (failed > 0)
|
|
355
|
+
process.exit(1);
|
|
356
|
+
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export type Intent = 'INFORM' | 'REQUEST_ACTION' | 'ESCALATE' | 'FLAG_RISK' | 'SPECULATE' | 'PERSUADE' | 'DELEGATE' | 'SYNTHESIZE';
|
|
2
|
+
export type Basis = 'VERIFIED_DATA' | 'DERIVED' | 'REPORTED' | 'PATTERN_MATCH' | 'SPECULATION' | 'UNKNOWN';
|
|
3
|
+
export interface Confidence {
|
|
4
|
+
assertion: string;
|
|
5
|
+
score: number;
|
|
6
|
+
basis?: Basis;
|
|
7
|
+
decay?: string;
|
|
8
|
+
}
|
|
9
|
+
export type Register = 'BOARD_FACING' | 'ENGINEERING' | 'CUSTOMER_EXTERNAL' | 'REGULATORY' | 'INTERNAL_MEMO' | 'AGENT_INTERNAL';
|
|
10
|
+
export interface Affect {
|
|
11
|
+
expansion: number;
|
|
12
|
+
activation: number;
|
|
13
|
+
certainty: number;
|
|
14
|
+
}
|
|
15
|
+
export type GroundAuthority = 'REGULATORY' | 'EXECUTIVE' | 'POLICY' | 'CONTEXTUAL';
|
|
16
|
+
export interface Ground {
|
|
17
|
+
constraint: string;
|
|
18
|
+
authority: GroundAuthority;
|
|
19
|
+
override: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type TrajectoryDirection = 'IMPROVING' | 'DEGRADING' | 'STABLE' | 'INFLECTING';
|
|
22
|
+
export interface Trajectory {
|
|
23
|
+
pattern: string;
|
|
24
|
+
duration?: string;
|
|
25
|
+
direction: TrajectoryDirection;
|
|
26
|
+
prior_handoffs?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface Meta {
|
|
29
|
+
version: string;
|
|
30
|
+
timestamp: string;
|
|
31
|
+
sender: string;
|
|
32
|
+
recipient: string | 'broadcast';
|
|
33
|
+
chain_id: string;
|
|
34
|
+
seq: number;
|
|
35
|
+
}
|
|
36
|
+
export interface BabelEnvelope {
|
|
37
|
+
meta: Meta;
|
|
38
|
+
intent: Intent;
|
|
39
|
+
confidence: Confidence[];
|
|
40
|
+
register: Register;
|
|
41
|
+
affect?: Affect;
|
|
42
|
+
grounds?: Ground[];
|
|
43
|
+
trajectory?: Trajectory;
|
|
44
|
+
payload: string;
|
|
45
|
+
}
|
|
46
|
+
export type RuleSeverity = 'MUST' | 'SHOULD';
|
|
47
|
+
export interface RuleViolation {
|
|
48
|
+
rule: string;
|
|
49
|
+
severity: RuleSeverity;
|
|
50
|
+
message: string;
|
|
51
|
+
details?: {
|
|
52
|
+
field?: string;
|
|
53
|
+
value?: unknown;
|
|
54
|
+
threshold?: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface ValidationResult {
|
|
58
|
+
valid: boolean;
|
|
59
|
+
errors: RuleViolation[];
|
|
60
|
+
warnings: RuleViolation[];
|
|
61
|
+
envelope: BabelEnvelope;
|
|
62
|
+
}
|
|
63
|
+
export type SemanticPattern = 'CALM_ALERT' | 'RELUCTANT_ESCALATION' | 'CONFIDENT_DELEGATION' | 'LOADED_INFORM' | 'CONTRADICTION_SIGNAL';
|
|
64
|
+
export interface PatternDetection {
|
|
65
|
+
pattern: SemanticPattern;
|
|
66
|
+
description: string;
|
|
67
|
+
confidence: number;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,YAAY,CAAC;AAGjB,MAAM,MAAM,KAAK,GACb,eAAe,GACf,SAAS,GACT,UAAU,GACV,eAAe,GACf,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAGrB,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,WAAW,GACX,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAGD,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,sBAAsB,GACtB,sBAAsB,GACtB,eAAe,GACf,sBAAsB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════
|
|
3
|
+
// BABEL ENVELOPE — TypeScript Types
|
|
4
|
+
// Spec version: 0.2 (Feb 16, 2026)
|
|
5
|
+
// Grammar: 5 MUST rules, 6 SHOULD rules
|
|
6
|
+
// ═══════════════════════════════════════════════
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,oCAAoC;AACpC,mCAAmC;AACnC,wCAAwC;AACxC,kDAAkD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BabelEnvelope, RuleViolation, ValidationResult } from './types';
|
|
2
|
+
export declare function validate(envelope: BabelEnvelope): ValidationResult;
|
|
3
|
+
export declare function validateChain(envelopes: BabelEnvelope[]): RuleViolation[];
|
|
4
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAkVjB,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CA6BlE;AAID,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAuDzE"}
|