@colophon-claims/verify 0.0.0 → 0.2.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/README.md +39 -0
- package/dist/admission/application.d.ts +18 -0
- package/dist/admission/application.js +53 -0
- package/dist/admission/contracts.d.ts +506 -0
- package/dist/admission/contracts.js +459 -0
- package/dist/admission/index.d.ts +5 -0
- package/dist/admission/index.js +5 -0
- package/dist/admission/intake.d.ts +75 -0
- package/dist/admission/intake.js +70 -0
- package/dist/admission/result-evaluation.d.ts +18 -0
- package/dist/admission/result-evaluation.js +71 -0
- package/dist/admission/screening-sample.d.ts +56 -0
- package/dist/admission/screening-sample.js +126 -0
- package/dist/admission/verification.d.ts +102 -0
- package/dist/admission/verification.js +844 -0
- package/dist/anchor/check.d.ts +95 -0
- package/dist/anchor/check.js +146 -0
- package/dist/anchor/ports.d.ts +6 -0
- package/dist/anchor/ports.js +354 -0
- package/dist/assets.d.ts +33 -0
- package/dist/assets.js +885 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +20 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.js +205 -0
- package/dist/comparison.d.ts +64 -0
- package/dist/comparison.js +235 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +23 -0
- package/dist/manifest.d.ts +54 -0
- package/dist/manifest.js +240 -0
- package/dist/materialize.d.ts +4 -0
- package/dist/materialize.js +13 -0
- package/dist/profile/admission-receipts.d.ts +11 -0
- package/dist/profile/admission-receipts.js +24 -0
- package/dist/profile/anchor-claims.d.ts +157 -0
- package/dist/profile/anchor-claims.js +330 -0
- package/dist/profile/artifacts.d.ts +261 -0
- package/dist/profile/artifacts.js +139 -0
- package/dist/profile/assembly-ports.d.ts +19 -0
- package/dist/profile/assembly-ports.js +42 -0
- package/dist/profile/binary-judge-manifest.d.ts +121 -0
- package/dist/profile/binary-judge-manifest.js +106 -0
- package/dist/profile/binary-qualification.d.ts +9 -0
- package/dist/profile/binary-qualification.js +58 -0
- package/dist/profile/branding-assets.d.ts +5 -0
- package/dist/profile/branding-assets.js +5 -0
- package/dist/profile/branding.d.ts +24 -0
- package/dist/profile/branding.js +14 -0
- package/dist/profile/claim-consistency.d.ts +26 -0
- package/dist/profile/claim-consistency.js +91 -0
- package/dist/profile/claim.d.ts +327 -0
- package/dist/profile/claim.js +742 -0
- package/dist/profile/errors.d.ts +49 -0
- package/dist/profile/errors.js +78 -0
- package/dist/profile/inspect-assurance.d.ts +16 -0
- package/dist/profile/inspect-assurance.js +30 -0
- package/dist/profile/inspect-disclosure.d.ts +28 -0
- package/dist/profile/inspect-disclosure.js +54 -0
- package/dist/profile/inspect-manifest.d.ts +706 -0
- package/dist/profile/inspect-manifest.js +397 -0
- package/dist/profile/isolation.d.ts +21 -0
- package/dist/profile/isolation.js +31 -0
- package/dist/profile/pinning-evidence.d.ts +41 -0
- package/dist/profile/pinning-evidence.js +43 -0
- package/dist/profile/ports.d.ts +3 -0
- package/dist/profile/ports.js +11 -0
- package/dist/profile/preview-log.d.ts +4 -0
- package/dist/profile/preview-log.js +3 -0
- package/dist/profile/run-results.d.ts +17 -0
- package/dist/profile/run-results.js +23 -0
- package/dist/profile/signing.d.ts +10 -0
- package/dist/profile/signing.js +46 -0
- package/dist/profile/trust.d.ts +13 -0
- package/dist/profile/trust.js +35 -0
- package/dist/profile/venue.d.ts +2 -0
- package/dist/profile/venue.js +2 -0
- package/dist/profile/verdict.d.ts +28 -0
- package/dist/profile/verdict.js +51 -0
- package/dist/reader-instructions.d.ts +41 -0
- package/dist/reader-instructions.js +52 -0
- package/dist/schema.d.ts +380 -0
- package/dist/schema.js +498 -0
- package/dist/verify.d.ts +72 -0
- package/dist/verify.js +1573 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +2 -0
- package/package.json +63 -3
- package/schemas/assembly-row.schema.json +194 -0
- package/schemas/bundle-manifest.schema.json +23 -0
- package/schemas/claim-package.schema.json +279 -0
- package/schemas/dsse-envelope.schema.json +25 -0
- package/schemas/evidence-catalog.schema.json +43 -0
- package/schemas/public-trust.schema.json +44 -0
- package/schemas/verdict-catalog.schema.json +27 -0
- package/scripts/external-verify.py +238 -0
package/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# @colophon-claims/verify
|
|
2
|
+
|
|
3
|
+
Verify a public Colophon claim bundle without the Colophon app or any execution runtime:
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npx @colophon-claims/verify@0.2 ./bundle
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Use `--json` for machine-readable output. The reader runs the checks declared by the
|
|
10
|
+
bundle format, covering its manifest, evidence closure, calculations, report, and claim
|
|
11
|
+
consistency. Exit status is `0` when every check passes, `1` for an invalid bundle, and
|
|
12
|
+
`2` for usage or operational failures.
|
|
13
|
+
|
|
14
|
+
This 0.2 reader supports public bundle formats v2, v4, v5, and v6. It intentionally
|
|
15
|
+
rejects the unrelated accounting bundle v3. Formats v2 and v4 run six checks; the
|
|
16
|
+
evidence-native v5 and anchored v6 formats run seven.
|
|
17
|
+
Existing claim bundles retain their recorded verifier pins. Use this 0.2 reader
|
|
18
|
+
for prompted-screening v2 support and the compatible `@0.2` line for this
|
|
19
|
+
release.
|
|
20
|
+
For this one-time prompted-screening v2 release, `@jinn-network/*` is pinned to
|
|
21
|
+
the exact `0.1.0-canary.sha.e00b2fc47fc5635b007eb349fb1e41aa81bb3c50` receipt.
|
|
22
|
+
It is not a floating `@canary` dependency and is not a stable stack release.
|
|
23
|
+
|
|
24
|
+
Verification opens no network connection, reads no account or API credential, and uploads
|
|
25
|
+
nothing. It checks the bundle's integrity, evidence closure, calculations, report, and claim
|
|
26
|
+
consistency. It does not prove that the producing machine was honest or that the compared
|
|
27
|
+
identities are independent parties.
|
|
28
|
+
|
|
29
|
+
Bundles are also verifiable without this package: `../EXTERNAL-VERIFICATION.md` specifies
|
|
30
|
+
the external path (openssl plus a dependency-free script, shipped here as
|
|
31
|
+
`scripts/external-verify.py`), the JSON Schemas under `schemas/`, and the conformance kit
|
|
32
|
+
under `fixtures/public-bundle-conformance-v1/` for testing an independent verifier.
|
|
33
|
+
|
|
34
|
+
## What this does not yet prove
|
|
35
|
+
|
|
36
|
+
Protocol identifiers in the installed platform packages name `https://spec.jinn.network/…`.
|
|
37
|
+
That origin is not hosted yet. This verifier checks the bundle against the exact
|
|
38
|
+
`@jinn-network/*` bytes installed from npm. A third party who fetches those identifiers
|
|
39
|
+
from the live origin will not retrieve them.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BinaryJudgmentPayload, type EvaluationSpec } from "@jinn-network/task-execution-profiles";
|
|
2
|
+
export declare const HUMAN_REVIEW_FORM: {
|
|
3
|
+
readonly protocol: "https://spec.jinn.network/binary-judgment/human-review-form/v1";
|
|
4
|
+
readonly question: "Is the candidate answer correct relative to the question and reference answer?";
|
|
5
|
+
readonly labels: readonly ["CORRECT", "WRONG", "indeterminate"];
|
|
6
|
+
readonly completeReviewRequired: true;
|
|
7
|
+
readonly rationale: "optional";
|
|
8
|
+
};
|
|
9
|
+
export declare const HUMAN_REVIEW_FORM_SEALED: {
|
|
10
|
+
bytes: Uint8Array;
|
|
11
|
+
digest: `sha256:${string}`;
|
|
12
|
+
};
|
|
13
|
+
export declare function binaryJudgmentItemBytes(item: BinaryJudgmentPayload): Uint8Array;
|
|
14
|
+
export declare function buildBinaryJudgmentHumanReviewEvaluationSpec(): EvaluationSpec;
|
|
15
|
+
export declare const BINARY_JUDGMENT_HUMAN_REVIEW_EVALUATION_SPEC_SEALED: {
|
|
16
|
+
bytes: Uint8Array;
|
|
17
|
+
digest: `sha256:${string}`;
|
|
18
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { EVALUATION_SPEC_FORMAT_URI, EVAL_SEMANTICS_VERSION, canonicalJsonBytes, sealDocument, sealEvaluationSpec, } from "@jinn-network/task-execution-profiles";
|
|
3
|
+
export const HUMAN_REVIEW_FORM = {
|
|
4
|
+
protocol: "https://spec.jinn.network/binary-judgment/human-review-form/v1",
|
|
5
|
+
question: "Is the candidate answer correct relative to the question and reference answer?",
|
|
6
|
+
labels: ["CORRECT", "WRONG", "indeterminate"],
|
|
7
|
+
completeReviewRequired: true,
|
|
8
|
+
rationale: "optional",
|
|
9
|
+
};
|
|
10
|
+
export const HUMAN_REVIEW_FORM_SEALED = sealDocument(HUMAN_REVIEW_FORM);
|
|
11
|
+
export function binaryJudgmentItemBytes(item) {
|
|
12
|
+
return canonicalJsonBytes(item);
|
|
13
|
+
}
|
|
14
|
+
export function buildBinaryJudgmentHumanReviewEvaluationSpec() {
|
|
15
|
+
return {
|
|
16
|
+
protocol: EVALUATION_SPEC_FORMAT_URI,
|
|
17
|
+
semanticsVersion: EVAL_SEMANTICS_VERSION,
|
|
18
|
+
family: "human-review",
|
|
19
|
+
grader: {
|
|
20
|
+
name: "external-human-review",
|
|
21
|
+
uri: HUMAN_REVIEW_FORM.protocol,
|
|
22
|
+
digest: { sha256: HUMAN_REVIEW_FORM_SEALED.digest.slice("sha256:".length) },
|
|
23
|
+
mediaType: "application/vnd.jinn.binary-judgment.human-review-form.v1+json",
|
|
24
|
+
accessClass: "public",
|
|
25
|
+
},
|
|
26
|
+
familyBlock: {
|
|
27
|
+
reviewForm: {
|
|
28
|
+
name: "human-review-form.json",
|
|
29
|
+
uri: HUMAN_REVIEW_FORM.protocol,
|
|
30
|
+
digest: { sha256: HUMAN_REVIEW_FORM_SEALED.digest.slice("sha256:".length) },
|
|
31
|
+
mediaType: "application/vnd.jinn.binary-judgment.human-review-form.v1+json",
|
|
32
|
+
},
|
|
33
|
+
reviewerQualifications: { roleDeclaredInRoster: true },
|
|
34
|
+
attestationShape: {
|
|
35
|
+
labels: ["CORRECT", "WRONG", "indeterminate"],
|
|
36
|
+
completeReviewRequired: true,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
measurements: [
|
|
40
|
+
{ name: "truthLabel", type: "string", direction: "none", required: true },
|
|
41
|
+
{ name: "reviewComplete", type: "boolean", direction: "none", required: true },
|
|
42
|
+
{ name: "reviewPacketSha256", type: "string", direction: "none", required: true },
|
|
43
|
+
{ name: "visibilityReceiptSha256", type: "string", direction: "none", required: true },
|
|
44
|
+
{ name: "responseSha256", type: "string", direction: "none", required: true },
|
|
45
|
+
],
|
|
46
|
+
verdictRule: { threshold: { measurement: "truthLabel", op: "eq", value: "CORRECT" } },
|
|
47
|
+
unscorable: [{ name: "indeterminate", disposition: "recorded-inconclusive" }],
|
|
48
|
+
evidenceConventions: {
|
|
49
|
+
requiredRefs: ["human-review-packet", "visibility-receipt", "human-review-response"],
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export const BINARY_JUDGMENT_HUMAN_REVIEW_EVALUATION_SPEC_SEALED = sealEvaluationSpec(buildBinaryJudgmentHumanReviewEvaluationSpec());
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const HUMAN_REVIEW_PACKET_PROTOCOL: "https://spec.jinn.network/binary-judgment/human-review-packet/v1";
|
|
3
|
+
export declare const HUMAN_REVIEW_RESPONSE_PROTOCOL: "https://spec.jinn.network/binary-judgment/human-review-response/v1";
|
|
4
|
+
export declare const HUMAN_REVIEW_VISIBILITY_RECEIPT_PROTOCOL: "https://spec.jinn.network/binary-judgment/visibility-receipt/v1";
|
|
5
|
+
export declare const HUMAN_REVIEW_ROSTER_PROTOCOL: "https://spec.jinn.network/binary-judgment/reviewer-roster/v1";
|
|
6
|
+
export declare const HUMAN_REVIEW_REVEAL_RECEIPT_PROTOCOL: "https://spec.jinn.network/binary-judgment/reveal-receipt/v1";
|
|
7
|
+
export declare const HUMAN_REVIEW_REPLACEMENT_LEDGER_PROTOCOL: "https://spec.jinn.network/binary-judgment/replacement-ledger/v1";
|
|
8
|
+
export declare const HUMAN_REVIEW_OPERATOR_ASSERTION_PROTOCOL: "https://spec.jinn.network/binary-judgment/operator-truth-assertion/v1";
|
|
9
|
+
export declare const BINARY_JUDGMENT_ADMISSION_MANIFEST_PROTOCOL: "https://spec.jinn.network/binary-judgment/admission-manifest/v1";
|
|
10
|
+
export declare const SCREENING_TABLE_PROTOCOL: "https://spec.jinn.network/binary-judgment/screening-table/v1";
|
|
11
|
+
export declare const PROMPTED_SCREENING_PROCEDURE_PROTOCOL: "https://spec.jinn.network/binary-judgment/prompted-screening-procedure/v1";
|
|
12
|
+
export declare const SCREENING_POOL_PROTOCOL: "https://spec.jinn.network/binary-judgment/screening-pool/v1";
|
|
13
|
+
export declare const SCREENING_SAMPLE_COMMITMENT_PROTOCOL: "https://spec.jinn.network/binary-judgment/screening-sample-commitment/v1";
|
|
14
|
+
export declare const SCREENING_TABLE_V2_PROTOCOL: "https://spec.jinn.network/binary-judgment/screening-table/v2";
|
|
15
|
+
export declare const SCREENING_REVEAL_RECEIPT_PROTOCOL: "https://spec.jinn.network/binary-judgment/screening-reveal-receipt/v1";
|
|
16
|
+
export declare const HUMAN_REVIEW_PACKET_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.human-review-packet.v1+json";
|
|
17
|
+
export declare const HUMAN_REVIEW_RESPONSE_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.human-review-response.v1+json";
|
|
18
|
+
export declare const HUMAN_REVIEW_VISIBILITY_RECEIPT_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.visibility-receipt.v1+json";
|
|
19
|
+
export declare const HUMAN_REVIEW_ROSTER_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.reviewer-roster.v1+json";
|
|
20
|
+
export declare const HUMAN_REVIEW_REVEAL_RECEIPT_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.reveal-receipt.v1+json";
|
|
21
|
+
export declare const HUMAN_REVIEW_OPERATOR_ASSERTION_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.operator-truth-assertion.v1+json";
|
|
22
|
+
export declare const SCREENING_TABLE_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.screening-table.v1+json";
|
|
23
|
+
export declare const SCREENING_TABLE_V2_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.screening-table.v2+json";
|
|
24
|
+
export declare const SCREENING_REVEAL_RECEIPT_MEDIA_TYPE: "application/vnd.jinn.binary-judgment.screening-reveal-receipt.v1+json";
|
|
25
|
+
export declare const HUMAN_REVIEW_OMITTED_FIELDS: readonly ["instrumentIdentity", "candidateClass", "stratum", "otherReview", "postRunOutcomes"];
|
|
26
|
+
export declare const HumanReviewPacketSchema: z.ZodObject<{
|
|
27
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/human-review-packet/v1">;
|
|
28
|
+
itemSha256: z.ZodString;
|
|
29
|
+
item: z.ZodObject<{
|
|
30
|
+
itemId: z.ZodString;
|
|
31
|
+
question: z.ZodString;
|
|
32
|
+
referenceAnswer: z.ZodString;
|
|
33
|
+
candidateAnswer: z.ZodString;
|
|
34
|
+
evidence: z.ZodOptional<z.ZodString>;
|
|
35
|
+
provenance: z.ZodObject<{
|
|
36
|
+
sourceCommitment: z.ZodString;
|
|
37
|
+
timestamp: z.ZodString;
|
|
38
|
+
}, z.core.$strict>;
|
|
39
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
40
|
+
digest: z.ZodObject<{
|
|
41
|
+
sha256: z.ZodString;
|
|
42
|
+
}, z.core.$strict>;
|
|
43
|
+
}, z.core.$strict>>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
evaluationSpecSha256: z.ZodString;
|
|
46
|
+
reviewerId: z.ZodString;
|
|
47
|
+
form: z.ZodObject<{
|
|
48
|
+
question: z.ZodLiteral<"Is the candidate answer correct relative to the question and reference answer?">;
|
|
49
|
+
labels: z.ZodTuple<[z.ZodLiteral<"CORRECT">, z.ZodLiteral<"WRONG">, z.ZodLiteral<"indeterminate">], null>;
|
|
50
|
+
completeReviewRequired: z.ZodLiteral<true>;
|
|
51
|
+
}, z.core.$strict>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
export type HumanReviewPacket = z.infer<typeof HumanReviewPacketSchema>;
|
|
54
|
+
export declare const HumanReviewVisibilityReceiptSchema: z.ZodObject<{
|
|
55
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/visibility-receipt/v1">;
|
|
56
|
+
packetSha256: z.ZodString;
|
|
57
|
+
itemSha256: z.ZodString;
|
|
58
|
+
reviewerId: z.ZodString;
|
|
59
|
+
omittedFields: z.ZodTuple<[z.ZodLiteral<"instrumentIdentity">, z.ZodLiteral<"candidateClass">, z.ZodLiteral<"stratum">, z.ZodLiteral<"otherReview">, z.ZodLiteral<"postRunOutcomes">], null>;
|
|
60
|
+
issuedAt: z.ZodString;
|
|
61
|
+
}, z.core.$strict>;
|
|
62
|
+
export type HumanReviewVisibilityReceipt = z.infer<typeof HumanReviewVisibilityReceiptSchema>;
|
|
63
|
+
export declare const HumanReviewResponseSchema: z.ZodObject<{
|
|
64
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/human-review-response/v1">;
|
|
65
|
+
packetSha256: z.ZodString;
|
|
66
|
+
visibilityReceiptSha256: z.ZodString;
|
|
67
|
+
itemSha256: z.ZodString;
|
|
68
|
+
evaluatorId: z.ZodString;
|
|
69
|
+
label: z.ZodUnion<readonly [z.ZodEnum<{
|
|
70
|
+
CORRECT: "CORRECT";
|
|
71
|
+
WRONG: "WRONG";
|
|
72
|
+
}>, z.ZodLiteral<"indeterminate">]>;
|
|
73
|
+
complete: z.ZodBoolean;
|
|
74
|
+
completedAt: z.ZodString;
|
|
75
|
+
}, z.core.$strict>;
|
|
76
|
+
export type HumanReviewResponse = z.infer<typeof HumanReviewResponseSchema>;
|
|
77
|
+
export declare const ReviewerDeclarationSchema: z.ZodObject<{
|
|
78
|
+
evaluatorId: z.ZodString;
|
|
79
|
+
keyId: z.ZodString;
|
|
80
|
+
personId: z.ZodString;
|
|
81
|
+
role: z.ZodString;
|
|
82
|
+
conflicts: z.ZodArray<z.ZodString>;
|
|
83
|
+
}, z.core.$strict>;
|
|
84
|
+
export declare const HumanReviewRosterSchema: z.ZodObject<{
|
|
85
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/reviewer-roster/v1">;
|
|
86
|
+
itemSha256: z.ZodString;
|
|
87
|
+
reviewers: z.ZodTuple<[z.ZodObject<{
|
|
88
|
+
evaluatorId: z.ZodString;
|
|
89
|
+
keyId: z.ZodString;
|
|
90
|
+
personId: z.ZodString;
|
|
91
|
+
role: z.ZodString;
|
|
92
|
+
conflicts: z.ZodArray<z.ZodString>;
|
|
93
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
94
|
+
evaluatorId: z.ZodString;
|
|
95
|
+
keyId: z.ZodString;
|
|
96
|
+
personId: z.ZodString;
|
|
97
|
+
role: z.ZodString;
|
|
98
|
+
conflicts: z.ZodArray<z.ZodString>;
|
|
99
|
+
}, z.core.$strict>], null>;
|
|
100
|
+
attestedBy: z.ZodString;
|
|
101
|
+
attestorKeyId: z.ZodString;
|
|
102
|
+
attestorRole: z.ZodLiteral<"roster-attestor">;
|
|
103
|
+
attestedAt: z.ZodString;
|
|
104
|
+
}, z.core.$strict>;
|
|
105
|
+
export type HumanReviewRoster = z.infer<typeof HumanReviewRosterSchema>;
|
|
106
|
+
export declare const HumanReviewRevealReceiptSchema: z.ZodObject<{
|
|
107
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/reveal-receipt/v1">;
|
|
108
|
+
draftId: z.ZodString;
|
|
109
|
+
itemSha256: z.ZodString;
|
|
110
|
+
truthFrozenAt: z.ZodString;
|
|
111
|
+
judgeExecutionState: z.ZodLiteral<"not-started">;
|
|
112
|
+
attestedBy: z.ZodString;
|
|
113
|
+
attestorKeyId: z.ZodString;
|
|
114
|
+
attestorRole: z.ZodLiteral<"truth-reveal-attestor">;
|
|
115
|
+
}, z.core.$strict>;
|
|
116
|
+
export type HumanReviewRevealReceipt = z.infer<typeof HumanReviewRevealReceiptSchema>;
|
|
117
|
+
/**
|
|
118
|
+
* `screening-reveal-receipt/v1` (spec §6.6): a bank-scoped sibling of `HumanReviewRevealReceiptSchema`
|
|
119
|
+
* above. Same ordering primitive, same attestor role, same `judgeExecutionState: "not-started"`
|
|
120
|
+
* gate — differing only in subject: the bank (`screeningTableSha256`), not an item (`itemSha256`).
|
|
121
|
+
* `AdmissionAuthorityRole` (`verify/src/admission/verification.ts`) is deliberately unchanged: this
|
|
122
|
+
* reuses `truth-reveal-attestor` rather than minting a new role.
|
|
123
|
+
*/
|
|
124
|
+
export declare const ScreeningRevealReceiptSchema: z.ZodObject<{
|
|
125
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/screening-reveal-receipt/v1">;
|
|
126
|
+
draftId: z.ZodString;
|
|
127
|
+
screeningTableSha256: z.ZodString;
|
|
128
|
+
truthFrozenAt: z.ZodString;
|
|
129
|
+
judgeExecutionState: z.ZodLiteral<"not-started">;
|
|
130
|
+
attestedBy: z.ZodString;
|
|
131
|
+
attestorKeyId: z.ZodString;
|
|
132
|
+
attestorRole: z.ZodLiteral<"truth-reveal-attestor">;
|
|
133
|
+
}, z.core.$strict>;
|
|
134
|
+
export type ScreeningRevealReceipt = z.infer<typeof ScreeningRevealReceiptSchema>;
|
|
135
|
+
/**
|
|
136
|
+
* One row of the `screening-table/v1` record (spec §6.3). `handVerdict` is present if and only if
|
|
137
|
+
* `handChecked === true`; both directions refuse. `handVerdict` deliberately does not reuse
|
|
138
|
+
* `BinaryJudgmentTruthLabelSchema` — the hand-check outcome space is confirm-or-exclude only, with
|
|
139
|
+
* no label corrections.
|
|
140
|
+
*/
|
|
141
|
+
export declare const ScreeningRowSchema: z.ZodObject<{
|
|
142
|
+
itemSha256: z.ZodString;
|
|
143
|
+
intendedLabel: z.ZodEnum<{
|
|
144
|
+
CORRECT: "CORRECT";
|
|
145
|
+
WRONG: "WRONG";
|
|
146
|
+
}>;
|
|
147
|
+
screeningVerdict: z.ZodUnion<readonly [z.ZodEnum<{
|
|
148
|
+
CORRECT: "CORRECT";
|
|
149
|
+
WRONG: "WRONG";
|
|
150
|
+
}>, z.ZodLiteral<"indeterminate">]>;
|
|
151
|
+
handChecked: z.ZodBoolean;
|
|
152
|
+
handVerdict: z.ZodOptional<z.ZodEnum<{
|
|
153
|
+
confirm: "confirm";
|
|
154
|
+
exclude: "exclude";
|
|
155
|
+
}>>;
|
|
156
|
+
}, z.core.$strict>;
|
|
157
|
+
export type ScreeningRow = z.infer<typeof ScreeningRowSchema>;
|
|
158
|
+
/**
|
|
159
|
+
* `screening-table/v1` (spec §6.3): one signed record per bank. Every derived quantity (the
|
|
160
|
+
* flagged set, the sample, the exclusions, the agreement rate) is a *view* of this table, never a
|
|
161
|
+
* stored field that can disagree with it — those recomputations live in `screening-sample.ts` and
|
|
162
|
+
* its siblings, not here. `screeningModel` is deliberately absent: it is derivable from
|
|
163
|
+
* `screeningInstrumentSha256`, and a second copy is a second thing to drift. The table is signed
|
|
164
|
+
* once, over the whole record, on the existing DSSE signing path used by the other admission
|
|
165
|
+
* records (`sealRoleEvidence`), not the ledger's non-DSSE path.
|
|
166
|
+
*/
|
|
167
|
+
export declare const ScreeningTableSchema: z.ZodObject<{
|
|
168
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/screening-table/v1">;
|
|
169
|
+
draftId: z.ZodString;
|
|
170
|
+
screeningInstrumentSha256: z.ZodString;
|
|
171
|
+
sampleSeed: z.ZodString;
|
|
172
|
+
sampleSize: z.ZodNumber;
|
|
173
|
+
samplingScriptSha256: z.ZodString;
|
|
174
|
+
rawOutputsSha256: z.ZodString;
|
|
175
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
176
|
+
itemSha256: z.ZodString;
|
|
177
|
+
intendedLabel: z.ZodEnum<{
|
|
178
|
+
CORRECT: "CORRECT";
|
|
179
|
+
WRONG: "WRONG";
|
|
180
|
+
}>;
|
|
181
|
+
screeningVerdict: z.ZodUnion<readonly [z.ZodEnum<{
|
|
182
|
+
CORRECT: "CORRECT";
|
|
183
|
+
WRONG: "WRONG";
|
|
184
|
+
}>, z.ZodLiteral<"indeterminate">]>;
|
|
185
|
+
handChecked: z.ZodBoolean;
|
|
186
|
+
handVerdict: z.ZodOptional<z.ZodEnum<{
|
|
187
|
+
confirm: "confirm";
|
|
188
|
+
exclude: "exclude";
|
|
189
|
+
}>>;
|
|
190
|
+
}, z.core.$strict>>;
|
|
191
|
+
sealedAt: z.ZodString;
|
|
192
|
+
}, z.core.$strict>;
|
|
193
|
+
export type ScreeningTable = z.infer<typeof ScreeningTableSchema>;
|
|
194
|
+
export declare const PROMPTED_SCREENING_PROFILE: "prompted-codex-screening/v1";
|
|
195
|
+
export declare const PROMPTED_SCREENING_LIMITATIONS: readonly ["prompt-compliance-not-machine-verified", "provider-execution-not-machine-verified", "transcript-provenance-not-machine-verified", "mutable-model-alias-weights-not-machine-verified"];
|
|
196
|
+
/** Closed, machine-checkable orchestration metadata. Prompt and transcript bytes stay opaque. */
|
|
197
|
+
export declare const PromptedScreeningProcedureV1Schema: z.ZodObject<{
|
|
198
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/prompted-screening-procedure/v1">;
|
|
199
|
+
procedureId: z.ZodLiteral<"prompted-codex-screening/v1">;
|
|
200
|
+
coordinatorPromptSha256: z.ZodString;
|
|
201
|
+
coordinator: z.ZodObject<{
|
|
202
|
+
alias: z.ZodLiteral<"Sol">;
|
|
203
|
+
model: z.ZodLiteral<"gpt-5.6-sol">;
|
|
204
|
+
reasoningEffort: z.ZodLiteral<"high">;
|
|
205
|
+
mayOrchestrate: z.ZodLiteral<true>;
|
|
206
|
+
}, z.core.$strict>;
|
|
207
|
+
judgmentAgents: z.ZodTuple<[z.ZodObject<{
|
|
208
|
+
alias: z.ZodLiteral<"Luna">;
|
|
209
|
+
model: z.ZodLiteral<"gpt-5.6-luna">;
|
|
210
|
+
reasoningEffort: z.ZodLiteral<"medium" | "high">;
|
|
211
|
+
maxBatchSize: z.ZodLiteral<32>;
|
|
212
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
213
|
+
alias: z.ZodLiteral<"Terra">;
|
|
214
|
+
model: z.ZodLiteral<"gpt-5.6-terra">;
|
|
215
|
+
reasoningEffort: z.ZodLiteral<"medium" | "high">;
|
|
216
|
+
maxBatchSize: z.ZodLiteral<16>;
|
|
217
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
218
|
+
alias: z.ZodLiteral<"Sol">;
|
|
219
|
+
model: z.ZodLiteral<"gpt-5.6-sol">;
|
|
220
|
+
reasoningEffort: z.ZodLiteral<"medium" | "high">;
|
|
221
|
+
maxBatchSize: z.ZodLiteral<8>;
|
|
222
|
+
}, z.core.$strict>], null>;
|
|
223
|
+
toolPolicy: z.ZodObject<{
|
|
224
|
+
coordinator: z.ZodLiteral<"orchestration-only">;
|
|
225
|
+
judgmentAgents: z.ZodObject<{
|
|
226
|
+
web: z.ZodLiteral<false>;
|
|
227
|
+
shell: z.ZodLiteral<false>;
|
|
228
|
+
repository: z.ZodLiteral<false>;
|
|
229
|
+
search: z.ZodLiteral<false>;
|
|
230
|
+
}, z.core.$strict>;
|
|
231
|
+
}, z.core.$strict>;
|
|
232
|
+
output: z.ZodObject<{
|
|
233
|
+
alphabet: z.ZodTuple<[z.ZodLiteral<"CORRECT">, z.ZodLiteral<"WRONG">, z.ZodLiteral<"UNSURE">], null>;
|
|
234
|
+
invalidOutputDecision: z.ZodLiteral<"UNSURE">;
|
|
235
|
+
}, z.core.$strict>;
|
|
236
|
+
retry: z.ZodObject<{
|
|
237
|
+
maxRetries: z.ZodLiteral<1>;
|
|
238
|
+
onlyWhen: z.ZodLiteral<"infrastructure-failure-with-no-model-output">;
|
|
239
|
+
prompt: z.ZodLiteral<"identical">;
|
|
240
|
+
}, z.core.$strict>;
|
|
241
|
+
transcriptSha256: z.ZodString;
|
|
242
|
+
sealedAt: z.ZodString;
|
|
243
|
+
}, z.core.$strict>;
|
|
244
|
+
export type PromptedScreeningProcedureV1 = z.infer<typeof PromptedScreeningProcedureV1Schema>;
|
|
245
|
+
export declare const SCREENING_POOL_CANDIDATE_CLASSES: readonly ["correct", "specific-wrong", "vague-topical-wrong"];
|
|
246
|
+
export declare const SCREENING_POOL_STRATA: readonly ["category-1", "category-2", "category-3", "category-4"];
|
|
247
|
+
export declare const ScreeningPoolItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
248
|
+
itemSha256: z.ZodString;
|
|
249
|
+
intendedLabel: z.ZodEnum<{
|
|
250
|
+
CORRECT: "CORRECT";
|
|
251
|
+
WRONG: "WRONG";
|
|
252
|
+
}>;
|
|
253
|
+
candidateClass: z.ZodEnum<{
|
|
254
|
+
correct: "correct";
|
|
255
|
+
"specific-wrong": "specific-wrong";
|
|
256
|
+
"vague-topical-wrong": "vague-topical-wrong";
|
|
257
|
+
}>;
|
|
258
|
+
stratum: z.ZodEnum<{
|
|
259
|
+
"category-1": "category-1";
|
|
260
|
+
"category-2": "category-2";
|
|
261
|
+
"category-3": "category-3";
|
|
262
|
+
"category-4": "category-4";
|
|
263
|
+
}>;
|
|
264
|
+
poolPosition: z.ZodNumber;
|
|
265
|
+
slotId: z.ZodString;
|
|
266
|
+
poolKind: z.ZodLiteral<"main">;
|
|
267
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
268
|
+
itemSha256: z.ZodString;
|
|
269
|
+
intendedLabel: z.ZodEnum<{
|
|
270
|
+
CORRECT: "CORRECT";
|
|
271
|
+
WRONG: "WRONG";
|
|
272
|
+
}>;
|
|
273
|
+
candidateClass: z.ZodEnum<{
|
|
274
|
+
correct: "correct";
|
|
275
|
+
"specific-wrong": "specific-wrong";
|
|
276
|
+
"vague-topical-wrong": "vague-topical-wrong";
|
|
277
|
+
}>;
|
|
278
|
+
stratum: z.ZodEnum<{
|
|
279
|
+
"category-1": "category-1";
|
|
280
|
+
"category-2": "category-2";
|
|
281
|
+
"category-3": "category-3";
|
|
282
|
+
"category-4": "category-4";
|
|
283
|
+
}>;
|
|
284
|
+
poolPosition: z.ZodNumber;
|
|
285
|
+
slotId: z.ZodString;
|
|
286
|
+
poolKind: z.ZodLiteral<"reserve">;
|
|
287
|
+
reserveOrder: z.ZodNumber;
|
|
288
|
+
}, z.core.$strict>], "poolKind">;
|
|
289
|
+
export type ScreeningPoolItem = z.infer<typeof ScreeningPoolItemSchema>;
|
|
290
|
+
/** The complete, ordered 240-main plus 424-reserve candidate universe. */
|
|
291
|
+
export declare const ScreeningPoolV1Schema: z.ZodObject<{
|
|
292
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/screening-pool/v1">;
|
|
293
|
+
draftId: z.ZodString;
|
|
294
|
+
identityCommitmentSha256: z.ZodString;
|
|
295
|
+
items: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
296
|
+
itemSha256: z.ZodString;
|
|
297
|
+
intendedLabel: z.ZodEnum<{
|
|
298
|
+
CORRECT: "CORRECT";
|
|
299
|
+
WRONG: "WRONG";
|
|
300
|
+
}>;
|
|
301
|
+
candidateClass: z.ZodEnum<{
|
|
302
|
+
correct: "correct";
|
|
303
|
+
"specific-wrong": "specific-wrong";
|
|
304
|
+
"vague-topical-wrong": "vague-topical-wrong";
|
|
305
|
+
}>;
|
|
306
|
+
stratum: z.ZodEnum<{
|
|
307
|
+
"category-1": "category-1";
|
|
308
|
+
"category-2": "category-2";
|
|
309
|
+
"category-3": "category-3";
|
|
310
|
+
"category-4": "category-4";
|
|
311
|
+
}>;
|
|
312
|
+
poolPosition: z.ZodNumber;
|
|
313
|
+
slotId: z.ZodString;
|
|
314
|
+
poolKind: z.ZodLiteral<"main">;
|
|
315
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
316
|
+
itemSha256: z.ZodString;
|
|
317
|
+
intendedLabel: z.ZodEnum<{
|
|
318
|
+
CORRECT: "CORRECT";
|
|
319
|
+
WRONG: "WRONG";
|
|
320
|
+
}>;
|
|
321
|
+
candidateClass: z.ZodEnum<{
|
|
322
|
+
correct: "correct";
|
|
323
|
+
"specific-wrong": "specific-wrong";
|
|
324
|
+
"vague-topical-wrong": "vague-topical-wrong";
|
|
325
|
+
}>;
|
|
326
|
+
stratum: z.ZodEnum<{
|
|
327
|
+
"category-1": "category-1";
|
|
328
|
+
"category-2": "category-2";
|
|
329
|
+
"category-3": "category-3";
|
|
330
|
+
"category-4": "category-4";
|
|
331
|
+
}>;
|
|
332
|
+
poolPosition: z.ZodNumber;
|
|
333
|
+
slotId: z.ZodString;
|
|
334
|
+
poolKind: z.ZodLiteral<"reserve">;
|
|
335
|
+
reserveOrder: z.ZodNumber;
|
|
336
|
+
}, z.core.$strict>], "poolKind">>;
|
|
337
|
+
sealedAt: z.ZodString;
|
|
338
|
+
}, z.core.$strict>;
|
|
339
|
+
export type ScreeningPoolV1 = z.infer<typeof ScreeningPoolV1Schema>;
|
|
340
|
+
export declare const ScreeningSampleCommitmentV1Schema: z.ZodObject<{
|
|
341
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/screening-sample-commitment/v1">;
|
|
342
|
+
draftId: z.ZodString;
|
|
343
|
+
poolSha256: z.ZodString;
|
|
344
|
+
poolIdentityCommitmentSha256: z.ZodString;
|
|
345
|
+
samplingProcedure: z.ZodLiteral<"screening-sample/1">;
|
|
346
|
+
sampleSeed: z.ZodString;
|
|
347
|
+
sampleSize: z.ZodLiteral<72>;
|
|
348
|
+
sampleItemSha256s: z.ZodArray<z.ZodString>;
|
|
349
|
+
committedAt: z.ZodString;
|
|
350
|
+
}, z.core.$strict>;
|
|
351
|
+
export type ScreeningSampleCommitmentV1 = z.infer<typeof ScreeningSampleCommitmentV1Schema>;
|
|
352
|
+
export declare const PromptedScreeningRowV2Schema: z.ZodObject<{
|
|
353
|
+
itemSha256: z.ZodString;
|
|
354
|
+
intendedLabel: z.ZodEnum<{
|
|
355
|
+
CORRECT: "CORRECT";
|
|
356
|
+
WRONG: "WRONG";
|
|
357
|
+
}>;
|
|
358
|
+
screeningVerdict: z.ZodEnum<{
|
|
359
|
+
CORRECT: "CORRECT";
|
|
360
|
+
WRONG: "WRONG";
|
|
361
|
+
UNSURE: "UNSURE";
|
|
362
|
+
}>;
|
|
363
|
+
terraReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
364
|
+
CORRECT: "CORRECT";
|
|
365
|
+
WRONG: "WRONG";
|
|
366
|
+
UNSURE: "UNSURE";
|
|
367
|
+
}>>;
|
|
368
|
+
solReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
369
|
+
CORRECT: "CORRECT";
|
|
370
|
+
WRONG: "WRONG";
|
|
371
|
+
UNSURE: "UNSURE";
|
|
372
|
+
}>>;
|
|
373
|
+
ritsuDecision: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
374
|
+
checked: z.ZodLiteral<false>;
|
|
375
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
376
|
+
checked: z.ZodLiteral<true>;
|
|
377
|
+
verdict: z.ZodEnum<{
|
|
378
|
+
confirm: "confirm";
|
|
379
|
+
exclude: "exclude";
|
|
380
|
+
}>;
|
|
381
|
+
decidedAt: z.ZodString;
|
|
382
|
+
}, z.core.$strict>], "checked">;
|
|
383
|
+
}, z.core.$strict>;
|
|
384
|
+
export type PromptedScreeningRowV2 = z.infer<typeof PromptedScreeningRowV2Schema>;
|
|
385
|
+
/** Signed authority decision table for the prompted Codex procedure. */
|
|
386
|
+
export declare const ScreeningTableV2Schema: z.ZodObject<{
|
|
387
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/screening-table/v2">;
|
|
388
|
+
draftId: z.ZodString;
|
|
389
|
+
procedureSha256: z.ZodString;
|
|
390
|
+
coordinatorPromptSha256: z.ZodString;
|
|
391
|
+
poolSha256: z.ZodString;
|
|
392
|
+
sampleCommitmentSha256: z.ZodString;
|
|
393
|
+
samplingScriptSha256: z.ZodString;
|
|
394
|
+
transcriptSha256: z.ZodString;
|
|
395
|
+
operator: z.ZodLiteral<"Ritsu">;
|
|
396
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
397
|
+
itemSha256: z.ZodString;
|
|
398
|
+
intendedLabel: z.ZodEnum<{
|
|
399
|
+
CORRECT: "CORRECT";
|
|
400
|
+
WRONG: "WRONG";
|
|
401
|
+
}>;
|
|
402
|
+
screeningVerdict: z.ZodEnum<{
|
|
403
|
+
CORRECT: "CORRECT";
|
|
404
|
+
WRONG: "WRONG";
|
|
405
|
+
UNSURE: "UNSURE";
|
|
406
|
+
}>;
|
|
407
|
+
terraReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
408
|
+
CORRECT: "CORRECT";
|
|
409
|
+
WRONG: "WRONG";
|
|
410
|
+
UNSURE: "UNSURE";
|
|
411
|
+
}>>;
|
|
412
|
+
solReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
413
|
+
CORRECT: "CORRECT";
|
|
414
|
+
WRONG: "WRONG";
|
|
415
|
+
UNSURE: "UNSURE";
|
|
416
|
+
}>>;
|
|
417
|
+
ritsuDecision: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
418
|
+
checked: z.ZodLiteral<false>;
|
|
419
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
420
|
+
checked: z.ZodLiteral<true>;
|
|
421
|
+
verdict: z.ZodEnum<{
|
|
422
|
+
confirm: "confirm";
|
|
423
|
+
exclude: "exclude";
|
|
424
|
+
}>;
|
|
425
|
+
decidedAt: z.ZodString;
|
|
426
|
+
}, z.core.$strict>], "checked">;
|
|
427
|
+
}, z.core.$strict>>;
|
|
428
|
+
sealedAt: z.ZodString;
|
|
429
|
+
}, z.core.$strict>;
|
|
430
|
+
export type ScreeningTableV2 = z.infer<typeof ScreeningTableV2Schema>;
|
|
431
|
+
export declare const HumanReviewReplacementLedgerEntrySchema: z.ZodObject<{
|
|
432
|
+
excludedItemSha256: z.ZodString;
|
|
433
|
+
replacementItemSha256: z.ZodString;
|
|
434
|
+
candidateClass: z.ZodString;
|
|
435
|
+
stratum: z.ZodString;
|
|
436
|
+
excludedPoolPosition: z.ZodNumber;
|
|
437
|
+
replacementPoolPosition: z.ZodNumber;
|
|
438
|
+
reason: z.ZodEnum<{
|
|
439
|
+
"review-disagreement": "review-disagreement";
|
|
440
|
+
"review-indeterminate": "review-indeterminate";
|
|
441
|
+
"review-incomplete": "review-incomplete";
|
|
442
|
+
"screening-disagreement": "screening-disagreement";
|
|
443
|
+
"screening-indeterminate": "screening-indeterminate";
|
|
444
|
+
"screening-hand-excluded": "screening-hand-excluded";
|
|
445
|
+
}>;
|
|
446
|
+
reviewVerdictSha256s: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
447
|
+
visibilityReceiptSha256s: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
448
|
+
reviewerRosterSha256: z.ZodOptional<z.ZodString>;
|
|
449
|
+
revealReceiptSha256: z.ZodOptional<z.ZodString>;
|
|
450
|
+
}, z.core.$strict>;
|
|
451
|
+
export declare const HumanReviewReplacementLedgerSchema: z.ZodObject<{
|
|
452
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/replacement-ledger/v1">;
|
|
453
|
+
draftId: z.ZodString;
|
|
454
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
455
|
+
excludedItemSha256: z.ZodString;
|
|
456
|
+
replacementItemSha256: z.ZodString;
|
|
457
|
+
candidateClass: z.ZodString;
|
|
458
|
+
stratum: z.ZodString;
|
|
459
|
+
excludedPoolPosition: z.ZodNumber;
|
|
460
|
+
replacementPoolPosition: z.ZodNumber;
|
|
461
|
+
reason: z.ZodEnum<{
|
|
462
|
+
"review-disagreement": "review-disagreement";
|
|
463
|
+
"review-indeterminate": "review-indeterminate";
|
|
464
|
+
"review-incomplete": "review-incomplete";
|
|
465
|
+
"screening-disagreement": "screening-disagreement";
|
|
466
|
+
"screening-indeterminate": "screening-indeterminate";
|
|
467
|
+
"screening-hand-excluded": "screening-hand-excluded";
|
|
468
|
+
}>;
|
|
469
|
+
reviewVerdictSha256s: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
470
|
+
visibilityReceiptSha256s: z.ZodOptional<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
471
|
+
reviewerRosterSha256: z.ZodOptional<z.ZodString>;
|
|
472
|
+
revealReceiptSha256: z.ZodOptional<z.ZodString>;
|
|
473
|
+
}, z.core.$strict>>;
|
|
474
|
+
sealedAt: z.ZodString;
|
|
475
|
+
}, z.core.$strict>;
|
|
476
|
+
export type HumanReviewReplacementLedger = z.infer<typeof HumanReviewReplacementLedgerSchema>;
|
|
477
|
+
export declare const HumanReviewOperatorAssertionSchema: z.ZodObject<{
|
|
478
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/operator-truth-assertion/v1">;
|
|
479
|
+
itemSha256: z.ZodString;
|
|
480
|
+
truthLabel: z.ZodEnum<{
|
|
481
|
+
CORRECT: "CORRECT";
|
|
482
|
+
WRONG: "WRONG";
|
|
483
|
+
}>;
|
|
484
|
+
assertedBy: z.ZodString;
|
|
485
|
+
assertedAt: z.ZodString;
|
|
486
|
+
attestorKeyId: z.ZodString;
|
|
487
|
+
attestorRole: z.ZodLiteral<"operator-truth-attestor">;
|
|
488
|
+
limitation: z.ZodLiteral<"operator-only-not-publication-grade">;
|
|
489
|
+
}, z.core.$strict>;
|
|
490
|
+
export type HumanReviewOperatorAssertion = z.infer<typeof HumanReviewOperatorAssertionSchema>;
|
|
491
|
+
export declare const BinaryJudgmentAdmissionManifestSchema: z.ZodObject<{
|
|
492
|
+
protocol: z.ZodLiteral<"https://spec.jinn.network/binary-judgment/admission-manifest/v1">;
|
|
493
|
+
draftId: z.ZodString;
|
|
494
|
+
truthAdmission: z.ZodEnum<{
|
|
495
|
+
"two-human-unanimous": "two-human-unanimous";
|
|
496
|
+
"operator-only": "operator-only";
|
|
497
|
+
"screened-operator-sampled": "screened-operator-sampled";
|
|
498
|
+
}>;
|
|
499
|
+
labelResolutionSha256s: z.ZodArray<z.ZodString>;
|
|
500
|
+
analysisContextSha256s: z.ZodArray<z.ZodString>;
|
|
501
|
+
excludedItemSha256s: z.ZodArray<z.ZodString>;
|
|
502
|
+
replacementLedgerSha256: z.ZodString;
|
|
503
|
+
screeningTableSha256: z.ZodOptional<z.ZodString>;
|
|
504
|
+
admittedAt: z.ZodString;
|
|
505
|
+
}, z.core.$strict>;
|
|
506
|
+
export type BinaryJudgmentAdmissionManifest = z.infer<typeof BinaryJudgmentAdmissionManifestSchema>;
|