@davesheffer/hunch 1.31.1 → 1.32.1

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 (223) hide show
  1. package/README.md +2 -1
  2. package/dist/cli/automaticReviewMemory.d.ts +13 -0
  3. package/dist/cli/dna.d.ts +2 -0
  4. package/dist/cli/index.d.ts +16 -0
  5. package/dist/cli/index.js +606 -43
  6. package/dist/cli/integrations.d.ts +2 -0
  7. package/dist/cli/integrations.js +5 -2
  8. package/dist/cli/invocation.d.ts +35 -0
  9. package/dist/cli/preflight.d.ts +1 -0
  10. package/dist/cli/reviewMemory.d.ts +4 -0
  11. package/dist/cli/reviewMemoryProvider.d.ts +14 -0
  12. package/dist/cli/serve.d.ts +2 -0
  13. package/dist/cli/taskReport.d.ts +6 -0
  14. package/dist/cli/taskReport.js +128 -0
  15. package/dist/cli/update.d.ts +14 -0
  16. package/dist/client/state.d.ts +248 -0
  17. package/dist/constitution/adapters.d.ts +29 -0
  18. package/dist/constitution/behaviorAttestationBinding.d.ts +3 -0
  19. package/dist/constitution/behaviorEvaluator.d.ts +8 -0
  20. package/dist/constitution/behaviorProof.d.ts +9 -0
  21. package/dist/constitution/behaviorWorkspace.d.ts +25 -0
  22. package/dist/constitution/bootstrap.d.ts +30 -0
  23. package/dist/constitution/canonical.d.ts +15 -0
  24. package/dist/constitution/card.d.ts +58 -0
  25. package/dist/constitution/compiler.d.ts +52 -0
  26. package/dist/constitution/composition.d.ts +10 -0
  27. package/dist/constitution/corpus.d.ts +7 -0
  28. package/dist/constitution/correctionPolicyMaterializer.d.ts +57 -0
  29. package/dist/constitution/delta.d.ts +4 -0
  30. package/dist/constitution/disposition.d.ts +20 -0
  31. package/dist/constitution/evaluator.d.ts +47 -0
  32. package/dist/constitution/experiment.d.ts +466 -0
  33. package/dist/constitution/experimentRunner.d.ts +7 -0
  34. package/dist/constitution/g2.d.ts +209 -0
  35. package/dist/constitution/g2BehaviorAttestation.d.ts +45 -0
  36. package/dist/constitution/g2BehaviorCandidates.d.ts +123 -0
  37. package/dist/constitution/g2BehaviorDependencies.d.ts +83 -0
  38. package/dist/constitution/g2BehaviorMaterialization.d.ts +77 -0
  39. package/dist/constitution/g2BehaviorPolicyMaterializer.d.ts +48 -0
  40. package/dist/constitution/g2CandidateAttestation.d.ts +43 -0
  41. package/dist/constitution/g2Candidates.d.ts +80 -0
  42. package/dist/constitution/g2Drills.d.ts +33 -0
  43. package/dist/constitution/g3.d.ts +311 -0
  44. package/dist/constitution/g3Conformance.d.ts +33 -0
  45. package/dist/constitution/lifecycle.d.ts +25 -0
  46. package/dist/constitution/mutation.d.ts +15 -0
  47. package/dist/constitution/nodeTestEvidence.d.ts +13 -0
  48. package/dist/constitution/plan.d.ts +18 -0
  49. package/dist/constitution/policyRuntime.d.ts +5 -0
  50. package/dist/constitution/proof.d.ts +11 -0
  51. package/dist/constitution/repairPolicies.d.ts +34 -0
  52. package/dist/constitution/replacementFreeGit.d.ts +14 -0
  53. package/dist/constitution/replay.d.ts +40 -0
  54. package/dist/constitution/replayCache.d.ts +14 -0
  55. package/dist/constitution/replayWorker.d.ts +1 -0
  56. package/dist/constitution/repository.d.ts +129 -0
  57. package/dist/constitution/safeCheckout.d.ts +9 -0
  58. package/dist/constitution/schema.d.ts +1763 -0
  59. package/dist/constitution/scorecard.d.ts +219 -0
  60. package/dist/constitution/service.d.ts +398 -0
  61. package/dist/constitution/shadow.d.ts +54 -0
  62. package/dist/constitution/sourceMutation.d.ts +15 -0
  63. package/dist/constitution/staticGraphBaseline.d.ts +13 -0
  64. package/dist/constitution/structural.d.ts +64 -0
  65. package/dist/core/agenthook.d.ts +63 -0
  66. package/dist/core/agenthook.js +1 -0
  67. package/dist/core/automaticReviewMemory.d.ts +60 -0
  68. package/dist/core/autoreview.d.ts +66 -0
  69. package/dist/core/canonicalOrder.d.ts +3 -0
  70. package/dist/core/capturetoken.d.ts +19 -0
  71. package/dist/core/changeIdentity.d.ts +22 -0
  72. package/dist/core/changeProof.d.ts +14 -0
  73. package/dist/core/checkreport.d.ts +140 -0
  74. package/dist/core/commitrepair.d.ts +171 -0
  75. package/dist/core/commitrepair.js +238 -0
  76. package/dist/core/compare.d.ts +21 -0
  77. package/dist/core/config.d.ts +20 -0
  78. package/dist/core/conformance.d.ts +35 -0
  79. package/dist/core/constraintmatch.d.ts +54 -0
  80. package/dist/core/correction.d.ts +42 -0
  81. package/dist/core/correctionStage.d.ts +224 -0
  82. package/dist/core/declarationClusters.d.ts +149 -0
  83. package/dist/core/delivery.d.ts +110 -0
  84. package/dist/core/docanchors.d.ts +32 -0
  85. package/dist/core/docscan.d.ts +26 -0
  86. package/dist/core/drift.d.ts +13 -0
  87. package/dist/core/drift.js +31 -1
  88. package/dist/core/dupdetect.d.ts +43 -0
  89. package/dist/core/escalations.d.ts +129 -0
  90. package/dist/core/escalations.js +165 -0
  91. package/dist/core/events.d.ts +29 -0
  92. package/dist/core/evidenceMap.d.ts +164 -0
  93. package/dist/core/externalImports.d.ts +8 -0
  94. package/dist/core/format.d.ts +13 -0
  95. package/dist/core/glob.d.ts +9 -0
  96. package/dist/core/groundingLag.d.ts +84 -0
  97. package/dist/core/groundingLag.js +16 -2
  98. package/dist/core/groundingMerge.d.ts +15 -0
  99. package/dist/core/groundingMerge.js +95 -0
  100. package/dist/core/hookObservations.d.ts +9 -0
  101. package/dist/core/hookObservations.js +33 -0
  102. package/dist/core/hookcache.d.ts +10 -0
  103. package/dist/core/hookpolicy.d.ts +47 -0
  104. package/dist/core/ids.d.ts +36 -0
  105. package/dist/core/importReview.d.ts +30 -0
  106. package/dist/core/io.d.ts +23 -0
  107. package/dist/core/jsonc.d.ts +4 -0
  108. package/dist/core/landscapeAdoption.d.ts +66 -0
  109. package/dist/core/landscapeDelivery.d.ts +76 -0
  110. package/dist/core/memorylog.d.ts +37 -0
  111. package/dist/core/migrate.d.ts +28 -0
  112. package/dist/core/outcomeExperience.d.ts +89 -0
  113. package/dist/core/overlaySafety.d.ts +24 -0
  114. package/dist/core/overlaySafety.js +7 -1
  115. package/dist/core/paths.d.ts +31 -0
  116. package/dist/core/pipeline.d.ts +289 -0
  117. package/dist/core/premises.d.ts +43 -0
  118. package/dist/core/provenance.d.ts +21 -0
  119. package/dist/core/publication.d.ts +54 -0
  120. package/dist/core/refrepair.d.ts +24 -0
  121. package/dist/core/refrepair.js +1 -1
  122. package/dist/core/relativeImports.d.ts +11 -0
  123. package/dist/core/repair.d.ts +44 -0
  124. package/dist/core/repairqueue.d.ts +40 -0
  125. package/dist/core/repairqueue.js +133 -0
  126. package/dist/core/reviewMemory.d.ts +40 -0
  127. package/dist/core/reviewqueue.d.ts +54 -0
  128. package/dist/core/safeRepoFile.d.ts +20 -0
  129. package/dist/core/served.d.ts +57 -0
  130. package/dist/core/served.js +14 -0
  131. package/dist/core/stateContract.d.ts +979 -0
  132. package/dist/core/stateDelivery.d.ts +78 -0
  133. package/dist/core/stateRecords.d.ts +383 -0
  134. package/dist/core/stats.d.ts +88 -0
  135. package/dist/core/strictgate.d.ts +33 -0
  136. package/dist/core/taskReport.d.ts +226 -0
  137. package/dist/core/taskReport.js +514 -0
  138. package/dist/core/taskReportCapture.d.ts +8 -0
  139. package/dist/core/taskReportCapture.js +36 -0
  140. package/dist/core/taskReportEvidence.d.ts +28 -0
  141. package/dist/core/taskReportEvidence.js +272 -0
  142. package/dist/core/taskReportHook.d.ts +20 -0
  143. package/dist/core/taskReportHook.js +76 -0
  144. package/dist/core/taskReportPaths.d.ts +3 -0
  145. package/dist/core/taskReportPaths.js +23 -0
  146. package/dist/core/taskReportPublic.d.ts +31 -0
  147. package/dist/core/taskReportPublic.js +45 -0
  148. package/dist/core/taskReportRender.d.ts +6 -0
  149. package/dist/core/taskReportRender.js +97 -0
  150. package/dist/core/topics.d.ts +73 -0
  151. package/dist/core/types.d.ts +1239 -0
  152. package/dist/core/version.d.ts +10 -0
  153. package/dist/eval/guards.d.ts +45 -0
  154. package/dist/eval/harness.d.ts +58 -0
  155. package/dist/extractors/adrImport.d.ts +59 -0
  156. package/dist/extractors/comments.d.ts +7 -0
  157. package/dist/extractors/correctionSources.d.ts +11 -0
  158. package/dist/extractors/diff.d.ts +40 -0
  159. package/dist/extractors/git.d.ts +304 -0
  160. package/dist/extractors/git.js +208 -20
  161. package/dist/extractors/helm.d.ts +31 -0
  162. package/dist/extractors/indexer.d.ts +55 -0
  163. package/dist/extractors/landscapeDiscovery.d.ts +41 -0
  164. package/dist/extractors/languages.d.ts +77 -0
  165. package/dist/extractors/nativeTreeSitter.d.ts +16 -0
  166. package/dist/extractors/parse.d.ts +54 -0
  167. package/dist/extractors/php.d.ts +26 -0
  168. package/dist/extractors/repoSource.d.ts +53 -0
  169. package/dist/extractors/testreport.d.ts +36 -0
  170. package/dist/integrations/ciAction.d.ts +8 -0
  171. package/dist/integrations/claudeConfig.d.ts +44 -0
  172. package/dist/integrations/claudemd.d.ts +13 -0
  173. package/dist/integrations/claudemd.js +11 -2
  174. package/dist/integrations/gitignore.d.ts +16 -0
  175. package/dist/integrations/gitignore.js +7 -0
  176. package/dist/integrations/health.d.ts +74 -0
  177. package/dist/integrations/health.js +32 -2
  178. package/dist/integrations/hooks.d.ts +41 -0
  179. package/dist/integrations/hooks.js +92 -66
  180. package/dist/integrations/madrExport.d.ts +39 -0
  181. package/dist/integrations/madrManifest.d.ts +69 -0
  182. package/dist/integrations/mergeDriver.d.ts +3 -0
  183. package/dist/integrations/mergeDriver.js +25 -8
  184. package/dist/integrations/probe.d.ts +4 -0
  185. package/dist/integrations/providers.d.ts +103 -0
  186. package/dist/integrations/scaffold.d.ts +29 -0
  187. package/dist/integrations/sync.d.ts +30 -0
  188. package/dist/integrations/sync.js +3 -2
  189. package/dist/integrations/team.d.ts +70 -0
  190. package/dist/integrations/worktree.d.ts +8 -0
  191. package/dist/mcp/roots.d.ts +16 -0
  192. package/dist/mcp/server.d.ts +36 -0
  193. package/dist/mcp/server.js +74 -22
  194. package/dist/mcp/taskReportTools.d.ts +188 -0
  195. package/dist/mcp/taskReportTools.js +147 -0
  196. package/dist/serve/app.d.ts +36 -0
  197. package/dist/serve/config.d.ts +100 -0
  198. package/dist/serve/writelock.d.ts +22 -0
  199. package/dist/store/changeLedger.d.ts +132 -0
  200. package/dist/store/compact.d.ts +33 -0
  201. package/dist/store/db.d.ts +9 -0
  202. package/dist/store/embedder.d.ts +32 -0
  203. package/dist/store/hunchStore.d.ts +624 -0
  204. package/dist/store/hunchStore.js +6 -3
  205. package/dist/store/jsonStore.d.ts +125 -0
  206. package/dist/store/merge.d.ts +39 -0
  207. package/dist/store/privateMigrate.d.ts +24 -0
  208. package/dist/store/replay.d.ts +56 -0
  209. package/dist/store/schema.d.ts +17 -0
  210. package/dist/store/stateBinding.d.ts +145 -0
  211. package/dist/store/stateCapture.d.ts +15 -0
  212. package/dist/synthesis/cliAdapter.d.ts +22 -0
  213. package/dist/synthesis/initiator.d.ts +13 -0
  214. package/dist/synthesis/provider.d.ts +307 -0
  215. package/dist/synthesis/synthesize.d.ts +117 -0
  216. package/dist/synthesis/tripwires.d.ts +9 -0
  217. package/dist/taskReports.d.ts +79 -0
  218. package/dist/taskReports.js +69 -0
  219. package/dist/wiki/adopt.d.ts +22 -0
  220. package/dist/wiki/graph.d.ts +87 -0
  221. package/dist/wiki/wiki.d.ts +242 -0
  222. package/package.json +6 -5
  223. package/server.json +2 -2
