These workplans exist only in the retired local hub. Their random pre-ADR-007 identifiers are refused by C-06 as stale references, so they cannot be registered. Deriving from the canonical record id takes no identity from anything: central does not hold them and the old ids die with the cache. Records central already holds were deliberately left untouched. Refs CUST-WP-0068-T06 Assistant: claude-code Assistant-Model: opus Assistant-Process: 2583210@bnt-lap001 Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
83 lines
2.4 KiB
Markdown
83 lines
2.4 KiB
Markdown
---
|
|
id: RAIL-K8S-WP-0002
|
|
type: workplan
|
|
title: "Version the common workload and derived-rail contract"
|
|
domain: financials
|
|
repo: rail-kubernetes
|
|
status: finished
|
|
owner: codex
|
|
topic_slug: railiance
|
|
created: "2026-07-26"
|
|
updated: "2026-07-26"
|
|
state_hub_workstream_id: "b3d4d92d-2b71-50ef-a98e-8e74694ae3be"
|
|
---
|
|
|
|
# RAIL-K8S-WP-0002 - Version the common workload and derived-rail contract
|
|
|
|
## Goal
|
|
|
|
Make `rail-kubernetes` the explicit versioned base contract used by default for
|
|
platform workloads and inherited by justified specializations such as
|
|
`rail-knative`.
|
|
|
|
## T01 - Version the base rail declaration
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0002-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "27709922-e14f-5448-a894-aa6cb2b1f021"
|
|
```
|
|
|
|
Add composition kind, contract version, required capabilities, and readiness
|
|
state without changing current lifecycle behavior.
|
|
|
|
2026-07-26: `declarations/rail.yaml` now declares base composition, contract
|
|
`1.0.0`, required substrate capabilities, verified readiness, and the default
|
|
platform/managed-application scope.
|
|
|
|
## T02 - Add the rail-neutral workload and binding schemas
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0002-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "6a64053b-4df3-5d2e-ba2e-de4acb955418"
|
|
```
|
|
|
|
Separate common workload identity, criticality, dependencies, security,
|
|
health, evidence, and recovery requirements from rail-specific bindings.
|
|
|
|
2026-07-26: Added the common workload, rail-binding, and derived-rail JSON
|
|
schemas plus a valid Kubernetes-default example.
|
|
|
|
## T03 - Add compatibility conformance
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0002-T03
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "d1f63e62-b4cb-54b0-b7a6-be5af1acce4f"
|
|
```
|
|
|
|
Provide an idempotent validator suitable for local, agent, CI, and scheduled
|
|
execution. Reject incompatible base contracts, missing ownership, and
|
|
unsupported substrate capabilities.
|
|
|
|
2026-07-26: Added `tools/validate_contracts.py`. It validates base/derived rail
|
|
shape and common workload JSON Schema without accessing runtime credentials.
|
|
|
|
## T04 - Preserve the Kubernetes default
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0002-T04
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "56ee2da4-7c51-504c-a6d0-ee6f79346350"
|
|
```
|
|
|
|
Document and test that workloads without a justified specialization continue
|
|
to bind to `rail-kubernetes`.
|
|
|
|
2026-07-26: The base declaration identifies Kubernetes as the default for
|
|
platform workloads and managed applications; the example uses that binding.
|