Environment discovery identity, canonical episode provenance, exact replay transcripts, immutable admitted native-training contracts, paired held-out return evaluation receipts, offline verification reports, verified artifact-download receipts, and content-addressed summaries published by kiln openenv.
Schema identity
| Property | Value |
|---|---|
| Title | Kiln OpenEnv rollout, evaluation, and artifact contract |
$id |
https://ericflo.github.io/kiln/contracts/kiln-openenv-v1.schema.json |
| Dialect | https://json-schema.org/draft/2020-12/schema |
| Root type | OpenEnvRolloutSummary |
| Root object | open or unspecified |
Root fields
This schema node has no named object fields.
Definitions
Sha256Exact fields and constraints for this schema definition.0 fields
Type: string. Constraints: pattern ^sha256:[0-9a-f]{64}$.
OpenEnvArtifactDownloadReceiptExact fields and constraints for this schema definition.7 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-artifact-download.v1" | Schema. |
run_id |
yes | string |
pattern ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ | Run ID. |
kind |
yes | string |
minimum length 1 | Kind. |
source_url |
yes | string |
pattern ^/v1/openenv/runs/[0-9a-fA-F-]{36}/artifacts/[^/?#]+$ | Source URL. |
output_path |
yes | string |
minimum length 1 | Output path. |
sha256 |
yes | Sha256 |
- | SHA-256. See #/$defs/Sha256. |
bytes |
yes | integer |
minimum 0; maximum 268435456 | Bytes. |
MetadataExact fields and constraints for this schema definition.6 fields
Type: object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
name |
yes | string |
minimum length 1 | Name. |
description |
yes | string |
- | Description. |
readme_content |
no | string | null |
- | Readme content. |
version |
no | string | null |
- | Version. |
author |
no | string | null |
- | Author. |
documentation_url |
no | string | null |
- | Documentation URL. |
EnvironmentIdentityExact fields and constraints for this schema definition.10 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-identity.v1" | Schema. |
client_profile |
yes | any |
const "openenv-http/1.x" | Client profile. |
base_url |
yes | string |
minimum length 1 | Base URL. |
websocket_url |
yes | string |
pattern ^wss?:// | Websocket URL. |
authentication |
no | string |
enum "none", "bearer"; default "none" | Request authentication applied to both discovery and the WebSocket upgrade. Credential handles and secrets are excluded. |
openapi_version |
yes | string | null |
- | Openapi version. |
environments |
yes | array<string> |
- | Environments. |
metadata |
yes | Metadata |
- | Metadata. See #/$defs/Metadata. |
schema_sha256 |
yes | Sha256 |
- | Schema SHA-256. See #/$defs/Sha256. |
discovery_sha256 |
no | Sha256 |
- | Canonical digest of metadata, schema, environment inventory, and OpenAPI. Omitted only by legacy artifacts. |
EnvironmentSchemaExact fields and constraints for this schema definition.3 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
action |
yes | any |
- | Action. |
observation |
yes | any |
- | Observation. |
state |
yes | any |
- | State. |
EnvironmentInspectionExact fields and constraints for this schema definition.2 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
identity |
yes | EnvironmentIdentity |
- | Identity. See #/$defs/EnvironmentIdentity. |
schema |
yes | EnvironmentSchema |
- | Schema. See #/$defs/EnvironmentSchema. |
ProtocolErrorExact fields and constraints for this schema definition.6 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
code |
yes | string |
enum "INVALID_JSON", "UNKNOWN_TYPE", "VALIDATION_ERROR", "EXECUTION_ERROR", "CAPACITY_REACHED", "FACTORY_ERROR", "SESSION_ERROR" | Code. |
message |
yes | string |
- | Message. |
errors |
no | array |
- | Errors. |
active_sessions |
no | integer |
minimum 0 | Active sessions. |
max_sessions |
no | integer |
minimum 0 | Max sessions. |
factory_name |
no | string |
- | Factory name. |
ObservationExact fields and constraints for this schema definition.4 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
observation |
yes | any |
- | Observation. |
reward |
yes | null | boolean | integer | number |
- | Reward. |
done |
yes | boolean |
- | Done. |
metadata |
no | any |
- | Metadata. |
EpisodeTerminationExact fields and constraints for this schema definition.0 fields
Type: string. Constraints: enum "done", "max_steps", "invalid_model_action", "protocol_error".
RolloutRecordExact fields and constraints for this schema definition.14 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
group_index |
yes | integer |
minimum 0 | Group index. |
candidate_index |
yes | integer |
minimum 0 | Candidate index. |
environment_name |
yes | string |
minimum length 1 | Environment name. |
environment_url |
yes | string |
minimum length 1 | Environment URL. |
seed |
yes | integer |
minimum 0; maximum 9223372036854776000 | Seed. |
steps |
yes | integer |
minimum 0; maximum 256 | Steps. |
episode_return |
yes | number |
- | Episode return. |
terminal_done |
yes | boolean |
- | Terminal done. |
termination |
yes | EpisodeTermination |
- | Termination. See #/$defs/EpisodeTermination. |
protocol_error_code |
no | string |
minimum length 1 | Protocol error code. |
recoverable_protocol_errors |
yes | integer |
minimum 0 | Recoverable protocol errors. |
capacity_retries |
yes | integer |
minimum 0 | Capacity retries. |
model_tokens |
yes | integer |
minimum 0 | Model tokens. |
model_latency_ms |
yes | number |
minimum 0 | Model latency ms. |
Composition and conditional rules
The following JSON is copied exactly from this schema node.
{
"allOf": [
{
"if": {
"properties": {
"termination": {
"const": "done"
}
},
"required": [
"termination"
]
},
"then": {
"properties": {
"terminal_done": {
"const": true
}
}
},
"else": {
"properties": {
"terminal_done": {
"const": false
}
}
}
},
{
"if": {
"properties": {
"termination": {
"const": "protocol_error"
}
},
"required": [
"termination"
]
},
"then": {
"required": [
"protocol_error_code"
]
},
"else": {
"not": {
"required": [
"protocol_error_code"
]
}
}
}
]
}
RolloutStatsExact fields and constraints for this schema definition.12 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
mean_episode_return |
yes | number |
- | Mean episode return. |
min_episode_return |
yes | number | null |
- | Min episode return. |
max_episode_return |
yes | number | null |
- | Max episode return. |
done_count |
yes | integer |
minimum 0 | Done count. |
max_steps_count |
yes | integer |
minimum 0 | Max steps count. |
invalid_model_action_count |
yes | integer |
minimum 0 | Invalid model action count. |
protocol_error_count |
yes | integer |
minimum 0 | Protocol error count. |
recoverable_protocol_error_count |
yes | integer |
minimum 0 | Recoverable protocol error count. |
capacity_retry_count |
yes | integer |
minimum 0 | Capacity retry count. |
total_environment_steps |
yes | integer |
minimum 0 | Total environment steps. |
total_model_tokens |
yes | integer |
minimum 0 | Total model tokens. |
mean_model_latency_ms |
yes | number |
minimum 0 | Mean model latency ms. |
OpenEnvTrainingContractExact fields and constraints for this schema definition.0 fields
Type: OpenEnvTrainingContract.
OpenEnvTrainingSelectionExact fields and constraints for this schema definition.6 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
groups_submitted |
yes | integer |
minimum 0; maximum 16384 | Groups submitted. |
rollouts_submitted |
yes | integer |
minimum 0; maximum 16384 | Rollouts submitted. |
no_output_rollouts_discarded |
yes | integer |
minimum 0; maximum 16384 | No output rollouts discarded. |
no_usable_output_groups_skipped |
yes | integer |
minimum 0; maximum 16384 | No usable output groups skipped. |
no_reward_gradient_groups_skipped |
yes | integer |
minimum 0; maximum 16384 | No reward gradient groups skipped. |
warnings |
no | array<string> |
- | Warnings. |
OpenEnvRolloutSummaryExact fields and constraints for this schema definition.32 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-rollout-summary.v5" | Schema. |
kiln_url |
yes | string |
minimum length 1 | Kiln URL. |
adapter |
yes | string | null |
- | Adapter. |
adapter_label |
yes | string |
minimum length 1 | Adapter label. |
behavior_policy |
yes | RolloutBehaviorPolicyIdentityV1 |
- | Behavior policy. See kiln-inference-v1.schema.json#/$defs/RolloutBehaviorPolicyIdentityV1. |
environments |
yes | array<EnvironmentInspection> |
minimum items 1; maximum items 64 | Environments. |
groups |
yes | integer |
minimum 1; maximum 16384 | Groups. |
group_size |
yes | integer |
minimum 1; maximum 256 | Group size. |
rollout_count |
yes | integer |
minimum 1; maximum 16384 | Rollout count. |
seed_start |
yes | integer |
minimum 0; maximum 9223372036854776000 | Seed start. |
max_steps |
yes | integer |
minimum 1; maximum 256 | Max steps. |
concurrency |
yes | integer |
minimum 1; maximum 256 | Concurrency. |
max_action_tokens |
yes | integer |
minimum 1; maximum 16384 | Max action tokens. |
thinking_budget_tokens |
no | integer |
minimum 0; maximum 16383 | Thinking budget tokens. |
temperature |
yes | number |
minimum 0 | Temperature. |
thinking |
yes | boolean |
- | Thinking. |
protocol_error_reward |
yes | number |
- | Protocol error reward. |
max_recoverable_errors |
yes | integer |
minimum 0; maximum 64 | Max recoverable errors. |
capacity_wait_seconds |
yes | integer |
minimum 1; maximum 3600 | Capacity wait seconds. |
reset_plan_sha256 |
yes | Sha256 |
- | SHA-256 of the ordered seed-free reset template array aligned with environments. |
output_path |
yes | string |
minimum length 1 | Output path. |
replay_output_path |
yes | string |
minimum length 1 | Replay output path. |
summary_output_path |
yes | string |
minimum length 1 | Summary output path. |
dataset_sha256 |
yes | Sha256 |
- | Dataset SHA-256. See #/$defs/Sha256. |
dataset_bytes |
yes | integer |
minimum 1; maximum 268435456 | Dataset bytes. |
replay_sha256 |
yes | Sha256 |
- | Replay SHA-256. See #/$defs/Sha256. |
replay_bytes |
yes | integer |
minimum 1; maximum 268435456 | Replay bytes. |
stats |
yes | RolloutStats |
- | Stats. See #/$defs/RolloutStats. |
rollouts |
yes | array<RolloutRecord> |
minimum items 1 | Rollouts. |
training_selection |
no | OpenEnvTrainingSelection |
- | Training selection. See #/$defs/OpenEnvTrainingSelection. |
training_contract |
no | OpenEnvTrainingContract |
- | Training contract. See #/$defs/OpenEnvTrainingContract. |
training_submission |
no | object |
- | Training submission. |
Composition and conditional rules
The following JSON is copied exactly from this schema node.
{
"allOf": [
{
"if": {
"required": [
"training_submission"
]
},
"then": {
"required": [
"training_contract"
]
}
}
]
}
ReplayExchangeResultExact fields and constraints for this schema definition.0 fields
Type: object | object.
Composition and conditional rules
The following JSON is copied exactly from this schema node.
{
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"observation"
],
"properties": {
"kind": {
"const": "observation"
},
"observation": {
"$ref": "#/$defs/Observation"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"error",
"continued"
],
"properties": {
"kind": {
"const": "protocol_error"
},
"error": {
"$ref": "#/$defs/ProtocolError"
},
"continued": {
"type": "boolean"
}
}
}
]
}
ReplayExchangeExact fields and constraints for this schema definition.3 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
step_index |
yes | integer |
minimum 0 | Step index. |
action |
yes | object |
- | Action. |
result |
yes | ReplayExchangeResult |
- | Result. See #/$defs/ReplayExchangeResult. |
ReplayCandidateExact fields and constraints for this schema definition.10 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
candidate_index |
yes | integer |
minimum 0 | Candidate index. |
exchanges |
yes | array<ReplayExchange> |
maximum items 256 | Exchanges. |
final_state |
no | any |
- | Final state. |
episode_return |
yes | number |
- | Episode return. |
terminal_done |
yes | boolean |
- | Terminal done. |
termination |
yes | EpisodeTermination |
- | Termination. See #/$defs/EpisodeTermination. |
recoverable_protocol_errors |
yes | integer |
minimum 0 | Recoverable protocol errors. |
capacity_retries |
yes | integer |
minimum 0 | Capacity retries. |
model_tokens |
yes | integer |
minimum 0 | Model tokens. |
model_latency_ms |
yes | number |
minimum 0 | Model latency ms. |
ReplayGroupExact fields and constraints for this schema definition.6 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
group_index |
yes | integer |
minimum 0 | Group index. |
environment_index |
yes | integer |
minimum 0 | Environment index. |
seed |
yes | integer |
minimum 0; maximum 9223372036854776000 | Seed. |
reset_payload |
yes | object |
- | Reset payload. |
reset_observation |
yes | Observation |
- | Reset observation. See #/$defs/Observation. |
candidates |
yes | array<ReplayCandidate> |
minimum items 1; maximum items 256 | Candidates. |
OpenEnvReplayManifestExact fields and constraints for this schema definition.7 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-replay.v1" | Schema. |
client_profile |
yes | any |
const "openenv-http/1.x" | Client profile. |
dataset_sha256 |
yes | Sha256 |
- | Dataset SHA-256. See #/$defs/Sha256. |
protocol_error_reward |
yes | number |
- | Protocol error reward. |
max_steps |
yes | integer |
minimum 1; maximum 256 | Max steps. |
environments |
yes | array<EnvironmentInspection> |
minimum items 1; maximum items 64 | Environments. |
groups |
yes | array<ReplayGroup> |
minimum items 1; maximum items 16384 | Groups. |
EnvironmentEvalGateExact fields and constraints for this schema definition.2 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
min_mean_return |
no | number |
- | Min mean return. |
min_mean_improvement |
yes | number |
minimum 0 | Min mean improvement. |
EnvironmentEvalConfigExact fields and constraints for this schema definition.4 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
groups |
yes | integer |
minimum 1; maximum 16384 | Groups. |
group_size |
yes | integer |
minimum 1; maximum 256 | Group size. |
seed_start |
no | integer |
minimum 0; maximum 9223372036854776000 | Seed start. |
gate |
no | EnvironmentEvalGate |
- | Gate. See #/$defs/EnvironmentEvalGate. |
PolicyIdentityExact fields and constraints for this schema definition.3 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
adapter |
no | string |
minimum length 1 | Adapter. |
adapter_content_revision |
no | Sha256 |
- | Adapter content revision. See #/$defs/Sha256. |
execution_provenance_sha256 |
no | Sha256 |
- | Execution provenance SHA-256. See #/$defs/Sha256. |
EnvironmentEvalDecisionExact fields and constraints for this schema definition.0 fields
Type: string. Constraints: enum "diagnostic", "passed", "rejected", "inconclusive".
EnvironmentEvalOutcomeExact fields and constraints for this schema definition.0 fields
Type: string. Constraints: enum "diagnostic", "promoted", "kept", "rejected", "inconclusive", "error".
EnvironmentEvalEvidenceExact fields and constraints for this schema definition.14 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
policy_version |
yes | any |
const "paired_return_sign_test_v1" | Policy version. |
paired_groups |
yes | integer |
minimum 1 | Paired groups. |
paired_episodes |
yes | integer |
minimum 1 | Paired episodes. |
minimum_paired_groups |
yes | any |
const 20 | Minimum paired groups. |
baseline_mean_return |
yes | number |
- | Baseline mean return. |
candidate_mean_return |
yes | number |
- | Candidate mean return. |
mean_return_improvement |
yes | number |
- | Mean return improvement. |
improved_groups |
yes | integer |
minimum 0 | Improved groups. |
regressed_groups |
yes | integer |
minimum 0 | Regressed groups. |
tied_groups |
yes | integer |
minimum 0 | Tied groups. |
exact_sign_test_p_value |
yes | number |
minimum 0; maximum 1 | Exact sign test p value. |
exact_sign_test_alpha |
yes | any |
const 0.05 | Exact sign test alpha. |
decision |
yes | EnvironmentEvalDecision |
- | Decision. See #/$defs/EnvironmentEvalDecision. |
reason |
yes | string |
minimum length 1 | Reason. |
EnvironmentEvaluationReceiptExact fields and constraints for this schema definition.11 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-environment-evaluation.v1" | Schema. |
run_id |
yes | string |
minimum length 1 | Run ID. |
config |
yes | EnvironmentEvalConfig |
- | Config. See #/$defs/EnvironmentEvalConfig. |
seed_start |
yes | integer |
minimum 0; maximum 9223372036854776000 | Seed start. |
baseline |
yes | PolicyIdentity |
- | Baseline. See #/$defs/PolicyIdentity. |
candidate |
yes | PolicyIdentity |
- | Candidate. See #/$defs/PolicyIdentity. |
baseline_summary_sha256 |
yes | Sha256 |
- | Baseline summary SHA-256. See #/$defs/Sha256. |
candidate_summary_sha256 |
yes | Sha256 |
- | Candidate summary SHA-256. See #/$defs/Sha256. |
evidence |
yes | EnvironmentEvalEvidence |
- | Evidence. See #/$defs/EnvironmentEvalEvidence. |
outcome |
yes | EnvironmentEvalOutcome |
- | Outcome. See #/$defs/EnvironmentEvalOutcome. |
verdict |
yes | string |
minimum length 1 | Verdict. |
Composition and conditional rules
The following JSON is copied exactly from this schema node.
{
"allOf": [
{
"if": {
"properties": {
"evidence": {
"properties": {
"decision": {
"const": "diagnostic"
}
},
"required": [
"decision"
]
}
},
"required": [
"evidence"
]
},
"then": {
"properties": {
"outcome": {
"const": "diagnostic"
}
}
}
},
{
"if": {
"properties": {
"evidence": {
"properties": {
"decision": {
"const": "passed"
}
},
"required": [
"decision"
]
}
},
"required": [
"evidence"
]
},
"then": {
"properties": {
"outcome": {
"enum": [
"promoted",
"kept",
"error"
]
}
}
}
},
{
"if": {
"properties": {
"evidence": {
"properties": {
"decision": {
"const": "rejected"
}
},
"required": [
"decision"
]
}
},
"required": [
"evidence"
]
},
"then": {
"properties": {
"outcome": {
"const": "rejected"
}
}
}
},
{
"if": {
"properties": {
"evidence": {
"properties": {
"decision": {
"const": "inconclusive"
}
},
"required": [
"decision"
]
}
},
"required": [
"evidence"
]
},
"then": {
"properties": {
"outcome": {
"const": "inconclusive"
}
}
}
}
]
}
VerificationReportExact fields and constraints for this schema definition.9 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-verification.v1" | Schema. |
summary_path |
yes | string |
minimum length 1 | Summary path. |
dataset_path |
yes | string |
minimum length 1 | Dataset path. |
replay_path |
yes | string |
minimum length 1 | Replay path. |
dataset_sha256 |
yes | Sha256 |
- | Dataset SHA-256. See #/$defs/Sha256. |
replay_sha256 |
yes | Sha256 |
- | Replay SHA-256. See #/$defs/Sha256. |
groups |
yes | integer |
minimum 1 | Groups. |
rollouts |
yes | integer |
minimum 1 | Rollouts. |
environment_exchanges |
yes | integer |
minimum 0 | Environment exchanges. |
ReplayRunReportExact fields and constraints for this schema definition.8 fields
Type: object. Constraints: closed object.
| Field | Required | Type | Constraints and default | Description |
|---|---|---|---|---|
schema |
yes | any |
const "kiln.openenv-replay-run.v1" | Schema. |
replay_sha256 |
yes | Sha256 |
- | Replay SHA-256. See #/$defs/Sha256. |
environments |
yes | integer |
minimum 1 | Environments. |
groups |
yes | integer |
minimum 1 | Groups. |
rollouts |
yes | integer |
minimum 1 | Rollouts. |
environment_exchanges |
yes | integer |
minimum 0 | Environment exchanges. |
capacity_retries |
yes | integer |
minimum 0 | Capacity retries. |
environment_prefix_only_rollouts |
yes | integer |
minimum 0 | Environment prefix only rollouts. |