Commit graph

195 commits

Author SHA1 Message Date
debc54b02b docs: record Risk Nexus production promotion
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 02:02:25 +02:00
3d8a411dd3 release: approve Risk Nexus publication batch
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 02:00:01 +02:00
8c9370e651 docs: record Policy Nexus revision 7
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 01:43:27 +02:00
36a9937be1 chore: approve governed source release
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 01:41:12 +02:00
96d3716c23 chore: approve fleet standards release
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-08-31 22:28:38 +02:00
28e59dc27d chore: approve policy nexus publication release
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-08-31 21:53:21 +02:00
d03edc946c fix(workplans): migrate archived workplans off the retired RAILIANCE-WP prefix
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Completes the migration begun on 2026-08-25, which covered active workplans
only. The archived copies kept their historical identifiers, and three
repositories shared one number space — so their task identifiers collided,
blocking task-level projection reset for those workplans.

Numbering continues each repository's active sequence rather than restarting,
so no identifier is reused. Projection UUIDs are re-derived from the new
canonical ids.

Refs CUST-WP-0068, STATE-WP-0083-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-26 08:05:43 +02:00
2023d9a9ba chore(consistency): refresh work-record index
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Refs CUST-WP-0068-T03

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 23:00:12 +02:00
dada84cf51 fix(workplans): migrate active workplans off the retired RAILIANCE-WP prefix
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
RAILIANCE-WP is a family name, not a repository (ADR-007, and the prefix
registry already lists it retired). Three repositories independently used one
number space for unrelated work — RAILIANCE-WP-0012 was openbao extraction here,
a cnpg backup in railiance-apps and a deploy-verify in railiance-cluster. This
repository also carried two files both numbered 0016.

Active workplans move to the successor prefix and are renumbered from 0001 in
historical order. Archived workplans keep their historical identifiers.

Projection UUIDs are re-derived from the new canonical ids. Records already
registered under the old identifiers leave orphaned hub rows behind; that debt
is recorded in CUST-WP-0068 and clears when ADR-012's reset-from-forge lands.

Refs CUST-WP-0068-T03

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 22:58:36 +02:00
b5151225ba fix(workplans): adopt ADR-007 derived identifiers for unregistered records
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
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:18:05 +02:00
e19a715db7 docs(agents): repoint remote State Hub URL to the in-cluster address
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.

Refs CUST-WP-0067-T07

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 00:21:42 +02:00
dbbab9139c Bump reuse-surface to main-6cbc862 (REUSE-WP-0020-T09)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Revision 9 redeployed main-b035664 because the tag was never bumped, so the
T09 composed-index invalidation fix did not reach production. main-6cbc862 is
the CI build of that commit; manifest verified to resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 16:20:58 +02:00
a36563543b Give the reuse landing catch-all its own Ingress and an explicit priority
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
/health returned nginx 404 through the ingress while the service answered 200
in-cluster. The ingress rule was correct on paper — /health Exact ->
reuse-surface:8000 alongside / Prefix -> reuse-surface-landing:8080 — but
Traefik derives router priority from the length of the generated rule string,
and Path(`/health`) and PathPrefix(`/`) are both 15 characters. The tie broke
toward the landing page. PathPrefix(`/v1`) is longer, which is why /v1 worked
and the fault looked like a /health-only bug.

traefik.ingress.kubernetes.io/router.priority applies per Ingress, not per
path, so the catch-all moves into its own Ingress with priority 1. Every API
route now outranks it regardless of rule length.

This is not cosmetic: make reuse-smoke curls /health and false-negatives on an
otherwise healthy release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 03:24:14 +02:00
029460d6e3 Pin reuse-surface to a Forgejo image that actually exists (REUSE-WP-0020-T05)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
image.tag was "e3ae22e", a Gitea-era tag. charts/reuse-surface/values.yaml was
repointed to the Forgejo repository in 04be416, but no e3ae22e tag was ever
published there — CI only began pushing to Forgejo three hours after that
commit. Authenticated tags/list returns latest, main-b035664, main-bca7165,
main-f9d957a. So the release could not pull its image, making ImagePullBackOff
a present risk on any restart rather than one tied to the 2026-08-31 CoulombCore
retirement.

Pin main-b035664, verified to resolve (manifest 200). It is a CI build of
reuse-surface main and carries the compose hardening that stops a single
malformed member index from returning HTTP 500 for the whole federated index —
needed before evidence-binder can be re-enabled as a source.

Also ships REUSE-WP-0019 T04/T05/T06, closed as finished but never deployed.

