143 lines
4.6 KiB
Markdown
143 lines
4.6 KiB
Markdown
---
|
|
id: RAIL-K8S-WP-0001
|
|
type: workplan
|
|
title: "Bootstrap rail-kubernetes and import the wave-1 contract"
|
|
domain: financials
|
|
repo: rail-kubernetes
|
|
status: active
|
|
owner: codex
|
|
topic_slug: railiance
|
|
created: "2026-07-25"
|
|
updated: "2026-07-26"
|
|
state_hub_workstream_id: "1f2254f5-a873-46fc-a77c-bc725eeaaeb8"
|
|
---
|
|
|
|
# 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
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0001-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "9bab36db-e094-4e41-af76-b6bf5e73be78"
|
|
```
|
|
|
|
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
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0001-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "148276a2-2e40-4d56-89dd-2930c5e4309c"
|
|
```
|
|
|
|
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`
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0001-T03
|
|
status: wait
|
|
priority: medium
|
|
state_hub_task_id: "18140d90-d10e-47fe-b7da-d454550466b1"
|
|
```
|
|
|
|
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
|
|
|
|
## T04 - Register `rail-kubernetes` in State Hub and Fabric
|
|
|
|
```task
|
|
id: RAIL-K8S-WP-0001-T04
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "d78b5712-f305-4967-9034-9b9471633755"
|
|
```
|
|
|
|
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`.
|