rail-kubernetes/workplans/RAIL-K8S-WP-0001-bootstrap-and-wave1-import.md
codex 35159e49c1 fix(workplans): adopt ADR-007 derived identifiers for unregistered records
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
2026-08-25 20:17:48 +02:00

5.1 KiB

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
RAIL-K8S-WP-0001 workplan Bootstrap rail-kubernetes and import the wave-1 contract financials rail-kubernetes finished codex railiance 2026-07-25 2026-07-26 ca21f152-b4d9-5462-9e77-9b5feab378ce

RAIL-K8S-WP-0001 - Bootstrap rail-kubernetes and import the wave-1 contract

Goal

Turn rail-kubernetes into the concrete home of the default Railiance execution rail.

Boundaries

This workplan may bootstrap the repo, publish the initial declaration, and import the generic wave-1 contract.

It must not:

  • absorb S2 substrate ownership from railiance-cluster
  • normalize workload-specific helper commands into the rail
  • pretend the migration is complete before compatibility shims exist

T01 - Establish the repo baseline and rail declaration

id: RAIL-K8S-WP-0001-T01
status: done
priority: high
state_hub_task_id: "90117cd4-bebb-5314-9c8b-ec1ff08f49bf"

Create the baseline repo files, the initial rail declaration, and the first wave-1 contract summary.

Acceptance:

  • baseline repo files exist
  • declarations/rail.yaml exists
  • the repo states its boundary with railiance-cluster

2026-07-25: Created the initial repo baseline, declaration, and wave-1 contract summary.

T02 - Import the reviewed generic contract material

id: RAIL-K8S-WP-0001-T02
status: done
priority: high
state_hub_task_id: "4dd5b3d2-f8e4-5021-8041-479209e26c7f"

Bring the reviewed generic lifecycle docs, schema, examples, and helper surfaces into this repo in a migration-safe sequence.

Acceptance:

  • the import sequence is anchored in the reviewed extraction map
  • imported material stays generic to the Kubernetes rail
  • the repo becomes a real home for the default rail rather than only a shell

2026-07-25: Established the repo-local contract summary and explicit source import plan. Full import of docs, schema, examples, and helper surfaces is still pending.

2026-07-25: Imported the first core generic contract artifacts from railiance-cluster: docs/deployment-lifecycle.md, docs/app-toml-contract.md, schemas/railiance-app.schema.json, and examples/railiance/app.toml. Helper command surfaces and the remaining supporting docs are still pending.

2026-07-25: Imported the remaining generic supporting docs from railiance-cluster: docs/overlay-repo-pattern.md, docs/canary-helm-template.md, docs/stage2-deploy-observe.md, docs/promote-rollback-onboarding.md, and docs/railiance-run-command.md. Helper scripts and command implementations remain pending.

2026-07-26: Imported the remaining reviewed helper surfaces from railiance-cluster: tools/create_railiance_overlay_repo.sh, tools/cmd/railiance-run, tools/cmd/railiance-stage2, and tools/cmd/railiance-stage3. Added a rail-local bin/railiance dispatcher limited to create-overlay, run, deploy, observe, promote, and rollback, documented create-overlay, refreshed the source import plan, and verified the imported surface with bash -n, python3 -m py_compile, and bin/railiance help.

T03 - Prepare the compatibility handoff from railiance-cluster

id: RAIL-K8S-WP-0001-T03
status: done
priority: medium
state_hub_task_id: "d83a3918-d243-576a-addb-de000f82e3f6"

Define the thin compatibility path that keeps current operators functional while the extraction proceeds.

Acceptance:

  • the compatibility path is explicit
  • current operators do not need a flag day
  • the retained S2 surface stays narrow and temporary

2026-07-26: Added docs/cluster-compatibility-handoff.md as the canonical handoff contract for the migration window. On the cluster side, railiance-cluster/bin/railiance now delegates create-overlay, run, deploy, observe, promote, and rollback to rail-kubernetes when a configured or sibling checkout exists, with a temporary local fallback when it does not. This keeps current operator entrypoints working without expanding the rail boundary.

T04 - Register rail-kubernetes in State Hub and Fabric

id: RAIL-K8S-WP-0001-T04
status: done
priority: medium
state_hub_task_id: "9c33cf45-fefe-5779-a059-ab22d38f422d"

Register the repo from classification and add it to the Fabric repository registry with rail-family metadata.

Acceptance:

  • State Hub recognizes the repo and its workplan
  • Fabric recognizes the repo as repo_family: rail
  • ownership and primary contract metadata are visible

2026-07-25: Registered rail-kubernetes in State Hub and generated WORK-RECORDS.md plus .custodian-brief.md. Added rail-kubernetes to railiance-fabric/registry/railiance-repos.yaml as repo_family: rail with ownership_repo: railiance-cluster. The local repo history is now reconciled with the remote bootstrap commit and pushed to forgejo-remote:coulomb/rail-kubernetes.git. A targeted live Fabric registry sync initially failed because http://127.0.0.1:8765 was down, but after starting the local registry service the targeted sync succeeded. Fabric now stores rail-kubernetes as a live registered repo with snapshot id: 96 at commit 4c2b76e3ecc082bc310523bdcd6c660716e4248b.