Not applied. Deploy is the manual `make reuse-deploy`, which needs
KUBECONFIG for Railiance01.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 00:17:45 +02:00
ffacb664bc Close policy nexus production rollout
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-18 15:18:44 +02:00
custodian-sync
abd80ff92f chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-18:
  - update .custodian-brief.md for railiance-apps
2026-08-18 15:17:21 +02:00
7cfcf8b5d1 Bind policy nexus release 2 for production
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-08-18 13:59:28 +02:00
234cdfa4bb Bind Policy Nexus production release
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-18 12:53:25 +02:00
custodian-sync
a15d80da94 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-18:
  - update .custodian-brief.md for railiance-apps
2026-08-18 12:45:49 +02:00
custodian-sync
26fa22d307 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-18:
  - RAILIANCE-WP-0018-T04: progress → wait
2026-08-18 12:45:47 +02:00
custodian-sync
94ef5eac27 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-18:
  - update .custodian-brief.md for railiance-apps
2026-08-18 11:02:07 +02:00
e3e05eddf0 Adopt repo-owned workplan prefix per ADR-007
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Retires the shared prefix. Live plans move to the new prefix keeping their
running number; finished and archived files keep the old prefix as
historical record, per the ADR-007 option 2 migration ruling.

Hub UUIDs are unchanged, so reconciliation matches on
state_hub_workstream_id rather than filename and will update the slug in
place instead of registering duplicates.

Assigned in RMGR-WP-0004-T09.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:48:58 +02:00
963de9cd4f Publish NetKingdom registration entry point
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-14 00:40:08 +02:00
ad96deec9f Deploy coulomb-social:7fcd0cf space content sync (T05)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-08-12 03:31:37 +02:00
93688e1ffd Deploy coulomb-social:9c10037 Forgejo markdown read path
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-12 02:00:46 +02:00
b1a43125ef Point coulomb-social image at 86b5424 (Space model)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-08-12 01:38:44 +02:00
b1637d04d2 Fix core-hub Makefile image repository default too
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
CORE_HUB_IMAGE_REPOSITORY was the only one of four app image defaults still on
gitea.coulomb.social. It is passed as --set image.repository= when a tag is
supplied, so it overrides helm/core-hub-values.yaml at deploy time - fixing the
values file alone would have left the actual deploy path pointing at the frozen
CoulombCore registry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 23:18:37 +02:00
48a5e6eac0 Point core-hub production values at forgejo.coulomb.social
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
helm/core-hub-values.yaml was the last file still pulling from
gitea.coulomb.social. Both hostnames resolve, but to different machines -
gitea.coulomb.social to 92.205.130.254 (CoulombCore) and forgejo.coulomb.social
to 92.205.62.239 (Railiance01) - so this quietly deployed core-hub from the
frozen CoulombCore registry rather than failing loudly. Every other values file
in this repo, including charts/core-hub/values.yaml for the same app, already
used forgejo.

The tag is a render-time placeholder; deploys pass CORE_HUB_IMAGE_TAG=<sha>, so
the next core-hub rollout must confirm that sha is present on the Forgejo
registry before promoting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 23:18:14 +02:00
5ef514b96d Correct stale Gitea current-state claims to Forgejo
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Forgejo has replaced Gitea as the forge. Updates SCOPE.md Current State,
AGENTS.md and .claude/rules/repo-identity.md, which still described Gitea as
the operational forge.

Deliberately NOT changed, because they are accurate rather than stale:
- migration and coexistence prose in docs/forgejo-on-railiance01.md,
  docs/forge-source-of-truth-decision.md and the capability registry, where
  Gitea is the thing being migrated from