@@ -0,0 +1,1239 @@
1
+ /**
2
+ * Core entity schema for the Project Hunch (DESIGN.md §3).
3
+ *
4
+ * Zod is the single source of truth: TypeScript types are inferred from the
5
+ * schemas, and the same schemas validate JSON on the write path and shape MCP
6
+ * tool inputs. Every record carries `provenance` so nothing is a blind assertion.
7
+ */
8
+ import { z } from "zod";
9
+ import { ProvenanceSchema, isCredentialFreeText, type Provenance } from "./provenance.js";
10
+ import { type ActionReceipt, type Commitment, type DerivedState, type ExternalEntity, type StateRelationship } from "./stateRecords.js";
11
+ export { ProvenanceSchema, isCredentialFreeText };
12
+ export type { Provenance };
13
+ export declare const ComponentKind: z.ZodEnum<{
14
+ external: "external";
15
+ service: "service";
16
+ module: "module";
17
+ layer: "layer";
18
+ }>;
19
+ /** Architecture node — a service / module / layer / external dependency. */
20
+ export declare const ComponentSchema: z.ZodObject<{
21
+ id: z.ZodString;
22
+ kind: z.ZodEnum<{
23
+ external: "external";
24
+ service: "service";
25
+ module: "module";
26
+ layer: "layer";
27
+ }>;
28
+ name: z.ZodString;
29
+ responsibility: z.ZodDefault<z.ZodString>;
30
+ paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
31
+ status: z.ZodDefault<z.ZodEnum<{
32
+ active: "active";
33
+ deprecated: "deprecated";
34
+ archived: "archived";
35
+ }>>;
36
+ owners: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ fragility: z.ZodDefault<z.ZodNumber>;
38
+ provenance: z.ZodObject<{
39
+ source: z.ZodString;
40
+ confidence: z.ZodNumber;
41
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
42
+ last_verified: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$strip>;
44
+ created_at: z.ZodString;
45
+ updated_at: z.ZodString;
46
+ }, z.core.$strip>;
47
+ export type Component = z.infer<typeof ComponentSchema>;
48
+ export declare const RESOURCE_SCHEMA_VERSION: "hunch.resource/1";
49
+ export declare const RESOURCE_RELATIONSHIP_SCHEMA_VERSION: "hunch.resource-relationship/1";
50
+ /** Resource kinds are deliberately extensible: the initial vocabulary is
51
+ * documented, while repositories may add a stable snake_case kind without a
52
+ * schema release. */
53
+ export declare const ResourceKindSchema: z.ZodString;
54
+ export declare const ResourceCurrentnessSchema: z.ZodObject<{
55
+ status: z.ZodEnum<{
56
+ current: "current";
57
+ stale: "stale";
58
+ unverified: "unverified";
59
+ }>;
60
+ verified_at: z.ZodOptional<z.ZodString>;
61
+ source_revision: z.ZodOptional<z.ZodString>;
62
+ source_content_hash: z.ZodOptional<z.ZodString>;
63
+ }, z.core.$strict>;
64
+ export type ResourceCurrentness = z.infer<typeof ResourceCurrentnessSchema>;
65
+ export declare const ResourceMetadataSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
66
+ export type ResourceMetadata = z.infer<typeof ResourceMetadataSchema>;
67
+ /** Durable Engineering Landscape node. Runtime health/readiness intentionally has
68
+ * no field here: those expiring observations belong to ORC. */
69
+ export declare const ResourceSchema: z.ZodObject<{
70
+ schema: z.ZodLiteral<"hunch.resource/1">;
71
+ id: z.ZodString;
72
+ kind: z.ZodString;
73
+ name: z.ZodString;
74
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
75
+ locator: z.ZodDefault<z.ZodNullable<z.ZodString>>;
76
+ lifecycle: z.ZodDefault<z.ZodEnum<{
77
+ active: "active";
78
+ deprecated: "deprecated";
79
+ retired: "retired";
80
+ planned: "planned";
81
+ }>>;
82
+ criticality: z.ZodOptional<z.ZodEnum<{
83
+ low: "low";
84
+ medium: "medium";
85
+ high: "high";
86
+ critical: "critical";
87
+ }>>;
88
+ contract_version: z.ZodOptional<z.ZodString>;
89
+ provenance: z.ZodObject<{
90
+ source: z.ZodString;
91
+ confidence: z.ZodNumber;
92
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
93
+ last_verified: z.ZodOptional<z.ZodString>;
94
+ }, z.core.$strip>;
95
+ currentness: z.ZodObject<{
96
+ status: z.ZodEnum<{
97
+ current: "current";
98
+ stale: "stale";
99
+ unverified: "unverified";
100
+ }>;
101
+ verified_at: z.ZodOptional<z.ZodString>;
102
+ source_revision: z.ZodOptional<z.ZodString>;
103
+ source_content_hash: z.ZodOptional<z.ZodString>;
104
+ }, z.core.$strict>;
105
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
106
+ created_at: z.ZodString;
107
+ updated_at: z.ZodString;
108
+ }, z.core.$strict>;
109
+ export type Resource = z.infer<typeof ResourceSchema>;
110
+ export declare const EdgeType: z.ZodEnum<{
111
+ depends_on: "depends_on";
112
+ calls: "calls";
113
+ imports: "imports";
114
+ contains: "contains";
115
+ implements: "implements";
116
+ supersedes: "supersedes";
117
+ related_to: "related_to";
118
+ references: "references";
119
+ provides: "provides";
120
+ belongs_to: "belongs_to";
121
+ implemented_by: "implemented_by";
122
+ invokes: "invokes";
123
+ exposes: "exposes";
124
+ publishes: "publishes";
125
+ consumes: "consumes";
126
+ reads_from: "reads_from";
127
+ writes_to: "writes_to";
128
+ builds: "builds";
129
+ tests: "tests";
130
+ deploys: "deploys";
131
+ deployed_on: "deployed_on";
132
+ owned_by: "owned_by";
133
+ monitored_by: "monitored_by";
134
+ governed_by: "governed_by";
135
+ source_of_truth_for: "source_of_truth_for";
136
+ compatible_with: "compatible_with";
137
+ replaces: "replaces";
138
+ }>;
139
+ export declare const ResourceRelationshipType: z.ZodEnum<{
140
+ depends_on: "depends_on";
141
+ contains: "contains";
142
+ implements: "implements";
143
+ provides: "provides";
144
+ belongs_to: "belongs_to";
145
+ implemented_by: "implemented_by";
146
+ invokes: "invokes";
147
+ exposes: "exposes";
148
+ publishes: "publishes";
149
+ consumes: "consumes";
150
+ reads_from: "reads_from";
151
+ writes_to: "writes_to";
152
+ builds: "builds";
153
+ tests: "tests";
154
+ deploys: "deploys";
155
+ deployed_on: "deployed_on";
156
+ owned_by: "owned_by";
157
+ monitored_by: "monitored_by";
158
+ governed_by: "governed_by";
159
+ source_of_truth_for: "source_of_truth_for";
160
+ compatible_with: "compatible_with";
161
+ replaces: "replaces";
162
+ }>;
163
+ /** Typed relationship between components or symbols. */
164
+ export declare const EdgeSchema: z.ZodObject<{
165
+ schema: z.ZodDefault<z.ZodEnum<{
166
+ "hunch.resource-relationship/1": "hunch.resource-relationship/1";
167
+ "hunch.edge/1": "hunch.edge/1";
168
+ }>>;
169
+ id: z.ZodString;
170
+ from: z.ZodString;
171
+ to: z.ZodString;
172
+ type: z.ZodEnum<{
173
+ depends_on: "depends_on";
174
+ calls: "calls";
175
+ imports: "imports";
176
+ contains: "contains";
177
+ implements: "implements";
178
+ supersedes: "supersedes";
179
+ related_to: "related_to";
180
+ references: "references";
181
+ provides: "provides";
182
+ belongs_to: "belongs_to";
183
+ implemented_by: "implemented_by";
184
+ invokes: "invokes";
185
+ exposes: "exposes";
186
+ publishes: "publishes";
187
+ consumes: "consumes";
188
+ reads_from: "reads_from";
189
+ writes_to: "writes_to";
190
+ builds: "builds";
191
+ tests: "tests";
192
+ deploys: "deploys";
193
+ deployed_on: "deployed_on";
194
+ owned_by: "owned_by";
195
+ monitored_by: "monitored_by";
196
+ governed_by: "governed_by";
197
+ source_of_truth_for: "source_of_truth_for";
198
+ compatible_with: "compatible_with";
199
+ replaces: "replaces";
200
+ }>;
201
+ reason: z.ZodDefault<z.ZodString>;
202
+ strength: z.ZodDefault<z.ZodNumber>;
203
+ provenance: z.ZodObject<{
204
+ source: z.ZodString;
205
+ confidence: z.ZodNumber;
206
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
207
+ last_verified: z.ZodOptional<z.ZodString>;
208
+ }, z.core.$strip>;
209
+ currentness: z.ZodOptional<z.ZodObject<{
210
+ status: z.ZodEnum<{
211
+ current: "current";
212
+ stale: "stale";
213
+ unverified: "unverified";
214
+ }>;
215
+ verified_at: z.ZodOptional<z.ZodString>;
216
+ source_revision: z.ZodOptional<z.ZodString>;
217
+ source_content_hash: z.ZodOptional<z.ZodString>;
218
+ }, z.core.$strict>>;
219
+ environment: z.ZodDefault<z.ZodNullable<z.ZodString>>;
220
+ criticality: z.ZodOptional<z.ZodEnum<{
221
+ low: "low";
222
+ medium: "medium";
223
+ high: "high";
224
+ critical: "critical";
225
+ }>>;
226
+ contract_version: z.ZodOptional<z.ZodString>;
227
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
228
+ }, z.core.$strict>;
229
+ export type Edge = z.infer<typeof EdgeSchema>;
230
+ export declare const SymbolKind: z.ZodEnum<{
231
+ function: "function";
232
+ type: "type";
233
+ enum: "enum";
234
+ file: "file";
235
+ method: "method";
236
+ class: "class";
237
+ interface: "interface";
238
+ trait: "trait";
239
+ variable: "variable";
240
+ }>;
241
+ export declare const SymbolMetricsSchema: z.ZodObject<{
242
+ loc: z.ZodDefault<z.ZodNumber>;
243
+ churn_90d: z.ZodDefault<z.ZodNumber>;
244
+ bug_count: z.ZodDefault<z.ZodNumber>;
245
+ fan_in: z.ZodDefault<z.ZodNumber>;
246
+ fan_out: z.ZodDefault<z.ZodNumber>;
247
+ }, z.core.$strip>;
248
+ export type SymbolMetrics = z.infer<typeof SymbolMetricsSchema>;
249
+ /** File/function-level node for the dependency map. */
250
+ export declare const SymbolSchema: z.ZodObject<{
251
+ id: z.ZodString;
252
+ file: z.ZodString;
253
+ name: z.ZodString;
254
+ kind: z.ZodEnum<{
255
+ function: "function";
256
+ type: "type";
257
+ enum: "enum";
258
+ file: "file";
259
+ method: "method";
260
+ class: "class";
261
+ interface: "interface";
262
+ trait: "trait";
263
+ variable: "variable";
264
+ }>;
265
+ signature_hash: z.ZodDefault<z.ZodString>;
266
+ calls: z.ZodDefault<z.ZodArray<z.ZodString>>;
267
+ called_by: z.ZodDefault<z.ZodArray<z.ZodString>>;
268
+ metrics: z.ZodDefault<z.ZodObject<{
269
+ loc: z.ZodDefault<z.ZodNumber>;
270
+ churn_90d: z.ZodDefault<z.ZodNumber>;
271
+ bug_count: z.ZodDefault<z.ZodNumber>;
272
+ fan_in: z.ZodDefault<z.ZodNumber>;
273
+ fan_out: z.ZodDefault<z.ZodNumber>;
274
+ }, z.core.$strip>>;
275
+ last_changed: z.ZodDefault<z.ZodString>;
276
+ }, z.core.$strip>;
277
+ export type Symbol = z.infer<typeof SymbolSchema>;
278
+ /** The structural delta a decision's commit DELETED — the evidence the Regression
279
+ * Guard matches a later diff against ("you're re-adding what dec_X removed"). */
280
+ export declare const RetiredSignalSchema: z.ZodObject<{
281
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
282
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
283
+ }, z.core.$strip>;
284
+ export type RetiredSignal = z.infer<typeof RetiredSignalSchema>;
285
+ /** A machine-checkable signal for a REJECTED alternative (the Veto Guard). Unlike
286
+ * `retired` (code that once existed and was removed), a rejected alternative never
287
+ * existed in code, so its prose is turned into a testable set/regex. Carries its
288
+ * OWN provenance, separate from the decision's: an LLM may DRAFT a tripwire
289
+ * (advisory only); only a `human_confirmed` tripwire may BLOCK a commit — for every
290
+ * tier. One predictable rule (dec_a466655539). */
291
+ export declare const RejectedTripwireSchema: z.ZodObject<{
292
+ alternative: z.ZodString;
293
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
294
+ forbids: z.ZodDefault<z.ZodObject<{
295
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
296
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
297
+ patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
298
+ }, z.core.$strip>>;
299
+ embed_ref: z.ZodOptional<z.ZodString>;
300
+ provenance: z.ZodObject<{
301
+ source: z.ZodString;
302
+ confidence: z.ZodNumber;
303
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
304
+ last_verified: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strip>;
306
+ }, z.core.$strip>;
307
+ export type RejectedTripwire = z.infer<typeof RejectedTripwireSchema>;
308
+ /** ADR-style decision record, auto-drafted and human-confirmable. */
309
+ /** Intent-conformance predicate (the "inversion": prove the code still SATISFIES a
310
+ * decision's intent, not just that a diff didn't touch a guarded file). Each predicate
311
+ * compiles a decision's intent into a DETERMINISTIC check over the symbol/dependency
312
+ * graph Hunch already builds — no model. "pay must verify the session" becomes
313
+ * { assert: "calls", subject: "pay", object: "verifySession" }; if pay stops calling
314
+ * verifySession the intent is VIOLATED even with no diff in scope. */
315
+ export declare const ConformancePredicateSchema: z.ZodObject<{
316
+ assert: z.ZodEnum<{
317
+ calls: "calls";
318
+ imports: "imports";
319
+ "not-calls": "not-calls";
320
+ "not-imports": "not-imports";
321
+ exists: "exists";
322
+ }>;
323
+ subject: z.ZodString;
324
+ object: z.ZodOptional<z.ZodString>;
325
+ transitive: z.ZodDefault<z.ZodBoolean>;
326
+ }, z.core.$strip>;
327
+ export type ConformancePredicate = z.infer<typeof ConformancePredicateSchema>;
328
+ export declare const PremiseSchema: z.ZodObject<{
329
+ claim: z.ZodString;
330
+ path_absent: z.ZodOptional<z.ZodString>;
331
+ under: z.ZodOptional<z.ZodString>;
332
+ path_exists: z.ZodOptional<z.ZodString>;
333
+ review_by: z.ZodOptional<z.ZodString>;
334
+ attested: z.ZodOptional<z.ZodString>;
335
+ }, z.core.$strip>;
336
+ export type Premise = z.infer<typeof PremiseSchema>;
337
+ export declare const DecisionSchema: z.ZodObject<{
338
+ id: z.ZodString;
339
+ title: z.ZodString;
340
+ topic: z.ZodDefault<z.ZodNullable<z.ZodString>>;
341
+ status: z.ZodDefault<z.ZodEnum<{
342
+ proposed: "proposed";
343
+ accepted: "accepted";
344
+ rejected: "rejected";
345
+ superseded: "superseded";
346
+ }>>;
347
+ context: z.ZodDefault<z.ZodString>;
348
+ decision: z.ZodDefault<z.ZodString>;
349
+ consequences: z.ZodDefault<z.ZodArray<z.ZodString>>;
350
+ alternatives_rejected: z.ZodDefault<z.ZodArray<z.ZodString>>;
351
+ rejected_tripwires: z.ZodDefault<z.ZodArray<z.ZodObject<{
352
+ alternative: z.ZodString;
353
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
354
+ forbids: z.ZodDefault<z.ZodObject<{
355
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
356
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
357
+ patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
358
+ }, z.core.$strip>>;
359
+ embed_ref: z.ZodOptional<z.ZodString>;
360
+ provenance: z.ZodObject<{
361
+ source: z.ZodString;
362
+ confidence: z.ZodNumber;
363
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
364
+ last_verified: z.ZodOptional<z.ZodString>;
365
+ }, z.core.$strip>;
366
+ }, z.core.$strip>>>;
367
+ related_components: z.ZodDefault<z.ZodArray<z.ZodString>>;
368
+ related_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
369
+ supersedes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
370
+ superseded_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
371
+ caused_by_bug: z.ZodDefault<z.ZodNullable<z.ZodString>>;
372
+ commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
373
+ valid_from: z.ZodOptional<z.ZodString>;
374
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
375
+ retired: z.ZodDefault<z.ZodObject<{
376
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
377
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
378
+ }, z.core.$strip>>;
379
+ conformance: z.ZodOptional<z.ZodArray<z.ZodObject<{
380
+ assert: z.ZodEnum<{
381
+ calls: "calls";
382
+ imports: "imports";
383
+ "not-calls": "not-calls";
384
+ "not-imports": "not-imports";
385
+ exists: "exists";
386
+ }>;
387
+ subject: z.ZodString;
388
+ object: z.ZodOptional<z.ZodString>;
389
+ transitive: z.ZodDefault<z.ZodBoolean>;
390
+ }, z.core.$strip>>>;
391
+ premises: z.ZodOptional<z.ZodArray<z.ZodObject<{
392
+ claim: z.ZodString;
393
+ path_absent: z.ZodOptional<z.ZodString>;
394
+ under: z.ZodOptional<z.ZodString>;
395
+ path_exists: z.ZodOptional<z.ZodString>;
396
+ review_by: z.ZodOptional<z.ZodString>;
397
+ attested: z.ZodOptional<z.ZodString>;
398
+ }, z.core.$strip>>>;
399
+ provenance: z.ZodObject<{
400
+ source: z.ZodString;
401
+ confidence: z.ZodNumber;
402
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
403
+ last_verified: z.ZodOptional<z.ZodString>;
404
+ }, z.core.$strip>;
405
+ date: z.ZodString;
406
+ }, z.core.$strip>;
407
+ export type Decision = z.infer<typeof DecisionSchema>;
408
+ export declare const BugLineageSchema: z.ZodObject<{
409
+ introduced_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
410
+ detected: z.ZodDefault<z.ZodNullable<z.ZodString>>;
411
+ fixed_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
412
+ recurrence_of: z.ZodDefault<z.ZodNullable<z.ZodString>>;
413
+ spawned_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
414
+ spawned_constraint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
415
+ }, z.core.$strip>;
416
+ export type BugLineage = z.infer<typeof BugLineageSchema>;
417
+ /** A bug with root cause and lineage (introduced → fixed → recurred). */
418
+ export declare const BugSchema: z.ZodObject<{
419
+ id: z.ZodString;
420
+ title: z.ZodString;
421
+ symptom: z.ZodDefault<z.ZodString>;
422
+ root_cause: z.ZodDefault<z.ZodString>;
423
+ severity: z.ZodDefault<z.ZodEnum<{
424
+ low: "low";
425
+ medium: "medium";
426
+ high: "high";
427
+ critical: "critical";
428
+ }>>;
429
+ status: z.ZodDefault<z.ZodEnum<{
430
+ fixed: "fixed";
431
+ open: "open";
432
+ investigating: "investigating";
433
+ regressed: "regressed";
434
+ }>>;
435
+ affected_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
436
+ affected_symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
437
+ lineage: z.ZodDefault<z.ZodObject<{
438
+ introduced_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
439
+ detected: z.ZodDefault<z.ZodNullable<z.ZodString>>;
440
+ fixed_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
441
+ recurrence_of: z.ZodDefault<z.ZodNullable<z.ZodString>>;
442
+ spawned_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
443
+ spawned_constraint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
444
+ }, z.core.$strip>>;
445
+ provenance: z.ZodObject<{
446
+ source: z.ZodString;
447
+ confidence: z.ZodNumber;
448
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
449
+ last_verified: z.ZodOptional<z.ZodString>;
450
+ }, z.core.$strip>;
451
+ }, z.core.$strip>;
452
+ export type Bug = z.infer<typeof BugSchema>;
453
+ /** An invariant the system must respect. */
454
+ export declare const ConstraintSchema: z.ZodObject<{
455
+ id: z.ZodString;
456
+ type: z.ZodDefault<z.ZodEnum<{
457
+ security: "security";
458
+ performance: "performance";
459
+ correctness: "correctness";
460
+ architecture: "architecture";
461
+ compliance: "compliance";
462
+ }>>;
463
+ statement: z.ZodString;
464
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
465
+ severity: z.ZodDefault<z.ZodEnum<{
466
+ advisory: "advisory";
467
+ warning: "warning";
468
+ blocking: "blocking";
469
+ }>>;
470
+ enforcement: z.ZodDefault<z.ZodEnum<{
471
+ ci: "ci";
472
+ advisory_v1: "advisory_v1";
473
+ manual: "manual";
474
+ }>>;
475
+ match: z.ZodDefault<z.ZodNullable<z.ZodString>>;
476
+ forbids: z.ZodDefault<z.ZodNullable<z.ZodObject<{
477
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
478
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
479
+ patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
480
+ }, z.core.$strip>>>;
481
+ rationale: z.ZodDefault<z.ZodString>;
482
+ source_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
483
+ violations: z.ZodDefault<z.ZodArray<z.ZodString>>;
484
+ status: z.ZodDefault<z.ZodEnum<{
485
+ active: "active";
486
+ retired: "retired";
487
+ }>>;
488
+ valid_from: z.ZodOptional<z.ZodString>;
489
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
490
+ provenance: z.ZodObject<{
491
+ source: z.ZodString;
492
+ confidence: z.ZodNumber;
493
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
494
+ last_verified: z.ZodOptional<z.ZodString>;
495
+ }, z.core.$strip>;
496
+ }, z.core.$strip>;
497
+ export type Constraint = z.infer<typeof ConstraintSchema>;
498
+ /** A reusable "how" for a recurring task — trajectory/runbook memory (roadmap #5).
499
+ * ADVISORY retrieval context only; never enters any block path. Distilled from a
500
+ * commit range, surfaced through the same FTS+graph retrieval as every record. */
501
+ export declare const RunbookSchema: z.ZodObject<{
502
+ id: z.ZodString;
503
+ task: z.ZodString;
504
+ trigger: z.ZodDefault<z.ZodArray<z.ZodString>>;
505
+ steps: z.ZodDefault<z.ZodArray<z.ZodString>>;
506
+ files: z.ZodDefault<z.ZodArray<z.ZodString>>;
507
+ gotchas: z.ZodDefault<z.ZodArray<z.ZodString>>;
508
+ outcome: z.ZodDefault<z.ZodString>;
509
+ source_range: z.ZodDefault<z.ZodNullable<z.ZodString>>;
510
+ valid_from: z.ZodOptional<z.ZodString>;
511
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
512
+ provenance: z.ZodObject<{
513
+ source: z.ZodString;
514
+ confidence: z.ZodNumber;
515
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
516
+ last_verified: z.ZodOptional<z.ZodString>;
517
+ }, z.core.$strip>;
518
+ date: z.ZodString;
519
+ }, z.core.$strip>;
520
+ export type Runbook = z.infer<typeof RunbookSchema>;
521
+ /** An OBSERVATION — audited knowledge with no diff (the anchor is a date + evidence,
522
+ * not a commit). Fills the gap between Bug (broke and got fixed) and Decision (chose
523
+ * and changed code): "we looked, we found, we haven't acted yet". Examples: an audit
524
+ * that surfaced unscoped tenant queries, a measured perf number, a vendor limit, an
525
+ * incident with no code fix. ADVISORY retrieval context (pre-edit grounding + MCP);
526
+ * never enters any block path. Lifecycle is `triage`, not valid-time: a finding is
527
+ * resolved/stale-marked, never superseded. */
528
+ export declare const FindingSchema: z.ZodObject<{
529
+ id: z.ZodString;
530
+ title: z.ZodString;
531
+ observation: z.ZodDefault<z.ZodString>;
532
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
533
+ method: z.ZodDefault<z.ZodNullable<z.ZodString>>;
534
+ severity: z.ZodDefault<z.ZodEnum<{
535
+ low: "low";
536
+ medium: "medium";
537
+ high: "high";
538
+ critical: "critical";
539
+ }>>;
540
+ triage: z.ZodDefault<z.ZodEnum<{
541
+ open: "open";
542
+ stale: "stale";
543
+ "accepted-risk": "accepted-risk";
544
+ scheduled: "scheduled";
545
+ resolved: "resolved";
546
+ }>>;
547
+ affected_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
548
+ affected_symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
549
+ violates_constraint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
550
+ spawned_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
551
+ observed_at: z.ZodString;
552
+ resolved_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
553
+ provenance: z.ZodObject<{
554
+ source: z.ZodString;
555
+ confidence: z.ZodNumber;
556
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
557
+ last_verified: z.ZodOptional<z.ZodString>;
558
+ }, z.core.$strip>;
559
+ }, z.core.$strip>;
560
+ export type Finding = z.infer<typeof FindingSchema>;
561
+ export declare const LANDSCAPE_DRIFT_CANDIDATE_SCHEMA_VERSION: "hunch.landscape-drift-candidate/1";
562
+ /**
563
+ * An external observer's content-addressed mismatch claim. It is intake evidence
564
+ * for an advisory Finding only: it cannot update a Resource, relationship,
565
+ * currentness, decision, constraint, or execution policy.
566
+ */
567
+ export declare const LandscapeDriftCandidateSchema: z.ZodObject<{
568
+ schema: z.ZodLiteral<"hunch.landscape-drift-candidate/1">;
569
+ candidateId: z.ZodString;
570
+ classification: z.ZodLiteral<"repository_identity_mismatch">;
571
+ resourceId: z.ZodString;
572
+ declaredRepositoryId: z.ZodString;
573
+ observedRepositoryId: z.ZodString;
574
+ observation: z.ZodObject<{
575
+ providerId: z.ZodString;
576
+ observedAt: z.ZodString;
577
+ providerReceiptId: z.ZodString;
578
+ providerReceiptHash: z.ZodString;
579
+ resolutionReceiptId: z.ZodString;
580
+ resolutionReceiptHash: z.ZodString;
581
+ resolutionSetHash: z.ZodString;
582
+ }, z.core.$strict>;
583
+ authority: z.ZodLiteral<"finding_candidate">;
584
+ contentHash: z.ZodString;
585
+ }, z.core.$strict>;
586
+ export type LandscapeDriftCandidate = z.infer<typeof LandscapeDriftCandidateSchema>;
587
+ export type CreateLandscapeDriftCandidateInput = Omit<LandscapeDriftCandidate, "schema" | "candidateId" | "classification" | "authority" | "contentHash">;
588
+ export declare function createLandscapeDriftCandidate(input: CreateLandscapeDriftCandidateInput): LandscapeDriftCandidate;
589
+ export declare function assertLandscapeDriftCandidate(value: unknown): asserts value is LandscapeDriftCandidate;
590
+ /** Convert one valid external observation into advisory Hunch memory, never graph authority. */
591
+ export declare function landscapeDriftCandidateFinding(value: unknown): Finding;
592
+ /** The entity collections, keyed by their on-disk directory name. */
593
+ export declare const ENTITY_KINDS: readonly ["components", "resources", "edges", "symbols", "decisions", "bugs", "constraints", "runbooks", "findings", "receipts", "commitments", "derived", "entities", "relationships"];
594
+ export type EntityKind = (typeof ENTITY_KINDS)[number];
595
+ export declare const SCHEMAS: {
596
+ readonly components: z.ZodObject<{
597
+ id: z.ZodString;
598
+ kind: z.ZodEnum<{
599
+ external: "external";
600
+ service: "service";
601
+ module: "module";
602
+ layer: "layer";
603
+ }>;
604
+ name: z.ZodString;
605
+ responsibility: z.ZodDefault<z.ZodString>;
606
+ paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
607
+ status: z.ZodDefault<z.ZodEnum<{
608
+ active: "active";
609
+ deprecated: "deprecated";
610
+ archived: "archived";
611
+ }>>;
612
+ owners: z.ZodDefault<z.ZodArray<z.ZodString>>;
613
+ fragility: z.ZodDefault<z.ZodNumber>;
614
+ provenance: z.ZodObject<{
615
+ source: z.ZodString;
616
+ confidence: z.ZodNumber;
617
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
618
+ last_verified: z.ZodOptional<z.ZodString>;
619
+ }, z.core.$strip>;
620
+ created_at: z.ZodString;
621
+ updated_at: z.ZodString;
622
+ }, z.core.$strip>;
623
+ readonly resources: z.ZodObject<{
624
+ schema: z.ZodLiteral<"hunch.resource/1">;
625
+ id: z.ZodString;
626
+ kind: z.ZodString;
627
+ name: z.ZodString;
628
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
629
+ locator: z.ZodDefault<z.ZodNullable<z.ZodString>>;
630
+ lifecycle: z.ZodDefault<z.ZodEnum<{
631
+ active: "active";
632
+ deprecated: "deprecated";
633
+ retired: "retired";
634
+ planned: "planned";
635
+ }>>;
636
+ criticality: z.ZodOptional<z.ZodEnum<{
637
+ low: "low";
638
+ medium: "medium";
639
+ high: "high";
640
+ critical: "critical";
641
+ }>>;
642
+ contract_version: z.ZodOptional<z.ZodString>;
643
+ provenance: z.ZodObject<{
644
+ source: z.ZodString;
645
+ confidence: z.ZodNumber;
646
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
647
+ last_verified: z.ZodOptional<z.ZodString>;
648
+ }, z.core.$strip>;
649
+ currentness: z.ZodObject<{
650
+ status: z.ZodEnum<{
651
+ current: "current";
652
+ stale: "stale";
653
+ unverified: "unverified";
654
+ }>;
655
+ verified_at: z.ZodOptional<z.ZodString>;
656
+ source_revision: z.ZodOptional<z.ZodString>;
657
+ source_content_hash: z.ZodOptional<z.ZodString>;
658
+ }, z.core.$strict>;
659
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
660
+ created_at: z.ZodString;
661
+ updated_at: z.ZodString;
662
+ }, z.core.$strict>;
663
+ readonly edges: z.ZodObject<{
664
+ schema: z.ZodDefault<z.ZodEnum<{
665
+ "hunch.resource-relationship/1": "hunch.resource-relationship/1";
666
+ "hunch.edge/1": "hunch.edge/1";
667
+ }>>;
668
+ id: z.ZodString;
669
+ from: z.ZodString;
670
+ to: z.ZodString;
671
+ type: z.ZodEnum<{
672
+ depends_on: "depends_on";
673
+ calls: "calls";
674
+ imports: "imports";
675
+ contains: "contains";
676
+ implements: "implements";
677
+ supersedes: "supersedes";
678
+ related_to: "related_to";
679
+ references: "references";
680
+ provides: "provides";
681
+ belongs_to: "belongs_to";
682
+ implemented_by: "implemented_by";
683
+ invokes: "invokes";
684
+ exposes: "exposes";
685
+ publishes: "publishes";
686
+ consumes: "consumes";
687
+ reads_from: "reads_from";
688
+ writes_to: "writes_to";
689
+ builds: "builds";
690
+ tests: "tests";
691
+ deploys: "deploys";
692
+ deployed_on: "deployed_on";
693
+ owned_by: "owned_by";
694
+ monitored_by: "monitored_by";
695
+ governed_by: "governed_by";
696
+ source_of_truth_for: "source_of_truth_for";
697
+ compatible_with: "compatible_with";
698
+ replaces: "replaces";
699
+ }>;
700
+ reason: z.ZodDefault<z.ZodString>;
701
+ strength: z.ZodDefault<z.ZodNumber>;
702
+ provenance: z.ZodObject<{
703
+ source: z.ZodString;
704
+ confidence: z.ZodNumber;
705
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
706
+ last_verified: z.ZodOptional<z.ZodString>;
707
+ }, z.core.$strip>;
708
+ currentness: z.ZodOptional<z.ZodObject<{
709
+ status: z.ZodEnum<{
710
+ current: "current";
711
+ stale: "stale";
712
+ unverified: "unverified";
713
+ }>;
714
+ verified_at: z.ZodOptional<z.ZodString>;
715
+ source_revision: z.ZodOptional<z.ZodString>;
716
+ source_content_hash: z.ZodOptional<z.ZodString>;
717
+ }, z.core.$strict>>;
718
+ environment: z.ZodDefault<z.ZodNullable<z.ZodString>>;
719
+ criticality: z.ZodOptional<z.ZodEnum<{
720
+ low: "low";
721
+ medium: "medium";
722
+ high: "high";
723
+ critical: "critical";
724
+ }>>;
725
+ contract_version: z.ZodOptional<z.ZodString>;
726
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
727
+ }, z.core.$strict>;
728
+ readonly symbols: z.ZodObject<{
729
+ id: z.ZodString;
730
+ file: z.ZodString;
731
+ name: z.ZodString;
732
+ kind: z.ZodEnum<{
733
+ function: "function";
734
+ type: "type";
735
+ enum: "enum";
736
+ file: "file";
737
+ method: "method";
738
+ class: "class";
739
+ interface: "interface";
740
+ trait: "trait";
741
+ variable: "variable";
742
+ }>;
743
+ signature_hash: z.ZodDefault<z.ZodString>;
744
+ calls: z.ZodDefault<z.ZodArray<z.ZodString>>;
745
+ called_by: z.ZodDefault<z.ZodArray<z.ZodString>>;
746
+ metrics: z.ZodDefault<z.ZodObject<{
747
+ loc: z.ZodDefault<z.ZodNumber>;
748
+ churn_90d: z.ZodDefault<z.ZodNumber>;
749
+ bug_count: z.ZodDefault<z.ZodNumber>;
750
+ fan_in: z.ZodDefault<z.ZodNumber>;
751
+ fan_out: z.ZodDefault<z.ZodNumber>;
752
+ }, z.core.$strip>>;
753
+ last_changed: z.ZodDefault<z.ZodString>;
754
+ }, z.core.$strip>;
755
+ readonly decisions: z.ZodObject<{
756
+ id: z.ZodString;
757
+ title: z.ZodString;
758
+ topic: z.ZodDefault<z.ZodNullable<z.ZodString>>;
759
+ status: z.ZodDefault<z.ZodEnum<{
760
+ proposed: "proposed";
761
+ accepted: "accepted";
762
+ rejected: "rejected";
763
+ superseded: "superseded";
764
+ }>>;
765
+ context: z.ZodDefault<z.ZodString>;
766
+ decision: z.ZodDefault<z.ZodString>;
767
+ consequences: z.ZodDefault<z.ZodArray<z.ZodString>>;
768
+ alternatives_rejected: z.ZodDefault<z.ZodArray<z.ZodString>>;
769
+ rejected_tripwires: z.ZodDefault<z.ZodArray<z.ZodObject<{
770
+ alternative: z.ZodString;
771
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
772
+ forbids: z.ZodDefault<z.ZodObject<{
773
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
774
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
775
+ patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
776
+ }, z.core.$strip>>;
777
+ embed_ref: z.ZodOptional<z.ZodString>;
778
+ provenance: z.ZodObject<{
779
+ source: z.ZodString;
780
+ confidence: z.ZodNumber;
781
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
782
+ last_verified: z.ZodOptional<z.ZodString>;
783
+ }, z.core.$strip>;
784
+ }, z.core.$strip>>>;
785
+ related_components: z.ZodDefault<z.ZodArray<z.ZodString>>;
786
+ related_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
787
+ supersedes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
788
+ superseded_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
789
+ caused_by_bug: z.ZodDefault<z.ZodNullable<z.ZodString>>;
790
+ commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
791
+ valid_from: z.ZodOptional<z.ZodString>;
792
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
793
+ retired: z.ZodDefault<z.ZodObject<{
794
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
795
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
796
+ }, z.core.$strip>>;
797
+ conformance: z.ZodOptional<z.ZodArray<z.ZodObject<{
798
+ assert: z.ZodEnum<{
799
+ calls: "calls";
800
+ imports: "imports";
801
+ "not-calls": "not-calls";
802
+ "not-imports": "not-imports";
803
+ exists: "exists";
804
+ }>;
805
+ subject: z.ZodString;
806
+ object: z.ZodOptional<z.ZodString>;
807
+ transitive: z.ZodDefault<z.ZodBoolean>;
808
+ }, z.core.$strip>>>;
809
+ premises: z.ZodOptional<z.ZodArray<z.ZodObject<{
810
+ claim: z.ZodString;
811
+ path_absent: z.ZodOptional<z.ZodString>;
812
+ under: z.ZodOptional<z.ZodString>;
813
+ path_exists: z.ZodOptional<z.ZodString>;
814
+ review_by: z.ZodOptional<z.ZodString>;
815
+ attested: z.ZodOptional<z.ZodString>;
816
+ }, z.core.$strip>>>;
817
+ provenance: z.ZodObject<{
818
+ source: z.ZodString;
819
+ confidence: z.ZodNumber;
820
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
821
+ last_verified: z.ZodOptional<z.ZodString>;
822
+ }, z.core.$strip>;
823
+ date: z.ZodString;
824
+ }, z.core.$strip>;
825
+ readonly bugs: z.ZodObject<{
826
+ id: z.ZodString;
827
+ title: z.ZodString;
828
+ symptom: z.ZodDefault<z.ZodString>;
829
+ root_cause: z.ZodDefault<z.ZodString>;
830
+ severity: z.ZodDefault<z.ZodEnum<{
831
+ low: "low";
832
+ medium: "medium";
833
+ high: "high";
834
+ critical: "critical";
835
+ }>>;
836
+ status: z.ZodDefault<z.ZodEnum<{
837
+ fixed: "fixed";
838
+ open: "open";
839
+ investigating: "investigating";
840
+ regressed: "regressed";
841
+ }>>;
842
+ affected_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
843
+ affected_symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
844
+ lineage: z.ZodDefault<z.ZodObject<{
845
+ introduced_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
846
+ detected: z.ZodDefault<z.ZodNullable<z.ZodString>>;
847
+ fixed_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
848
+ recurrence_of: z.ZodDefault<z.ZodNullable<z.ZodString>>;
849
+ spawned_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
850
+ spawned_constraint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
851
+ }, z.core.$strip>>;
852
+ provenance: z.ZodObject<{
853
+ source: z.ZodString;
854
+ confidence: z.ZodNumber;
855
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
856
+ last_verified: z.ZodOptional<z.ZodString>;
857
+ }, z.core.$strip>;
858
+ }, z.core.$strip>;
859
+ readonly constraints: z.ZodObject<{
860
+ id: z.ZodString;
861
+ type: z.ZodDefault<z.ZodEnum<{
862
+ security: "security";
863
+ performance: "performance";
864
+ correctness: "correctness";
865
+ architecture: "architecture";
866
+ compliance: "compliance";
867
+ }>>;
868
+ statement: z.ZodString;
869
+ scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
870
+ severity: z.ZodDefault<z.ZodEnum<{
871
+ advisory: "advisory";
872
+ warning: "warning";
873
+ blocking: "blocking";
874
+ }>>;
875
+ enforcement: z.ZodDefault<z.ZodEnum<{
876
+ ci: "ci";
877
+ advisory_v1: "advisory_v1";
878
+ manual: "manual";
879
+ }>>;
880
+ match: z.ZodDefault<z.ZodNullable<z.ZodString>>;
881
+ forbids: z.ZodDefault<z.ZodNullable<z.ZodObject<{
882
+ deps: z.ZodDefault<z.ZodArray<z.ZodString>>;
883
+ symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
884
+ patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
885
+ }, z.core.$strip>>>;
886
+ rationale: z.ZodDefault<z.ZodString>;
887
+ source_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
888
+ violations: z.ZodDefault<z.ZodArray<z.ZodString>>;
889
+ status: z.ZodDefault<z.ZodEnum<{
890
+ active: "active";
891
+ retired: "retired";
892
+ }>>;
893
+ valid_from: z.ZodOptional<z.ZodString>;
894
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
895
+ provenance: z.ZodObject<{
896
+ source: z.ZodString;
897
+ confidence: z.ZodNumber;
898
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
899
+ last_verified: z.ZodOptional<z.ZodString>;
900
+ }, z.core.$strip>;
901
+ }, z.core.$strip>;
902
+ readonly runbooks: z.ZodObject<{
903
+ id: z.ZodString;
904
+ task: z.ZodString;
905
+ trigger: z.ZodDefault<z.ZodArray<z.ZodString>>;
906
+ steps: z.ZodDefault<z.ZodArray<z.ZodString>>;
907
+ files: z.ZodDefault<z.ZodArray<z.ZodString>>;
908
+ gotchas: z.ZodDefault<z.ZodArray<z.ZodString>>;
909
+ outcome: z.ZodDefault<z.ZodString>;
910
+ source_range: z.ZodDefault<z.ZodNullable<z.ZodString>>;
911
+ valid_from: z.ZodOptional<z.ZodString>;
912
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
913
+ provenance: z.ZodObject<{
914
+ source: z.ZodString;
915
+ confidence: z.ZodNumber;
916
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
917
+ last_verified: z.ZodOptional<z.ZodString>;
918
+ }, z.core.$strip>;
919
+ date: z.ZodString;
920
+ }, z.core.$strip>;
921
+ readonly findings: z.ZodObject<{
922
+ id: z.ZodString;
923
+ title: z.ZodString;
924
+ observation: z.ZodDefault<z.ZodString>;
925
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
926
+ method: z.ZodDefault<z.ZodNullable<z.ZodString>>;
927
+ severity: z.ZodDefault<z.ZodEnum<{
928
+ low: "low";
929
+ medium: "medium";
930
+ high: "high";
931
+ critical: "critical";
932
+ }>>;
933
+ triage: z.ZodDefault<z.ZodEnum<{
934
+ open: "open";
935
+ stale: "stale";
936
+ "accepted-risk": "accepted-risk";
937
+ scheduled: "scheduled";
938
+ resolved: "resolved";
939
+ }>>;
940
+ affected_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
941
+ affected_symbols: z.ZodDefault<z.ZodArray<z.ZodString>>;
942
+ violates_constraint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
943
+ spawned_decision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
944
+ observed_at: z.ZodString;
945
+ resolved_commit: z.ZodDefault<z.ZodNullable<z.ZodString>>;
946
+ provenance: z.ZodObject<{
947
+ source: z.ZodString;
948
+ confidence: z.ZodNumber;
949
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
950
+ last_verified: z.ZodOptional<z.ZodString>;
951
+ }, z.core.$strip>;
952
+ }, z.core.$strip>;
953
+ readonly receipts: z.ZodObject<{
954
+ schema: z.ZodLiteral<"nuryel.receipt/1">;
955
+ id: z.ZodString;
956
+ scope: z.ZodObject<{
957
+ kind: z.ZodEnum<{
958
+ repository: "repository";
959
+ organization: "organization";
960
+ team: "team";
961
+ user: "user";
962
+ }>;
963
+ id: z.ZodString;
964
+ }, z.core.$strict>;
965
+ actor: z.ZodString;
966
+ action_kind: z.ZodString;
967
+ target: z.ZodObject<{
968
+ system: z.ZodString;
969
+ object_type: z.ZodString;
970
+ object_key: z.ZodString;
971
+ version: z.ZodOptional<z.ZodString>;
972
+ content_hash: z.ZodOptional<z.ZodString>;
973
+ observed_at: z.ZodString;
974
+ locator: z.ZodOptional<z.ZodString>;
975
+ }, z.core.$strict>;
976
+ request_fingerprint: z.ZodString;
977
+ idempotency_key: z.ZodOptional<z.ZodString>;
978
+ state: z.ZodEnum<{
979
+ unknown: "unknown";
980
+ requested: "requested";
981
+ succeeded: "succeeded";
982
+ failed: "failed";
983
+ verified: "verified";
984
+ }>;
985
+ occurred_at: z.ZodString;
986
+ verified_at: z.ZodOptional<z.ZodString>;
987
+ result_fingerprint: z.ZodOptional<z.ZodString>;
988
+ invalidates: z.ZodDefault<z.ZodArray<z.ZodString>>;
989
+ rests_on: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
990
+ kind: z.ZodLiteral<"record">;
991
+ id: z.ZodString;
992
+ record_hash: z.ZodString;
993
+ scope: z.ZodOptional<z.ZodObject<{
994
+ kind: z.ZodEnum<{
995
+ repository: "repository";
996
+ organization: "organization";
997
+ team: "team";
998
+ user: "user";
999
+ }>;
1000
+ id: z.ZodString;
1001
+ }, z.core.$strict>>;
1002
+ }, z.core.$strict>, z.ZodObject<{
1003
+ kind: z.ZodLiteral<"external">;
1004
+ ref: z.ZodObject<{
1005
+ system: z.ZodString;
1006
+ object_type: z.ZodString;
1007
+ object_key: z.ZodString;
1008
+ version: z.ZodOptional<z.ZodString>;
1009
+ content_hash: z.ZodOptional<z.ZodString>;
1010
+ observed_at: z.ZodString;
1011
+ locator: z.ZodOptional<z.ZodString>;
1012
+ }, z.core.$strict>;
1013
+ }, z.core.$strict>, z.ZodObject<{
1014
+ kind: z.ZodLiteral<"schema">;
1015
+ name: z.ZodString;
1016
+ fingerprint: z.ZodString;
1017
+ }, z.core.$strict>], "kind">>>;
1018
+ provenance: z.ZodObject<{
1019
+ source: z.ZodString;
1020
+ confidence: z.ZodNumber;
1021
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
1022
+ last_verified: z.ZodOptional<z.ZodString>;
1023
+ }, z.core.$strip>;
1024
+ }, z.core.$strict>;
1025
+ readonly commitments: z.ZodObject<{
1026
+ schema: z.ZodLiteral<"nuryel.commitment/1">;
1027
+ id: z.ZodString;
1028
+ scope: z.ZodObject<{
1029
+ kind: z.ZodEnum<{
1030
+ repository: "repository";
1031
+ organization: "organization";
1032
+ team: "team";
1033
+ user: "user";
1034
+ }>;
1035
+ id: z.ZodString;
1036
+ }, z.core.$strict>;
1037
+ subject: z.ZodString;
1038
+ title: z.ZodString;
1039
+ owner: z.ZodString;
1040
+ due: z.ZodString;
1041
+ status: z.ZodEnum<{
1042
+ open: "open";
1043
+ waiting: "waiting";
1044
+ done: "done";
1045
+ cancelled: "cancelled";
1046
+ }>;
1047
+ source: z.ZodOptional<z.ZodObject<{
1048
+ system: z.ZodString;
1049
+ object_type: z.ZodString;
1050
+ object_key: z.ZodString;
1051
+ version: z.ZodOptional<z.ZodString>;
1052
+ content_hash: z.ZodOptional<z.ZodString>;
1053
+ observed_at: z.ZodString;
1054
+ locator: z.ZodOptional<z.ZodString>;
1055
+ }, z.core.$strict>>;
1056
+ evidence_excerpt: z.ZodOptional<z.ZodString>;
1057
+ closed_by: z.ZodOptional<z.ZodString>;
1058
+ valid_from: z.ZodString;
1059
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1060
+ provenance: z.ZodObject<{
1061
+ source: z.ZodString;
1062
+ confidence: z.ZodNumber;
1063
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
1064
+ last_verified: z.ZodOptional<z.ZodString>;
1065
+ }, z.core.$strip>;
1066
+ }, z.core.$strict>;
1067
+ readonly derived: z.ZodObject<{
1068
+ schema: z.ZodLiteral<"nuryel.derived/1">;
1069
+ id: z.ZodString;
1070
+ scope: z.ZodObject<{
1071
+ kind: z.ZodEnum<{
1072
+ repository: "repository";
1073
+ organization: "organization";
1074
+ team: "team";
1075
+ user: "user";
1076
+ }>;
1077
+ id: z.ZodString;
1078
+ }, z.core.$strict>;
1079
+ subject: z.ZodString;
1080
+ content: z.ZodString;
1081
+ content_hash: z.ZodString;
1082
+ dependencies: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1083
+ kind: z.ZodLiteral<"record">;
1084
+ id: z.ZodString;
1085
+ record_hash: z.ZodString;
1086
+ scope: z.ZodOptional<z.ZodObject<{
1087
+ kind: z.ZodEnum<{
1088
+ repository: "repository";
1089
+ organization: "organization";
1090
+ team: "team";
1091
+ user: "user";
1092
+ }>;
1093
+ id: z.ZodString;
1094
+ }, z.core.$strict>>;
1095
+ }, z.core.$strict>, z.ZodObject<{
1096
+ kind: z.ZodLiteral<"external">;
1097
+ ref: z.ZodObject<{
1098
+ system: z.ZodString;
1099
+ object_type: z.ZodString;
1100
+ object_key: z.ZodString;
1101
+ version: z.ZodOptional<z.ZodString>;
1102
+ content_hash: z.ZodOptional<z.ZodString>;
1103
+ observed_at: z.ZodString;
1104
+ locator: z.ZodOptional<z.ZodString>;
1105
+ }, z.core.$strict>;
1106
+ }, z.core.$strict>, z.ZodObject<{
1107
+ kind: z.ZodLiteral<"schema">;
1108
+ name: z.ZodString;
1109
+ fingerprint: z.ZodString;
1110
+ }, z.core.$strict>], "kind">>;
1111
+ transform_version: z.ZodString;
1112
+ computed_at: z.ZodString;
1113
+ valid_to: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1114
+ state: z.ZodEnum<{
1115
+ unknown: "unknown";
1116
+ current: "current";
1117
+ stale: "stale";
1118
+ }>;
1119
+ review: z.ZodOptional<z.ZodObject<{
1120
+ by: z.ZodString;
1121
+ at: z.ZodString;
1122
+ previous_hash: z.ZodString;
1123
+ reason: z.ZodString;
1124
+ evidence: z.ZodArray<z.ZodObject<{
1125
+ ref: z.ZodObject<{
1126
+ system: z.ZodString;
1127
+ object_type: z.ZodString;
1128
+ object_key: z.ZodString;
1129
+ version: z.ZodOptional<z.ZodString>;
1130
+ content_hash: z.ZodOptional<z.ZodString>;
1131
+ observed_at: z.ZodString;
1132
+ locator: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strict>;
1134
+ excerpt: z.ZodString;
1135
+ }, z.core.$strict>>;
1136
+ }, z.core.$strict>>;
1137
+ provenance: z.ZodObject<{
1138
+ source: z.ZodString;
1139
+ confidence: z.ZodNumber;
1140
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
1141
+ last_verified: z.ZodOptional<z.ZodString>;
1142
+ }, z.core.$strip>;
1143
+ }, z.core.$strict>;
1144
+ readonly entities: z.ZodObject<{
1145
+ schema: z.ZodLiteral<"nuryel.entity/1">;
1146
+ id: z.ZodString;
1147
+ kind: z.ZodString;
1148
+ name: z.ZodString;
1149
+ scope: z.ZodObject<{
1150
+ kind: z.ZodEnum<{
1151
+ repository: "repository";
1152
+ organization: "organization";
1153
+ team: "team";
1154
+ user: "user";
1155
+ }>;
1156
+ id: z.ZodString;
1157
+ }, z.core.$strict>;
1158
+ refs: z.ZodArray<z.ZodObject<{
1159
+ system: z.ZodString;
1160
+ object_type: z.ZodString;
1161
+ object_key: z.ZodString;
1162
+ version: z.ZodOptional<z.ZodString>;
1163
+ content_hash: z.ZodOptional<z.ZodString>;
1164
+ observed_at: z.ZodString;
1165
+ locator: z.ZodOptional<z.ZodString>;
1166
+ }, z.core.$strict>>;
1167
+ attributes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
1168
+ lifecycle: z.ZodDefault<z.ZodEnum<{
1169
+ active: "active";
1170
+ deprecated: "deprecated";
1171
+ retired: "retired";
1172
+ }>>;
1173
+ merged_into: z.ZodOptional<z.ZodString>;
1174
+ provenance: z.ZodObject<{
1175
+ source: z.ZodString;
1176
+ confidence: z.ZodNumber;
1177
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
1178
+ last_verified: z.ZodOptional<z.ZodString>;
1179
+ }, z.core.$strip>;
1180
+ created_at: z.ZodString;
1181
+ updated_at: z.ZodString;
1182
+ }, z.core.$strict>;
1183
+ readonly relationships: z.ZodObject<{
1184
+ schema: z.ZodLiteral<"nuryel.relationship/1">;
1185
+ id: z.ZodString;
1186
+ from: z.ZodString;
1187
+ to: z.ZodString;
1188
+ type: z.ZodString;
1189
+ scope: z.ZodObject<{
1190
+ kind: z.ZodEnum<{
1191
+ repository: "repository";
1192
+ organization: "organization";
1193
+ team: "team";
1194
+ user: "user";
1195
+ }>;
1196
+ id: z.ZodString;
1197
+ }, z.core.$strict>;
1198
+ reason: z.ZodDefault<z.ZodString>;
1199
+ observation_hash: z.ZodOptional<z.ZodString>;
1200
+ evidence: z.ZodOptional<z.ZodObject<{
1201
+ system: z.ZodString;
1202
+ object_type: z.ZodString;
1203
+ object_key: z.ZodString;
1204
+ version: z.ZodOptional<z.ZodString>;
1205
+ content_hash: z.ZodOptional<z.ZodString>;
1206
+ observed_at: z.ZodString;
1207
+ locator: z.ZodOptional<z.ZodString>;
1208
+ }, z.core.$strict>>;
1209
+ lifecycle: z.ZodOptional<z.ZodEnum<{
1210
+ active: "active";
1211
+ retired: "retired";
1212
+ }>>;
1213
+ provenance: z.ZodObject<{
1214
+ source: z.ZodString;
1215
+ confidence: z.ZodNumber;
1216
+ evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
1217
+ last_verified: z.ZodOptional<z.ZodString>;
1218
+ }, z.core.$strip>;
1219
+ }, z.core.$strict>;
1220
+ };
1221
+ export type EntityFor = {
1222
+ components: Component;
1223
+ resources: Resource;
1224
+ edges: Edge;
1225
+ symbols: Symbol;
1226
+ decisions: Decision;
1227
+ bugs: Bug;
1228
+ constraints: Constraint;
1229
+ runbooks: Runbook;
1230
+ findings: Finding;
1231
+ receipts: ActionReceipt;
1232
+ commitments: Commitment;
1233
+ derived: DerivedState;
1234
+ entities: ExternalEntity;
1235
+ relationships: StateRelationship;
1236
+ };
1237
+ /** Default provenance helper for deterministic (extracted) records. */
1238
+ export declare function extracted(confidence: number, evidence?: string[]): Provenance;
1239
+ export declare function inferred(confidence: number, evidence?: string[]): Provenance;