@unson/brainbase-mcp 0.6.0 → 0.8.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.
Files changed (148) hide show
  1. package/contracts/foundation/graph-history.sql +634 -0
  2. package/contracts/judgment-value-proof/schema.json +43 -1
  3. package/dist/canonical-task-contract.d.ts +9 -0
  4. package/dist/canonical-task-contract.js +39 -0
  5. package/dist/canonical-task-principal.d.ts +16 -0
  6. package/dist/canonical-task-principal.js +36 -0
  7. package/dist/canonical-task-service.d.ts +251 -0
  8. package/dist/canonical-task-service.js +820 -0
  9. package/dist/cli.d.ts +2 -0
  10. package/dist/cli.js +107 -0
  11. package/dist/company-os-evaluation.d.ts +193 -0
  12. package/dist/company-os-evaluation.js +1150 -0
  13. package/dist/company-os-impact-review.d.ts +248 -0
  14. package/dist/company-os-impact-review.js +663 -0
  15. package/dist/company-os-learning-adoption.d.ts +288 -0
  16. package/dist/company-os-learning-adoption.js +944 -0
  17. package/dist/company-os-objectives.d.ts +63 -0
  18. package/dist/company-os-objectives.js +234 -0
  19. package/dist/company-os-receipt-adapter.d.ts +109 -0
  20. package/dist/company-os-receipt-adapter.js +636 -0
  21. package/dist/constraint-exception-store.d.ts +23 -0
  22. package/dist/constraint-exception-store.js +108 -0
  23. package/dist/constraint-resolution.d.ts +175 -0
  24. package/dist/constraint-resolution.js +922 -0
  25. package/dist/decision-adapter.d.ts +145 -0
  26. package/dist/decision-adapter.js +586 -0
  27. package/dist/durable-wait-http.d.ts +51 -0
  28. package/dist/durable-wait-http.js +497 -0
  29. package/dist/durable-waits.d.ts +234 -0
  30. package/dist/durable-waits.js +944 -0
  31. package/dist/execution-authority-http.d.ts +28 -0
  32. package/dist/execution-authority-http.js +359 -0
  33. package/dist/execution-authority.d.ts +201 -0
  34. package/dist/execution-authority.js +634 -0
  35. package/dist/foundation-authenticated-tools.d.ts +56 -0
  36. package/dist/foundation-authenticated-tools.js +347 -0
  37. package/dist/foundation-catalog.d.ts +26 -0
  38. package/dist/foundation-catalog.js +206 -0
  39. package/dist/foundation-constraint-store.d.ts +50 -0
  40. package/dist/foundation-constraint-store.js +215 -0
  41. package/dist/foundation-graph-http.d.ts +43 -0
  42. package/dist/foundation-graph-http.js +243 -0
  43. package/dist/foundation-graph-write.d.ts +90 -0
  44. package/dist/foundation-graph-write.js +447 -0
  45. package/dist/foundation-http.d.ts +90 -0
  46. package/dist/foundation-http.js +439 -0
  47. package/dist/foundation-public-provider.d.ts +140 -0
  48. package/dist/foundation-public-provider.js +192 -0
  49. package/dist/foundation-store.d.ts +132 -0
  50. package/dist/foundation-store.js +654 -0
  51. package/dist/graph-corrections.d.ts +157 -0
  52. package/dist/graph-corrections.js +620 -0
  53. package/dist/graph-foundation-reader.d.ts +60 -0
  54. package/dist/graph-foundation-reader.js +494 -0
  55. package/dist/graph-retrieval.d.ts +6 -1
  56. package/dist/graph-revision-reader.d.ts +80 -0
  57. package/dist/graph-revision-reader.js +246 -0
  58. package/dist/graph-web-http.d.ts +26 -0
  59. package/dist/graph-web-http.js +215 -0
  60. package/dist/graph-web.d.ts +364 -0
  61. package/dist/graph-web.js +639 -0
  62. package/dist/judgment-dag-composition.d.ts +224 -0
  63. package/dist/judgment-dag-composition.js +731 -0
  64. package/dist/judgment-dag.d.ts +2 -0
  65. package/dist/judgment-dag.js +1 -0
  66. package/dist/judgment-problem-snapshot.d.ts +213 -0
  67. package/dist/judgment-problem-snapshot.js +1073 -0
  68. package/dist/judgment-value-proof-review.d.ts +166 -0
  69. package/dist/judgment-value-proof-review.js +437 -0
  70. package/dist/judgment-value-proof.d.ts +28 -1
  71. package/dist/judgment-value-proof.js +53 -8
  72. package/dist/judgment-view-http.d.ts +22 -0
  73. package/dist/judgment-view-http.js +128 -0
  74. package/dist/judgment-view.d.ts +222 -0
  75. package/dist/judgment-view.js +627 -0
  76. package/dist/knowledge-adapter.d.ts +112 -0
  77. package/dist/knowledge-adapter.js +691 -0
  78. package/dist/knowledge-continuation.d.ts +127 -0
  79. package/dist/knowledge-continuation.js +446 -0
  80. package/dist/knowledge-lookup.d.ts +178 -0
  81. package/dist/knowledge-lookup.js +758 -0
  82. package/dist/local-web-fetch-bridge.d.ts +5 -0
  83. package/dist/local-web-fetch-bridge.js +37 -0
  84. package/dist/local-web-host.d.ts +109 -0
  85. package/dist/local-web-host.js +688 -0
  86. package/dist/local-web-security.d.ts +25 -0
  87. package/dist/local-web-security.js +95 -0
  88. package/dist/ontology-foundation.d.ts +209 -0
  89. package/dist/ontology-foundation.js +1000 -0
  90. package/dist/ontology.d.ts +13 -0
  91. package/dist/ontology.js +14 -0
  92. package/dist/organization-connection.d.ts +164 -0
  93. package/dist/organization-connection.js +428 -0
  94. package/dist/organization-graph.d.ts +15 -0
  95. package/dist/organization-graph.js +24 -4
  96. package/dist/personal-knowledge.d.ts +132 -0
  97. package/dist/personal-knowledge.js +779 -0
  98. package/dist/personal-memory-handover.d.ts +108 -0
  99. package/dist/personal-memory-handover.js +369 -0
  100. package/dist/philosophy-revision-reader.d.ts +85 -0
  101. package/dist/philosophy-revision-reader.js +241 -0
  102. package/dist/portable-graph.d.ts +24 -0
  103. package/dist/portable-graph.js +77 -0
  104. package/dist/problem-candidates.d.ts +149 -0
  105. package/dist/problem-candidates.js +898 -0
  106. package/dist/problem-selection.d.ts +238 -0
  107. package/dist/problem-selection.js +995 -0
  108. package/dist/resource-reservation-http.d.ts +31 -0
  109. package/dist/resource-reservation-http.js +371 -0
  110. package/dist/resource-reservations.d.ts +221 -0
  111. package/dist/resource-reservations.js +577 -0
  112. package/dist/server.d.ts +104 -2
  113. package/dist/server.js +186 -4
  114. package/dist/ssot.d.ts +6 -1
  115. package/dist/ssot.js +63 -5
  116. package/dist/streamable-http.d.ts +42 -0
  117. package/dist/streamable-http.js +288 -0
  118. package/dist/types.d.ts +20 -0
  119. package/dist/value-proof-review-http.d.ts +25 -0
  120. package/dist/value-proof-review-http.js +185 -0
  121. package/dist/world-model.d.ts +199 -0
  122. package/dist/world-model.js +955 -0
  123. package/package.json +230 -3
  124. package/ui/brainbase-tokens.css +56 -0
  125. package/ui/graph-own-share.js +367 -0
  126. package/ui/graph-projects-view.css +23 -0
  127. package/ui/graph-projects-view.js +730 -0
  128. package/ui/graph-registry-view.css +101 -0
  129. package/ui/graph-registry-view.js +804 -0
  130. package/ui/graph-view-shared.css +522 -0
  131. package/ui/graph-view-shared.js +1227 -0
  132. package/ui/judgment-view.css +312 -0
  133. package/ui/judgment-view.js +508 -0
  134. package/ui/local-web-shell.css +396 -0
  135. package/ui/local-web-shell.js +378 -0
  136. package/ui/objective-editor-http-port.js +154 -0
  137. package/ui/objective-editor.css +286 -0
  138. package/ui/objective-editor.js +1586 -0
  139. package/ui/outcome-knowledge.css +50 -14
  140. package/ui/outcome-knowledge.js +15 -1
  141. package/ui/outcome-mana.css +91 -14
  142. package/ui/outcome-mana.js +958 -61
  143. package/ui/value-proof-review.css +504 -0
  144. package/ui/value-proof-review.js +1104 -0
  145. package/ui/workspace-kit.css +485 -0
  146. package/ui/workspace-kit.js +229 -0
  147. package/ui/world-model-view.css +188 -0
  148. package/ui/world-model-view.js +486 -0
