From b0063abe188bb0967ba7a566e051e961dba6a93d Mon Sep 17 00:00:00 2001 From: tegwick Date: Thu, 10 Sep 2026 16:32:58 +0200 Subject: [PATCH] docs: close live projection convergence and retain capacity residual Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc --- .../2026-09-10-projection-convergence.json | 300 ++++++++++++++++++ ...-0090-projection-task-field-convergence.md | 19 +- workplans/STATE-WP-0091-release-headroom.md | 57 ++++ 3 files changed, 373 insertions(+), 3 deletions(-) create mode 100644 docs/evidence/2026-09-10-projection-convergence.json create mode 100644 workplans/STATE-WP-0091-release-headroom.md diff --git a/docs/evidence/2026-09-10-projection-convergence.json b/docs/evidence/2026-09-10-projection-convergence.json new file mode 100644 index 0000000..30dead6 --- /dev/null +++ b/docs/evidence/2026-09-10-projection-convergence.json @@ -0,0 +1,300 @@ +{ + "observed_at": "2026-09-10T14:32:10.814248+00:00", + "status": "live-converged", + "implementation_commits": { + "state-hub": "0747b4d95b3d30a12c41de673912659e8fdd1654", + "repo-manager": "00ce69fadaa4d6a5486b4b12cb0aa39e8d7ce4ee" + }, + "tests": { + "repo-manager": 188, + "state-hub_projection_consistency_api": 242 + }, + "before": { + "selected_tasks": 24, + "drifted_tasks": 6 + }, + "after": { + "observed_at": "2026-09-10T14:29:31.367440+00:00", + "checked": 24, + "drifted_tasks": 0, + "manual_task_patches": 0, + "tasks": [ + { + "task": "SECRETS-WP-0008-T01", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0008-T02", + "status": "wait", + "drift": [] + }, + { + "task": "SECRETS-WP-0008-T03", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0008-T04", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0008-T05", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0008-T06", + "status": "wait", + "drift": [] + }, + { + "task": "SECRETS-WP-0009-T01", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0009-T02", + "status": "done", + "drift": [] + }, + { + "task": "SECRETS-WP-0009-T03", + "status": "wait", + "drift": [] + }, + { + "task": "RPF-WP-0035-T01", + "status": "done", + "drift": [] + }, + { + "task": "RPF-WP-0035-T02", + "status": "wait", + "drift": [] + }, + { + "task": "RPF-WP-0035-T03", + "status": "wait", + "drift": [] + }, + { + "task": "RPF-WP-0035-T04", + "status": "done", + "drift": [] + }, + { + "task": "RPF-WP-0035-T05", + "status": "done", + "drift": [] + }, + { + "task": "RPF-WP-0035-T07", + "status": "todo", + "drift": [] + }, + { + "task": "RPF-WP-0035-T06", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T01", + "status": "progress", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T02", + "status": "progress", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T03", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T04", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T05", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T06", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T07", + "status": "wait", + "drift": [] + }, + { + "task": "HFACT-WP-0001-T08", + "status": "wait", + "drift": [] + } + ] + }, + "live_release": { + "helm_revision": 63, + "status": "deployed", + "pods": [ + { + "pod": "state-hub-bf8df7596-xm9lx", + "ready": true, + "image": "forgejo.coulomb.social/coulomb/state-hub:main-0747b4d", + "image_id": "forgejo.coulomb.social/coulomb/state-hub@sha256:78828c9e85848538878a27d2e3e6bebfd0cc7192c0961c92c749b27acca7b6f5", + "restarts": 0 + }, + { + "pod": "state-hub-mcp-5f579c6589-fh99w", + "ready": true, + "image": "forgejo.coulomb.social/coulomb/state-hub:main-0747b4d", + "image_id": "forgejo.coulomb.social/coulomb/state-hub@sha256:78828c9e85848538878a27d2e3e6bebfd0cc7192c0961c92c749b27acca7b6f5", + "restarts": 0 + } + ], + "health": { + "status": "ok", + "db": "connected", + "instance_role": "primary", + "instance_label": "railiance01", + "schema": { + "status": "ok", + "applied": "b5e6f7a8c9d0", + "expected": "b5e6f7a8c9d0" + } + } + }, + "independent_rederivation": { + "observed_at": "2026-09-10T14:30:00.843952+00:00", + "independent_request_keys": true, + "receipts": [ + { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "d1c13b5dd667bcad453c94564f65bdf5f172ba3b", + "derived_commit": "d1c13b5dd667bcad453c94564f65bdf5f172ba3b", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "secrets-engine", + "commit": "d1c13b5dd667bcad453c94564f65bdf5f172ba3b", + "status": "noop", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 0, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + }, + { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "d3a502b45cebc0a658d0ee7499f1cfcf2a5902a4", + "derived_commit": "d3a502b45cebc0a658d0ee7499f1cfcf2a5902a4", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "railiance-platform", + "commit": "d3a502b45cebc0a658d0ee7499f1cfcf2a5902a4", + "status": "noop", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 0, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + }, + { + "schema": "state-hub.repository-projection-reconcile.v1", + "instance_role": "primary", + "instance_label": "railiance01", + "expected_commit": "c22cb9a87eebed341bad5214f6d4844e60485ddf", + "derived_commit": "c22cb9a87eebed341bad5214f6d4844e60485ddf", + "outcome": { + "schema": "state-hub.projection-reset.v1", + "repo_slug": "prj-helixforge-factory", + "commit": "c22cb9a87eebed341bad5214f6d4844e60485ddf", + "status": "noop", + "counts": { + "created": 0, + "updated": 0, + "retired": 0, + "refused": 0, + "released": 0, + "created_tasks": 0, + "updated_tasks": 0, + "cancelled_tasks": 0 + }, + "created": [], + "updated": [], + "retired": [], + "released": [], + "created_tasks": [], + "updated_tasks": [], + "cancelled_tasks": [], + "refused": [], + "notes": [] + } + } + ] + }, + "capacity": { + "node_allocatable_mcpu": 4000, + "requested_before_mcpu": 3935, + "requested_after_mcpu": 3895, + "remaining_after_mcpu": 105, + "api_surge_mcpu": 100, + "mcp_request_before_mcpu": 50, + "mcp_request_after_mcpu": 10, + "mcp_limit_mcpu": 500, + "sample_count": 1078, + "coverage": "partial history within seven-day query window", + "mcp_p99_mcpu": 2.350371109351198, + "mcp_five_minute_peak_mcpu": 30.450431294722627, + "failed_revision": 61, + "healthy_atomic_rollback_revision": 62, + "successful_revision": 63, + "risk": "Reduced guaranteed share under contention; retain limits and review latency/errors/contention. Remaining release margin is narrow.", + "residual": "STATE-WP-0091" + }, + "factory_attempts": 0, + "paid_provider_calls": 0, + "manual_task_patches": 0, + "dispatch_enabled": false +} diff --git a/workplans/STATE-WP-0090-projection-task-field-convergence.md b/workplans/STATE-WP-0090-projection-task-field-convergence.md index f2a1518..9c9eed8 100644 --- a/workplans/STATE-WP-0090-projection-task-field-convergence.md +++ b/workplans/STATE-WP-0090-projection-task-field-convergence.md @@ -4,7 +4,7 @@ type: workplan title: "Preserve task descriptions and explicit empty notes in Forge projection" domain: infotech repo: state-hub -status: active +status: finished owner: codex topic_slug: infotech created: "2026-09-10" @@ -36,7 +36,7 @@ with the existing consistency parser and real PostgreSQL/API convergence. ```task id: STATE-WP-0090-T02 -status: progress +status: done priority: high state_hub_task_id: "da0089fc-2c6f-52d7-91e9-83ee338caf2a" ``` @@ -51,7 +51,7 @@ fields with zero manual task PATCH repairs. Preserve unrelated untracked evidenc ```task id: STATE-WP-0090-T03 -status: todo +status: done priority: medium state_hub_task_id: "ac047cb8-fc56-5a2e-8a82-c5179f8cde8b" ``` @@ -85,3 +85,16 @@ This reduces its guaranteed share under contention; bursts remain permitted. Nominal headroom becomes 105m, sufficient for this 100m API surge but too narrow to count as factory capacity admission. Broader capacity planning needs a live residual before closeout. No unrelated workload allocation is changed. + +Completed: Helm revision 63 is deployed; API and MCP are Ready with the exact +verified image digest, zero restarts and healthy primary/schema readback. Normal +Repo Manager sync uses two requests per repository. All 24 selected source tasks +match live fields with zero manual PATCH repairs. An independent request key +forced another derivation for each repository: all three returned noop with zero +changes. Platform's first derivation also corrected 30 tasks across its full repo; +this is broader than the selected-chain comparison and is not a factory outcome. +Evidence: docs/evidence/2026-09-10-projection-convergence.json. + +Residual handed off before finish: STATE-WP-0091 owns repeatable rollout-headroom +preflight, sustained MCP demand review and live shared-capacity handoff. HFACT T02 +retains selected-backlog readiness; native execution remains T01/T03/T04/T05/T06. diff --git a/workplans/STATE-WP-0091-release-headroom.md b/workplans/STATE-WP-0091-release-headroom.md new file mode 100644 index 0000000..34914f0 --- /dev/null +++ b/workplans/STATE-WP-0091-release-headroom.md @@ -0,0 +1,57 @@ +--- +id: STATE-WP-0091 +type: workplan +title: "Check release headroom and retain a capacity allocation handoff" +domain: infotech +repo: state-hub +status: ready +owner: codex +topic_slug: infotech +created: "2026-09-10" +updated: "2026-09-10" +related: [STATE-WP-0090, RCLUSTER-WP-0014, RESOURCE-WP-0003, HFACT-WP-0001] +--- + +Residual from STATE-WP-0090: revision 61 failed with Insufficient CPU even though +runtime usage was modest. Revision 63 succeeded after a measured same-service +MCP request adjustment. The single 4,000m node still reserves 3,895m (97.4%), +leaving 105m against a 100m API surge. Existing cluster collection and portfolio +contracts are finished inputs, not workplans to reopen. No factory capacity +admission follows from this release. + +## Check scheduling headroom before State Hub promotion + +```task +id: STATE-WP-0091-T01 +status: todo +priority: high +``` + +Add a read-only preflight to the existing promotion path. Reuse Kubernetes and +railiance-cluster capacity evidence; check effective pod requests, init/overhead, +placement constraints, rollout surge and migration-hook ordering. Report observed +freshness, remaining CPU/memory and precise insufficient-capacity reasons before +starting Helm. Do not claim a scheduling guarantee from an aggregate sum or lower +requests automatically. Prove the observed 65m refusal and 105m narrowly sufficient +case, including unrelated concurrent demand. Keep atomic rollback. + +## Review sustained service demand and hand off shared capacity + +```task +id: STATE-WP-0091-T02 +status: todo +priority: high +``` + +State Hub owns its workload demand and release requirement. Check MCP latency, +errors, CPU contention and coverage after the 50m-to-10m request change; its 500m +limit, memory and replicas remain unchanged. The initial 1,078 five-minute samples +are partial coverage, not a full week. Propose a durable release margin and hand +any shared allocation or provisioning change to live records with railiance-cluster, +railiance-platform and resource-control using their existing authority contracts. +Include HFACT T01/T04 factory demand, other zero-request workloads and host usage; +current aggregate reservation alone is not capacity admission. No unrelated +allocation, procurement or scaling is authorized by this workplan. Close only +after the repeatable preflight and explicit receiving work records are verified. + +Evidence: docs/evidence/2026-09-10-projection-convergence.json.