- gitea-charts/gitea 12.5.0, the real Helm chart Forgejo deploys from
- gitea-db, a running CNPG cluster, and the gitea- prefixed doc filenames in
  railiance-forge, which still exist under those names

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 23:08:52 +02:00
668c54da05 Deploy coulomb-social:ea8dc12 app shell (Spaces + session details)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-08-11 02:34:16 +02:00
55a6427509 Deploy coulomb-social:f5537d8 with id_token OIDC claims
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Fixes public Sign-in on app.coulomb.social when KeyCape /userinfo returns 401.
2026-08-10 08:56:29 +02:00
3f3ffd279f Use websecure-only ingress for coulomb-social HTTP-01
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Leave port 80 free for cert-manager solvers (forgejo pattern) so ACME
challenges are not contended by the app router.
2026-08-09 23:37:08 +02:00
8eca75735d Point coulomb-social Helm and ingress at app.coulomb.social
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Public parallel host; leave apex coulomb.social for Bubble until cutover.
2026-08-09 23:20:31 +02:00
ca804ef148 Deploy coulomb-social image tag as string; pin 7067145
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Helm --set-string for numeric git SHAs (InvalidImageName fix).
Ingress entrypoints web+websecure; values pin first release tag.
2026-08-09 02:32:37 +02:00
2ab6662142 Note apps-pg DB ready for coulomb-social deploy path
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Role coulomb_social and database coulomb_social_db are live on apps-pg.
2026-08-09 02:18:22 +02:00
c79f07aadf Add coulomb-social-env secret create/patch script
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Builds SECRET_KEY, optional URL-encoded DATABASE_URL from app DB
credentials, and USER_ENGINE_PROXY_SECRET from user-engine-runtime.
Never prints values; Makefile dry-run and apply targets.
2026-08-09 02:04:32 +02:00
32610e9090 Add coulomb-social Helm chart and deploy targets
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Chart mirrors vergabe-teilnahme Django probe/secret pattern. Non-secret
values pin KeyCape OIDC and user-engine URL; env Secret holds secrets.
Makefile: dry-run, deploy, ingress, status, logs.
2026-08-09 02:00:13 +02:00
dd1bd6cccc Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Maintainer decision, 2026-07-29: adopts TRSL V1C1 as this repo's
preliminary governing license, per target-revenue's
workplans/TREV-WP-0008-governance-and-pilot-rollout.md T05. Full
specialist legal review is deferred until out of beta (target-revenue
SCOPE.md §1). No Phase is yet declared for this repo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 23:47:00 +02:00
40ffa9db21 work records file added
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-22 21:18:14 +02:00
custodian-sync
8ab448e30c chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Updated by fix-consistency on 2026-07-22:
  - update .custodian-brief.md for railiance-apps
2026-07-22 20:34:52 +02:00
4a06c0884a RAILIANCE-WP-0016: finish unattended hybrid Option A backups
Some checks are pending
CI Smoke / host-smoke (push) Waiting to run
CI Smoke / container-smoke (push) Waiting to run
Core in-cluster CronJobs with cnpg-option-a-backup image + NetworkPolicy;
R01 activity-core schedule enabled; status healthy; evidence recorded.
2026-07-22 20:34:24 +02:00
custodian-sync
65e71884a9 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-22:
  - update .custodian-brief.md for railiance-apps
2026-07-22 19:51:36 +02:00
c202fbf7be RAILIANCE-WP-0016: promote active; inventory and activity-core cutover prep
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Mark workplan active with T01/T02 done, document topology, extend status
for activity-core mode, and wire Make targets to the platform multi-host
backup CLI. T03 remains operator-blocked on ESO token.
2026-07-22 19:50:59 +02:00
04626b6335 chore(consistency): write state-hub IDs into RAILIANCE-WP-0016
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
C-06 registration IDs from fix-consistency.
2026-07-22 19:36:36 +02:00
7bc76dc0c6 docs: STATE.md assessment; propose RAILIANCE-WP-0016 activity-core backups
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
Capture post-WP-0015 posture (workstation SPOF) and register a workplan to
move unattended Option A + Forgejo backup automation to railiance01 via
activity-core without a laptop control plane.
2026-07-22 19:35:25 +02:00
1376b4f34c RAILIANCE-WP-0015: use workstation cron; suspend in-cluster CronJobs
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Cluster egress blocks age installs (github + Alpine CDN). Declare
workstation-cron schedule ConfigMap as the unattended path and keep
Option A CronJobs suspended until a prebuilt image is available.
2026-07-22 18:06:06 +02:00
custodian-sync
cf742a0868 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
Updated by fix-consistency on 2026-07-22:
  - update .custodian-brief.md for railiance-apps
2026-07-22 18:01:10 +02:00
6635fdc976 RAILIANCE-WP-0015: Option A CNPG logical backup coverage healthy
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Has been cancelled
Materialize offsite Secret from OpenBao, deploy per-cluster CronJobs,
generalize multi-cluster logical backup + status health for Option A,
seed encrypted uploads and restore-drill evidence; workplan finished.
2026-07-22 18:00:48 +02:00
custodian-sync
374ebed349 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-07-22:
  - update .custodian-brief.md for railiance-apps
2026-07-22 17:53:57 +02:00
custodian-sync
b9c524a9c1 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-07-22:
  - RAILIANCE-WP-0015-T04: progress → wait
2026-07-22 17:53:55 +02:00