railiance-forge/workplans/RFORGE-WP-0002-forge-resource-economics-evidence.md
tegwick 35dbe4dd42
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Publish Forge resource economics evidence
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
2026-08-22 12:34:25 +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
72f935a5-d921-48a4-96e4-2365556c7374

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: "7048e354-0844-4f6c-aeaa-acf188b04ce2"

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: "643c2393-2ee5-4264-972c-04c3b358dc86"

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: "498cc0c7-ba07-4e7f-a0ef-2e6b34bef04c"

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.