@@ -0,0 +1,25 @@
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ /**
3
+ * Protections shared by every local single-owner Web host (the value-proof
4
+ * review host and the general local Web host). They have no login, so the
5
+ * loopback Host check, the per-launch token and the same-origin check are the
6
+ * whole boundary against another site in the owner's browser.
7
+ */
8
+ export declare const LOCAL_WEB_CONTENT_SECURITY_POLICY = "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
9
+ export declare class LocalWebHttpError extends Error {
10
+ readonly statusCode: number;
11
+ readonly code: string;
12
+ constructor(statusCode: number, code: string, message: string);
13
+ }
14
+ export declare function requestUrl(request: IncomingMessage): URL;
15
+ export declare function writeJson(response: ServerResponse, statusCode: number, body: unknown): void;
16
+ export declare function writeHttpError(response: ServerResponse, error: LocalWebHttpError): void;
17
+ export declare function tokenMatches(expected: string, received: string | string[] | undefined): boolean;
18
+ /** A browser always sends Origin on a cross-site write; it must name this Host. */
19
+ export declare function assertSameOrigin(request: IncomingMessage): void;
20
+ /** Reads the whole body but stops as soon as it exceeds the limit. */
21
+ export declare function readBoundedBody(request: IncomingMessage, limitBytes: number): Promise<Buffer>;
22
+ export declare function readJsonObjectBody(request: IncomingMessage, limitBytes: number): Promise<Record<string, unknown>>;
23
+ export declare const LOOPBACK_HOSTNAMES: readonly ["127.0.0.1", "localhost", "[::1]"];
24
+ /** Rejects rebound DNS names: the Host must be a loopback name for the port this connection arrived on. */
25
+ export declare function isLoopbackHost(request: IncomingMessage): boolean;
@@ -0,0 +1,95 @@
1
+ import { timingSafeEqual } from 'node:crypto';
2
+ /**
3
+ * Protections shared by every local single-owner Web host (the value-proof
4
+ * review host and the general local Web host). They have no login, so the
5
+ * loopback Host check, the per-launch token and the same-origin check are the
6
+ * whole boundary against another site in the owner's browser.
7
+ */
8
+ export const LOCAL_WEB_CONTENT_SECURITY_POLICY = "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
9
+ export class LocalWebHttpError extends Error {
10
+ statusCode;
11
+ code;
12
+ constructor(statusCode, code, message) {
13
+ super(message);
14
+ this.statusCode = statusCode;
15
+ this.code = code;
16
+ this.name = 'LocalWebHttpError';
17
+ }
18
+ }
19
+ export function requestUrl(request) {
20
+ return new URL(request.url ?? '/', 'http://localhost');
21
+ }
22
+ export function writeJson(response, statusCode, body) {
23
+ if (response.headersSent)
24
+ return;
25
+ response.statusCode = statusCode;
26
+ response.setHeader('Content-Type', 'application/json; charset=utf-8');
27
+ response.setHeader('Cache-Control', 'no-store');
28
+ response.setHeader('X-Content-Type-Options', 'nosniff');
29
+ response.end(JSON.stringify(body));
30
+ }
31
+ export function writeHttpError(response, error) {
32
+ writeJson(response, error.statusCode, { error: { code: error.code, message: error.message } });
33
+ }
34
+ export function tokenMatches(expected, received) {
35
+ if (typeof received !== 'string')
36
+ return false;
37
+ const left = Buffer.from(expected);
38
+ const right = Buffer.from(received);
39
+ return left.length === right.length && timingSafeEqual(left, right);
40
+ }
41
+ /** A browser always sends Origin on a cross-site write; it must name this Host. */
42
+ export function assertSameOrigin(request) {
43
+ const origin = request.headers.origin;
44
+ if (origin === undefined)
45
+ return;
46
+ let host;
47
+ try {
48
+ host = new URL(origin).host;
49
+ }
50
+ catch {
51
+ throw new LocalWebHttpError(403, 'cross_origin_rejected', 'Origin is not allowed');
52
+ }
53
+ if (host !== request.headers.host)
54
+ throw new LocalWebHttpError(403, 'cross_origin_rejected', 'Origin is not allowed');
55
+ }
56
+ /** Reads the whole body but stops as soon as it exceeds the limit. */
57
+ export async function readBoundedBody(request, limitBytes) {
58
+ const chunks = [];
59
+ let size = 0;
60
+ for await (const chunk of request) {
61
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
62
+ size += buffer.length;
63
+ if (size > limitBytes)
64
+ throw new LocalWebHttpError(413, 'payload_too_large', 'Request body is too large');
65
+ chunks.push(buffer);
66
+ }
67
+ return Buffer.concat(chunks);
68
+ }
69
+ export async function readJsonObjectBody(request, limitBytes) {
70
+ const contentType = String(request.headers['content-type'] ?? '');
71
+ if (!contentType.toLowerCase().startsWith('application/json')) {
72
+ throw new LocalWebHttpError(415, 'unsupported_media_type', 'Content-Type must be application/json');
73
+ }
74
+ const body = await readBoundedBody(request, limitBytes);
75
+ let value;
76
+ try {
77
+ value = JSON.parse(body.toString('utf8'));
78
+ }
79
+ catch {
80
+ throw new LocalWebHttpError(400, 'invalid_json', 'Request body must be JSON');
81
+ }
82
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
83
+ throw new LocalWebHttpError(400, 'invalid_json', 'Request body must be a JSON object');
84
+ }
85
+ return value;
86
+ }
87
+ export const LOOPBACK_HOSTNAMES = ['127.0.0.1', 'localhost', '[::1]'];
88
+ /** Rejects rebound DNS names: the Host must be a loopback name for the port this connection arrived on. */
89
+ export function isLoopbackHost(request) {
90
+ const host = request.headers.host?.toLowerCase();
91
+ const port = request.socket.localPort;
92
+ if (host === undefined || port === undefined)
93
+ return false;
94
+ return LOOPBACK_HOSTNAMES.some((name) => host === `${name}:${port}` || (port === 80 && host === name));
95
+ }
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Shared semantic contract for the company judgment foundation.
3
+ *
4
+ * This module is intentionally separate from the historical Graph entity
5
+ * kinds. Story 01 registers the definitions that a later canonical store can
6
+ * adopt; it does not reinterpret or mutate ontology releases 1.0.0/2.0.0.
7
+ */
8
+ export declare const JUDGMENT_FOUNDATION_CONTRACT_VERSION: "0.1.0";
9
+ export type FoundationType = 'objective' | 'variable' | 'model' | 'constraint';
10
+ export type FoundationUse = 'draft' | 'judgment' | 'evaluation' | 'execution';
11
+ export type FoundationEpistemicState = 'unverified' | 'hypothesis' | 'supported' | 'verified' | 'refuted';
12
+ export type FoundationAdoptionState = 'draft' | 'proposed' | 'approved' | 'retired';
13
+ /** `ontology` means a formal definition in the future canonical store. */
14
+ export type FoundationStorage = 'candidate' | 'ontology' | 'evidence' | 'execution';
15
+ export type FoundationValueKind = 'number' | 'boolean' | 'string' | 'state';
16
+ export type FoundationAggregation = 'none' | 'sum' | 'average' | 'count' | 'min' | 'max' | 'last' | 'custom';
17
+ /**
18
+ * Threshold operators are intentionally the only operators in the first
19
+ * contract. Relative increase/decrease/maintain need a versioned baseline;
20
+ * accepting them without one would make an evaluation criterion ambiguous.
21
+ */
22
+ export type FoundationOperator = 'at_least' | 'at_most' | 'equals';
23
+ export type FoundationValidationState = 'unverified' | 'in_progress' | 'supported' | 'verified' | 'refuted';
24
+ export interface FoundationRevision {
25
+ id: string;
26
+ type: FoundationType;
27
+ revision: string;
28
+ }
29
+ export interface DecisionRevision {
30
+ id: string;
31
+ type: 'decision';
32
+ revision: string;
33
+ }
34
+ export type RevisionReference = FoundationRevision | DecisionRevision;
35
+ export interface FoundationPeriod {
36
+ from: string;
37
+ until: string;
38
+ }
39
+ export interface FoundationScope {
40
+ subjectIds: readonly string[];
41
+ validFrom: string;
42
+ validUntil?: string;
43
+ }
44
+ export interface FoundationAcl {
45
+ /** The owner is explicit even when visibility is public. */
46
+ ownerId: string;
47
+ visibility: 'private' | 'project' | 'organization' | 'public';
48
+ readerIds: readonly string[];
49
+ writerIds: readonly string[];
50
+ }
51
+ export interface FoundationProvenance {
52
+ sourceId: string;
53
+ sourceKind: 'candidate' | 'document' | 'observation' | 'decision' | 'import';
54
+ evidenceIds: readonly string[];
55
+ }
56
+ export interface FoundationDefinitionBase {
57
+ id: string;
58
+ type: FoundationType;
59
+ revision: string;
60
+ meaning: string;
61
+ /** Objective, Variable, and Constraint may be epistemically open in a draft. */
62
+ epistemicState?: FoundationEpistemicState;
63
+ adoptionState: FoundationAdoptionState;
64
+ authorizedUses: readonly FoundationUse[];
65
+ acl: FoundationAcl;
66
+ /** Storage is a destination contract, not a confidence or truth value. */
67
+ storage: FoundationStorage;
68
+ provenance: readonly FoundationProvenance[];
69
+ scope: FoundationScope;
70
+ }
71
+ export interface ObjectiveCriterion {
72
+ variableRef: FoundationRevision;
73
+ operator: FoundationOperator;
74
+ target?: string | number | boolean;
75
+ }
76
+ export interface ObjectiveDefinition extends FoundationDefinitionBase {
77
+ type: 'objective';
78
+ beneficiaryIds: readonly string[];
79
+ desiredState: string;
80
+ criteria: readonly ObjectiveCriterion[];
81
+ evaluationPeriod: FoundationPeriod;
82
+ accountableId?: string;
83
+ }
84
+ export interface VariableDefinition extends FoundationDefinitionBase {
85
+ type: 'variable';
86
+ subject: string;
87
+ valueKind: FoundationValueKind;
88
+ unit?: string;
89
+ aggregation: FoundationAggregation;
90
+ granularity: string;
91
+ measurementMethod: string;
92
+ }
93
+ export interface ModelDefinition extends FoundationDefinitionBase {
94
+ type: 'model';
95
+ /** A model is allowed to be formally registered while still unverified. */
96
+ epistemicState: FoundationEpistemicState;
97
+ inputVariableRefs: readonly FoundationRevision[];
98
+ outputVariableRefs: readonly FoundationRevision[];
99
+ applicability: FoundationScope;
100
+ relationship: string;
101
+ uncertainty: string;
102
+ validationState: FoundationValidationState;
103
+ }
104
+ export interface ConstraintException {
105
+ decisionRef: DecisionRevision;
106
+ scope: FoundationScope;
107
+ }
108
+ export interface ConstraintDefinition extends FoundationDefinitionBase {
109
+ type: 'constraint';
110
+ condition: string;
111
+ appliesTo: readonly string[];
112
+ exceptions: readonly ConstraintException[];
113
+ adoptionBasis: readonly DecisionRevision[];
114
+ }
115
+ export type FoundationDefinition = ObjectiveDefinition | VariableDefinition | ModelDefinition | ConstraintDefinition;
116
+ export type FoundationRelationId = 'contributes_to' | 'execution_depends_on' | 'time_condition' | 'evaluated_by' | 'uses_as_input' | 'predicts' | 'applies_to' | 'used_as_basis';
117
+ export type FoundationTimeConditionKind = 'deadline' | 'evaluation_window';
118
+ export interface FoundationTimeCondition {
119
+ kind: FoundationTimeConditionKind;
120
+ period: FoundationPeriod;
121
+ }
122
+ export type FoundationRelationEndpoint = FoundationType | 'story' | 'decision' | 'project' | 'judgment_problem' | 'execution' | 'outcome' | 'evaluation';
123
+ export interface FoundationRelationDefinition {
124
+ id: FoundationRelationId;
125
+ from: readonly FoundationRelationEndpoint[];
126
+ to: readonly FoundationRelationEndpoint[];
127
+ meaning: string;
128
+ permittedInferences: readonly string[];
129
+ prohibitedInferences: readonly string[];
130
+ }
131
+ export interface FoundationRelationReference {
132
+ relation: FoundationRelationId;
133
+ source: FoundationRevision | DecisionRevision | {
134
+ id: string;
135
+ type: FoundationRelationEndpoint;
136
+ revision?: string;
137
+ };
138
+ target: FoundationRevision | DecisionRevision | {
139
+ id: string;
140
+ type: FoundationRelationEndpoint;
141
+ revision?: string;
142
+ };
143
+ /** Required only by `time_condition`; forbidden for other relation kinds. */
144
+ timeCondition?: FoundationTimeCondition;
145
+ }
146
+ export interface FoundationValidationIssue {
147
+ code: 'MISSING_FIELD' | 'INVALID_FIELD' | 'INVALID_REVISION_REFERENCE' | 'UNAUTHORIZED_USE' | 'UNVERIFIED_MODEL' | 'EVALUATION_DEFINITION_VERSION_MISMATCH' | 'EVALUATION_UNIT_MISMATCH' | 'EVALUATION_AGGREGATION_MISMATCH' | 'EVALUATION_GRANULARITY_MISMATCH' | 'EVALUATION_SCOPE_MISMATCH' | 'EVALUATION_PERIOD_MISMATCH' | 'RELATION_SOURCE_TYPE_MISMATCH' | 'RELATION_TARGET_TYPE_MISMATCH';
148
+ path: string;
149
+ message: string;
150
+ }
151
+ export interface FoundationValidationResult {
152
+ valid: boolean;
153
+ status: 'valid' | 'invalid' | 'unverified';
154
+ issues: readonly FoundationValidationIssue[];
155
+ }
156
+ export interface FoundationEvaluationDescriptor {
157
+ variableRef: FoundationRevision;
158
+ unit?: string;
159
+ aggregation: FoundationAggregation;
160
+ granularity: string;
161
+ scope: FoundationScope;
162
+ period: FoundationPeriod;
163
+ }
164
+ export interface FoundationEvaluationExpectation {
165
+ scope?: FoundationScope;
166
+ period?: FoundationPeriod;
167
+ }
168
+ export interface FoundationTypeContract {
169
+ type: FoundationType;
170
+ meaning: string;
171
+ /** Fields supplied by the shared definition base for every non-draft use. */
172
+ requiredBase: readonly string[];
173
+ /** Type-specific fields required for the named use. */
174
+ requiredForJudgment: readonly string[];
175
+ requiredForEvaluation: readonly string[];
176
+ /** Conditional requirements that cannot be represented by one flat list. */
177
+ conditionalRequirements?: readonly string[];
178
+ }
179
+ export interface JudgmentFoundationContract {
180
+ version: typeof JUDGMENT_FOUNDATION_CONTRACT_VERSION;
181
+ status: 'extension-manifest';
182
+ compatibility: 'read-compatible-write-gated';
183
+ historicalOntologyVersions: readonly ['1.0.0', '2.0.0'];
184
+ canonicalStoreAdoption: 'future-story-02-plus';
185
+ graphActivation: 'deferred';
186
+ types: Readonly<Record<FoundationType, FoundationTypeContract>>;
187
+ relations: Readonly<Record<FoundationRelationId, FoundationRelationDefinition>>;
188
+ inference: {
189
+ worldModelCycles: 'allowed';
190
+ executionDagCycles: 'rejected';
191
+ };
192
+ }
193
+ export declare const judgmentFoundationRelations: Readonly<Record<FoundationRelationId, FoundationRelationDefinition>>;
194
+ /**
195
+ * Extension manifest consumed by future canonical-store work. The historical
196
+ * portable ontology releases intentionally do not include these definitions.
197
+ */
198
+ export declare const judgmentFoundationContract: JudgmentFoundationContract;
199
+ export declare function validateFoundationDefinition(definition: unknown, options: {
200
+ use: FoundationUse;
201
+ }): FoundationValidationResult;
202
+ export declare function validateFoundationRelation(reference: unknown): FoundationValidationResult;
203
+ export declare function validateEvaluationCompatibility(variable: unknown, actual: unknown, expected?: unknown): FoundationValidationResult;
204
+ /**
205
+ * Relation declarations carry no achievement, causality, accuracy, or truth
206
+ * inference. This intentionally returns no derived conclusions; callers must
207
+ * use explicit observations, evaluations, or decisions for those claims.
208
+ */
209
+ export declare function inferFoundationConclusions(reference: unknown): readonly [];