@getbourdon/conformance 0.8.0 → 0.9.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/leak_cases.json +4 -4
- package/fixtures/manifest.json +8 -8
- package/fixtures/merge_vectors.json +2 -2
- package/fixtures/native_stores/claude_code/store/knowledge_graph/memory.jsonl +1 -1
- package/fixtures/native_stores/github_copilot/cache/github-copilot/payload.json +1 -1
- package/fixtures/native_stores/hermes/store/.hermes/memories/memory.md +1 -1
- package/fixtures/redaction_battery.json +73 -4
- package/fixtures.pin.json +2 -2
- package/package.json +1 -1
package/fixtures/leak_cases.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"known_entities": [
|
|
21
21
|
{
|
|
22
22
|
"name": "API",
|
|
23
|
-
"summary": "
|
|
23
|
+
"summary": "service_role = hunter2hunter2 for supabase",
|
|
24
24
|
"visibility": "team"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"date": "2026-06-20",
|
|
41
41
|
"files_touched": [
|
|
42
42
|
"src/app.ts",
|
|
43
|
-
"config/.env"
|
|
43
|
+
"config/.env:PASSWORD=supersecretvalue"
|
|
44
44
|
]
|
|
45
45
|
}
|
|
46
46
|
]
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"agent": {
|
|
59
59
|
"id": "x",
|
|
60
60
|
"type": "code-assistant",
|
|
61
|
-
"role_narrative": "rotate the api_key before every deploy"
|
|
61
|
+
"role_narrative": "rotate the api_key=hunter2hunter2 before every deploy"
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
"expected_findings": [
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"manifest": {
|
|
74
74
|
"capabilities": [
|
|
75
75
|
"state_db",
|
|
76
|
-
"the bearer token is
|
|
76
|
+
"the bearer token is QXp9-not-a-real-key"
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"expected_findings": [
|
package/fixtures/manifest.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
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": "
|
|
3
|
+
"conformance_version": "6.0.0",
|
|
4
4
|
"produced_against": {
|
|
5
|
-
"bourdon_version": "0.
|
|
5
|
+
"bourdon_version": "0.25.0"
|
|
6
6
|
},
|
|
7
7
|
"fixtures": [
|
|
8
8
|
{
|
|
9
9
|
"path": "redaction_battery.json",
|
|
10
|
-
"sha256": "
|
|
10
|
+
"sha256": "31f7a1903ec70659f23b3062040776adad54dadaee763c296018100cd439178e",
|
|
11
11
|
"producer": "tools/gen_conformance.py::redaction_battery"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"path": "leak_cases.json",
|
|
15
|
-
"sha256": "
|
|
15
|
+
"sha256": "78580fd6e81243538af0e202ac2b84b7b4421353836119a1b8f6f516a90d134c",
|
|
16
16
|
"producer": "tools/gen_conformance.py::leak_cases"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
"path": "merge_vectors.json",
|
|
105
|
-
"sha256": "
|
|
105
|
+
"sha256": "74322ae0460fb38331ee47e252d10f64e7c2c31254ae814381b852ab2510b110",
|
|
106
106
|
"producer": "tools/gen_conformance.py::merge_vectors"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
},
|
|
448
448
|
{
|
|
449
449
|
"path": "native_stores/hermes/store/.hermes/memories/memory.md",
|
|
450
|
-
"sha256": "
|
|
450
|
+
"sha256": "6a0726d27419af63b5713a3314dbaab64ef2fa5b9d310d2e2d3332f07516833c",
|
|
451
451
|
"producer": "tools/gen_conformance.py::native_stores"
|
|
452
452
|
},
|
|
453
453
|
{
|
|
@@ -492,7 +492,7 @@
|
|
|
492
492
|
},
|
|
493
493
|
{
|
|
494
494
|
"path": "native_stores/claude_code/store/knowledge_graph/memory.jsonl",
|
|
495
|
-
"sha256": "
|
|
495
|
+
"sha256": "624f5d9ccd73456695fc7a91a5811c358b292f52cc1ea2e3ceff7674c338e3e3",
|
|
496
496
|
"producer": "tools/gen_conformance.py::native_stores"
|
|
497
497
|
},
|
|
498
498
|
{
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
},
|
|
503
503
|
{
|
|
504
504
|
"path": "native_stores/github_copilot/cache/github-copilot/payload.json",
|
|
505
|
-
"sha256": "
|
|
505
|
+
"sha256": "5b922bb2d150ee05c92d92c867274e2a8569d5f2810e5c806cffb4cd0765e7f7",
|
|
506
506
|
"producer": "tools/gen_conformance.py::native_stores"
|
|
507
507
|
},
|
|
508
508
|
{
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
{
|
|
166
166
|
"date": "2026-08-01",
|
|
167
167
|
"cwd": "/w",
|
|
168
|
-
"project_focus": "
|
|
168
|
+
"project_focus": "Pennant"
|
|
169
169
|
}
|
|
170
170
|
],
|
|
171
171
|
"expected": {
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
"cwd": "/w",
|
|
176
176
|
"project_focus": [
|
|
177
177
|
"Bourdon",
|
|
178
|
-
"
|
|
178
|
+
"Pennant"
|
|
179
179
|
]
|
|
180
180
|
}
|
|
181
181
|
],
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{"type":"entity","name":"Zephyr","entityType":"project","observations":["File conversion app."]}
|
|
2
|
-
{"type":"entity","name":"SecretCreds","entityType":"concept","observations":["
|
|
2
|
+
{"type":"entity","name":"SecretCreds","entityType":"concept","observations":["service_role=hunter2hunter2 for supabase"]}
|
|
3
3
|
{"type":"relation","from":"Zephyr","to":"Bourdon","relationType":"uses"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"repository_url": "https://api.github.com/repos/ryan/bourdon"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"title": "Rotate
|
|
14
|
+
"title": "Rotate service_role=hunter2hunter2 in CI",
|
|
15
15
|
"number": 9,
|
|
16
16
|
"updated_at": "2026-06-18T10:00:00Z",
|
|
17
17
|
"repository_url": "https://api.github.com/repos/ryan/bourdon"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
- Project uses pytest with xdist
|
|
2
|
-
- The bearer token is
|
|
2
|
+
- The bearer token is hunter2.hunter2
|
|
@@ -19,28 +19,42 @@
|
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"fragments": [
|
|
22
|
-
"
|
|
22
|
+
"password: correcthorsebatterystaple"
|
|
23
23
|
],
|
|
24
24
|
"expect_redacted": "[redacted credential-like text]",
|
|
25
25
|
"expect_contains_secret": true
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"fragments": [
|
|
29
|
-
"
|
|
29
|
+
"client_secret=hunter2hunter2"
|
|
30
30
|
],
|
|
31
31
|
"expect_redacted": "[redacted credential-like text]",
|
|
32
32
|
"expect_contains_secret": true
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"fragments": [
|
|
36
|
-
"
|
|
36
|
+
"\"password\": \"hunter2hunter2\""
|
|
37
37
|
],
|
|
38
38
|
"expect_redacted": "[redacted credential-like text]",
|
|
39
39
|
"expect_contains_secret": true
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"fragments": [
|
|
43
|
-
"
|
|
43
|
+
"--password=hunter2hunter2"
|
|
44
|
+
],
|
|
45
|
+
"expect_redacted": "[redacted credential-like text]",
|
|
46
|
+
"expect_contains_secret": true
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"fragments": [
|
|
50
|
+
"PASSWORD=supersecretvalue"
|
|
51
|
+
],
|
|
52
|
+
"expect_redacted": "[redacted credential-like text]",
|
|
53
|
+
"expect_contains_secret": true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"fragments": [
|
|
57
|
+
"SUPABASE_SERVICE_KEY=hunter2hunter2"
|
|
44
58
|
],
|
|
45
59
|
"expect_redacted": "[redacted credential-like text]",
|
|
46
60
|
"expect_contains_secret": true
|
|
@@ -195,6 +209,61 @@
|
|
|
195
209
|
"text": "Bourdon recognition-first runtime layer is the core promise",
|
|
196
210
|
"expect_redacted": "Bourdon recognition-first runtime layer is the core promise",
|
|
197
211
|
"expect_contains_secret": false
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"text": "uses a bearer token to authenticate",
|
|
215
|
+
"expect_redacted": "uses a bearer token to authenticate",
|
|
216
|
+
"expect_contains_secret": false
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"text": "the service_role key for supabase",
|
|
220
|
+
"expect_redacted": "the service_role key for supabase",
|
|
221
|
+
"expect_contains_secret": false
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"text": "stripe secret rotated today",
|
|
225
|
+
"expect_redacted": "stripe secret rotated today",
|
|
226
|
+
"expect_contains_secret": false
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"text": "the keystore password lives in .env",
|
|
230
|
+
"expect_redacted": "the keystore password lives in .env",
|
|
231
|
+
"expect_contains_secret": false
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"text": "Add password reset to the console",
|
|
235
|
+
"expect_redacted": "Add password reset to the console",
|
|
236
|
+
"expect_contains_secret": false
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"text": "Fixed the password reset email template",
|
|
240
|
+
"expect_redacted": "Fixed the password reset email template",
|
|
241
|
+
"expect_contains_secret": false
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"text": "Updated .env with the new port",
|
|
245
|
+
"expect_redacted": "Updated .env with the new port",
|
|
246
|
+
"expect_contains_secret": false
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"text": "Rotated the keystore for the Android release",
|
|
250
|
+
"expect_redacted": "Rotated the keystore for the Android release",
|
|
251
|
+
"expect_contains_secret": false
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"text": "Reviewed the service_role RLS policy",
|
|
255
|
+
"expect_redacted": "Reviewed the service_role RLS policy",
|
|
256
|
+
"expect_contains_secret": false
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"text": "Shipped api_key rotation tooling",
|
|
260
|
+
"expect_redacted": "Shipped api_key rotation tooling",
|
|
261
|
+
"expect_contains_secret": false
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"text": "the password is rotated monthly",
|
|
265
|
+
"expect_redacted": "the password is rotated monthly",
|
|
266
|
+
"expect_contains_secret": false
|
|
198
267
|
}
|
|
199
268
|
],
|
|
200
269
|
"case_variants": [
|
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": "
|
|
4
|
-
"manifest_sha256": "
|
|
3
|
+
"conformance_version": "6.0.0",
|
|
4
|
+
"manifest_sha256": "73bd51d8a6d2a82b32b0b249a6e6c16c6491f9dc0148d020e9e020efb1eb49eb"
|
|
5
5
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getbourdon/conformance",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.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",
|