@getbourdon/conformance 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fixtures/fed_seed_library/agents/lovable.l5.yaml +65 -0
- package/fixtures/leak_cases.json +1 -0
- package/fixtures/manifest.json +18 -8
- package/fixtures/mcp_snapshots/describe_caller.req.json +4 -0
- package/fixtures/mcp_snapshots/describe_caller.res.json +4 -0
- package/fixtures/mcp_snapshots/prepare_recognition_context.res.json +5 -4
- package/fixtures/mcp_snapshots/prepare_recognition_context_drifting.res.json +5 -4
- package/fixtures/mcp_snapshots/seed_library.json +2 -1
- package/fixtures/recognition_golden_v1.yaml +30 -0
- package/fixtures/recognition_vectors.json +117 -10
- package/fixtures.pin.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
spec_version: '0.1'
|
|
2
|
+
agent:
|
|
3
|
+
id: lovable
|
|
4
|
+
type: code-assistant
|
|
5
|
+
instance: cloud
|
|
6
|
+
role_narrative: Cloud app-building agent. Ships full-stack web apps from chat.
|
|
7
|
+
last_updated: '2026-08-26T12:00:00+00:00'
|
|
8
|
+
capabilities:
|
|
9
|
+
- app-building
|
|
10
|
+
- full-stack-generation
|
|
11
|
+
- deploy-preview
|
|
12
|
+
known_entities:
|
|
13
|
+
- name: Acme Site
|
|
14
|
+
type: project
|
|
15
|
+
aliases:
|
|
16
|
+
- acme.example
|
|
17
|
+
summary: Marketing site for Acme, an automation and AI systems studio.
|
|
18
|
+
tags:
|
|
19
|
+
- lovable
|
|
20
|
+
- client
|
|
21
|
+
visibility: team
|
|
22
|
+
- name: Bourdon
|
|
23
|
+
type: project
|
|
24
|
+
summary: Recognition-first memory federation (granted side, Lovable view).
|
|
25
|
+
tags:
|
|
26
|
+
- infra
|
|
27
|
+
visibility: public
|
|
28
|
+
- name: Client Billing Export
|
|
29
|
+
type: concept
|
|
30
|
+
summary: Unpublished billing integration details.
|
|
31
|
+
tags:
|
|
32
|
+
- client-confidential
|
|
33
|
+
visibility: private
|
|
34
|
+
recent_sessions:
|
|
35
|
+
- date: '2026-08-25'
|
|
36
|
+
project_focus:
|
|
37
|
+
- Acme Site
|
|
38
|
+
key_actions:
|
|
39
|
+
- rebuilt hero section
|
|
40
|
+
files_touched:
|
|
41
|
+
- src/routes/index.tsx
|
|
42
|
+
visibility: team
|
|
43
|
+
- date: '2026-08-24'
|
|
44
|
+
project_focus:
|
|
45
|
+
- Bourdon
|
|
46
|
+
key_actions:
|
|
47
|
+
- drafted participant adapter
|
|
48
|
+
visibility: public
|
|
49
|
+
- date: '2026-08-23'
|
|
50
|
+
project_focus:
|
|
51
|
+
- Client Billing Export
|
|
52
|
+
key_actions:
|
|
53
|
+
- private review
|
|
54
|
+
visibility: private
|
|
55
|
+
visibility_policy:
|
|
56
|
+
default: team
|
|
57
|
+
private_tags:
|
|
58
|
+
- personal
|
|
59
|
+
- credential
|
|
60
|
+
- secret
|
|
61
|
+
- client-confidential
|
|
62
|
+
team_tags:
|
|
63
|
+
- lovable
|
|
64
|
+
- project
|
|
65
|
+
- client
|
package/fixtures/leak_cases.json
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"_doc": "Cross-impl federation leak-audit parity. Oracle = bourdon.core.leak_audit.audit_manifest. Each case feeds `manifest` through the auditor; `expected_findings` pins [{kind, location}] in the oracle's emission order (visibility entities, visibility sessions, then the total credential walk). kind in {'credential','visibility'}; location is a json-path like 'known_entities[0].summary'. audit_manifest NEVER raises -- garbage manifests yield []. Credential cases use keyword-shaped triggers only; no token literal is committed.",
|
|
3
3
|
"audit_schema_version": "federation-leak-audit/v1",
|
|
4
4
|
"private_tag_families": [
|
|
5
|
+
"client-confidential",
|
|
5
6
|
"credential",
|
|
6
7
|
"family",
|
|
7
8
|
"financial",
|
package/fixtures/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_doc": "Index of cross-impl parity fixtures. conformance_version bumps on any fixture change (patch=added cases, minor=new family, major=changed expected-output = a reviewed behavior change). Python is the oracle; this file is generated by tools/gen_conformance.py.",
|
|
3
|
-
"conformance_version": "2.
|
|
3
|
+
"conformance_version": "2.6.0",
|
|
4
4
|
"produced_against": {
|
|
5
|
-
"bourdon_version": "0.
|
|
5
|
+
"bourdon_version": "0.23.0"
|
|
6
6
|
},
|
|
7
7
|
"fixtures": [
|
|
8
8
|
{
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"path": "leak_cases.json",
|
|
15
|
-
"sha256": "
|
|
15
|
+
"sha256": "cb85515a3fbfafecf5a72e0a361a80ce5da1e8cdb5c25cdef3227029d955322f",
|
|
16
16
|
"producer": "tools/gen_conformance.py::leak_cases"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"path": "recognition_vectors.json",
|
|
20
|
-
"sha256": "
|
|
20
|
+
"sha256": "5f19085be347d089774a79c12aa16ec41885f6d9f5e2bd83799d92a607314251",
|
|
21
21
|
"producer": "tools/gen_conformance.py::recognition_vectors"
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"path": "recognition_golden_v1.yaml",
|
|
25
|
-
"sha256": "
|
|
25
|
+
"sha256": "644cab8367f7915fbe2b7ab184573b9f24cf66c8bf6d44d411775920a0c0fd9b",
|
|
26
26
|
"producer": "tools/gen_conformance.py::recognition_vectors"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
},
|
|
198
198
|
{
|
|
199
199
|
"path": "mcp_snapshots/prepare_recognition_context_drifting.res.json",
|
|
200
|
-
"sha256": "
|
|
200
|
+
"sha256": "0c55d6d1b55f6dc8d4bf417473b31091eb12d9f8f6ef53396d150bc6e05dd649",
|
|
201
201
|
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
202
202
|
},
|
|
203
203
|
{
|
|
@@ -270,6 +270,16 @@
|
|
|
270
270
|
"sha256": "d8bf31fa8a2e23b126139e209eda1c6d3167070717122fdd53b46168cdc28853",
|
|
271
271
|
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
272
272
|
},
|
|
273
|
+
{
|
|
274
|
+
"path": "mcp_snapshots/describe_caller.req.json",
|
|
275
|
+
"sha256": "dc8391d7a81a214547d7ceefaf9461450a809fdaa001f5668ad37309a35caae6",
|
|
276
|
+
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"path": "mcp_snapshots/describe_caller.res.json",
|
|
280
|
+
"sha256": "a86d352f38c7ec13bcf83ef22f692e7c80bf1e9254105355ecb0d27b0139752a",
|
|
281
|
+
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
282
|
+
},
|
|
273
283
|
{
|
|
274
284
|
"path": "mcp_snapshots/commit_to_federation.req.json",
|
|
275
285
|
"sha256": "07c43423cb303a567214217063c7c0b0d7629e1ec91c6f79c5b56858315ae2d8",
|
|
@@ -297,7 +307,7 @@
|
|
|
297
307
|
},
|
|
298
308
|
{
|
|
299
309
|
"path": "mcp_snapshots/prepare_recognition_context.res.json",
|
|
300
|
-
"sha256": "
|
|
310
|
+
"sha256": "11c90ab8cb537a46e625f5fda2bcf203b0ebbc9b4337040ce79d7b1e61551561",
|
|
301
311
|
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
302
312
|
},
|
|
303
313
|
{
|
|
@@ -352,7 +362,7 @@
|
|
|
352
362
|
},
|
|
353
363
|
{
|
|
354
364
|
"path": "mcp_snapshots/seed_library.json",
|
|
355
|
-
"sha256": "
|
|
365
|
+
"sha256": "9438518dadb691feaeb44c7bebf6583958ddf55289df3d3fef8ad7b123500827",
|
|
356
366
|
"producer": "tools/gen_conformance.py::mcp_snapshots"
|
|
357
367
|
},
|
|
358
368
|
{
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"access_level": "team",
|
|
3
3
|
"confidence": "medium",
|
|
4
|
-
"hydration": "
|
|
5
|
-
"hydration_chars":
|
|
4
|
+
"hydration": "## Bourdon (project)\nknown by: claude-code, codex\nConformance fixture synopsis. L1 hydration is byte-checkable, so this text is\npinned verbatim into the interop vectors -- which is exactly why it must be\nfixture-owned rather than real documentation. A second implementation has to\nreproduce THIS, not whatever the project's docs happen to say today.",
|
|
5
|
+
"hydration_chars": 349,
|
|
6
6
|
"hydration_scheduled": true,
|
|
7
7
|
"include_private": false,
|
|
8
8
|
"matched_entities": [
|
|
9
9
|
{
|
|
10
|
+
"confidence": "medium",
|
|
10
11
|
"name": "Bourdon",
|
|
11
12
|
"source_agents": [
|
|
12
13
|
"claude-code",
|
|
@@ -16,6 +17,6 @@
|
|
|
16
17
|
}
|
|
17
18
|
],
|
|
18
19
|
"prompt": "what about Bourdon",
|
|
19
|
-
"prompt_context": "Bourdon recognition context\
|
|
20
|
-
"recognition": "
|
|
20
|
+
"prompt_context": "Bourdon recognition context\nBourdon (project; known by 2 agents): Federation, codex view.\nKnown by: Bourdon via claude-code, codex.\nUse this as timing-layer context, not as a final answer.",
|
|
21
|
+
"recognition": "Bourdon (project; known by 2 agents): Federation, codex view."
|
|
21
22
|
}
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
"reason": "yielded nothing this run - last yielded 400 record(s) at 2026-06-29T09:00:00Z"
|
|
9
9
|
}
|
|
10
10
|
],
|
|
11
|
-
"hydration": "
|
|
12
|
-
"hydration_chars":
|
|
11
|
+
"hydration": "## Bourdon (project)\nknown by: claude-code, codex\nConformance fixture synopsis. L1 hydration is byte-checkable, so this text is\npinned verbatim into the interop vectors -- which is exactly why it must be\nfixture-owned rather than real documentation. A second implementation has to\nreproduce THIS, not whatever the project's docs happen to say today.",
|
|
12
|
+
"hydration_chars": 349,
|
|
13
13
|
"hydration_scheduled": true,
|
|
14
14
|
"include_private": false,
|
|
15
15
|
"matched_entities": [
|
|
16
16
|
{
|
|
17
|
+
"confidence": "medium",
|
|
17
18
|
"name": "Bourdon",
|
|
18
19
|
"source_agents": [
|
|
19
20
|
"claude-code",
|
|
@@ -23,6 +24,6 @@
|
|
|
23
24
|
}
|
|
24
25
|
],
|
|
25
26
|
"prompt": "what about Bourdon",
|
|
26
|
-
"prompt_context": "Bourdon recognition context\
|
|
27
|
-
"recognition": "
|
|
27
|
+
"prompt_context": "Bourdon recognition context\nBourdon (project; known by 2 agents): Federation, codex view.\nKnown by: Bourdon via claude-code, codex.\nUse this as timing-layer context, not as a final answer.",
|
|
28
|
+
"recognition": "Bourdon (project; known by 2 agents): Federation, codex view."
|
|
28
29
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_doc": "The mcp_snapshots/*.res.json were produced by driving the live create_l6_server tool + resource closures (OPERATOR / trusted, = stdio) over a TEMP copy of this seed library, then normalizing each response. Every tool and resource the server registers is covered (the generator refuses to emit otherwise). The TS mirror loads the SAME seed and must reproduce every normalized res. Each payload travels the wire as a single TextContent whose .text = json.dumps(payload); the snapshot is the json.loads of that text. resource_* snapshots are taken FIRST (pure seed view); rollback_agent_memory runs LAST (it restores the seeded prior version of claude-code).",
|
|
2
|
+
"_doc": "The mcp_snapshots/*.res.json were produced by driving the live create_l6_server tool + resource closures (OPERATOR / trusted, = stdio) over a TEMP copy of this seed library, then normalizing each response. Every tool and resource the server registers is covered (the generator refuses to emit otherwise). The TS mirror loads the SAME seed and must reproduce every normalized res. Each payload travels the wire as a single TextContent whose .text = json.dumps(payload); the snapshot is the json.loads of that text. resource_* snapshots are taken FIRST (pure seed view); rollback_agent_memory runs LAST (it restores the seeded prior version of claude-code). describe_caller pins only the not_configured response because caller_audience is unset; authenticated caller behavior is not covered by this seed.",
|
|
3
3
|
"caller": {
|
|
4
4
|
"agent_id": "operator",
|
|
5
5
|
"tier": "trusted"
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"list_notes",
|
|
74
74
|
"list_agents",
|
|
75
75
|
"export_agents",
|
|
76
|
+
"describe_caller",
|
|
76
77
|
"commit_to_federation",
|
|
77
78
|
"get_cross_agent_summary",
|
|
78
79
|
"prepare_recognition_context",
|
|
@@ -104,3 +104,33 @@ cases:
|
|
|
104
104
|
- {name: Gamma}
|
|
105
105
|
- {name: Delta}
|
|
106
106
|
expected_entities: [Alpha, Beta, Gamma]
|
|
107
|
+
|
|
108
|
+
# Fuzzy tier (0.21.0): a long name (>= 3 meaningful terms) matches when at
|
|
109
|
+
# least 60% of its terms (never fewer than two) appear anywhere in the prompt.
|
|
110
|
+
# Here the name has five meaningful terms, so three must overlap.
|
|
111
|
+
- id: fuzzy-long-name-paraphrase
|
|
112
|
+
prompt: "how do we improve the recognition first runtime protocol"
|
|
113
|
+
manifest:
|
|
114
|
+
known_entities:
|
|
115
|
+
- {name: Bourdon recognition first runtime layer, type: topic}
|
|
116
|
+
expected_entities: [Bourdon recognition first runtime layer]
|
|
117
|
+
expected_confidence: medium
|
|
118
|
+
|
|
119
|
+
# Two of five terms is not enough: the fuzzy tier must not turn every
|
|
120
|
+
# mention of "runtime" into a recognition.
|
|
121
|
+
- id: fuzzy-long-name-too-little-overlap
|
|
122
|
+
prompt: "the runtime layer is slow today"
|
|
123
|
+
manifest:
|
|
124
|
+
known_entities:
|
|
125
|
+
- {name: Bourdon recognition first runtime layer, type: topic}
|
|
126
|
+
expected_entities: []
|
|
127
|
+
|
|
128
|
+
# Short names never take the fuzzy path: the contiguous rule (and with it the
|
|
129
|
+
# short-name guard) still governs them.
|
|
130
|
+
- id: fuzzy-never-applies-to-short-names
|
|
131
|
+
prompt: "the memory federation is the product"
|
|
132
|
+
manifest:
|
|
133
|
+
known_entities:
|
|
134
|
+
- {name: Bourdon memory federation, type: topic}
|
|
135
|
+
- {name: Bourdon federation, type: topic}
|
|
136
|
+
expected_entities: [Bourdon memory federation]
|
|
@@ -165,6 +165,113 @@
|
|
|
165
165
|
}
|
|
166
166
|
],
|
|
167
167
|
"recognition_strings": [
|
|
168
|
+
{
|
|
169
|
+
"name": "fuzzy_long_name_paraphrase",
|
|
170
|
+
"prompt": "how do we improve the recognition first runtime protocol",
|
|
171
|
+
"manifest": {
|
|
172
|
+
"known_entities": [
|
|
173
|
+
{
|
|
174
|
+
"name": "Bourdon recognition first runtime layer",
|
|
175
|
+
"type": "topic"
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
"access_level": "team",
|
|
180
|
+
"matched_names": [
|
|
181
|
+
"Bourdon recognition first runtime layer"
|
|
182
|
+
],
|
|
183
|
+
"recognition": "Bourdon recognition first runtime layer (topic).",
|
|
184
|
+
"confidence": "medium",
|
|
185
|
+
"entity_confidences": {
|
|
186
|
+
"Bourdon recognition first runtime layer": "medium"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "fuzzy_too_little_overlap",
|
|
191
|
+
"prompt": "the runtime layer is slow today",
|
|
192
|
+
"manifest": {
|
|
193
|
+
"known_entities": [
|
|
194
|
+
{
|
|
195
|
+
"name": "Bourdon recognition first runtime layer",
|
|
196
|
+
"type": "topic"
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"access_level": "team",
|
|
201
|
+
"matched_names": [],
|
|
202
|
+
"recognition": "",
|
|
203
|
+
"confidence": "none",
|
|
204
|
+
"entity_confidences": {}
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "cluster_by_alias",
|
|
208
|
+
"prompt": "compare Bourdon and Continuo",
|
|
209
|
+
"manifest": {
|
|
210
|
+
"known_entities": [
|
|
211
|
+
{
|
|
212
|
+
"name": "Bourdon",
|
|
213
|
+
"type": "project",
|
|
214
|
+
"aliases": [
|
|
215
|
+
"Continuo"
|
|
216
|
+
],
|
|
217
|
+
"source_agents": [
|
|
218
|
+
"claude-code",
|
|
219
|
+
"codex"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "Continuo",
|
|
224
|
+
"type": "oss-product",
|
|
225
|
+
"source_agents": [
|
|
226
|
+
"codex"
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
"access_level": "team",
|
|
232
|
+
"matched_names": [
|
|
233
|
+
"Bourdon"
|
|
234
|
+
],
|
|
235
|
+
"recognition": "Bourdon (project; known by 2 agents; also known as Continuo).",
|
|
236
|
+
"confidence": "medium",
|
|
237
|
+
"entity_confidences": {
|
|
238
|
+
"Bourdon": "medium"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "gloss_freshest_summary_stale",
|
|
243
|
+
"prompt": "what is Nimbletron",
|
|
244
|
+
"manifest": {
|
|
245
|
+
"known_entities": [
|
|
246
|
+
{
|
|
247
|
+
"name": "Nimbletron",
|
|
248
|
+
"type": "project",
|
|
249
|
+
"source_agents": [
|
|
250
|
+
"alpha",
|
|
251
|
+
"beta"
|
|
252
|
+
],
|
|
253
|
+
"summaries": {
|
|
254
|
+
"alpha": "Nimbletron is the batch renderer for the print pipeline, owned by the platform team.",
|
|
255
|
+
"beta": "renderer"
|
|
256
|
+
},
|
|
257
|
+
"touched": {
|
|
258
|
+
"alpha": "2019-06-01",
|
|
259
|
+
"beta": "2020-01-01"
|
|
260
|
+
},
|
|
261
|
+
"last_touched": "2020-01-01"
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
},
|
|
265
|
+
"access_level": "team",
|
|
266
|
+
"matched_names": [
|
|
267
|
+
"Nimbletron"
|
|
268
|
+
],
|
|
269
|
+
"recognition": "Nimbletron (project; known by 2 agents): Nimbletron is the batch renderer for the print pipeline, owned by the platform team. Last touched 2020-01-01, may be stale.",
|
|
270
|
+
"confidence": "medium",
|
|
271
|
+
"entity_confidences": {
|
|
272
|
+
"Nimbletron": "medium"
|
|
273
|
+
}
|
|
274
|
+
},
|
|
168
275
|
{
|
|
169
276
|
"name": "single_with_type",
|
|
170
277
|
"prompt": "tell me about Bourdon",
|
|
@@ -180,7 +287,7 @@
|
|
|
180
287
|
"matched_names": [
|
|
181
288
|
"Bourdon"
|
|
182
289
|
],
|
|
183
|
-
"recognition": "
|
|
290
|
+
"recognition": "Bourdon (project).",
|
|
184
291
|
"confidence": "medium",
|
|
185
292
|
"entity_confidences": {
|
|
186
293
|
"Bourdon": "medium"
|
|
@@ -200,7 +307,7 @@
|
|
|
200
307
|
"matched_names": [
|
|
201
308
|
"Alpha"
|
|
202
309
|
],
|
|
203
|
-
"recognition": "
|
|
310
|
+
"recognition": "Alpha.",
|
|
204
311
|
"confidence": "medium",
|
|
205
312
|
"entity_confidences": {
|
|
206
313
|
"Alpha": "medium"
|
|
@@ -230,7 +337,7 @@
|
|
|
230
337
|
"Bourdon",
|
|
231
338
|
"Zephyr"
|
|
232
339
|
],
|
|
233
|
-
"recognition": "You're asking about Bourdon and Zephyr
|
|
340
|
+
"recognition": "You're asking about Bourdon and Zephyr.\n- Bourdon (project).\n- Zephyr (project).",
|
|
234
341
|
"confidence": "medium",
|
|
235
342
|
"entity_confidences": {
|
|
236
343
|
"Bourdon": "medium",
|
|
@@ -262,7 +369,7 @@
|
|
|
262
369
|
"Beta",
|
|
263
370
|
"Gamma"
|
|
264
371
|
],
|
|
265
|
-
"recognition": "You're asking about Alpha, Beta, and Gamma
|
|
372
|
+
"recognition": "You're asking about Alpha, Beta, and Gamma.\n- Alpha.\n- Beta.\n- Gamma.",
|
|
266
373
|
"confidence": "medium",
|
|
267
374
|
"entity_confidences": {
|
|
268
375
|
"Alpha": "medium",
|
|
@@ -302,7 +409,7 @@
|
|
|
302
409
|
"matched_names": [
|
|
303
410
|
"NAS"
|
|
304
411
|
],
|
|
305
|
-
"recognition": "
|
|
412
|
+
"recognition": "NAS (hardware).",
|
|
306
413
|
"confidence": "medium",
|
|
307
414
|
"entity_confidences": {
|
|
308
415
|
"NAS": "medium"
|
|
@@ -328,7 +435,7 @@
|
|
|
328
435
|
"matched_names": [
|
|
329
436
|
"PublicProj"
|
|
330
437
|
],
|
|
331
|
-
"recognition": "
|
|
438
|
+
"recognition": "PublicProj (project).",
|
|
332
439
|
"confidence": "medium",
|
|
333
440
|
"entity_confidences": {
|
|
334
441
|
"PublicProj": "medium"
|
|
@@ -350,7 +457,7 @@
|
|
|
350
457
|
"matched_names": [
|
|
351
458
|
"Nimbletron"
|
|
352
459
|
],
|
|
353
|
-
"recognition": "
|
|
460
|
+
"recognition": "Nimbletron (project; archived 2026-01-01).",
|
|
354
461
|
"confidence": "medium",
|
|
355
462
|
"entity_confidences": {
|
|
356
463
|
"Nimbletron": "medium"
|
|
@@ -374,7 +481,7 @@
|
|
|
374
481
|
"matched_names": [
|
|
375
482
|
"LegacyThing"
|
|
376
483
|
],
|
|
377
|
-
"recognition": "
|
|
484
|
+
"recognition": "LegacyThing (tool; archived).",
|
|
378
485
|
"confidence": "medium",
|
|
379
486
|
"entity_confidences": {
|
|
380
487
|
"LegacyThing": "medium"
|
|
@@ -398,7 +505,7 @@
|
|
|
398
505
|
"matched_names": [
|
|
399
506
|
"QUIP"
|
|
400
507
|
],
|
|
401
|
-
"recognition": "
|
|
508
|
+
"recognition": "QUIP (product).",
|
|
402
509
|
"confidence": "medium",
|
|
403
510
|
"entity_confidences": {
|
|
404
511
|
"QUIP": "medium"
|
|
@@ -438,7 +545,7 @@
|
|
|
438
545
|
"matched_names": [
|
|
439
546
|
"Multi Word Project"
|
|
440
547
|
],
|
|
441
|
-
"recognition": "
|
|
548
|
+
"recognition": "Multi Word Project (project).",
|
|
442
549
|
"confidence": "medium",
|
|
443
550
|
"entity_confidences": {
|
|
444
551
|
"Multi Word Project": "medium"
|
package/fixtures.pin.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_doc": "The recorded fixture pin. CI and the package tests assert the vendored fixtures/manifest.json hashes to exactly this value, so the fixture set in any build is provably the reviewed one. Refresh via the re-pin ritual in README.md.",
|
|
3
|
-
"conformance_version": "2.
|
|
4
|
-
"manifest_sha256": "
|
|
3
|
+
"conformance_version": "2.6.0",
|
|
4
|
+
"manifest_sha256": "0e5f12493974729e203cfeda4a04be39e55af2468510aaced80d3c40a38d3b06"
|
|
5
5
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getbourdon/conformance",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Language-neutral cross-implementation parity fixtures for Bourdon. Python (pip install bourdon) is the oracle; the @getbourdon/* TypeScript mirror asserts against these exact bytes.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|