kiokuko 1.0.45 → 1.0.46
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/mcp/chatgpt-contract.d.ts +138 -0
- package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
- package/dist/mcp/chatgpt-contract.js +2 -2
- package/dist/mcp/chatgpt-contract.js.map +1 -1
- package/dist/mcp/chatgpt-server.d.ts +4 -1
- package/dist/mcp/chatgpt-server.d.ts.map +1 -1
- package/dist/mcp/chatgpt-server.js +3 -3
- package/dist/mcp/chatgpt-server.js.map +1 -1
- package/dist/mcp/correction-review.d.ts +46 -4
- package/dist/mcp/correction-review.d.ts.map +1 -1
- package/dist/mcp/correction-review.js +24 -5
- package/dist/mcp/correction-review.js.map +1 -1
- package/dist/memory/correction-classification.d.ts +47 -0
- package/dist/memory/correction-classification.d.ts.map +1 -0
- package/dist/memory/correction-classification.js +143 -0
- package/dist/memory/correction-classification.js.map +1 -0
- package/dist/memory/correction-contract.d.ts +119 -10
- package/dist/memory/correction-contract.d.ts.map +1 -1
- package/dist/memory/correction-contract.js +35 -7
- package/dist/memory/correction-contract.js.map +1 -1
- package/docs/correction-classification.md +122 -0
- package/docs/evaluations/correction-classification-2026-10-21/assessment.json +717 -0
- package/docs/evaluations/correction-classification-2026-10-21/built-both-product-pair.log +14 -0
- package/docs/evaluations/correction-classification-2026-10-21/development.json +877 -0
- package/docs/evaluations/correction-classification-2026-10-21/dsh-build.log +9 -0
- package/docs/evaluations/correction-classification-2026-10-21/dsh-final-2-typecheck.log +0 -0
- package/docs/evaluations/correction-classification-2026-10-21/dsh-final-2-unit.log +43 -0
- package/docs/evaluations/correction-classification-2026-10-21/dsh-final-3-typecheck.log +0 -0
- package/docs/evaluations/correction-classification-2026-10-21/held-out.json +2671 -0
- package/docs/evaluations/correction-classification-2026-10-21/live-mcp-final-2.json +32 -0
- package/docs/evaluations/correction-classification-2026-10-21/live-mcp-final-2.log +1 -0
- package/docs/evaluations/correction-classification-2026-10-21/live-mcp-final.json +32 -0
- package/docs/evaluations/correction-classification-2026-10-21/main-build.log +17 -0
- package/docs/evaluations/correction-classification-2026-10-21/main-final-2-typecheck.log +0 -0
- package/docs/evaluations/correction-classification-2026-10-21/main-final-2-unit.log +64 -0
- package/docs/evaluations/correction-classification-2026-10-21/metrics-final.log +11 -0
- package/docs/evaluations/correction-classification-2026-10-21/native-final.log +57 -0
- package/docs/evaluations/correction-classification-2026-10-21/package-evidence.json +51 -0
- package/docs/evaluations/correction-classification-2026-10-21/timing-final.json +53 -0
- package/docs/evaluations/correction-classification-2026-10-21/verification.json +199 -0
- package/migrations/015_correction_classification.sql +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "correction-live-mcp-v1",
|
|
3
|
+
"status": "passed",
|
|
4
|
+
"dshSourceSha": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
5
|
+
"mainSourceSha": "5289ed72e347e65eb9a17d8b1d90f51958f8b333",
|
|
6
|
+
"provider": "typesafe",
|
|
7
|
+
"model": "jev-1.13.0",
|
|
8
|
+
"syntheticEntries": 2,
|
|
9
|
+
"providerCalls": 2,
|
|
10
|
+
"repeatProviderCalls": 0,
|
|
11
|
+
"cachedResults": 2,
|
|
12
|
+
"observedRules": [
|
|
13
|
+
{
|
|
14
|
+
"rule": "uncertain",
|
|
15
|
+
"observed": "reference",
|
|
16
|
+
"model": "jev-1.13.0",
|
|
17
|
+
"mode": "shadow",
|
|
18
|
+
"inputTokens": 565
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"rule": "uncertain",
|
|
22
|
+
"observed": "capability_compatibility",
|
|
23
|
+
"model": "jev-1.13.0",
|
|
24
|
+
"mode": "shadow",
|
|
25
|
+
"inputTokens": 571
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"modelInput": "unobserved",
|
|
29
|
+
"verification": "unverified",
|
|
30
|
+
"authorizationGranted": false,
|
|
31
|
+
"qualityMeasurement": "separate held-out corpus, not these two handoff cases"
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schema":"correction-live-mcp-v1","status":"passed","dshSourceSha":"01e27576d2efe5020c19e93bdba1a6528bfcaee1","mainSourceSha":"5289ed72e347e65eb9a17d8b1d90f51958f8b333","provider":"typesafe","model":"jev-1.13.0","syntheticEntries":2,"providerCalls":2,"repeatProviderCalls":0,"cachedResults":2,"observedRules":[{"rule":"uncertain","observed":"reference","model":"jev-1.13.0","mode":"shadow","inputTokens":565},{"rule":"uncertain","observed":"capability_compatibility","model":"jev-1.13.0","mode":"shadow","inputTokens":571}],"modelInput":"unobserved","verification":"unverified","authorizationGranted":false,"qualityMeasurement":"separate held-out corpus, not these two handoff cases"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "correction-live-mcp-v1",
|
|
3
|
+
"status": "passed",
|
|
4
|
+
"dshSourceSha": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
5
|
+
"mainSourceSha": "5289ed72e347e65eb9a17d8b1d90f51958f8b333",
|
|
6
|
+
"provider": "typesafe",
|
|
7
|
+
"model": "jev-1.13.0",
|
|
8
|
+
"syntheticEntries": 2,
|
|
9
|
+
"providerCalls": 2,
|
|
10
|
+
"repeatProviderCalls": 0,
|
|
11
|
+
"cachedResults": 2,
|
|
12
|
+
"observedRules": [
|
|
13
|
+
{
|
|
14
|
+
"rule": "uncertain",
|
|
15
|
+
"observed": "reference",
|
|
16
|
+
"model": "jev-1.13.0",
|
|
17
|
+
"mode": "shadow",
|
|
18
|
+
"inputTokens": 565
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"rule": "uncertain",
|
|
22
|
+
"observed": "capability_compatibility",
|
|
23
|
+
"model": "jev-1.13.0",
|
|
24
|
+
"mode": "shadow",
|
|
25
|
+
"inputTokens": 571
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"modelInput": "unobserved",
|
|
29
|
+
"verification": "unverified",
|
|
30
|
+
"authorizationGranted": false,
|
|
31
|
+
"qualityMeasurement": "separate held-out corpus, not these two handoff cases"
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
> kiokuko@1.0.45 build
|
|
3
|
+
> npm run clean:dist && tsc -p tsconfig.build.json && npm run set-bin-permissions
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
> kiokuko@1.0.45 clean:dist
|
|
7
|
+
> node --input-type=module --eval "import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true });"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
> kiokuko@1.0.45 set-bin-permissions
|
|
11
|
+
> node --input-type=module --eval "import { chmodSync } from 'node:fs'; chmodSync('dist/bin/kiokuko.js', 0o755);"
|
|
12
|
+
|
|
13
|
+
npm notice
|
|
14
|
+
npm notice New major version of npm available! 11.13.0 -> 12.2.0
|
|
15
|
+
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
|
|
16
|
+
npm notice To update run: npm install -g npm@12.2.0
|
|
17
|
+
npm notice
|
|
File without changes
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
✔ opt-in capture publishes a strict write contract and saves global candidates visible in another session (229.65825ms)
|
|
2
|
+
✔ receipts survive restart, conflict on changed payload, and do not collide with local operation IDs (81.394458ms)
|
|
3
|
+
✔ read owners reject capture and writers recheck a changed schema before saving (43.383166ms)
|
|
4
|
+
✔ corrections enforce revision and atomicity; replay never recreates purged content (58.6315ms)
|
|
5
|
+
✔ capture cannot overwrite Curator-managed memory or a project entry (68.195958ms)
|
|
6
|
+
✔ invalid authority, limits, policy and secrets cannot write or leak input values (39.116291ms)
|
|
7
|
+
✔ disabled capture reports no save and runtime shutdown drains accepted writes (39.407959ms)
|
|
8
|
+
✔ real CLI read-write saves and a fresh read-only CLI recalls the same memory (1133.358584ms)
|
|
9
|
+
✔ capture bounds waiting writes and drains accepted retries without duplicate memory (189.656875ms)
|
|
10
|
+
✔ remote tools are an explicit read-only allowlist with strict published schemas (198.726125ms)
|
|
11
|
+
✔ policy works without DB access and rejected inputs never return memories or supplied values (12.996167ms)
|
|
12
|
+
✔ Global scope, Japanese/subject queries and JSON character budgets match the local gated path (158.349208ms)
|
|
13
|
+
✔ missing, non-regular, corrupt, outdated and future databases fail without initialization (61.675833ms)
|
|
14
|
+
✔ real stdio CLI defaults to read, returns Global memory and leaves WAL database logically unchanged (698.585834ms)
|
|
15
|
+
✔ stdio closes cleanly on EOF (555.419125ms)
|
|
16
|
+
✔ stdio closes cleanly on SIGTERM (455.624208ms)
|
|
17
|
+
2026-10-21 10:37:28.457 xcodebuild[97618:29847584] DVTFilePathFSEvents: Failed to start fs event stream.
|
|
18
|
+
2026-10-21 10:37:28.616 xcodebuild[97618:29847583] [MT] DVTDeveloperPaths: Failed to get length of DARWIN_USER_CACHE_DIR from confstr(3), error = Error Domain=NSPOSIXErrorDomain Code=5 "Input/output error". Using NSCachesDirectory instead.
|
|
19
|
+
✔ operator project allowlist is read-only, policy-bound and isolated from global and other projects (1920.518459ms)
|
|
20
|
+
✔ real remote MCP binds corrections with no semantic provider without claiming model delivery or application (231.55975ms)
|
|
21
|
+
✔ real remote MCP binds corrections with injected semantic provider without claiming model delivery or application (112.706292ms)
|
|
22
|
+
✔ read receipts expire, remain connection-local and have a bounded count (25.574125ms)
|
|
23
|
+
✔ a failed actual recall remains unavailable when the caller omits its receipt (16.702125ms)
|
|
24
|
+
✔ identical legacy recapture enriches one existing correction without competing memories or caller provenance metadata (39.348208ms)
|
|
25
|
+
✔ baseline and profile migration create current schema and is idempotent (28.380459ms)
|
|
26
|
+
✔ SQL and migration marker roll back together, and a corrected baseline can retry (72.253875ms)
|
|
27
|
+
✔ initialization refuses old without changing database or sidecar contents (11.563ms)
|
|
28
|
+
✔ initialization refuses missing-history without changing database or sidecar contents (11.939542ms)
|
|
29
|
+
✔ initialization refuses empty-history without changing database or sidecar contents (23.357958ms)
|
|
30
|
+
✔ initialization refuses checksum without changing database or sidecar contents (80.830334ms)
|
|
31
|
+
✔ initialization refuses future without changing database or sidecar contents (53.621583ms)
|
|
32
|
+
✔ foreign-key failure rolls back initialization of a new file (2.625208ms)
|
|
33
|
+
✔ reinitialization leaves the supported database file unchanged (43.274792ms)
|
|
34
|
+
✔ refuses a non-SQLite file with path and new-directory guidance without modifying it (6.304792ms)
|
|
35
|
+
✔ refuses orphan sidecars before reserving a new database and preserves their contents (5.5865ms)
|
|
36
|
+
✔ refuses sidecars that appear after fresh path reservation without opening SQLite (6.84ms)
|
|
37
|
+
✔ refuses a rollback journal without invoking SQLite recovery (23.088458ms)
|
|
38
|
+
✔ baseline installs the derived embedding schema without provider I/O (34.353833ms)
|
|
39
|
+
✔ profile migration upgrades the immutable v1 baseline without parsing or deleting existing sessions (45.307584ms)
|
|
40
|
+
✔ interaction migration upgrades v2 without reclassifying existing memory or rewriting revisions (37.989083ms)
|
|
41
|
+
✔ policy digest and version come from one bundled source; attestation is exact (0.708666ms)
|
|
42
|
+
✔ remote schemas enforce limits and reject local authority and unknown fields (2.900417ms)
|
|
43
|
+
✔ CLI rejects invalid and unsupported profile/access combinations before opening a database (14.688541ms)
|
|
44
|
+
✔ first use persists only host-owned metadata; body survives a lossy summary and unchanged reuse survives restart (130.910083ms)
|
|
45
|
+
✔ legacy/caller metadata cannot activate a rule; shadow, unknown and reference never trigger the compatibility gate (111.718208ms)
|
|
46
|
+
✔ title, body, summary, revision and provider configuration invalidate cached meaning without rewriting old entries (102.29975ms)
|
|
47
|
+
✔ concurrent updates cannot receive a classification from an earlier revision, and concurrent identical lookups share inference (56.91475ms)
|
|
48
|
+
✔ outage remains explicit, is cached and cannot become reference (25.590667ms)
|
|
49
|
+
✔ malformed remains explicit, is cached and cannot become reference (49.870291ms)
|
|
50
|
+
✔ abstain remains explicit, is cached and cannot become reference (37.885417ms)
|
|
51
|
+
✔ timeout remains explicit, is cached and cannot become reference (42.748125ms)
|
|
52
|
+
✔ parent cancellation never persists an asynchronous result (35.059708ms)
|
|
53
|
+
✔ cached meaning cannot survive entry deletion or a foreign workspace identity (48.697291ms)
|
|
54
|
+
✔ corrupt persisted classification fails closed without repeating inference or repairing memory content (42.704458ms)
|
|
55
|
+
✔ the semantic request carries the full body, explicit abstention and no execution effects (0.140875ms)
|
|
56
|
+
✔ the additive cache migration upgrades a real prior schema without changing legacy memory (45.215917ms)
|
|
57
|
+
ℹ tests 54
|
|
58
|
+
ℹ suites 0
|
|
59
|
+
ℹ pass 54
|
|
60
|
+
ℹ fail 0
|
|
61
|
+
ℹ cancelled 0
|
|
62
|
+
ℹ skipped 0
|
|
63
|
+
ℹ todo 0
|
|
64
|
+
ℹ duration_ms 5793.910041
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
✔ evaluation denominators include positive abstentions/outages as misses and all gold non-special cases (0.829875ms)
|
|
2
|
+
✔ empty denominators are unavailable and cannot pass release gates (0.094375ms)
|
|
3
|
+
✔ held-out corpus is disjoint, balanced and aligned across the five declared languages (0.725625ms)
|
|
4
|
+
ℹ tests 3
|
|
5
|
+
ℹ suites 0
|
|
6
|
+
ℹ pass 3
|
|
7
|
+
ℹ fail 0
|
|
8
|
+
ℹ cancelled 0
|
|
9
|
+
ℹ skipped 0
|
|
10
|
+
ℹ todo 0
|
|
11
|
+
ℹ duration_ms 74.4725
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
2
|
+
[kiokuko-dsh] [info] Setup complete: Skills 43 created, 0 updated (/private/tmp/kiokuko-correction-semantics-20261021/kiokuko-skill-home-OvP6sH/.agents/skills); AGENTS.md unmanaged-or-absent (/private/tmp/kiokuko-correction-semantics-20261021/skill-delivery-4a7URB/AGENTS.md). Reload existing sessions to refresh their instructions.
|
|
3
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
4
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
5
|
+
✔ native correction handoff and scoped version-gate rejection (public, drop=false) (1696.796375ms)
|
|
6
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
7
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
8
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
9
|
+
✔ native correction handoff and scoped version-gate rejection (public, drop=true) (891.448209ms)
|
|
10
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
11
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
12
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
13
|
+
✔ native correction handoff and scoped version-gate rejection (adapter, drop=false) (882.449708ms)
|
|
14
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
15
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
16
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
17
|
+
✔ native correction handoff and scoped version-gate rejection (adapter, drop=true) (877.614667ms)
|
|
18
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
19
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
20
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
21
|
+
✔ native shadow never invokes special correction handling (public) (688.143416ms)
|
|
22
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
23
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
24
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
25
|
+
✔ native reference never invokes special correction handling (public) (689.047875ms)
|
|
26
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
27
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
28
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
29
|
+
✔ native uncertain never invokes special correction handling (public) (687.386333ms)
|
|
30
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
31
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
32
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
33
|
+
✔ native unavailable never invokes special correction handling (public) (686.763709ms)
|
|
34
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
35
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
36
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
37
|
+
✔ native shadow never invokes special correction handling (adapter) (705.926292ms)
|
|
38
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
39
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
40
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
41
|
+
✔ native reference never invokes special correction handling (adapter) (694.795375ms)
|
|
42
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
43
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
44
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
45
|
+
✔ native uncertain never invokes special correction handling (adapter) (696.069417ms)
|
|
46
|
+
[kiokuko-dsh] [info] plugin loaded
|
|
47
|
+
[kiokuko-dsh] [warn] toolExposure left the native surface unchanged: auto:unbound:turn_record_missing
|
|
48
|
+
[kiokuko-dsh] toolExposure projection {"requestedMode":"auto","mode":"lean","reason":"task_execution:build:projected","toolCountBefore":30,"toolCountAfter":23,"taskFilteredCount":0,"phaseFilteredCount":7,"descriptionTransformedCount":1,"descriptionBytesBefore":20450,"descriptionBytesAfter":8083,"parameterBytesBefore":32907,"parameterBytesAfter":25395,"unownedSurfaceReductionCount":0,"unownedSurfaceReductionReason":"registration_provenance_unavailable"}
|
|
49
|
+
✔ native unavailable never invokes special correction handling (adapter) (692.837084ms)
|
|
50
|
+
ℹ tests 12
|
|
51
|
+
ℹ suites 0
|
|
52
|
+
ℹ pass 12
|
|
53
|
+
ℹ fail 0
|
|
54
|
+
ℹ cancelled 0
|
|
55
|
+
ℹ skipped 0
|
|
56
|
+
ℹ todo 0
|
|
57
|
+
ℹ duration_ms 10280.6255
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"package": "kiokuko-dsh",
|
|
4
|
+
"status": "passed",
|
|
5
|
+
"runtimeSnapshotByteMatched": [
|
|
6
|
+
"scripts/module-compatibility-assets.json",
|
|
7
|
+
"scripts/pack-check.mjs",
|
|
8
|
+
"src/dsh/core/tasks.ts",
|
|
9
|
+
"src/dsh/correction-context.ts",
|
|
10
|
+
"src/dsh/decisions/config.ts",
|
|
11
|
+
"src/dsh/decisions/contracts.ts",
|
|
12
|
+
"src/dsh/decisions/diagnostics.ts",
|
|
13
|
+
"src/dsh/decisions/service.ts",
|
|
14
|
+
"src/dsh/host-adapter.ts",
|
|
15
|
+
"src/dsh/host-adapter/context.ts",
|
|
16
|
+
"src/memory/correction-contract.ts",
|
|
17
|
+
"migrations/045_correction_classification.sql",
|
|
18
|
+
"src/dsh/decisions/correction.ts",
|
|
19
|
+
"src/memory/correction-classification.ts"
|
|
20
|
+
],
|
|
21
|
+
"requiredAssets": [
|
|
22
|
+
"dist/memory/correction-classification.js",
|
|
23
|
+
"dist/memory/correction-contract.js",
|
|
24
|
+
"migrations/045_correction_classification.sql",
|
|
25
|
+
"dist/dsh/decisions/correction.js"
|
|
26
|
+
],
|
|
27
|
+
"tarball": "kiokuko-dsh-0.2.17.tgz",
|
|
28
|
+
"tarballSha256": "5c2c39352fae24ed76730de9f57ec94ada25e8f0813b1f4fe38c127fd38af489",
|
|
29
|
+
"scripts": "ignored; no install or publish"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"package": "kiokuko",
|
|
33
|
+
"status": "passed",
|
|
34
|
+
"runtimeSnapshotByteMatched": [
|
|
35
|
+
"src/mcp/chatgpt-contract.ts",
|
|
36
|
+
"src/mcp/chatgpt-server.ts",
|
|
37
|
+
"src/mcp/correction-review.ts",
|
|
38
|
+
"src/memory/correction-contract.ts",
|
|
39
|
+
"migrations/015_correction_classification.sql",
|
|
40
|
+
"src/memory/correction-classification.ts"
|
|
41
|
+
],
|
|
42
|
+
"requiredAssets": [
|
|
43
|
+
"dist/memory/correction-classification.js",
|
|
44
|
+
"dist/memory/correction-contract.js",
|
|
45
|
+
"migrations/015_correction_classification.sql"
|
|
46
|
+
],
|
|
47
|
+
"tarball": "kiokuko-1.0.45.tgz",
|
|
48
|
+
"tarballSha256": "70d4aaf24b9e9959146f9a5860113cd1b72c8469e114dfc601e7fae840d23fdc",
|
|
49
|
+
"scripts": "ignored; no install or publish"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "correction-live-evaluation-v1",
|
|
3
|
+
"mode": "live-synthetic",
|
|
4
|
+
"split": "development",
|
|
5
|
+
"prototypeOnly": true,
|
|
6
|
+
"sourceSha": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
7
|
+
"policy": "correction-meaning-v1",
|
|
8
|
+
"startedAt": "2026-10-21T01:23:19.231Z",
|
|
9
|
+
"nodeVersion": "v24.16.0",
|
|
10
|
+
"implementationSha256": {
|
|
11
|
+
"src/memory/correction-contract.ts": "3b815bc09b5fe1d3211a1332f8cd2a161f02528f1050716e1f5976434a9cb881",
|
|
12
|
+
"src/memory/correction-classification.ts": "fe1fb793025600249d630ec5b08c6fae67a291f433e41b8f6d68e4b74de41fb5",
|
|
13
|
+
"src/dsh/decisions/correction.ts": "cf0524467e9e6c084a4f208c6afc6c415665e1284792266b73ff4837391315cc",
|
|
14
|
+
"src/dsh/decisions/contracts.ts": "829121e8788ee4cea9f34335985ca368bca638924d04c170a444e41fd9f971b3",
|
|
15
|
+
"src/dsh/decisions/service.ts": "f7423d0a82b8fab07189f419507f539d53641ac941e99845b902ebc8c89b4f44",
|
|
16
|
+
"src/dsh/decisions/providers.ts": "ac81c87a2a1553bfcd14a173c7060b204ed2133d93889d845f5e45575c61802f"
|
|
17
|
+
},
|
|
18
|
+
"corpusSha256": "55350662ade98aaeb475829cfc5158828d629da2ac06ae72b93d959afb20c80d",
|
|
19
|
+
"batchContractSha256": "fc16c03dae9fac288f713acc0e1e64cdff2bc338600e8cf2b3b873441f63054e",
|
|
20
|
+
"baselineSourceSha": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
21
|
+
"provider": "typesafe",
|
|
22
|
+
"configuredModel": "jev-1.13.0",
|
|
23
|
+
"acceptance": {
|
|
24
|
+
"minConfidence": 0.8
|
|
25
|
+
},
|
|
26
|
+
"distinctSemanticFamilies": 0,
|
|
27
|
+
"limitations": "24 distinct held-out semantic families, each aligned across five languages; translations are not 120 independent semantic families. Synthetic authored labels; no claim of arbitrary-language validity.",
|
|
28
|
+
"rows": [],
|
|
29
|
+
"metrics": null,
|
|
30
|
+
"prototype": {
|
|
31
|
+
"capture": {
|
|
32
|
+
"writeMs": 4.670458999999994,
|
|
33
|
+
"totalMs": 233.71345900000006,
|
|
34
|
+
"inferenceMs": 229.04137500000007,
|
|
35
|
+
"inputTokens": 571
|
|
36
|
+
},
|
|
37
|
+
"firstUse": {
|
|
38
|
+
"captureMs": 2.964375000000018,
|
|
39
|
+
"coldLookupMs": 155.61066600000004,
|
|
40
|
+
"cachedLookupMeanMs": 0.9485958499999981,
|
|
41
|
+
"repeatedLookups": 20,
|
|
42
|
+
"repeatedProviderCalls": 0,
|
|
43
|
+
"inputTokens": 570
|
|
44
|
+
},
|
|
45
|
+
"changedEntry": {
|
|
46
|
+
"providerCalls": 1,
|
|
47
|
+
"elapsedMs": 160.63212499999997,
|
|
48
|
+
"oldObjectState": "stale"
|
|
49
|
+
},
|
|
50
|
+
"selection": "first-use with durable content/revision/policy/configuration cache",
|
|
51
|
+
"rationale": "Capture does not wait for inference; unused corrections cause no model calls. First use pays one inference; unchanged repeated use pays cache I/O. A changed entry is reclassified."
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "correction-verification-v1",
|
|
3
|
+
"host": "dkmkbkair2k21.local",
|
|
4
|
+
"platform": "darwin-arm64",
|
|
5
|
+
"node": "24.16.0",
|
|
6
|
+
"rust": "1.99.1 (58cf8f9c3 2026-10-13)",
|
|
7
|
+
"checks": [
|
|
8
|
+
{
|
|
9
|
+
"label": "dsh-final-2-unit",
|
|
10
|
+
"exit": 0,
|
|
11
|
+
"seconds": 5.5123971659999995,
|
|
12
|
+
"args": [
|
|
13
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
14
|
+
"--import",
|
|
15
|
+
"tsx",
|
|
16
|
+
"--test",
|
|
17
|
+
"tests/dsh/unit/correction-classification.test.ts",
|
|
18
|
+
"tests/dsh/unit/correction-decision.test.ts",
|
|
19
|
+
"tests/dsh/unit/correction-evaluation.test.ts",
|
|
20
|
+
"tests/dsh/unit/decisions/correction.test.ts",
|
|
21
|
+
"tests/dsh/unit/decisions/contracts.test.ts",
|
|
22
|
+
"tests/dsh/unit/decisions/laya-coreml.test.ts",
|
|
23
|
+
"tests/dsh/integration/correction-workflow.test.ts",
|
|
24
|
+
"tests/dsh/unit/migration-assets-regression.test.mjs"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"label": "dsh-final-2-typecheck",
|
|
29
|
+
"exit": 0,
|
|
30
|
+
"seconds": 8.841066542,
|
|
31
|
+
"args": [
|
|
32
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
33
|
+
"node_modules/typescript/bin/tsc",
|
|
34
|
+
"-p",
|
|
35
|
+
"tsconfig.json",
|
|
36
|
+
"--noEmit"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"label": "main-final-2-unit",
|
|
41
|
+
"exit": 0,
|
|
42
|
+
"seconds": 5.981610584,
|
|
43
|
+
"args": [
|
|
44
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
45
|
+
"--import",
|
|
46
|
+
"tsx",
|
|
47
|
+
"--test",
|
|
48
|
+
"tests/unit/correction-classification.test.ts",
|
|
49
|
+
"tests/integration/correction-review.test.ts",
|
|
50
|
+
"tests/unit/chatgpt-contract.test.ts",
|
|
51
|
+
"tests/integration/chatgpt-mcp.test.ts",
|
|
52
|
+
"tests/integration/chatgpt-capture.test.ts",
|
|
53
|
+
"tests/integration/migrations.test.ts"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"label": "main-final-2-typecheck",
|
|
58
|
+
"exit": 0,
|
|
59
|
+
"seconds": 5.775224207999999,
|
|
60
|
+
"args": [
|
|
61
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
62
|
+
"node_modules/typescript/bin/tsc",
|
|
63
|
+
"-p",
|
|
64
|
+
"tsconfig.json",
|
|
65
|
+
"--noEmit"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"label": "native-final",
|
|
70
|
+
"exit": 0,
|
|
71
|
+
"seconds": 10.414792249968741,
|
|
72
|
+
"args": [
|
|
73
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
74
|
+
"--import",
|
|
75
|
+
"tsx",
|
|
76
|
+
"--test",
|
|
77
|
+
"tests/dsh/integration/correction-native.test.ts"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"label": "metrics-final",
|
|
82
|
+
"exit": 0,
|
|
83
|
+
"seconds": 0.11212245800000001,
|
|
84
|
+
"args": [
|
|
85
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
86
|
+
"--import",
|
|
87
|
+
"tsx",
|
|
88
|
+
"--test",
|
|
89
|
+
"tests/dsh/unit/correction-evaluation.test.ts"
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "dsh-final-3-typecheck",
|
|
94
|
+
"exit": 0,
|
|
95
|
+
"seconds": 9.412363375,
|
|
96
|
+
"args": [
|
|
97
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
98
|
+
"node_modules/typescript/bin/tsc",
|
|
99
|
+
"-p",
|
|
100
|
+
"tsconfig.json",
|
|
101
|
+
"--noEmit"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"label": "live-mcp-final-2",
|
|
106
|
+
"exit": 0,
|
|
107
|
+
"seconds": 1.292674209,
|
|
108
|
+
"args": [
|
|
109
|
+
"/tmp/kiokuko-ci-repair-20261020/runtime/node-v24.16.0-darwin-arm64/bin/node",
|
|
110
|
+
"--import",
|
|
111
|
+
"tsx",
|
|
112
|
+
"/tmp/kiokuko-correction-semantics-20261021/live-mcp-launch.mts",
|
|
113
|
+
"/Users/dkc/Sites/Src/kiokuko",
|
|
114
|
+
"/tmp/kiokuko-correction-semantics-20261021/jev-config.json",
|
|
115
|
+
"/tmp/kiokuko-correction-semantics-20261021/live-mcp-final-2.json"
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"builds": [
|
|
120
|
+
{
|
|
121
|
+
"label": "main-build",
|
|
122
|
+
"exit": 0,
|
|
123
|
+
"seconds": 5.04937791696284,
|
|
124
|
+
"timedOut": false
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"label": "dsh-build",
|
|
128
|
+
"exit": 0,
|
|
129
|
+
"seconds": 8.328844834002666,
|
|
130
|
+
"timedOut": false
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"label": "built-product-pair",
|
|
134
|
+
"exit": 0,
|
|
135
|
+
"seconds": 6.806159999978263,
|
|
136
|
+
"timedOut": false
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"compiledProductPair": [
|
|
140
|
+
{
|
|
141
|
+
"label": "built-both-product-pair",
|
|
142
|
+
"exit": 0,
|
|
143
|
+
"seconds": 8.074469084036537,
|
|
144
|
+
"timedOut": false
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"packageEvidence": "package-evidence.json",
|
|
148
|
+
"ci": "Not run on GitHub/Linux for this uncommitted diff",
|
|
149
|
+
"scope": "Disposable DBs and isolated build/dependency environment; no live configuration/database/plugin changes, commit or push",
|
|
150
|
+
"sources": {
|
|
151
|
+
"kiokuko-dsh": {
|
|
152
|
+
"head": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
153
|
+
"originMain": "01e27576d2efe5020c19e93bdba1a6528bfcaee1",
|
|
154
|
+
"sha256": {
|
|
155
|
+
"migrations/045_correction_classification.sql": "bb738eeba688a295cb7890219e6f7672b3f44f4cb055ef998768a89ad73c3973",
|
|
156
|
+
"scripts/correction-evaluation.mjs": "92ae63e451af93f620d502cb846396a115e8ddebcd6b6997309276556fe560ba",
|
|
157
|
+
"scripts/evaluate-correction-classification.mjs": "8e600f0dd8cecc0e3116ee2f91380c419070d09422933aa43a33864b4fe06708",
|
|
158
|
+
"scripts/module-compatibility-assets.json": "1e940d01d6a2ad070841bca87567ca3f2d8759f20763bcb78cbbc24d67035ab9",
|
|
159
|
+
"scripts/pack-check.mjs": "51f4d2e06a8503347c00a3cbd0ce9145f7dab8ad4540f78623e8098c3050e59e",
|
|
160
|
+
"scripts/verify-correction-mcp-live.mts": "3982240121a0ce02091eefc830eab220309c600d2689fc5f4dc61d699dad895b",
|
|
161
|
+
"scripts/verify-correction-product-pair.ts": "3680ebffff06ddf115c4ada69cf2558db3230d0e188701da5884c3878124c9e7",
|
|
162
|
+
"src/dsh/core/tasks.ts": "4e7a1a0679db58b5745ab3b3576ed5f427a699677fae9d84137a7b921df3fe16",
|
|
163
|
+
"src/dsh/correction-context.ts": "6286ac5fbb70404fa4412e45576bc95cbfccbedda6dc238280bc537798d869f0",
|
|
164
|
+
"src/dsh/decisions/config.ts": "3a0eda0899c9567c67cf0c1933684f5264f6eb8db8aaec566bb66709f27be4a7",
|
|
165
|
+
"src/dsh/decisions/contracts.ts": "829121e8788ee4cea9f34335985ca368bca638924d04c170a444e41fd9f971b3",
|
|
166
|
+
"src/dsh/decisions/correction.ts": "cf0524467e9e6c084a4f208c6afc6c415665e1284792266b73ff4837391315cc",
|
|
167
|
+
"src/dsh/decisions/diagnostics.ts": "b8892d538879ea747d9e9421053049940b2beb0a9ba17543ffffea71bc410e81",
|
|
168
|
+
"src/dsh/decisions/service.ts": "f7423d0a82b8fab07189f419507f539d53641ac941e99845b902ebc8c89b4f44",
|
|
169
|
+
"src/dsh/host-adapter.ts": "5ea88eb5bb2a7839bcb6a81ad3170218b33d21e68a70178a76a93e40bfb1c386",
|
|
170
|
+
"src/dsh/host-adapter/context.ts": "cfb782626c97cc418285d8702e135692e53ac304b6f98108baf6545c47c55caf",
|
|
171
|
+
"src/memory/correction-classification.ts": "fe1fb793025600249d630ec5b08c6fae67a291f433e41b8f6d68e4b74de41fb5",
|
|
172
|
+
"src/memory/correction-contract.ts": "3b815bc09b5fe1d3211a1332f8cd2a161f02528f1050716e1f5976434a9cb881",
|
|
173
|
+
"tests/dsh/helpers/correction-decisions.ts": "45a9c5e652a788856d5232a191814e20ba1c0a9d431f8c80edf3bc8abc110fe1",
|
|
174
|
+
"tests/dsh/integration/correction-native.test.ts": "bd231e82e6ca843b0d1be7acf873f479fc43efea6f61ca6675c9fde2f18e6988",
|
|
175
|
+
"tests/dsh/unit/correction-classification.test.ts": "c23a7126d56d9079ddc337d723a18beef844f7962a47bb6c019160857aa07767",
|
|
176
|
+
"tests/dsh/unit/correction-decision.test.ts": "053142c3694b7755e2c0e7a7b274fa1ebefad5cfc812fe5f15b445a0ff3a5852",
|
|
177
|
+
"tests/dsh/unit/correction-evaluation.test.ts": "4f548beabd3cf4f021b6c447fa7c18f2813ad31df9b0f17f6be50fba4f58c873",
|
|
178
|
+
"tests/dsh/unit/decisions/correction.test.ts": "9d5d460701e4eb715139617fd04f7a8c029660604739cc662788205e958caa40",
|
|
179
|
+
"tests/fixtures/correction-classification.json": "55350662ade98aaeb475829cfc5158828d629da2ac06ae72b93d959afb20c80d"
|
|
180
|
+
},
|
|
181
|
+
"sourceSetSha256": "3c1f1ab47b1ad046206769bc039d379607543801ab5c73011b1dcd038591d0a1"
|
|
182
|
+
},
|
|
183
|
+
"kiokuko": {
|
|
184
|
+
"head": "5289ed72e347e65eb9a17d8b1d90f51958f8b333",
|
|
185
|
+
"originMain": "5289ed72e347e65eb9a17d8b1d90f51958f8b333",
|
|
186
|
+
"sha256": {
|
|
187
|
+
"migrations/015_correction_classification.sql": "bb738eeba688a295cb7890219e6f7672b3f44f4cb055ef998768a89ad73c3973",
|
|
188
|
+
"src/mcp/chatgpt-contract.ts": "320182b3daef87a9480cae1154e33d592c85087c24e2056ef97fb43e023800b9",
|
|
189
|
+
"src/mcp/chatgpt-server.ts": "b7320aa5e515f82e54fe676d7c693eb6b9b43e6a853003f1f3ba2461102b01ab",
|
|
190
|
+
"src/mcp/correction-review.ts": "ea4f48b7e4b1d814da2431c35c6db4a3d8d023f488b77a4dd45e9fb0d3def33d",
|
|
191
|
+
"src/memory/correction-classification.ts": "fe1fb793025600249d630ec5b08c6fae67a291f433e41b8f6d68e4b74de41fb5",
|
|
192
|
+
"src/memory/correction-contract.ts": "3b815bc09b5fe1d3211a1332f8cd2a161f02528f1050716e1f5976434a9cb881",
|
|
193
|
+
"tests/integration/correction-review.test.ts": "4d2fad0711f06c326b0be3060a183ae90411011444ad8fcd5344a9728e00d9ae",
|
|
194
|
+
"tests/unit/correction-classification.test.ts": "59272ce20f1fb8193ee5a0eb66baa6a228cd6091f75e37f1b65e1add1bca6476"
|
|
195
|
+
},
|
|
196
|
+
"sourceSetSha256": "704ab45cf28523074b1736923fe154725a1412fec0ab8fde76bcb5da78082899"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-- Host-owned, content-bound enrichment; never duplicates correction text or mutates a memory revision.
|
|
2
|
+
CREATE TABLE correction_classifications (
|
|
3
|
+
workspace TEXT NOT NULL,
|
|
4
|
+
entry_id TEXT NOT NULL REFERENCES entries(id) ON DELETE CASCADE,
|
|
5
|
+
entry_revision INTEGER NOT NULL CHECK(entry_revision > 0),
|
|
6
|
+
input_digest TEXT NOT NULL,
|
|
7
|
+
policy_version TEXT NOT NULL,
|
|
8
|
+
configuration_digest TEXT NOT NULL,
|
|
9
|
+
result_json TEXT NOT NULL,
|
|
10
|
+
PRIMARY KEY(workspace,entry_id,entry_revision,input_digest,policy_version,configuration_digest)
|
|
11
|
+
);
|