@neuroverseos/governance 0.9.0 → 0.11.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 +1 -1
- package/dist/adapters/autoresearch.cjs +19 -1
- package/dist/adapters/autoresearch.d.cts +1 -1
- package/dist/adapters/autoresearch.d.ts +1 -1
- package/dist/adapters/autoresearch.js +2 -2
- package/dist/adapters/deep-agents.cjs +19 -1
- package/dist/adapters/deep-agents.d.cts +2 -2
- package/dist/adapters/deep-agents.d.ts +2 -2
- package/dist/adapters/deep-agents.js +2 -2
- package/dist/adapters/express.cjs +19 -1
- package/dist/adapters/express.d.cts +1 -1
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.js +2 -2
- package/dist/adapters/github.cjs +19 -1
- package/dist/adapters/github.d.cts +2 -2
- package/dist/adapters/github.d.ts +2 -2
- package/dist/adapters/github.js +2 -2
- package/dist/adapters/index.cjs +19 -1
- package/dist/adapters/index.d.cts +2 -2
- package/dist/adapters/index.d.ts +2 -2
- package/dist/adapters/index.js +8 -8
- package/dist/adapters/langchain.cjs +19 -1
- package/dist/adapters/langchain.d.cts +2 -2
- package/dist/adapters/langchain.d.ts +2 -2
- package/dist/adapters/langchain.js +2 -2
- package/dist/adapters/mentraos.cjs +19 -1
- package/dist/adapters/mentraos.d.cts +2 -2
- package/dist/adapters/mentraos.d.ts +2 -2
- package/dist/adapters/mentraos.js +2 -2
- package/dist/adapters/openai.cjs +19 -1
- package/dist/adapters/openai.d.cts +2 -2
- package/dist/adapters/openai.d.ts +2 -2
- package/dist/adapters/openai.js +2 -2
- package/dist/adapters/openclaw.cjs +19 -1
- package/dist/adapters/openclaw.d.cts +2 -2
- package/dist/adapters/openclaw.d.ts +2 -2
- package/dist/adapters/openclaw.js +2 -2
- package/dist/admin/index.cjs +19 -1
- package/dist/admin/index.js +1 -1
- package/dist/audit-CRJOB4CP.js +93 -0
- package/dist/audit-behavior-C62FdRAC.d.cts +100 -0
- package/dist/audit-behavior-DFy7LeYv.d.ts +100 -0
- package/dist/{behavioral-SPWPGYXL.js → behavioral-4TKMHZQZ.js} +2 -2
- package/dist/{chunk-OQU65525.js → chunk-24YW7BHC.js} +1 -1
- package/dist/{chunk-3ZWU7C43.js → chunk-2KTPIE57.js} +494 -14
- package/dist/{chunk-TJ5L2UTE.js → chunk-5K3LATTM.js} +1 -1
- package/dist/{chunk-HDNDL6D5.js → chunk-5LDBYOSJ.js} +1 -1
- package/dist/{chunk-FDPPZLSQ.js → chunk-5ZWKM7MO.js} +1 -1
- package/dist/{chunk-B3IIPTY3.js → chunk-6MB6TMAG.js} +1 -1
- package/dist/{chunk-IOVXB6QN.js → chunk-GXTAHCND.js} +1 -1
- package/dist/{chunk-FKQCPRKI.js → chunk-MAOIHKFO.js} +1 -1
- package/dist/{chunk-ZAF6JH23.js → chunk-MBOW6YXN.js} +19 -1
- package/dist/{chunk-A2UZTLRV.js → chunk-MLXKSX3L.js} +1 -1
- package/dist/{chunk-7FL3U7Z5.js → chunk-MWGEXHOD.js} +1 -1
- package/dist/{chunk-6CV4XG3J.js → chunk-QFDFAWZ6.js} +1 -1
- package/dist/{chunk-2VAWP6FI.js → chunk-RAS62JXV.js} +1 -1
- package/dist/{chunk-OTZU76DH.js → chunk-XAF3CYCW.js} +1 -1
- package/dist/{chunk-T6GMRZWC.js → chunk-XTYQCTDD.js} +1 -1
- package/dist/{chunk-TIXVEPS2.js → chunk-YN7OI5ZV.js} +1 -1
- package/dist/cli/neuroverse.cjs +999 -111
- package/dist/cli/neuroverse.js +16 -12
- package/dist/cli/plan.cjs +18 -0
- package/dist/cli/radiant.cjs +814 -17
- package/dist/cli/radiant.d.cts +44 -1
- package/dist/cli/radiant.d.ts +44 -1
- package/dist/cli/radiant.js +295 -7
- package/dist/cli/run.cjs +18 -0
- package/dist/cli/run.js +4 -4
- package/dist/{decision-flow-IJPNMVQK.js → decision-flow-5VI5YG6A.js} +2 -2
- package/dist/{demo-6W3YXLAX.js → demo-GYX6CYHC.js} +2 -2
- package/dist/engine/guard-engine.cjs +19 -1
- package/dist/engine/guard-engine.d.cts +21 -1
- package/dist/engine/guard-engine.d.ts +21 -1
- package/dist/engine/guard-engine.js +1 -1
- package/dist/{equity-penalties-CCO3GVHS.js → equity-penalties-NOM46NEO.js} +2 -2
- package/dist/{guard-IHJEKHL2.js → guard-PQ3SYV4Y.js} +3 -3
- package/dist/{guard-contract-ddiIPlOg.d.cts → guard-contract-Oznf-Kgq.d.cts} +32 -0
- package/dist/{guard-contract-q6HJAq3Q.d.ts → guard-contract-w_i_6gh-.d.ts} +32 -0
- package/dist/{impact-WIAM66IH.js → impact-LDJLTVRU.js} +3 -3
- package/dist/index.cjs +62 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +49 -8
- package/dist/{mcp-server-CKYBHXWK.js → mcp-server-W3MWSKD7.js} +2 -2
- package/dist/{playground-3TTBN7XD.js → playground-SSZRNUAF.js} +1 -1
- package/dist/radiant/index.cjs +517 -14
- package/dist/radiant/index.d.cts +180 -10
- package/dist/radiant/index.d.ts +180 -10
- package/dist/radiant/index.js +12 -2
- package/dist/{redteam-W644UMWN.js → redteam-KCULS7EW.js} +1 -1
- package/dist/{server-JKUBUK5H.js → server-EGRGGSM2.js} +2 -2
- package/dist/{session-FMAROEIE.js → session-PZLTL22G.js} +2 -2
- package/dist/{shared-PpalGKxc.d.cts → shared-BC8mOpt0.d.cts} +1 -1
- package/dist/{shared-DAzdfWtU.d.ts → shared-CP63gNNW.d.ts} +1 -1
- package/dist/{test-XDB2DH3L.js → test-LIHGWHBA.js} +1 -1
- package/dist/{trace-2YDNAXMK.js → trace-DC3D7XPD.js} +2 -2
- package/examples/radiant-weekly-workflow.yml +4 -1
- package/package.json +1 -1
- /package/dist/{doctor-XEMLO6UA.js → doctor-SIWQGTAO.js} +0 -0
package/dist/radiant/index.d.cts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { C as Crossing } from '../audit-behavior-C62FdRAC.cjs';
|
|
2
|
+
import '../guard-contract-Oznf-Kgq.cjs';
|
|
3
|
+
import '../types.cjs';
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* @neuroverseos/governance/radiant — core types
|
|
3
7
|
*
|
|
@@ -1168,6 +1172,137 @@ declare function fetchNotionActivity(token: string, options?: NotionFetchOptions
|
|
|
1168
1172
|
*/
|
|
1169
1173
|
declare function formatNotionSignalsForPrompt(signals: NotionSignals): string;
|
|
1170
1174
|
|
|
1175
|
+
/**
|
|
1176
|
+
* @neuroverseos/governance/radiant — Linear adapter
|
|
1177
|
+
*
|
|
1178
|
+
* Reads planned work from Linear and surfaces the gap between what the team
|
|
1179
|
+
* said it would ship (issues, cycles, projects) and what actually got built
|
|
1180
|
+
* (signals from the GitHub adapter).
|
|
1181
|
+
*
|
|
1182
|
+
* The behavioral signal Linear uniquely provides:
|
|
1183
|
+
* stated intent (issues planned, cycle committed) vs.
|
|
1184
|
+
* shipped outcome (PRs merged, features delivered)
|
|
1185
|
+
*
|
|
1186
|
+
* That gap is the clearest "agency drift" signal a team can produce — and
|
|
1187
|
+
* none of the dev-productivity tools (LinearB, Swarmia, Jellyfish) read
|
|
1188
|
+
* Linear and GitHub together through a worldmodel lens.
|
|
1189
|
+
*
|
|
1190
|
+
* What it captures:
|
|
1191
|
+
* - Issues created (planning velocity)
|
|
1192
|
+
* - Issues completed (shipping velocity)
|
|
1193
|
+
* - Issues stalled (in-progress > N days without movement)
|
|
1194
|
+
* - Cycle commitment vs. completion (did we finish what we committed to?)
|
|
1195
|
+
* - Comments (how much the team debates vs. ships)
|
|
1196
|
+
* - Project-level updates (direction signals above the issue layer)
|
|
1197
|
+
*
|
|
1198
|
+
* Uses Linear GraphQL v1 via raw fetch (no @linear/sdk dependency,
|
|
1199
|
+
* matching the shape of notion.ts / slack.ts / discord.ts).
|
|
1200
|
+
* Requires a Linear personal API key with read access.
|
|
1201
|
+
*/
|
|
1202
|
+
|
|
1203
|
+
interface LinearFetchOptions {
|
|
1204
|
+
/** Restrict to specific team IDs. If empty, reads all accessible teams. */
|
|
1205
|
+
teamIds?: string[];
|
|
1206
|
+
/** How many days of history to fetch. Default: 14. */
|
|
1207
|
+
windowDays?: number;
|
|
1208
|
+
/** Max issues to fetch. Default: 200. */
|
|
1209
|
+
maxIssues?: number;
|
|
1210
|
+
}
|
|
1211
|
+
interface LinearSignals {
|
|
1212
|
+
/** Issues created in window. */
|
|
1213
|
+
issuesCreated: number;
|
|
1214
|
+
/** Issues completed (moved to a "completed" state) in window. */
|
|
1215
|
+
issuesCompleted: number;
|
|
1216
|
+
/** Issues still open at window end. */
|
|
1217
|
+
issuesOpen: number;
|
|
1218
|
+
/** Issues in an in-progress state for > 14 days with no update. */
|
|
1219
|
+
issuesStalled: number;
|
|
1220
|
+
/** Ratio of completed / committed for cycles that ended in window. */
|
|
1221
|
+
cycleCompletionRate: number | null;
|
|
1222
|
+
/** Unique assignees active in window. */
|
|
1223
|
+
uniqueAssignees: number;
|
|
1224
|
+
/** Total comments across issues in window. */
|
|
1225
|
+
commentsTotal: number;
|
|
1226
|
+
/** Top project titles active in window. */
|
|
1227
|
+
topProjects: string[];
|
|
1228
|
+
}
|
|
1229
|
+
/**
|
|
1230
|
+
* Fetch Linear activity and return Radiant Events + compressed signals.
|
|
1231
|
+
*
|
|
1232
|
+
* Shape mirrors fetchNotionActivity / fetchSlackActivity so the radiant
|
|
1233
|
+
* pipeline composes uniformly. Call from commands/emergent.ts the same way
|
|
1234
|
+
* as the other adapters.
|
|
1235
|
+
*/
|
|
1236
|
+
declare function fetchLinearActivity(apiKey: string, options?: LinearFetchOptions): Promise<{
|
|
1237
|
+
events: Event[];
|
|
1238
|
+
signals: LinearSignals;
|
|
1239
|
+
}>;
|
|
1240
|
+
/**
|
|
1241
|
+
* Format Linear signals for the AI interpretation prompt.
|
|
1242
|
+
* Emphasizes the stated-intent-vs-shipped-outcome framing so the lens
|
|
1243
|
+
* can pick up agency drift without the adapter naming it directly.
|
|
1244
|
+
*/
|
|
1245
|
+
declare function formatLinearSignalsForPrompt(signals: LinearSignals): string;
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* @neuroverseos/governance/radiant — declared vocabulary extraction
|
|
1249
|
+
*
|
|
1250
|
+
* Pulls Aligned Behaviors and Drift Behaviors from a worldmodel markdown
|
|
1251
|
+
* file and turns them into canonical snake_case pattern names that the AI
|
|
1252
|
+
* must use when it sees matching evidence.
|
|
1253
|
+
*
|
|
1254
|
+
* Why this exists: Radiant's AI was inventing names like
|
|
1255
|
+
* `velocity_without_declared_target` when the worldmodel already declared
|
|
1256
|
+
* `dependency_on_ai_presenting_as_integration` for the same observation.
|
|
1257
|
+
* The prompt told the AI to "use canonical names if you see them" — but
|
|
1258
|
+
* no one was extracting canonical names from the worldmodel. This module
|
|
1259
|
+
* closes that loop: Radiant now governs its own output against the
|
|
1260
|
+
* vocabulary it claims to read.
|
|
1261
|
+
*
|
|
1262
|
+
* Supported bullet formats (under `## Aligned Behaviors` / `## Drift Behaviors`):
|
|
1263
|
+
* - `` `canonical_name` — prose description `` (explicit, preferred)
|
|
1264
|
+
* - `canonical_name — prose description` (explicit, no backticks)
|
|
1265
|
+
* - `prose description only` (auto-snake-cased)
|
|
1266
|
+
*
|
|
1267
|
+
* Empty sections, missing sections, and HTML comments are silently ignored
|
|
1268
|
+
* — partial vocabulary is better than no vocabulary, and falling back to
|
|
1269
|
+
* candidate-only behavior is the correct failure mode.
|
|
1270
|
+
*/
|
|
1271
|
+
interface DeclaredPattern {
|
|
1272
|
+
/** snake_case canonical identifier (stable across reads). */
|
|
1273
|
+
name: string;
|
|
1274
|
+
/** Human-readable prose for keyword matching against AI output. */
|
|
1275
|
+
prose: string;
|
|
1276
|
+
/** Which section this came from. */
|
|
1277
|
+
kind: 'aligned' | 'drift';
|
|
1278
|
+
}
|
|
1279
|
+
interface DeclaredVocabulary {
|
|
1280
|
+
aligned: DeclaredPattern[];
|
|
1281
|
+
drift: DeclaredPattern[];
|
|
1282
|
+
/** All canonical names (aligned + drift) for quick membership checks. */
|
|
1283
|
+
allNames: string[];
|
|
1284
|
+
}
|
|
1285
|
+
declare function extractDeclaredVocabulary(worldmodelContent: string): DeclaredVocabulary;
|
|
1286
|
+
/**
|
|
1287
|
+
* Given a pattern description + name the AI emitted, find a declared
|
|
1288
|
+
* pattern whose prose has enough keyword overlap to be "the same thing."
|
|
1289
|
+
*
|
|
1290
|
+
* Matching is deterministic keyword overlap over content words (lowercased,
|
|
1291
|
+
* >3 chars, punctuation stripped, common stopwords removed). A match
|
|
1292
|
+
* requires at least 2 shared words AND at least 30% coverage of the
|
|
1293
|
+
* declared prose's content words. When multiple declared patterns match,
|
|
1294
|
+
* the one with highest coverage wins.
|
|
1295
|
+
*
|
|
1296
|
+
* This is intentionally a simple deterministic pass, not an LLM call:
|
|
1297
|
+
* - no extra token cost
|
|
1298
|
+
* - testable and reproducible
|
|
1299
|
+
* - easy to tune thresholds without retraining
|
|
1300
|
+
*
|
|
1301
|
+
* Returns null when nothing matches well enough. The pattern stays a
|
|
1302
|
+
* candidate.
|
|
1303
|
+
*/
|
|
1304
|
+
declare function matchDeclaredPattern(candidateName: string, candidateDescription: string, vocabulary: DeclaredVocabulary): DeclaredPattern | null;
|
|
1305
|
+
|
|
1171
1306
|
/**
|
|
1172
1307
|
* @neuroverseos/governance/radiant — AI pattern interpretation
|
|
1173
1308
|
*
|
|
@@ -1201,8 +1336,15 @@ interface InterpretInput {
|
|
|
1201
1336
|
lens: RenderingLens;
|
|
1202
1337
|
/** AI adapter to call for interpretation. */
|
|
1203
1338
|
ai: RadiantAI;
|
|
1204
|
-
/** Known canonical pattern names from the worldmodel (optional).
|
|
1339
|
+
/** Known canonical pattern names from the worldmodel (optional).
|
|
1340
|
+
* Kept for backward compatibility — new callers should pass
|
|
1341
|
+
* declaredVocabulary instead, which carries both names and prose. */
|
|
1205
1342
|
canonicalPatterns?: readonly string[];
|
|
1343
|
+
/** Declared vocabulary extracted from the worldmodel's Aligned/Drift
|
|
1344
|
+
* Behaviors. When present, the AI is told the exact canonical names
|
|
1345
|
+
* to use, and any candidate whose description matches declared prose
|
|
1346
|
+
* is reclassified to the declared name. */
|
|
1347
|
+
declaredVocabulary?: DeclaredVocabulary;
|
|
1206
1348
|
/** Stated intent from the exocortex (optional). When present, the AI
|
|
1207
1349
|
* compares stated intent against observed behavior and surfaces gaps. */
|
|
1208
1350
|
statedIntent?: string;
|
|
@@ -1273,6 +1415,15 @@ interface GovernanceAudit {
|
|
|
1273
1415
|
block: number;
|
|
1274
1416
|
details: GovernanceVerdict[];
|
|
1275
1417
|
};
|
|
1418
|
+
/**
|
|
1419
|
+
* Crossings — events that WOULD have been blocked/paused/modified in
|
|
1420
|
+
* enforce mode. Populated by running the guard engine in observe mode,
|
|
1421
|
+
* so nothing is actually stopped; callers record the crossing for the
|
|
1422
|
+
* leader to see. Each crossing carries shadowStatus + shadowReason so
|
|
1423
|
+
* downstream tooling (Bevia, Radiant UIs, audit logs) can surface
|
|
1424
|
+
* specific moments the worldmodel was touched.
|
|
1425
|
+
*/
|
|
1426
|
+
crossings: Crossing[];
|
|
1276
1427
|
/** Summary for rendering — most important findings. */
|
|
1277
1428
|
summary: string;
|
|
1278
1429
|
}
|
|
@@ -1291,7 +1442,7 @@ declare function auditGovernance(events: readonly ClassifiedEvent[], worldPath:
|
|
|
1291
1442
|
* Takes signals + patterns + scores + lens metadata and produces the
|
|
1292
1443
|
* structured output Nils reads. Two output modes:
|
|
1293
1444
|
* - text: the EMERGENT / MEANING / MOVE structure for terminal display
|
|
1294
|
-
* - yaml+text:
|
|
1445
|
+
* - yaml+text: Mind Palace coded read file (YAML frontmatter + prose)
|
|
1295
1446
|
*
|
|
1296
1447
|
* The renderer enforces the lens's voice rules: forbidden phrases are
|
|
1297
1448
|
* checked, bucket names are never leaked, vocabulary is Auki-native.
|
|
@@ -1321,7 +1472,7 @@ interface RenderInput {
|
|
|
1321
1472
|
interface RenderOutput {
|
|
1322
1473
|
/** The human-readable text output for terminal display. */
|
|
1323
1474
|
text: string;
|
|
1324
|
-
/** The
|
|
1475
|
+
/** The Mind Palace coded YAML frontmatter (Tier 2 structured signals). */
|
|
1325
1476
|
frontmatter: string;
|
|
1326
1477
|
}
|
|
1327
1478
|
declare function render(input: RenderInput): RenderOutput;
|
|
@@ -1514,13 +1665,13 @@ declare function parseRemoteUrl(url: string): ParsedRemote | null;
|
|
|
1514
1665
|
declare function getRepoOrigin(repoDir: string): ParsedRemote | null;
|
|
1515
1666
|
|
|
1516
1667
|
/**
|
|
1517
|
-
* @neuroverseos/governance/radiant —
|
|
1668
|
+
* @neuroverseos/governance/radiant — Mind Palace file operations
|
|
1518
1669
|
*
|
|
1519
1670
|
* Writes Radiant reads to the exocortex as dated markdown files (with
|
|
1520
1671
|
* YAML frontmatter for structured signal data). Reads prior files to
|
|
1521
1672
|
* detect pattern persistence across runs.
|
|
1522
1673
|
*
|
|
1523
|
-
* The exocortex directory IS the
|
|
1674
|
+
* The exocortex directory IS the Mind Palace. Files are the tiers:
|
|
1524
1675
|
* - reads/YYYY-MM-DD.md = Tier 2 (structured signals) + Tier 3 (narrative)
|
|
1525
1676
|
* - knowledge.md = accumulated pattern facts with persistence counts
|
|
1526
1677
|
*
|
|
@@ -1593,7 +1744,7 @@ declare function computePersistence(priorReads: PriorRead[], currentPatternNames
|
|
|
1593
1744
|
declare function formatPriorReadsForPrompt(priorReads: PriorRead[]): string;
|
|
1594
1745
|
|
|
1595
1746
|
/**
|
|
1596
|
-
* @neuroverseos/governance/radiant —
|
|
1747
|
+
* @neuroverseos/governance/radiant — Mind Palace compression
|
|
1597
1748
|
*
|
|
1598
1749
|
* Applies the three-tier principle to everything that enters the AI
|
|
1599
1750
|
* prompt: raw data is not the memory; structured signals are.
|
|
@@ -1729,11 +1880,16 @@ interface EmergentInput {
|
|
|
1729
1880
|
* When present, each event is evaluated through evaluateGuard
|
|
1730
1881
|
* and the GOVERNANCE section appears in the output. */
|
|
1731
1882
|
worldPath?: string;
|
|
1883
|
+
/** When set, filter events to only this GitHub login's activity.
|
|
1884
|
+
* Turns Radiant into a local, personal facilitator — reads your
|
|
1885
|
+
* own drift, not the team's. No one else is observed. Leave
|
|
1886
|
+
* undefined for the default team-wide read. */
|
|
1887
|
+
personalUser?: string;
|
|
1732
1888
|
}
|
|
1733
1889
|
interface EmergentResult {
|
|
1734
1890
|
/** The rendered text output (EMERGENT / MEANING / MOVE). */
|
|
1735
1891
|
text: string;
|
|
1736
|
-
/** The YAML frontmatter for
|
|
1892
|
+
/** The YAML frontmatter for Mind Palace coding. */
|
|
1737
1893
|
frontmatter: string;
|
|
1738
1894
|
/** Voice violations detected in AI output. */
|
|
1739
1895
|
voiceViolations: VoiceViolation[];
|
|
@@ -1753,8 +1909,22 @@ interface EmergentResult {
|
|
|
1753
1909
|
activeAdapters?: string[];
|
|
1754
1910
|
/** World stack — what worlds were discovered and loaded. */
|
|
1755
1911
|
worldStack?: WorldStack;
|
|
1912
|
+
/**
|
|
1913
|
+
* Governance audit — populated when a compiled world was loaded. Includes
|
|
1914
|
+
* `crossings` (events that would have blocked/modified/paused in enforce
|
|
1915
|
+
* mode) for surfacing in Bevia / Radiant UIs as moments the leader's
|
|
1916
|
+
* worldmodel was bumped against.
|
|
1917
|
+
*/
|
|
1918
|
+
governance?: GovernanceAudit;
|
|
1756
1919
|
}
|
|
1757
1920
|
declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
1921
|
+
/**
|
|
1922
|
+
* Keep only events whose actor login matches `username` (case-insensitive).
|
|
1923
|
+
* Used by personal mode to narrow a read to a single contributor — Radiant
|
|
1924
|
+
* as a local facilitator reading one person's own drift, not a global
|
|
1925
|
+
* observer of the team. Pure function, testable in isolation.
|
|
1926
|
+
*/
|
|
1927
|
+
declare function filterEventsByUser(events: readonly Event[], username: string): Event[];
|
|
1758
1928
|
|
|
1759
1929
|
/**
|
|
1760
1930
|
* @neuroverseos/governance/radiant
|
|
@@ -1776,12 +1946,12 @@ declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
|
1776
1946
|
* before the renderer sees them — deterministic shaping, no LLM in path
|
|
1777
1947
|
* - Stateless commands: emergent, decision
|
|
1778
1948
|
* - Stateful (via MemoryProvider) commands: drift, evolve
|
|
1779
|
-
* -
|
|
1949
|
+
* - Mind Palace 4-layer coding standard (compression / baselines /
|
|
1780
1950
|
* knowledge / synthesis) with a SQLite reference implementation
|
|
1781
1951
|
* - CLI entry (bin/radiant.ts) and MCP server entry (bin/radiant-mcp.ts)
|
|
1782
1952
|
*
|
|
1783
1953
|
* Build state: Phase 1 complete — voice layer, behavioral dashboard,
|
|
1784
|
-
* MCP server,
|
|
1954
|
+
* MCP server, Mind Palace write-back, governance audit, ExoCortex
|
|
1785
1955
|
* handshake. See radiant/PROJECT-PLAN.md for the full roadmap.
|
|
1786
1956
|
*
|
|
1787
1957
|
* Usage:
|
|
@@ -1792,4 +1962,4 @@ declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
|
1792
1962
|
*/
|
|
1793
1963
|
declare const RADIANT_PACKAGE_VERSION = "0.0.0";
|
|
1794
1964
|
|
|
1795
|
-
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type Scope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type SlackFetchOptions, type SlackSignals, type ThinkInput, type ThinkResult, type ViewLevel, type VoiceDirectives, type VoiceViolation, type WorldStack, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, compressExocortex, compressLens, compressPriorReads, compressWorldmodel, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, detectOrgExtendsSpec, discoverWorlds, emergent, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchNotionActivity, fetchSlackActivity, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
|
|
1965
|
+
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type Scope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type SlackFetchOptions, type SlackSignals, type ThinkInput, type ThinkResult, type ViewLevel, type VoiceDirectives, type VoiceViolation, type WorldStack, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, compressExocortex, compressLens, compressPriorReads, compressWorldmodel, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchLinearActivity, fetchNotionActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
|
package/dist/radiant/index.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { C as Crossing } from '../audit-behavior-DFy7LeYv.js';
|
|
2
|
+
import '../guard-contract-w_i_6gh-.js';
|
|
3
|
+
import '../types.js';
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* @neuroverseos/governance/radiant — core types
|
|
3
7
|
*
|
|
@@ -1168,6 +1172,137 @@ declare function fetchNotionActivity(token: string, options?: NotionFetchOptions
|
|
|
1168
1172
|
*/
|
|
1169
1173
|
declare function formatNotionSignalsForPrompt(signals: NotionSignals): string;
|
|
1170
1174
|
|
|
1175
|
+
/**
|
|
1176
|
+
* @neuroverseos/governance/radiant — Linear adapter
|
|
1177
|
+
*
|
|
1178
|
+
* Reads planned work from Linear and surfaces the gap between what the team
|
|
1179
|
+
* said it would ship (issues, cycles, projects) and what actually got built
|
|
1180
|
+
* (signals from the GitHub adapter).
|
|
1181
|
+
*
|
|
1182
|
+
* The behavioral signal Linear uniquely provides:
|
|
1183
|
+
* stated intent (issues planned, cycle committed) vs.
|
|
1184
|
+
* shipped outcome (PRs merged, features delivered)
|
|
1185
|
+
*
|
|
1186
|
+
* That gap is the clearest "agency drift" signal a team can produce — and
|
|
1187
|
+
* none of the dev-productivity tools (LinearB, Swarmia, Jellyfish) read
|
|
1188
|
+
* Linear and GitHub together through a worldmodel lens.
|
|
1189
|
+
*
|
|
1190
|
+
* What it captures:
|
|
1191
|
+
* - Issues created (planning velocity)
|
|
1192
|
+
* - Issues completed (shipping velocity)
|
|
1193
|
+
* - Issues stalled (in-progress > N days without movement)
|
|
1194
|
+
* - Cycle commitment vs. completion (did we finish what we committed to?)
|
|
1195
|
+
* - Comments (how much the team debates vs. ships)
|
|
1196
|
+
* - Project-level updates (direction signals above the issue layer)
|
|
1197
|
+
*
|
|
1198
|
+
* Uses Linear GraphQL v1 via raw fetch (no @linear/sdk dependency,
|
|
1199
|
+
* matching the shape of notion.ts / slack.ts / discord.ts).
|
|
1200
|
+
* Requires a Linear personal API key with read access.
|
|
1201
|
+
*/
|
|
1202
|
+
|
|
1203
|
+
interface LinearFetchOptions {
|
|
1204
|
+
/** Restrict to specific team IDs. If empty, reads all accessible teams. */
|
|
1205
|
+
teamIds?: string[];
|
|
1206
|
+
/** How many days of history to fetch. Default: 14. */
|
|
1207
|
+
windowDays?: number;
|
|
1208
|
+
/** Max issues to fetch. Default: 200. */
|
|
1209
|
+
maxIssues?: number;
|
|
1210
|
+
}
|
|
1211
|
+
interface LinearSignals {
|
|
1212
|
+
/** Issues created in window. */
|
|
1213
|
+
issuesCreated: number;
|
|
1214
|
+
/** Issues completed (moved to a "completed" state) in window. */
|
|
1215
|
+
issuesCompleted: number;
|
|
1216
|
+
/** Issues still open at window end. */
|
|
1217
|
+
issuesOpen: number;
|
|
1218
|
+
/** Issues in an in-progress state for > 14 days with no update. */
|
|
1219
|
+
issuesStalled: number;
|
|
1220
|
+
/** Ratio of completed / committed for cycles that ended in window. */
|
|
1221
|
+
cycleCompletionRate: number | null;
|
|
1222
|
+
/** Unique assignees active in window. */
|
|
1223
|
+
uniqueAssignees: number;
|
|
1224
|
+
/** Total comments across issues in window. */
|
|
1225
|
+
commentsTotal: number;
|
|
1226
|
+
/** Top project titles active in window. */
|
|
1227
|
+
topProjects: string[];
|
|
1228
|
+
}
|
|
1229
|
+
/**
|
|
1230
|
+
* Fetch Linear activity and return Radiant Events + compressed signals.
|
|
1231
|
+
*
|
|
1232
|
+
* Shape mirrors fetchNotionActivity / fetchSlackActivity so the radiant
|
|
1233
|
+
* pipeline composes uniformly. Call from commands/emergent.ts the same way
|
|
1234
|
+
* as the other adapters.
|
|
1235
|
+
*/
|
|
1236
|
+
declare function fetchLinearActivity(apiKey: string, options?: LinearFetchOptions): Promise<{
|
|
1237
|
+
events: Event[];
|
|
1238
|
+
signals: LinearSignals;
|
|
1239
|
+
}>;
|
|
1240
|
+
/**
|
|
1241
|
+
* Format Linear signals for the AI interpretation prompt.
|
|
1242
|
+
* Emphasizes the stated-intent-vs-shipped-outcome framing so the lens
|
|
1243
|
+
* can pick up agency drift without the adapter naming it directly.
|
|
1244
|
+
*/
|
|
1245
|
+
declare function formatLinearSignalsForPrompt(signals: LinearSignals): string;
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* @neuroverseos/governance/radiant — declared vocabulary extraction
|
|
1249
|
+
*
|
|
1250
|
+
* Pulls Aligned Behaviors and Drift Behaviors from a worldmodel markdown
|
|
1251
|
+
* file and turns them into canonical snake_case pattern names that the AI
|
|
1252
|
+
* must use when it sees matching evidence.
|
|
1253
|
+
*
|
|
1254
|
+
* Why this exists: Radiant's AI was inventing names like
|
|
1255
|
+
* `velocity_without_declared_target` when the worldmodel already declared
|
|
1256
|
+
* `dependency_on_ai_presenting_as_integration` for the same observation.
|
|
1257
|
+
* The prompt told the AI to "use canonical names if you see them" — but
|
|
1258
|
+
* no one was extracting canonical names from the worldmodel. This module
|
|
1259
|
+
* closes that loop: Radiant now governs its own output against the
|
|
1260
|
+
* vocabulary it claims to read.
|
|
1261
|
+
*
|
|
1262
|
+
* Supported bullet formats (under `## Aligned Behaviors` / `## Drift Behaviors`):
|
|
1263
|
+
* - `` `canonical_name` — prose description `` (explicit, preferred)
|
|
1264
|
+
* - `canonical_name — prose description` (explicit, no backticks)
|
|
1265
|
+
* - `prose description only` (auto-snake-cased)
|
|
1266
|
+
*
|
|
1267
|
+
* Empty sections, missing sections, and HTML comments are silently ignored
|
|
1268
|
+
* — partial vocabulary is better than no vocabulary, and falling back to
|
|
1269
|
+
* candidate-only behavior is the correct failure mode.
|
|
1270
|
+
*/
|
|
1271
|
+
interface DeclaredPattern {
|
|
1272
|
+
/** snake_case canonical identifier (stable across reads). */
|
|
1273
|
+
name: string;
|
|
1274
|
+
/** Human-readable prose for keyword matching against AI output. */
|
|
1275
|
+
prose: string;
|
|
1276
|
+
/** Which section this came from. */
|
|
1277
|
+
kind: 'aligned' | 'drift';
|
|
1278
|
+
}
|
|
1279
|
+
interface DeclaredVocabulary {
|
|
1280
|
+
aligned: DeclaredPattern[];
|
|
1281
|
+
drift: DeclaredPattern[];
|
|
1282
|
+
/** All canonical names (aligned + drift) for quick membership checks. */
|
|
1283
|
+
allNames: string[];
|
|
1284
|
+
}
|
|
1285
|
+
declare function extractDeclaredVocabulary(worldmodelContent: string): DeclaredVocabulary;
|
|
1286
|
+
/**
|
|
1287
|
+
* Given a pattern description + name the AI emitted, find a declared
|
|
1288
|
+
* pattern whose prose has enough keyword overlap to be "the same thing."
|
|
1289
|
+
*
|
|
1290
|
+
* Matching is deterministic keyword overlap over content words (lowercased,
|
|
1291
|
+
* >3 chars, punctuation stripped, common stopwords removed). A match
|
|
1292
|
+
* requires at least 2 shared words AND at least 30% coverage of the
|
|
1293
|
+
* declared prose's content words. When multiple declared patterns match,
|
|
1294
|
+
* the one with highest coverage wins.
|
|
1295
|
+
*
|
|
1296
|
+
* This is intentionally a simple deterministic pass, not an LLM call:
|
|
1297
|
+
* - no extra token cost
|
|
1298
|
+
* - testable and reproducible
|
|
1299
|
+
* - easy to tune thresholds without retraining
|
|
1300
|
+
*
|
|
1301
|
+
* Returns null when nothing matches well enough. The pattern stays a
|
|
1302
|
+
* candidate.
|
|
1303
|
+
*/
|
|
1304
|
+
declare function matchDeclaredPattern(candidateName: string, candidateDescription: string, vocabulary: DeclaredVocabulary): DeclaredPattern | null;
|
|
1305
|
+
|
|
1171
1306
|
/**
|
|
1172
1307
|
* @neuroverseos/governance/radiant — AI pattern interpretation
|
|
1173
1308
|
*
|
|
@@ -1201,8 +1336,15 @@ interface InterpretInput {
|
|
|
1201
1336
|
lens: RenderingLens;
|
|
1202
1337
|
/** AI adapter to call for interpretation. */
|
|
1203
1338
|
ai: RadiantAI;
|
|
1204
|
-
/** Known canonical pattern names from the worldmodel (optional).
|
|
1339
|
+
/** Known canonical pattern names from the worldmodel (optional).
|
|
1340
|
+
* Kept for backward compatibility — new callers should pass
|
|
1341
|
+
* declaredVocabulary instead, which carries both names and prose. */
|
|
1205
1342
|
canonicalPatterns?: readonly string[];
|
|
1343
|
+
/** Declared vocabulary extracted from the worldmodel's Aligned/Drift
|
|
1344
|
+
* Behaviors. When present, the AI is told the exact canonical names
|
|
1345
|
+
* to use, and any candidate whose description matches declared prose
|
|
1346
|
+
* is reclassified to the declared name. */
|
|
1347
|
+
declaredVocabulary?: DeclaredVocabulary;
|
|
1206
1348
|
/** Stated intent from the exocortex (optional). When present, the AI
|
|
1207
1349
|
* compares stated intent against observed behavior and surfaces gaps. */
|
|
1208
1350
|
statedIntent?: string;
|
|
@@ -1273,6 +1415,15 @@ interface GovernanceAudit {
|
|
|
1273
1415
|
block: number;
|
|
1274
1416
|
details: GovernanceVerdict[];
|
|
1275
1417
|
};
|
|
1418
|
+
/**
|
|
1419
|
+
* Crossings — events that WOULD have been blocked/paused/modified in
|
|
1420
|
+
* enforce mode. Populated by running the guard engine in observe mode,
|
|
1421
|
+
* so nothing is actually stopped; callers record the crossing for the
|
|
1422
|
+
* leader to see. Each crossing carries shadowStatus + shadowReason so
|
|
1423
|
+
* downstream tooling (Bevia, Radiant UIs, audit logs) can surface
|
|
1424
|
+
* specific moments the worldmodel was touched.
|
|
1425
|
+
*/
|
|
1426
|
+
crossings: Crossing[];
|
|
1276
1427
|
/** Summary for rendering — most important findings. */
|
|
1277
1428
|
summary: string;
|
|
1278
1429
|
}
|
|
@@ -1291,7 +1442,7 @@ declare function auditGovernance(events: readonly ClassifiedEvent[], worldPath:
|
|
|
1291
1442
|
* Takes signals + patterns + scores + lens metadata and produces the
|
|
1292
1443
|
* structured output Nils reads. Two output modes:
|
|
1293
1444
|
* - text: the EMERGENT / MEANING / MOVE structure for terminal display
|
|
1294
|
-
* - yaml+text:
|
|
1445
|
+
* - yaml+text: Mind Palace coded read file (YAML frontmatter + prose)
|
|
1295
1446
|
*
|
|
1296
1447
|
* The renderer enforces the lens's voice rules: forbidden phrases are
|
|
1297
1448
|
* checked, bucket names are never leaked, vocabulary is Auki-native.
|
|
@@ -1321,7 +1472,7 @@ interface RenderInput {
|
|
|
1321
1472
|
interface RenderOutput {
|
|
1322
1473
|
/** The human-readable text output for terminal display. */
|
|
1323
1474
|
text: string;
|
|
1324
|
-
/** The
|
|
1475
|
+
/** The Mind Palace coded YAML frontmatter (Tier 2 structured signals). */
|
|
1325
1476
|
frontmatter: string;
|
|
1326
1477
|
}
|
|
1327
1478
|
declare function render(input: RenderInput): RenderOutput;
|
|
@@ -1514,13 +1665,13 @@ declare function parseRemoteUrl(url: string): ParsedRemote | null;
|
|
|
1514
1665
|
declare function getRepoOrigin(repoDir: string): ParsedRemote | null;
|
|
1515
1666
|
|
|
1516
1667
|
/**
|
|
1517
|
-
* @neuroverseos/governance/radiant —
|
|
1668
|
+
* @neuroverseos/governance/radiant — Mind Palace file operations
|
|
1518
1669
|
*
|
|
1519
1670
|
* Writes Radiant reads to the exocortex as dated markdown files (with
|
|
1520
1671
|
* YAML frontmatter for structured signal data). Reads prior files to
|
|
1521
1672
|
* detect pattern persistence across runs.
|
|
1522
1673
|
*
|
|
1523
|
-
* The exocortex directory IS the
|
|
1674
|
+
* The exocortex directory IS the Mind Palace. Files are the tiers:
|
|
1524
1675
|
* - reads/YYYY-MM-DD.md = Tier 2 (structured signals) + Tier 3 (narrative)
|
|
1525
1676
|
* - knowledge.md = accumulated pattern facts with persistence counts
|
|
1526
1677
|
*
|
|
@@ -1593,7 +1744,7 @@ declare function computePersistence(priorReads: PriorRead[], currentPatternNames
|
|
|
1593
1744
|
declare function formatPriorReadsForPrompt(priorReads: PriorRead[]): string;
|
|
1594
1745
|
|
|
1595
1746
|
/**
|
|
1596
|
-
* @neuroverseos/governance/radiant —
|
|
1747
|
+
* @neuroverseos/governance/radiant — Mind Palace compression
|
|
1597
1748
|
*
|
|
1598
1749
|
* Applies the three-tier principle to everything that enters the AI
|
|
1599
1750
|
* prompt: raw data is not the memory; structured signals are.
|
|
@@ -1729,11 +1880,16 @@ interface EmergentInput {
|
|
|
1729
1880
|
* When present, each event is evaluated through evaluateGuard
|
|
1730
1881
|
* and the GOVERNANCE section appears in the output. */
|
|
1731
1882
|
worldPath?: string;
|
|
1883
|
+
/** When set, filter events to only this GitHub login's activity.
|
|
1884
|
+
* Turns Radiant into a local, personal facilitator — reads your
|
|
1885
|
+
* own drift, not the team's. No one else is observed. Leave
|
|
1886
|
+
* undefined for the default team-wide read. */
|
|
1887
|
+
personalUser?: string;
|
|
1732
1888
|
}
|
|
1733
1889
|
interface EmergentResult {
|
|
1734
1890
|
/** The rendered text output (EMERGENT / MEANING / MOVE). */
|
|
1735
1891
|
text: string;
|
|
1736
|
-
/** The YAML frontmatter for
|
|
1892
|
+
/** The YAML frontmatter for Mind Palace coding. */
|
|
1737
1893
|
frontmatter: string;
|
|
1738
1894
|
/** Voice violations detected in AI output. */
|
|
1739
1895
|
voiceViolations: VoiceViolation[];
|
|
@@ -1753,8 +1909,22 @@ interface EmergentResult {
|
|
|
1753
1909
|
activeAdapters?: string[];
|
|
1754
1910
|
/** World stack — what worlds were discovered and loaded. */
|
|
1755
1911
|
worldStack?: WorldStack;
|
|
1912
|
+
/**
|
|
1913
|
+
* Governance audit — populated when a compiled world was loaded. Includes
|
|
1914
|
+
* `crossings` (events that would have blocked/modified/paused in enforce
|
|
1915
|
+
* mode) for surfacing in Bevia / Radiant UIs as moments the leader's
|
|
1916
|
+
* worldmodel was bumped against.
|
|
1917
|
+
*/
|
|
1918
|
+
governance?: GovernanceAudit;
|
|
1756
1919
|
}
|
|
1757
1920
|
declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
1921
|
+
/**
|
|
1922
|
+
* Keep only events whose actor login matches `username` (case-insensitive).
|
|
1923
|
+
* Used by personal mode to narrow a read to a single contributor — Radiant
|
|
1924
|
+
* as a local facilitator reading one person's own drift, not a global
|
|
1925
|
+
* observer of the team. Pure function, testable in isolation.
|
|
1926
|
+
*/
|
|
1927
|
+
declare function filterEventsByUser(events: readonly Event[], username: string): Event[];
|
|
1758
1928
|
|
|
1759
1929
|
/**
|
|
1760
1930
|
* @neuroverseos/governance/radiant
|
|
@@ -1776,12 +1946,12 @@ declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
|
1776
1946
|
* before the renderer sees them — deterministic shaping, no LLM in path
|
|
1777
1947
|
* - Stateless commands: emergent, decision
|
|
1778
1948
|
* - Stateful (via MemoryProvider) commands: drift, evolve
|
|
1779
|
-
* -
|
|
1949
|
+
* - Mind Palace 4-layer coding standard (compression / baselines /
|
|
1780
1950
|
* knowledge / synthesis) with a SQLite reference implementation
|
|
1781
1951
|
* - CLI entry (bin/radiant.ts) and MCP server entry (bin/radiant-mcp.ts)
|
|
1782
1952
|
*
|
|
1783
1953
|
* Build state: Phase 1 complete — voice layer, behavioral dashboard,
|
|
1784
|
-
* MCP server,
|
|
1954
|
+
* MCP server, Mind Palace write-back, governance audit, ExoCortex
|
|
1785
1955
|
* handshake. See radiant/PROJECT-PLAN.md for the full roadmap.
|
|
1786
1956
|
*
|
|
1787
1957
|
* Usage:
|
|
@@ -1792,4 +1962,4 @@ declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
|
1792
1962
|
*/
|
|
1793
1963
|
declare const RADIANT_PACKAGE_VERSION = "0.0.0";
|
|
1794
1964
|
|
|
1795
|
-
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type Scope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type SlackFetchOptions, type SlackSignals, type ThinkInput, type ThinkResult, type ViewLevel, type VoiceDirectives, type VoiceViolation, type WorldStack, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, compressExocortex, compressLens, compressPriorReads, compressWorldmodel, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, detectOrgExtendsSpec, discoverWorlds, emergent, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchNotionActivity, fetchSlackActivity, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
|
|
1965
|
+
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type Scope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type SlackFetchOptions, type SlackSignals, type ThinkInput, type ThinkResult, type ViewLevel, type VoiceDirectives, type VoiceViolation, type WorldStack, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, compressExocortex, compressLens, compressPriorReads, compressWorldmodel, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchLinearActivity, fetchNotionActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
|
package/dist/radiant/index.js
CHANGED
|
@@ -17,15 +17,19 @@ import {
|
|
|
17
17
|
detectOrgExtendsSpec,
|
|
18
18
|
discoverWorlds,
|
|
19
19
|
emergent,
|
|
20
|
+
extractDeclaredVocabulary,
|
|
20
21
|
extractSignals,
|
|
21
22
|
fetchDiscordActivity,
|
|
22
23
|
fetchGitHubActivity,
|
|
23
24
|
fetchGitHubOrgActivity,
|
|
25
|
+
fetchLinearActivity,
|
|
24
26
|
fetchNotionActivity,
|
|
25
27
|
fetchSlackActivity,
|
|
28
|
+
filterEventsByUser,
|
|
26
29
|
formatActiveWorlds,
|
|
27
30
|
formatDiscordSignalsForPrompt,
|
|
28
31
|
formatExocortexForPrompt,
|
|
32
|
+
formatLinearSignalsForPrompt,
|
|
29
33
|
formatNotionSignalsForPrompt,
|
|
30
34
|
formatPriorReadsForPrompt,
|
|
31
35
|
formatScope,
|
|
@@ -39,6 +43,7 @@ import {
|
|
|
39
43
|
isSentinel,
|
|
40
44
|
loadExtendsConfig,
|
|
41
45
|
loadPriorReads,
|
|
46
|
+
matchDeclaredPattern,
|
|
42
47
|
parseExtendsSpec,
|
|
43
48
|
parseRemoteUrl,
|
|
44
49
|
parseRepoScope,
|
|
@@ -58,7 +63,7 @@ import {
|
|
|
58
63
|
think,
|
|
59
64
|
updateKnowledge,
|
|
60
65
|
writeRead
|
|
61
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-2KTPIE57.js";
|
|
62
67
|
import {
|
|
63
68
|
LENSES,
|
|
64
69
|
aukiBuilderLens,
|
|
@@ -67,7 +72,7 @@ import {
|
|
|
67
72
|
sovereignConduitLens
|
|
68
73
|
} from "../chunk-TCGGED4G.js";
|
|
69
74
|
import "../chunk-I4RTIMLX.js";
|
|
70
|
-
import "../chunk-
|
|
75
|
+
import "../chunk-MBOW6YXN.js";
|
|
71
76
|
import "../chunk-QLPTHTVB.js";
|
|
72
77
|
import "../chunk-QWGCMQQD.js";
|
|
73
78
|
|
|
@@ -95,15 +100,19 @@ export {
|
|
|
95
100
|
detectOrgExtendsSpec,
|
|
96
101
|
discoverWorlds,
|
|
97
102
|
emergent,
|
|
103
|
+
extractDeclaredVocabulary,
|
|
98
104
|
extractSignals,
|
|
99
105
|
fetchDiscordActivity,
|
|
100
106
|
fetchGitHubActivity,
|
|
101
107
|
fetchGitHubOrgActivity,
|
|
108
|
+
fetchLinearActivity,
|
|
102
109
|
fetchNotionActivity,
|
|
103
110
|
fetchSlackActivity,
|
|
111
|
+
filterEventsByUser,
|
|
104
112
|
formatActiveWorlds,
|
|
105
113
|
formatDiscordSignalsForPrompt,
|
|
106
114
|
formatExocortexForPrompt,
|
|
115
|
+
formatLinearSignalsForPrompt,
|
|
107
116
|
formatNotionSignalsForPrompt,
|
|
108
117
|
formatPriorReadsForPrompt,
|
|
109
118
|
formatScope,
|
|
@@ -119,6 +128,7 @@ export {
|
|
|
119
128
|
listLenses,
|
|
120
129
|
loadExtendsConfig,
|
|
121
130
|
loadPriorReads,
|
|
131
|
+
matchDeclaredPattern,
|
|
122
132
|
parseExtendsSpec,
|
|
123
133
|
parseRemoteUrl,
|
|
124
134
|
parseRepoScope,
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
emergent,
|
|
4
4
|
parseRepoScope,
|
|
5
5
|
think
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2KTPIE57.js";
|
|
7
7
|
import "./chunk-TCGGED4G.js";
|
|
8
8
|
import "./chunk-I4RTIMLX.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-MBOW6YXN.js";
|
|
10
10
|
import "./chunk-QLPTHTVB.js";
|
|
11
11
|
import "./chunk-QWGCMQQD.js";
|
|
12
12
|
|