@fortemi/core 2026.9.5 → 2026.9.6
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/dist/index.d.ts +1606 -1485
- package/dist/index.js +1757 -420
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/schemas/metadata-search/candidate/1.0.0/README.md +36 -0
- package/schemas/metadata-search/candidate/1.0.0/contract.receipt.json +38 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-locator.schema.json +50 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-resolution-vectors.json +355 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-resolution.schema.json +25 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-set-vectors.json +6095 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-set.schema.json +21 -0
- package/schemas/metadata-search/candidate/1.0.0/evidence-vectors.json +1603 -0
- package/schemas/metadata-search/candidate/1.0.0/predicate-vectors.json +919 -0
- package/schemas/metadata-search/candidate/1.0.0/predicates.schema.json +287 -0
- package/schemas/metadata-search/candidate/1.0.0/resolution.receipt.json +44 -0
- package/schemas/metadata-search/candidate/1.0.0/rest.receipt.json +51 -0
- package/schemas/metadata-search/candidate/1.0.0/search-rest-vectors.json +28 -0
- package/schemas/metadata-search/candidate/1.0.0/search-rest.schema.json +318 -0
- package/schemas/metadata-search/candidate/1.0.0/source.receipt.json +46 -0
- package/schemas/metadata-search/candidate/1.0.0/sql-scope-vectors.json +894 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fortemi/core",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.6",
|
|
4
4
|
"description": "Browser-only knowledge management core: PGlite (PostgreSQL WASM), MCP tools, hybrid search, and profile-scoped Knowledge Shard interchange.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fortemi",
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"schemas/dataset-lineage",
|
|
70
70
|
"schemas/dataset-materialization",
|
|
71
71
|
"schemas/source-note-upsert",
|
|
72
|
+
"schemas/metadata-search/candidate",
|
|
72
73
|
"benchmarks/dataset-materialization",
|
|
73
74
|
"tools",
|
|
74
75
|
"README.md",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Candidate Search Source Identity
|
|
2
|
+
|
|
3
|
+
`source.receipt.json` binds these eleven schema/vector files to immutable
|
|
4
|
+
Fortemi source `e99e4723293d12e76862ea83fda86ed70d3573c8`, plus that revision's
|
|
5
|
+
OpenAPI and authority documentation. CI verifies the actual upstream bytes,
|
|
6
|
+
not only agreement between local files and a local checksum.
|
|
7
|
+
|
|
8
|
+
The three older receipts remain byte-identical historical adoption records.
|
|
9
|
+
Their pre-commit bases and older OpenAPI hashes are not rewritten or treated as
|
|
10
|
+
the current authority revision. The supplemental source pin proves committed
|
|
11
|
+
candidate provenance, not publication, live runtime compatibility, complete
|
|
12
|
+
capability negotiation or issue acceptance. All promotion claims remain false.
|
|
13
|
+
|
|
14
|
+
The verifier accepts `--authority-root <repo>` to read immutable Git objects
|
|
15
|
+
offline. Without it, CI uses bounded immutable-origin reads with no redirect or
|
|
16
|
+
local-byte fallback. Both paths verify the same digests and complete inventory.
|
|
17
|
+
|
|
18
|
+
Authority: [Fortemi #1091](https://git.integrolabs.net/Fortemi/fortemi/issues/1091).
|
|
19
|
+
Consumer: [Core #405](https://git.integrolabs.net/Fortemi/fortemi-react/issues/405).
|
|
20
|
+
Other declared consumers, producer CI, installed/released acceptance and release
|
|
21
|
+
publication remain separate gates. Suite NO-GO and named shard profiles are unchanged.
|
|
22
|
+
|
|
23
|
+
## Existing Predicate Semantics
|
|
24
|
+
|
|
25
|
+
Core uses strict Ajv validation before SQL compilation, then checks reversed
|
|
26
|
+
range bounds in Unicode scalar/numeric order. Migration 33 supplies bounded
|
|
27
|
+
index keys with exact rechecks on author metadata. Source runs come from scoped
|
|
28
|
+
source identities, not author metadata. See ADR-016 for scope/default changes,
|
|
29
|
+
upgrade/rollback behavior and remaining cross-runtime/citation acceptance.
|
|
30
|
+
|
|
31
|
+
`src/__tests__/metadata-predicates.test.ts` executes the 51 input/truth cases and
|
|
32
|
+
15 SQL scope cases on a fully migrated clean PGlite database. It maps the corpus
|
|
33
|
+
owner tenant-a to Core's default source scope explicitly and keeps tenant-b
|
|
34
|
+
foreign. It never changes expected membership. Additional tests exercise actual
|
|
35
|
+
search entries, selective plans and old-database upgrade; they do not establish
|
|
36
|
+
verified hosted authorization, real model inference or released compatibility.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"status": "candidate-unpublished",
|
|
4
|
+
"authority": {
|
|
5
|
+
"repository": "Fortemi/fortemi",
|
|
6
|
+
"issue": 1091,
|
|
7
|
+
"baseCommit": "a701847db779a0a3adfa36a09dfa1055a10a0a0a",
|
|
8
|
+
"sourceState": "uncommitted candidate; base is not the contract revision",
|
|
9
|
+
"path": "contracts/metadata-search/candidate/1.0.0/",
|
|
10
|
+
"files": {
|
|
11
|
+
"predicates.schema.json": "e325707ce20abb88ef3a8f4bbb0d02ab09501b1ffe9b48b0c92a96e97dda00c3",
|
|
12
|
+
"predicate-vectors.json": "df9e129cab4708db71c3e22f87efd252fbcac144daa45a53ee1716f4a1a05ae7",
|
|
13
|
+
"sql-scope-vectors.json": "dcd35298a3bc485a6f1c87c6c87f136ee98121dad3f2b1c8b590b2e5381aa4d5",
|
|
14
|
+
"evidence-locator.schema.json": "cd8427c507bca1a08bdb68da0a5d2759d1d7805401db3c00372ab249652efb7a",
|
|
15
|
+
"evidence-vectors.json": "b532a4fa7697bdfc87e8541575fcee7c94a5b5ac53e4a6472438c49247e6b266",
|
|
16
|
+
"evidence-set.schema.json": "da7e5d41bd563cb2cfe424cf7dfa92007a865ee0e1a9a4832ef669039d80717e",
|
|
17
|
+
"evidence-set-vectors.json": "b84061ee252d2ee25d744111d2a04dfcd2c490274d4285bac31f4bd0e91e47d7"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"consumer": {
|
|
21
|
+
"repository": "Fortemi/fortemi-react",
|
|
22
|
+
"issue": 405,
|
|
23
|
+
"backend": "pglite",
|
|
24
|
+
"test": "src/__tests__/metadata-predicates.test.ts",
|
|
25
|
+
"evidenceTest": "src/__tests__/search-evidence.test.ts",
|
|
26
|
+
"evidenceSetTest": "src/__tests__/search-evidence-set.test.ts"
|
|
27
|
+
},
|
|
28
|
+
"scopeMapping": {
|
|
29
|
+
"owningTenant": "tenant-a -> default",
|
|
30
|
+
"foreignTenant": "tenant-b -> tenant-b",
|
|
31
|
+
"authorizationEvidence": false
|
|
32
|
+
},
|
|
33
|
+
"claims": {
|
|
34
|
+
"promotedContract": false,
|
|
35
|
+
"fullIssueAcceptance": false,
|
|
36
|
+
"suiteParity": false
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://fortemi.com/contracts/metadata-search/candidate/1.0.0/evidence-locator.schema.json",
|
|
4
|
+
"title": "Candidate search evidence locator",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["version", "note_id", "unit", "content_digest", "span"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"version": { "const": "1.0.0" },
|
|
10
|
+
"note_id": { "$ref": "#/$defs/identifier" },
|
|
11
|
+
"unit": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"additionalProperties": false,
|
|
14
|
+
"required": ["kind", "id", "index"],
|
|
15
|
+
"properties": {
|
|
16
|
+
"kind": { "enum": ["current", "title", "embedding", "attachment"] },
|
|
17
|
+
"id": { "$ref": "#/$defs/identifier" },
|
|
18
|
+
"index": { "type": "integer", "minimum": 0, "maximum": 2147483647 }
|
|
19
|
+
},
|
|
20
|
+
"if": { "properties": { "kind": { "enum": ["current", "title", "attachment"] } } },
|
|
21
|
+
"then": { "properties": { "index": { "const": 0 } } }
|
|
22
|
+
},
|
|
23
|
+
"content_digest": { "$ref": "#/$defs/digest" },
|
|
24
|
+
"span": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"additionalProperties": false,
|
|
27
|
+
"required": ["unit", "start", "end"],
|
|
28
|
+
"properties": {
|
|
29
|
+
"unit": { "const": "utf8-bytes" },
|
|
30
|
+
"start": { "type": "integer", "minimum": 0, "maximum": 16777216 },
|
|
31
|
+
"end": { "type": "integer", "minimum": 0, "maximum": 16777216 }
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"source": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"additionalProperties": false,
|
|
37
|
+
"required": ["namespace", "external_id_hash", "import_run_id", "schema_version"],
|
|
38
|
+
"properties": {
|
|
39
|
+
"namespace": { "$ref": "#/$defs/identifier" },
|
|
40
|
+
"external_id_hash": { "$ref": "#/$defs/digest" },
|
|
41
|
+
"import_run_id": { "$ref": "#/$defs/identifier" },
|
|
42
|
+
"schema_version": { "$ref": "#/$defs/identifier" }
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"$defs": {
|
|
47
|
+
"identifier": { "type": "string", "minLength": 1, "maxLength": 200, "pattern": "^[^\\u0000]+$" },
|
|
48
|
+
"digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "fortemi.evidence-resolution-vectors.candidate.v1",
|
|
3
|
+
"boundary": "Portable wire schema cases, not current-storage, authorization, model or released-consumer acceptance. Semantic locator and range checks remain required.",
|
|
4
|
+
"requests": [
|
|
5
|
+
{
|
|
6
|
+
"id": "minimal",
|
|
7
|
+
"valid": true,
|
|
8
|
+
"value": {
|
|
9
|
+
"locator": {
|
|
10
|
+
"version": "1.0.0",
|
|
11
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
12
|
+
"unit": {
|
|
13
|
+
"kind": "current",
|
|
14
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
15
|
+
"index": 0
|
|
16
|
+
},
|
|
17
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
18
|
+
"span": {
|
|
19
|
+
"unit": "utf8-bytes",
|
|
20
|
+
"start": 0,
|
|
21
|
+
"end": 0
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "archived-explicit",
|
|
28
|
+
"valid": true,
|
|
29
|
+
"value": {
|
|
30
|
+
"locator": {
|
|
31
|
+
"version": "1.0.0",
|
|
32
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
33
|
+
"unit": {
|
|
34
|
+
"kind": "current",
|
|
35
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
36
|
+
"index": 0
|
|
37
|
+
},
|
|
38
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
39
|
+
"span": {
|
|
40
|
+
"unit": "utf8-bytes",
|
|
41
|
+
"start": 0,
|
|
42
|
+
"end": 0
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"include_archived": true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "metadata-typed",
|
|
50
|
+
"valid": true,
|
|
51
|
+
"value": {
|
|
52
|
+
"locator": {
|
|
53
|
+
"version": "1.0.0",
|
|
54
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
55
|
+
"unit": {
|
|
56
|
+
"kind": "current",
|
|
57
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
58
|
+
"index": 0
|
|
59
|
+
},
|
|
60
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
61
|
+
"span": {
|
|
62
|
+
"unit": "utf8-bytes",
|
|
63
|
+
"start": 0,
|
|
64
|
+
"end": 0
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"metadata_predicates": [
|
|
68
|
+
{
|
|
69
|
+
"path": "model",
|
|
70
|
+
"op": "eq",
|
|
71
|
+
"value": 42
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "missing-locator",
|
|
78
|
+
"valid": false,
|
|
79
|
+
"value": {}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "null-locator",
|
|
83
|
+
"valid": false,
|
|
84
|
+
"value": {
|
|
85
|
+
"locator": null
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "caller-tenant",
|
|
90
|
+
"valid": false,
|
|
91
|
+
"value": {
|
|
92
|
+
"locator": {
|
|
93
|
+
"version": "1.0.0",
|
|
94
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
95
|
+
"unit": {
|
|
96
|
+
"kind": "current",
|
|
97
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
98
|
+
"index": 0
|
|
99
|
+
},
|
|
100
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
101
|
+
"span": {
|
|
102
|
+
"unit": "utf8-bytes",
|
|
103
|
+
"start": 0,
|
|
104
|
+
"end": 0
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"tenant_id": "forged"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "caller-archive",
|
|
112
|
+
"valid": false,
|
|
113
|
+
"value": {
|
|
114
|
+
"locator": {
|
|
115
|
+
"version": "1.0.0",
|
|
116
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
117
|
+
"unit": {
|
|
118
|
+
"kind": "current",
|
|
119
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
120
|
+
"index": 0
|
|
121
|
+
},
|
|
122
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
123
|
+
"span": {
|
|
124
|
+
"unit": "utf8-bytes",
|
|
125
|
+
"start": 0,
|
|
126
|
+
"end": 0
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"archive_id": "forged"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "null-metadata",
|
|
134
|
+
"valid": false,
|
|
135
|
+
"value": {
|
|
136
|
+
"locator": {
|
|
137
|
+
"version": "1.0.0",
|
|
138
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
139
|
+
"unit": {
|
|
140
|
+
"kind": "current",
|
|
141
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
142
|
+
"index": 0
|
|
143
|
+
},
|
|
144
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
145
|
+
"span": {
|
|
146
|
+
"unit": "utf8-bytes",
|
|
147
|
+
"start": 0,
|
|
148
|
+
"end": 0
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"metadata_predicates": null
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "unknown-metadata",
|
|
156
|
+
"valid": false,
|
|
157
|
+
"value": {
|
|
158
|
+
"locator": {
|
|
159
|
+
"version": "1.0.0",
|
|
160
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
161
|
+
"unit": {
|
|
162
|
+
"kind": "current",
|
|
163
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
164
|
+
"index": 0
|
|
165
|
+
},
|
|
166
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
167
|
+
"span": {
|
|
168
|
+
"unit": "utf8-bytes",
|
|
169
|
+
"start": 0,
|
|
170
|
+
"end": 0
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"metadata_predicates": [
|
|
174
|
+
{
|
|
175
|
+
"path": "unknown",
|
|
176
|
+
"op": "eq",
|
|
177
|
+
"value": "x"
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"id": "null-archived",
|
|
184
|
+
"valid": false,
|
|
185
|
+
"value": {
|
|
186
|
+
"locator": {
|
|
187
|
+
"version": "1.0.0",
|
|
188
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
189
|
+
"unit": {
|
|
190
|
+
"kind": "current",
|
|
191
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
192
|
+
"index": 0
|
|
193
|
+
},
|
|
194
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
195
|
+
"span": {
|
|
196
|
+
"unit": "utf8-bytes",
|
|
197
|
+
"start": 0,
|
|
198
|
+
"end": 0
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"include_archived": null
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": "unknown-property",
|
|
206
|
+
"valid": false,
|
|
207
|
+
"value": {
|
|
208
|
+
"locator": {
|
|
209
|
+
"version": "1.0.0",
|
|
210
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
211
|
+
"unit": {
|
|
212
|
+
"kind": "current",
|
|
213
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
214
|
+
"index": 0
|
|
215
|
+
},
|
|
216
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
217
|
+
"span": {
|
|
218
|
+
"unit": "utf8-bytes",
|
|
219
|
+
"start": 0,
|
|
220
|
+
"end": 0
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"extra": 1
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "unknown-unit",
|
|
228
|
+
"valid": false,
|
|
229
|
+
"value": {
|
|
230
|
+
"locator": {
|
|
231
|
+
"version": "1.0.0",
|
|
232
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
233
|
+
"unit": {
|
|
234
|
+
"kind": "history",
|
|
235
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
236
|
+
"index": 0
|
|
237
|
+
},
|
|
238
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
239
|
+
"span": {
|
|
240
|
+
"unit": "utf8-bytes",
|
|
241
|
+
"start": 0,
|
|
242
|
+
"end": 0
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"id": "fractional-offset",
|
|
249
|
+
"valid": false,
|
|
250
|
+
"value": {
|
|
251
|
+
"locator": {
|
|
252
|
+
"version": "1.0.0",
|
|
253
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
254
|
+
"unit": {
|
|
255
|
+
"kind": "current",
|
|
256
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
257
|
+
"index": 0
|
|
258
|
+
},
|
|
259
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
260
|
+
"span": {
|
|
261
|
+
"unit": "utf8-bytes",
|
|
262
|
+
"start": 0.5,
|
|
263
|
+
"end": 0
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"id": "wrong-span-unit",
|
|
270
|
+
"valid": false,
|
|
271
|
+
"value": {
|
|
272
|
+
"locator": {
|
|
273
|
+
"version": "1.0.0",
|
|
274
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
275
|
+
"unit": {
|
|
276
|
+
"kind": "current",
|
|
277
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
278
|
+
"index": 0
|
|
279
|
+
},
|
|
280
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
281
|
+
"span": {
|
|
282
|
+
"unit": "characters",
|
|
283
|
+
"start": 0,
|
|
284
|
+
"end": 0
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"id": "null-source",
|
|
291
|
+
"valid": false,
|
|
292
|
+
"value": {
|
|
293
|
+
"locator": {
|
|
294
|
+
"version": "1.0.0",
|
|
295
|
+
"note_id": "00000000-0000-0000-0000-000000000001",
|
|
296
|
+
"unit": {
|
|
297
|
+
"kind": "current",
|
|
298
|
+
"id": "00000000-0000-0000-0000-000000000001",
|
|
299
|
+
"index": 0
|
|
300
|
+
},
|
|
301
|
+
"content_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
302
|
+
"span": {
|
|
303
|
+
"unit": "utf8-bytes",
|
|
304
|
+
"start": 0,
|
|
305
|
+
"end": 0
|
|
306
|
+
},
|
|
307
|
+
"source": null
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"responses": [
|
|
313
|
+
{
|
|
314
|
+
"id": "empty-range",
|
|
315
|
+
"valid": true,
|
|
316
|
+
"value": {
|
|
317
|
+
"text": ""
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"id": "raw-unicode",
|
|
322
|
+
"valid": true,
|
|
323
|
+
"value": {
|
|
324
|
+
"text": "\uFEFFraw\r\n\ud83d\ude42"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": "missing-text",
|
|
329
|
+
"valid": false,
|
|
330
|
+
"value": {}
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"id": "null-text",
|
|
334
|
+
"valid": false,
|
|
335
|
+
"value": {
|
|
336
|
+
"text": null
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": "numeric-text",
|
|
341
|
+
"valid": false,
|
|
342
|
+
"value": {
|
|
343
|
+
"text": 1
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"id": "unknown-property",
|
|
348
|
+
"valid": false,
|
|
349
|
+
"value": {
|
|
350
|
+
"text": "x",
|
|
351
|
+
"source": "not-permitted"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
]
|
|
355
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://fortemi.com/contracts/metadata-search/candidate/1.0.0/evidence-resolution.schema.json",
|
|
4
|
+
"title": "Candidate current-storage evidence resolution",
|
|
5
|
+
"$defs": {
|
|
6
|
+
"SearchEvidenceResolveRequest": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"required": ["locator"],
|
|
10
|
+
"properties": {
|
|
11
|
+
"locator": { "$ref": "evidence-locator.schema.json" },
|
|
12
|
+
"metadata_predicates": { "$ref": "predicates.schema.json" },
|
|
13
|
+
"include_archived": { "type": "boolean", "default": false }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"SearchEvidenceResolveResponse": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"required": ["text"],
|
|
20
|
+
"properties": {
|
|
21
|
+
"text": { "type": "string", "maxLength": 16777216 }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|