@lucern/sdk 0.2.0-alpha.2 → 0.2.0-alpha.3
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 +111 -177
- package/dist/index.js +26 -98
- package/dist/index.js.map +1 -1
- package/dist/packages/sdk/src/contracts/api-enums.contract.d.ts +50 -29
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# @lucern/sdk
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The reasoning operating system for AI-native applications.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Your AI agent reads 50 documents. It generates insights. A week later, it reads 50 more — and has no memory of what it learned before. Every session starts from zero.
|
|
6
|
+
|
|
7
|
+
Lucern fixes this. It gives your application a knowledge graph that accumulates understanding over time. Beliefs strengthen or weaken as evidence arrives. Contradictions are detected, not hidden. Your agents get smarter with every interaction because the graph remembers what was learned, when, and why.
|
|
6
8
|
|
|
7
9
|
## Install
|
|
8
10
|
|
|
@@ -10,7 +12,9 @@ Lucern gives your application a knowledge graph that thinks. Beliefs evolve. Evi
|
|
|
10
12
|
npm install @lucern/sdk
|
|
11
13
|
```
|
|
12
14
|
|
|
13
|
-
## Quickstart
|
|
15
|
+
## Quickstart — Build an Agent That Remembers
|
|
16
|
+
|
|
17
|
+
Your agent processes customer support tickets and builds an evolving understanding of product issues:
|
|
14
18
|
|
|
15
19
|
```typescript
|
|
16
20
|
import { createLucernClient } from "@lucern/sdk";
|
|
@@ -20,263 +24,193 @@ const lucern = createLucernClient({
|
|
|
20
24
|
baseUrl: "https://api.lucern.ai",
|
|
21
25
|
});
|
|
22
26
|
|
|
23
|
-
//
|
|
27
|
+
// Create a reasoning scope
|
|
24
28
|
const topic = await lucern.topics.create({
|
|
25
|
-
name: "
|
|
29
|
+
name: "Product Issue Tracker",
|
|
26
30
|
type: "domain",
|
|
27
31
|
});
|
|
32
|
+
const topicId = topic.data.topicId;
|
|
28
33
|
|
|
29
|
-
//
|
|
34
|
+
// Your agent processes a batch of support tickets and forms a belief
|
|
30
35
|
const belief = await lucern.beliefs.create({
|
|
31
|
-
topicId
|
|
32
|
-
canonicalText: "
|
|
36
|
+
topicId,
|
|
37
|
+
canonicalText: "Authentication timeout errors are caused by the session refresh race condition, not the auth provider",
|
|
33
38
|
});
|
|
34
39
|
|
|
35
|
-
//
|
|
40
|
+
// Attach the evidence that led to this belief
|
|
36
41
|
await lucern.evidence.create({
|
|
37
|
-
topicId
|
|
38
|
-
text: "
|
|
39
|
-
sourceUrl: "https://energy.gov/reports/carbon-capture-2025",
|
|
42
|
+
topicId,
|
|
43
|
+
text: "12 of 15 timeout tickets occur within 200ms of token refresh. Stack traces show concurrent refresh calls.",
|
|
40
44
|
targetId: belief.data.nodeId,
|
|
41
45
|
weight: 0.85,
|
|
42
46
|
});
|
|
43
47
|
|
|
44
|
-
//
|
|
48
|
+
// Score confidence based on evidence strength
|
|
45
49
|
await lucern.beliefs.modulateConfidence(belief.data.nodeId, {
|
|
46
|
-
confidence: 0.
|
|
50
|
+
confidence: 0.75,
|
|
47
51
|
trigger: "evidence_added",
|
|
48
|
-
rationale: "
|
|
52
|
+
rationale: "Strong correlation in timing data, but haven't reproduced in staging yet",
|
|
49
53
|
});
|
|
50
54
|
|
|
51
|
-
//
|
|
55
|
+
// Flag what would change this understanding
|
|
52
56
|
await lucern.questions.create({
|
|
53
|
-
topicId
|
|
54
|
-
text: "
|
|
57
|
+
topicId,
|
|
58
|
+
text: "Does disabling concurrent refresh eliminate the timeout pattern?",
|
|
55
59
|
priority: "high",
|
|
56
60
|
linkedBeliefId: belief.data.nodeId,
|
|
57
61
|
});
|
|
58
62
|
```
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
## What Makes This Different
|
|
63
|
-
|
|
64
|
-
Most knowledge tools store facts. Lucern tracks how understanding evolves.
|
|
64
|
+
Next week, your agent processes more tickets:
|
|
65
65
|
|
|
66
66
|
```typescript
|
|
67
|
-
// New evidence contradicts
|
|
67
|
+
// New evidence arrives that contradicts the original belief
|
|
68
68
|
await lucern.evidence.create({
|
|
69
69
|
topicId,
|
|
70
|
-
text: "
|
|
71
|
-
sourceUrl: "https://reuters.com/shell-dac-exit-2026",
|
|
70
|
+
text: "Timeouts persist after disabling concurrent refresh. Network traces show upstream latency spikes from the auth provider during peak hours.",
|
|
72
71
|
targetId: belief.data.nodeId,
|
|
73
|
-
weight: -0.
|
|
72
|
+
weight: -0.7, // contradicts
|
|
74
73
|
});
|
|
75
74
|
|
|
76
|
-
//
|
|
75
|
+
// Confidence drops — the graph tracks the evolution
|
|
77
76
|
await lucern.beliefs.modulateConfidence(belief.data.nodeId, {
|
|
78
|
-
confidence: 0.
|
|
77
|
+
confidence: 0.3,
|
|
79
78
|
trigger: "evidence_added",
|
|
80
|
-
rationale: "
|
|
79
|
+
rationale: "Fix attempt failed. Evidence now points to upstream provider, not our code.",
|
|
81
80
|
});
|
|
82
81
|
|
|
83
|
-
//
|
|
84
|
-
await lucern.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
beliefB: optimisticBelief.nodeId,
|
|
88
|
-
description: "DOE projections vs Shell operational exit: lab costs vs deployed costs",
|
|
89
|
-
severity: "high",
|
|
90
|
-
defeatType: "undercuts",
|
|
82
|
+
// Fork the belief — understanding has evolved
|
|
83
|
+
const revised = await lucern.beliefs.fork(belief.data.nodeId, {
|
|
84
|
+
newFormulation: "Authentication timeouts are caused by upstream provider latency during peak hours, compounded by our lack of request queuing",
|
|
85
|
+
forkReason: "contradiction_response",
|
|
91
86
|
});
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
You started at 78% confidence. New evidence dropped you to 55%. There is an unresolved contradiction between the optimistic projection and the market reality. Every step is traceable. Every change has a rationale. Nothing is silently overwritten.
|
|
95
|
-
|
|
96
|
-
## Core Concepts
|
|
97
|
-
|
|
98
|
-
| Concept | What It Is | Git Analogy |
|
|
99
|
-
|---------|-----------|-------------|
|
|
100
|
-
| **Topic** | A scope for reasoning about something | A repository |
|
|
101
|
-
| **Belief** | A statement held to be true, with confidence | A commit (immutable once scored) |
|
|
102
|
-
| **Evidence** | A fact that supports or contradicts a belief | A test result |
|
|
103
|
-
| **Question** | Something that needs investigation | An open issue |
|
|
104
|
-
| **Contradiction** | Two beliefs in tension | A merge conflict that may stay unresolved |
|
|
105
|
-
| **Worktree** | A focused investigation into specific beliefs | A feature branch |
|
|
106
|
-
| **Confidence** | How sure you are (0 to 1), append-only history | Build status, changes with every test |
|
|
107
87
|
|
|
108
|
-
|
|
88
|
+
await lucern.beliefs.modulateConfidence(revised.data.nodeId, {
|
|
89
|
+
confidence: 0.82,
|
|
90
|
+
trigger: "evidence_added",
|
|
91
|
+
rationale: "Network traces confirm provider latency. Queuing fix in PR #847 eliminated 90% of timeouts in staging.",
|
|
92
|
+
});
|
|
93
|
+
```
|
|
109
94
|
|
|
110
|
-
|
|
111
|
-
const lucern = createLucernClient({ apiKey, baseUrl });
|
|
95
|
+
The graph now tells the complete story: your agent initially believed the issue was a race condition (75% confidence), new evidence contradicted that (dropped to 30%), and the understanding evolved to identify the real cause (82% confidence on the revised belief). Every step is traceable.
|
|
112
96
|
|
|
113
|
-
|
|
114
|
-
lucern.beliefs // Create, fork, archive, score beliefs
|
|
115
|
-
lucern.evidence // Add evidence, link to beliefs and questions
|
|
116
|
-
lucern.questions // Ask questions, answer them, track status
|
|
117
|
-
lucern.contradictions // Flag and manage tensions between beliefs
|
|
118
|
-
|
|
119
|
-
// Structure
|
|
120
|
-
lucern.topics // Scope your reasoning into domains
|
|
121
|
-
lucern.worktrees // Focused investigations (feature branches for knowledge)
|
|
122
|
-
lucern.ontologies // Define your domain vocabulary
|
|
123
|
-
|
|
124
|
-
// Intelligence
|
|
125
|
-
lucern.graph // Traverse, analyze, detect bias, find gaps
|
|
126
|
-
lucern.context // Compile context packs for AI agents
|
|
127
|
-
lucern.search // Semantic search across the graph
|
|
128
|
-
|
|
129
|
-
// Operations
|
|
130
|
-
lucern.tasks // Track execution work tied to questions
|
|
131
|
-
lucern.audit // Full audit trail, every mutation, every actor
|
|
132
|
-
lucern.identity // Manage principals, sessions, API keys
|
|
133
|
-
```
|
|
97
|
+
## Why This Matters
|
|
134
98
|
|
|
135
|
-
|
|
99
|
+
Without Lucern, your agent would process the second batch of tickets with no memory of the first. It would re-discover the race condition theory, waste time investigating it again, and maybe reach the right answer — or maybe not.
|
|
136
100
|
|
|
137
|
-
Lucern
|
|
101
|
+
With Lucern, the agent reads its prior beliefs before processing new tickets. It knows what it already tried. It knows what questions are still open. It starts from understanding, not from zero.
|
|
138
102
|
|
|
139
103
|
```typescript
|
|
140
|
-
//
|
|
104
|
+
// Before processing new data, the agent reads its current understanding
|
|
141
105
|
const context = await lucern.context.compile(topicId, {
|
|
142
|
-
query: "
|
|
106
|
+
query: "authentication timeout root cause",
|
|
143
107
|
ranking: "weighted_v1",
|
|
144
108
|
tokenBudget: 2000,
|
|
145
109
|
});
|
|
146
110
|
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
${context.data.activeBeliefs
|
|
153
|
-
.map((b) => `[${b.confidence}] ${b.canonicalText}`)
|
|
154
|
-
.join("\n ")}
|
|
111
|
+
// The context pack contains:
|
|
112
|
+
// - Active beliefs ranked by relevance and confidence
|
|
113
|
+
// - Open questions that still need answers
|
|
114
|
+
// - Unresolved contradictions the agent should address
|
|
115
|
+
// - Recent evidence for grounding
|
|
155
116
|
|
|
156
|
-
|
|
157
|
-
|
|
117
|
+
// Feed this to your LLM as working memory
|
|
118
|
+
const prompt = `
|
|
119
|
+
Current understanding:
|
|
120
|
+
${context.data.activeBeliefs.map(b =>
|
|
121
|
+
`[${b.confidence}] ${b.canonicalText}`
|
|
122
|
+
).join("\n ")}
|
|
158
123
|
|
|
159
|
-
|
|
160
|
-
|
|
124
|
+
Open questions:
|
|
125
|
+
${context.data.openQuestions.map(q => q.text).join("\n ")}
|
|
161
126
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
prompt: userQuery,
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// Write the agent findings back to the graph
|
|
168
|
-
await lucern.evidence.create({
|
|
169
|
-
topicId,
|
|
170
|
-
text: response.analysis,
|
|
171
|
-
sourceUrl: "agent://research-analyst/session-42",
|
|
172
|
-
targetId: relevantBeliefId,
|
|
173
|
-
weight: 0.7,
|
|
174
|
-
});
|
|
127
|
+
Given this foundation, analyze the following new tickets...
|
|
128
|
+
`;
|
|
175
129
|
```
|
|
176
130
|
|
|
177
|
-
|
|
131
|
+
This is the compound intelligence loop. Read from the graph, reason, write back. Every cycle makes the next one smarter.
|
|
178
132
|
|
|
179
|
-
##
|
|
133
|
+
## Core Concepts
|
|
180
134
|
|
|
181
|
-
|
|
135
|
+
| Concept | What It Does |
|
|
136
|
+
|---------|-------------|
|
|
137
|
+
| **Topic** | Scopes reasoning to a domain (like a database for understanding) |
|
|
138
|
+
| **Belief** | A statement held to be true, with a confidence score that changes over time |
|
|
139
|
+
| **Evidence** | A fact that supports or contradicts a belief, with weight and source |
|
|
140
|
+
| **Question** | An open investigation that drives evidence collection |
|
|
141
|
+
| **Contradiction** | An explicit tension between beliefs that must be addressed |
|
|
142
|
+
| **Worktree** | A focused investigation (branch, test hypotheses, merge findings) |
|
|
143
|
+
| **Confidence** | A 0-to-1 score on every belief, with append-only history showing how it changed |
|
|
182
144
|
|
|
183
|
-
|
|
184
|
-
const forked = await lucern.beliefs.fork(originalBelief.nodeId, {
|
|
185
|
-
newFormulation:
|
|
186
|
-
"Carbon capture will remain 2-3x more expensive than offsets through 2030, " +
|
|
187
|
-
"with deployment limited to regulated industries where offsets are not accepted",
|
|
188
|
-
forkReason: "contradiction_response",
|
|
189
|
-
});
|
|
145
|
+
## SDK Surface
|
|
190
146
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
trigger: "evidence_added",
|
|
194
|
-
rationale: "Three independent operator reports confirm cost barriers persist",
|
|
195
|
-
});
|
|
147
|
+
```typescript
|
|
148
|
+
const lucern = createLucernClient({ apiKey, baseUrl });
|
|
196
149
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
150
|
+
lucern.beliefs // Create, fork, archive, score beliefs
|
|
151
|
+
lucern.evidence // Add evidence, link to beliefs with weight
|
|
152
|
+
lucern.questions // Track what needs investigation
|
|
153
|
+
lucern.contradictions // Detect and manage tensions
|
|
154
|
+
lucern.topics // Organize reasoning into domains
|
|
155
|
+
lucern.worktrees // Run focused investigations
|
|
156
|
+
lucern.context // Compile the graph into agent-ready context
|
|
157
|
+
lucern.graph // Traverse, analyze structure, detect bias
|
|
158
|
+
lucern.ontologies // Define domain vocabulary
|
|
159
|
+
lucern.tasks // Track execution work
|
|
160
|
+
lucern.audit // Full mutation history
|
|
161
|
+
lucern.identity // Manage API keys and sessions
|
|
202
162
|
```
|
|
203
163
|
|
|
204
|
-
|
|
164
|
+
## Edge Types
|
|
165
|
+
|
|
166
|
+
Six canonical reasoning relationships:
|
|
167
|
+
|
|
168
|
+
| Edge | Meaning |
|
|
169
|
+
|------|---------|
|
|
170
|
+
| `supports` | Evidence reinforces a belief |
|
|
171
|
+
| `informs` | Evidence bears on a belief (directional, weighted) |
|
|
172
|
+
| `depends_on` | Belief B requires belief A to hold |
|
|
173
|
+
| `derived_from` | Belief was derived from another (lineage) |
|
|
174
|
+
| `contains` | Structural containment |
|
|
175
|
+
| `tests` | Question tests a belief (falsification link) |
|
|
205
176
|
|
|
206
177
|
## Custom Tools
|
|
207
178
|
|
|
208
|
-
Extend the graph with domain
|
|
179
|
+
Extend the graph with domain operations any agent can invoke:
|
|
209
180
|
|
|
210
181
|
```typescript
|
|
211
182
|
import { z } from "zod";
|
|
212
183
|
|
|
213
184
|
lucern.tools.register({
|
|
214
|
-
namespace: "
|
|
215
|
-
name: "
|
|
216
|
-
description: "
|
|
185
|
+
namespace: "support",
|
|
186
|
+
name: "classify_ticket",
|
|
187
|
+
description: "Classify a support ticket and link it to relevant beliefs",
|
|
217
188
|
inputSchema: z.object({
|
|
218
|
-
|
|
189
|
+
ticketId: z.string(),
|
|
190
|
+
content: z.string(),
|
|
219
191
|
topicId: z.string(),
|
|
220
192
|
}),
|
|
221
193
|
outputSchema: z.object({
|
|
222
|
-
|
|
223
|
-
|
|
194
|
+
category: z.string(),
|
|
195
|
+
linkedBeliefs: z.array(z.string()),
|
|
196
|
+
suggestedQuestions: z.array(z.string()),
|
|
224
197
|
}),
|
|
225
|
-
handler: async ({
|
|
226
|
-
|
|
227
|
-
return
|
|
198
|
+
handler: async ({ ticketId, content, topicId }) => {
|
|
199
|
+
// Your classification logic
|
|
200
|
+
return classifyAndLink(ticketId, content, topicId);
|
|
228
201
|
},
|
|
229
202
|
});
|
|
230
|
-
|
|
231
|
-
await lucern.extensions.research.analyze_transcript({
|
|
232
|
-
transcriptUrl: "https://...",
|
|
233
|
-
topicId,
|
|
234
|
-
});
|
|
235
203
|
```
|
|
236
204
|
|
|
237
205
|
## Authentication
|
|
238
206
|
|
|
239
207
|
```typescript
|
|
240
|
-
// Service principal (server-to-server)
|
|
241
|
-
const lucern = createLucernClient({
|
|
242
|
-
apiKey: "lk_your_service_principal_key",
|
|
243
|
-
baseUrl: "https://api.lucern.ai",
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
// Tenant API key (application-level)
|
|
247
208
|
const lucern = createLucernClient({
|
|
248
|
-
apiKey: "
|
|
209
|
+
apiKey: "lk_your_key",
|
|
249
210
|
baseUrl: "https://api.lucern.ai",
|
|
250
211
|
});
|
|
251
212
|
```
|
|
252
213
|
|
|
253
|
-
## Confidence Scale
|
|
254
|
-
|
|
255
|
-
| Range | Meaning |
|
|
256
|
-
|-------|---------|
|
|
257
|
-
| 0.90-0.95 | Structural law, verified by multiple independent sources |
|
|
258
|
-
| 0.85-0.90 | Strong conviction, working implementation validates it |
|
|
259
|
-
| 0.80-0.85 | Confident, evidence supports it, not yet stress-tested |
|
|
260
|
-
| 0.70-0.80 | Directionally right, good signal, details still emerging |
|
|
261
|
-
| 0.50-0.70 | Hypothesis, plausible but needs investigation |
|
|
262
|
-
| Below 0.50 | Weak signal, more question than answer |
|
|
263
|
-
| 0 | Superseded, replaced by evolved understanding |
|
|
264
|
-
|
|
265
|
-
## TypeScript First
|
|
266
|
-
|
|
267
|
-
Every response is fully typed. Every parameter has IntelliSense.
|
|
268
|
-
|
|
269
|
-
```typescript
|
|
270
|
-
const belief = await lucern.beliefs.create({
|
|
271
|
-
topicId: "...",
|
|
272
|
-
canonicalText: "...",
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
belief.data.nodeId; // string
|
|
276
|
-
belief.data.confidence; // number | null
|
|
277
|
-
belief.data.status; // "unscored" | "scored" | "archived"
|
|
278
|
-
```
|
|
279
|
-
|
|
280
214
|
## Links
|
|
281
215
|
|
|
282
216
|
- [Documentation](https://docs.lucern.ai)
|
package/dist/index.js
CHANGED
|
@@ -5364,164 +5364,92 @@ function createLucernClient(config = {}) {
|
|
|
5364
5364
|
}
|
|
5365
5365
|
|
|
5366
5366
|
// src/contracts/api-enums.contract.ts
|
|
5367
|
+
var BELIEF_STATUSES = [
|
|
5368
|
+
"assumption",
|
|
5369
|
+
"hypothesis",
|
|
5370
|
+
"belief",
|
|
5371
|
+
"fact"
|
|
5372
|
+
];
|
|
5367
5373
|
var FORK_REASONS = [
|
|
5368
5374
|
"refinement",
|
|
5369
|
-
// Belief text evolved based on new understanding
|
|
5370
5375
|
"contradiction_response",
|
|
5371
|
-
// Created in response to a detected contradiction
|
|
5372
5376
|
"scope_change",
|
|
5373
|
-
// Belief scope narrowed or broadened
|
|
5374
5377
|
"confidence_collapse",
|
|
5375
|
-
// Confidence dropped below viability threshold
|
|
5376
5378
|
"manual"
|
|
5377
|
-
// User-initiated fork without specific trigger
|
|
5378
5379
|
];
|
|
5379
5380
|
var CONFIDENCE_TRIGGERS = [
|
|
5380
5381
|
"evidence_added",
|
|
5381
|
-
// New evidence bore on the belief
|
|
5382
5382
|
"contradiction_detected",
|
|
5383
|
-
// A contradiction was flagged involving this belief
|
|
5384
5383
|
"merge_outcome",
|
|
5385
|
-
|
|
5384
|
+
"worktree_outcome",
|
|
5386
5385
|
"manual",
|
|
5387
|
-
// User manually adjusted confidence
|
|
5388
5386
|
"decay"
|
|
5389
|
-
// Time-based confidence erosion
|
|
5390
5387
|
];
|
|
5391
|
-
var
|
|
5392
|
-
"
|
|
5393
|
-
|
|
5394
|
-
"
|
|
5395
|
-
|
|
5396
|
-
"
|
|
5397
|
-
|
|
5388
|
+
var EPISTEMIC_EDGE_TYPES = [
|
|
5389
|
+
"supports",
|
|
5390
|
+
"informs",
|
|
5391
|
+
"depends_on",
|
|
5392
|
+
"derived_from",
|
|
5393
|
+
"contains",
|
|
5394
|
+
"tests"
|
|
5395
|
+
];
|
|
5396
|
+
var STRUCTURAL_EDGE_TYPES = [
|
|
5397
|
+
"supersedes",
|
|
5398
|
+
"responds_to",
|
|
5399
|
+
"belongs_to",
|
|
5400
|
+
"relates_to_thesis"
|
|
5401
|
+
];
|
|
5402
|
+
var EDGE_TYPES = [
|
|
5403
|
+
...EPISTEMIC_EDGE_TYPES,
|
|
5404
|
+
...STRUCTURAL_EDGE_TYPES
|
|
5398
5405
|
];
|
|
5399
5406
|
var REASONING_METHODS = [
|
|
5400
5407
|
"deductive",
|
|
5401
|
-
// Logically entailed
|
|
5402
5408
|
"inductive",
|
|
5403
|
-
// Generalized from instances
|
|
5404
5409
|
"abductive",
|
|
5405
|
-
// Best explanation inference
|
|
5406
5410
|
"analogical",
|
|
5407
|
-
// Reasoning by analogy
|
|
5408
5411
|
"empirical"
|
|
5409
|
-
// Direct observation/measurement
|
|
5410
5412
|
];
|
|
5411
5413
|
var DEFEAT_TYPES = [
|
|
5412
5414
|
"rebuts",
|
|
5413
|
-
// Direct contradiction — reasons for the negation
|
|
5414
5415
|
"undercuts",
|
|
5415
|
-
// Breaks the inference link between evidence and belief
|
|
5416
5416
|
"undermines"
|
|
5417
|
-
// Attacks a premise the belief depends on
|
|
5418
5417
|
];
|
|
5419
5418
|
var CONTRADICTION_SEVERITIES = [
|
|
5420
5419
|
"low",
|
|
5421
|
-
// Minor tension, may not require action
|
|
5422
5420
|
"medium",
|
|
5423
|
-
// Moderate conflict, should be investigated
|
|
5424
5421
|
"high",
|
|
5425
|
-
// Significant contradiction, likely needs resolution
|
|
5426
5422
|
"critical"
|
|
5427
|
-
// Blocks progress — must be addressed before judgment
|
|
5428
5423
|
];
|
|
5429
5424
|
var CONTRADICTION_STATUSES = [
|
|
5430
5425
|
"unresolved",
|
|
5431
|
-
// Open conflict — may persist indefinitely
|
|
5432
5426
|
"resolved",
|
|
5433
|
-
// Conflict addressed (one belief forked, archived, or confidence adjusted)
|
|
5434
5427
|
"accepted"
|
|
5435
|
-
// Explicitly accepted as irreconcilable — both beliefs maintained
|
|
5436
5428
|
];
|
|
5437
5429
|
var MERGE_OUTCOMES = [
|
|
5438
5430
|
"validated",
|
|
5439
|
-
// Beliefs confirmed — clean merge to main
|
|
5440
5431
|
"invalidated",
|
|
5441
|
-
// Defeat recorded — confidence collapsed (merge with revert)
|
|
5442
5432
|
"forked",
|
|
5443
|
-
// Beliefs split into competing versions (fork from merge point)
|
|
5444
5433
|
"inconclusive"
|
|
5445
|
-
// Insufficient evidence — stashed (git stash)
|
|
5446
5434
|
];
|
|
5447
5435
|
var WORKTREE_PHASES = [
|
|
5448
5436
|
"hypothesis",
|
|
5449
|
-
// Form testable claims (write the code — commits)
|
|
5450
5437
|
"investigation",
|
|
5451
|
-
// Collect evidence (run the tests — more commits)
|
|
5452
5438
|
"evaluation",
|
|
5453
|
-
// Update credences (review the results — amend as needed)
|
|
5454
5439
|
"resolution"
|
|
5455
|
-
// Determine outcome (merge to main, fork, or stash)
|
|
5456
|
-
];
|
|
5457
|
-
var BRANCH_STATUSES = [
|
|
5458
|
-
"dormant",
|
|
5459
|
-
// Branch exists but no active worktree (no one investigating)
|
|
5460
|
-
"active",
|
|
5461
|
-
// At least one worktree is investigating this branch
|
|
5462
|
-
"archived"
|
|
5463
|
-
// Branch retired — no longer a relevant thematic container
|
|
5464
|
-
];
|
|
5465
|
-
var PULL_REQUEST_STATUSES = [
|
|
5466
|
-
"pending_review",
|
|
5467
|
-
// PR opened — awaiting reviewer feedback
|
|
5468
|
-
"changes_requested",
|
|
5469
|
-
// Reviewer requests changes before merge
|
|
5470
|
-
"approved",
|
|
5471
|
-
// Approved — ready to merge
|
|
5472
|
-
"blocked"
|
|
5473
|
-
// Blocked — cannot merge until contradiction is resolved
|
|
5474
5440
|
];
|
|
5475
5441
|
var EPISTEMIC_LAYERS = [
|
|
5476
5442
|
"L1",
|
|
5477
|
-
// Source — the given (vendored deps)
|
|
5478
5443
|
"L2",
|
|
5479
|
-
// Evidence — the interpreted (test suite)
|
|
5480
5444
|
"L3",
|
|
5481
|
-
// Belief — the structural (source files)
|
|
5482
5445
|
"L4"
|
|
5483
|
-
// Judgment — the committed (release tags)
|
|
5484
5446
|
];
|
|
5485
5447
|
var JUDGMENT_TYPES = [
|
|
5486
|
-
"
|
|
5487
|
-
// Judgment that a thesis is mature
|
|
5448
|
+
"thesis",
|
|
5488
5449
|
"thesis_maturity",
|
|
5489
|
-
// Judgment that a thesis is ready for IC presentation
|
|
5490
5450
|
"contradiction_ruling",
|
|
5491
|
-
// Judgment on how to handle an irreconcilable contradiction
|
|
5492
5451
|
"scope_determination",
|
|
5493
|
-
// Judgment that defines or redefines investigation scope
|
|
5494
5452
|
"confidence_ruling"
|
|
5495
|
-
// Judgment that overrides automated confidence for policy reasons
|
|
5496
|
-
];
|
|
5497
|
-
var INTEGRATION_EDGE_TYPES = [
|
|
5498
|
-
// Support relations
|
|
5499
|
-
"informs",
|
|
5500
|
-
// Evidence bears on a belief (weight = direction/strength)
|
|
5501
|
-
"grounds",
|
|
5502
|
-
// Source provides raw basis for evidence
|
|
5503
|
-
"answers",
|
|
5504
|
-
// Evidence or belief resolves a question
|
|
5505
|
-
// Defeat relations (Pollock)
|
|
5506
|
-
"contradicts",
|
|
5507
|
-
// Rebuts — direct contradiction
|
|
5508
|
-
"weakened_by",
|
|
5509
|
-
// Undercuts — breaks inference link
|
|
5510
|
-
"undermined_by",
|
|
5511
|
-
// Undermines — attacks a premise
|
|
5512
|
-
// Structural relations
|
|
5513
|
-
"depends_on",
|
|
5514
|
-
// Belief B requires Belief A
|
|
5515
|
-
"cascades_to",
|
|
5516
|
-
// If A collapses, B collapses
|
|
5517
|
-
"supersedes",
|
|
5518
|
-
// New version replaces old (lineage)
|
|
5519
|
-
"in_tension_with",
|
|
5520
|
-
// Unresolved conflict
|
|
5521
|
-
"implies",
|
|
5522
|
-
// Question raises another question
|
|
5523
|
-
"tests"
|
|
5524
|
-
// Question tests a belief
|
|
5525
5453
|
];
|
|
5526
5454
|
|
|
5527
5455
|
// ../../lucern/contracts/src/lens-workflow.contract.ts
|
|
@@ -8961,6 +8889,6 @@ function getControlObjectOwnershipCase(kind, caseKey) {
|
|
|
8961
8889
|
);
|
|
8962
8890
|
}
|
|
8963
8891
|
|
|
8964
|
-
export { ACTIVATE_WORKTREE, ADD_EVIDENCE, ADD_WORKTREE, ANSWER_QUESTION, APPLY_LENS_TO_TOPIC, APPLY_ONTOLOGY, ARCHIVE_BELIEF, ARCHIVE_ONTOLOGY, ARCHIVE_QUESTION, BELIEF_STATUSES, BISECT_CONFIDENCE,
|
|
8892
|
+
export { ACTIVATE_WORKTREE, ADD_EVIDENCE, ADD_WORKTREE, ANSWER_QUESTION, APPLY_LENS_TO_TOPIC, APPLY_ONTOLOGY, ARCHIVE_BELIEF, ARCHIVE_ONTOLOGY, ARCHIVE_QUESTION, BELIEF_STATUSES, BISECT_CONFIDENCE, CANONICAL_WORKFLOW_DEFINITIONS, CHECK_PERMISSION, COMPILE_CONTEXT, COMPLETE_TASK, CONFIDENCE_TRIGGERS, CONTRADICTION_SEVERITIES, CONTRADICTION_STATUSES, CONTROL_OBJECT_BLAST_RADII, CONTROL_OBJECT_EDIT_SURFACES, CONTROL_OBJECT_INHERITANCE_RULES, CONTROL_OBJECT_KINDS, CONTROL_OBJECT_OWNERSHIP_CONTRACT, CONTROL_OBJECT_OWNERSHIP_MATRIX, CONTROL_OBJECT_OWNERSHIP_ROWS, CONTROL_OBJECT_OWNER_SCOPES, CREATE_ANSWER, CREATE_BELIEF, CREATE_EDGE, CREATE_EPISTEMIC_CONTRACT, CREATE_EVIDENCE, CREATE_LENS, CREATE_ONTOLOGY, CREATE_ONTOLOGY_VERSION, CREATE_QUESTION, CREATE_TASK, CREATE_TOPIC, CustomToolRegistryError, DEFAULT_TIER_APPROVAL_MODE, DEFAULT_WORKFLOW_AUTO_FIX_POLICY, DEFEAT_TYPES, DEPRECATE_ONTOLOGY_VERSION, DETECT_CONFIRMATION_BIAS, EDGE_TYPES, EPISTEMIC_EDGE_TYPES, EPISTEMIC_LAYERS, EXECUTE_DEEP_RESEARCH, FILTER_BY_PERMISSION, FIND_CONTRADICTIONS, FIND_MISSING_QUESTIONS, FLAG_CONTRADICTION, FORK_BELIEF, FORK_REASONS, GET_ANSWER, GET_AUDIT_TRAIL, GET_BELIEF, GET_CHANGE_HISTORY, GET_CODE_CONTEXT, GET_CONFIDENCE_HISTORY, GET_EVIDENCE, GET_FAILURE_LOG, GET_FALSIFICATION_QUESTIONS, GET_GRAPH_GAPS, GET_GRAPH_NEIGHBORHOOD, GET_GRAPH_STRUCTURE_ANALYSIS, GET_HIGH_PRIORITY_QUESTIONS, GET_OBSERVATION_CONTEXT, GET_ONTOLOGY, GET_QUESTION, GET_TOPIC, GET_TOPIC_COVERAGE, GET_TOPIC_TREE, GIT_SEMANTIC_REQUIRED_TOOLS, IDENTITY_WHOAMI, INGEST_OBSERVATION, JUDGMENT_TYPES, LINK_EVIDENCE, LINK_EVIDENCE_TO_BELIEF, LINK_EVIDENCE_TO_QUESTION, LIST_ALL_WORKTREES, LIST_BELIEFS, LIST_EVIDENCE, LIST_LENSES, LIST_ONTOLOGIES, LIST_QUESTIONS, LIST_TASKS, LIST_TOPICS, LIST_WORKTREES, LUCERN_SDK_VERSION, LucernApiError, MANAGE_WRITE_POLICY, MATCH_ENTITY_TYPE, MCP_TOOL_CONTRACTS, MERGE, MERGE_OUTCOMES, MODULATE_CONFIDENCE, MORNING_BRIEF_WORKFLOW_ID, NIGHTLY_RECONCILIATION_WORKFLOW_ID, OPEN_PULL_REQUEST, PUBLISH_ONTOLOGY_VERSION, PUSH, QUERY_LINEAGE, REASONING_METHODS, RECORD_ATTEMPT, RECORD_JUDGMENT, REFINE_BELIEF, REFINE_QUESTION, REMOVE_LENS_FROM_TOPIC, RESOLVE_EFFECTIVE_ONTOLOGY, SEARCH_BELIEFS, SEARCH_EVIDENCE, SEARCH_RESOURCES, SEARCH_SOURCES, STRUCTURAL_EDGE_TYPES, TRACE_ENTITY_IMPACT, TRAVERSE_GRAPH, UPDATE_ONTOLOGY, UPDATE_QUESTION_STATUS, UPDATE_TASK, UPDATE_TOPIC, UPDATE_WORKTREE_METADATA, UPDATE_WORKTREE_TARGETS, WORKFLOW_ACTION_KINDS, WORKFLOW_APPROVAL_MODES, WORKFLOW_AUTO_FIX_MODES, WORKFLOW_HOOK_EVENTS, WORKFLOW_INTEGRITY_CHECKS, WORKFLOW_MUTATION_TIERS, WORKFLOW_OUTPUT_KINDS, WORKFLOW_PROOF_ARTIFACT_KINDS, WORKFLOW_RUNTIME_SCHEMA_VERSION, WORKFLOW_RUN_STATUSES, WORKFLOW_STAFFING_HINTS, WORKFLOW_TRIGGER_KINDS, WORKTREE_PHASES, clearRegisteredCustomTools, createAdminClient, createAnswersClient, createAudiencesClient, createAuditClient, createBeliefsClient, createContextClient, createDecisionsClient, createGatewayRequestClient, createGraphClient, createHarnessClient, createIdentityClient, createLearningClient, createLucernClient, createMcpParityClient, createOntologyClient, createPacksClient, createPolicyClient, createReportsClient, createSchemaClient, createTopicsClient, createWorkflowClient, getControlObjectOwnershipCase, getRegisteredCustomTool, invokeRegisteredCustomTool, listControlObjectOwnershipCases, listRegisteredCustomTools, randomIdempotencyKey, registerCustomTool, toQueryString, unregisterCustomTool, validateGitSemantics };
|
|
8965
8893
|
//# sourceMappingURL=index.js.map
|
|
8966
8894
|
//# sourceMappingURL=index.js.map
|