--- id: FORGE-WP-0001 type: workplan title: "railiance-forge repository foundation" domain: railiance repo: railiance-forge status: finished owner: codex topic_slug: railiance planning_priority: high created: "2026-06-05" updated: "2026-06-05" state_hub_workstream_id: "4280f3d2-3d4c-4caf-946b-521fb8fb1494" --- # railiance-forge repository foundation ## Context `railiance-forge` is being created after the Railiance intent review identified forge responsibilities as the main cross-layer smell. The current Gitea and registry surface is still in `railiance-apps`; this workplan establishes the new repo as the owner for forge runtime and artifact infrastructure before any live deployment files move. This workplan implements the opening tasks from `railiance-apps/workplans/RAILIANCE-WP-0006-railiance-forge-extraction.md`. ## T01 - Define repository contract ```task id: FORGE-WP-0001-T01 status: done priority: high state_hub_task_id: "8ebc1457-f681-4cad-9ca9-119246b0063c" ``` Create the initial repository contract: - `INTENT.md`; - `SCOPE.md`; - `AGENTS.md`; - `README.md`; - repo-local workplan convention. Done when the repo purpose, boundaries, State Hub integration, and workplan prefix are explicit. --- ## T02 - Register with State Hub ```task id: FORGE-WP-0001-T02 status: done priority: high state_hub_task_id: "cb2346cf-b4e5-47ad-a587-65d6e95e89c8" ``` Register the repo with State Hub and sync the first workplan. Steps: - register `railiance-forge` under domain `railiance`; - register the local host path `/home/worsch/railiance-forge`; - run `make fix-consistency REPO=railiance-forge`; - verify State Hub created a workstream and task rows. Done when State Hub can index this repo independently. --- ## T03 - Inventory current forge assets in `railiance-apps` ```task id: FORGE-WP-0001-T03 status: done priority: high state_hub_task_id: "6957ebd3-321c-41e5-ad28-8d30b0bc1155" ``` Inventory all current Gitea, registry, package, and runner-related files and operator commands in `railiance-apps`. Done when each candidate file has a target disposition: move, copy with compatibility pointer, leave in S5, or supersede. --- ## T04 - Draft first migration plan ```task id: FORGE-WP-0001-T04 status: done priority: high state_hub_task_id: "6894dfb4-5641-45c1-8259-201801e6aede" ``` Draft the first migration plan for moving forge runtime ownership without touching live service state. The plan must preserve: - secret boundaries; - current Gitea deployment stability; - operator discoverability during transition; - future Forgejo cutover separation. Done when `railiance-apps` and `railiance-forge` can agree on the first safe file move. --- ## T05 - Define initial forge operating contracts ```task id: FORGE-WP-0001-T05 status: done priority: medium state_hub_task_id: "a5924b97-ccf7-4da0-acea-4f6017fef278" ``` Create first draft contracts for: - artifact retention and provenance; - runner substrate ownership; - backup and restore handoff with `railiance-platform`; - secret custody boundaries; - basic forge observability. Done when follow-on implementation work can be split into focused workplans. Completed in `docs/initial-operating-contracts.md`, with read-only operator entry points in `Makefile` and follow-on migration tracked in `FORGE-WP-0002`.