railiance-forge/workplans/RFORGE-WP-0002-forge-resource-economics-evidence.md
codex e395e5e9c1
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
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:19:54 +02:00

4.3 KiB

id type title domain repo status owner topic_slug created updated related state_hub_workstream_id
RFORGE-WP-0002 workplan Publish Forgejo resource economics evidence financials railiance-forge finished codex railiance 2026-08-11 2026-08-22
RESOURCE-WP-0003
ADR-0008
ce3bcfc5-a9af-5459-9d5c-e44ea50e7b13

RFORGE-WP-0002 — Forgejo resource economics evidence

Goal

Provide the workload-owned demand, utilization, operations, and allocation evidence for resource:railiance:forgejo, which supplies source and package infrastructure to Helix Forge and the wider federation. Origin: RESOURCE-WP-0003-T04 delegated evidence gap.

Measure the live Gitea-compatible Helm workload (deployment/forgejo-gitea on reef-railiance). Forgejo is the migration target, not a second live product. Keep the resource id resource:railiance:forgejo.

This id uses the historical RAILIANCE-WP- prefix (collides with other ownership repos). New forge workplans use FORGE-WP-. Do not change this file's id or hub UUID.

Do not add a public metrics or economics endpoint (ADR-0008). Collect in-cluster or via the operator tunnel. Existing public Forgejo HTTPS is a separate granted surface, not this plan. Do not treat environment: production in resource-control as ADR-0006 production-approved.

T01 — Measure Forgejo demand and utilization

id: RFORGE-WP-0002-T01
status: done
priority: high
state_hub_task_id: "07b43be8-f1f8-5b0f-be52-3343e9ade2d7"

Record resource requests/limits and observed CPU/memory, repository and package storage use/growth, database storage, runner capacity/activity, backup volume, and material network traffic using stable units and timestamps.

Done when resource-control can forecast capacity and identify saturation or idle capacity without accessing repository content or credentials.

Outcome (2026-08-22): make forge-observe REMOTE=railiance01 publishes a timestamped, versioned observation for deployment requests/limits and observed CPU/memory, PVC and database capacity, shared/runner storage usage, recovery posture, and unavailable axes. It reads neither repository contents nor Secret surfaces.

T02 — Declare service objectives and operations labor

id: RFORGE-WP-0002-T02
status: done
priority: high
state_hub_task_id: "61531eba-5802-5ace-8822-1a5ad67ad44a"

Record availability, recovery, retention, and performance requirements plus setup and recurring operator activities. Separate forge, registry, runner, database, backup, upgrade, and incident labor where evidence permits.

Done when total-cost and optimization cases can preserve the forge's service constraints and labor assumptions.

Outcome (2026-08-22): the service-objective and labor evidence file names the availability, restore, retention, performance, operational, upgrade, and incident dimensions. Unknown targets and hours remain explicit nulls rather than invented estimates.

T03 — Publish shared-consumer allocation evidence

id: RFORGE-WP-0002-T03
status: done
priority: medium
state_hub_task_id: "27612238-ec67-55f1-8f5e-0d1ad7bc6af8"

Define explainable candidate drivers for source, package, and runner use across Helix Forge, Coulomb, Railiance, and future tenants. Preserve shared overhead and unattributed residuals; do not implement customer billing.

Done when a versioned driver report can feed resource-control allocation without making the forge repository authoritative for booked cost.

Outcome (2026-08-22): forge-raw-drivers-v1 proposes repository count, package bytes, and runner job minutes, preserves all current use as an unattributed residual, and assigns method selection to resource-control.

Acceptance

  • Demand and utilization include storage, compute, runner, and backup axes.
  • Service objectives and labor assumptions are explicit.
  • Shared allocation evidence exposes residuals and provenance.

Completion evidence

  • python3 -m unittest discover -s tests -p 'test_*.py' -v: 1 test passed.
  • Live read-only capture: docs/evidence/resource-railiance-forgejo/observations/20260822T102256Z.json.
  • Current observation records 2,377,375,744 forge data bytes, 247,693,312 runner data bytes, healthy single-instance CNPG state, continuous archiving, and no Forge database Backup/ScheduledBackup or restore-drill evidence.