railiance-apps/workplans/RAPPS-WP-0015-coulomb-personal-content-release.md
tegwick dc927d7751
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Prepare verified combined Coulomb attachment and content release
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a192e9-c28b-7533-bf25-e2341364c22a
2026-10-31 19:42:01 +01:00

506 lines
28 KiB
Markdown

---
id: RAPPS-WP-0015
type: workplan
title: "Coulomb-social persistent personal workspace release"
domain: financials
repo: railiance-apps
status: active
owner: codex
topic_slug: railiance-apps
created: "2026-10-06"
updated: "2026-10-31"
related:
- CSOC-WP-0008
state_hub_workstream_id: "79abacf8-361e-51ab-829d-40dec8e142d1"
---
# RAPPS-WP-0015 — Personal Coulomb workspace
Owning deployment change for CSOC-WP-0008. Prepare a reviewed upgrade from
7fcd0cf to the tested app with static assets and a 2Gi retained local-path
CONTENT_ROOT PVC. Use one replica and Recreate to prevent concurrent old/new
filesystem writers. Existing OIDC, PostgreSQL and secret references stay in use.
## T01 — Prepare immutable source image
```task
id: RAPPS-WP-0015-T01
status: done
priority: high
state_hub_task_id: "e17488d4-60b8-58b7-a5d8-fbcdc55e1f0c"
```
Source repo runs make check; collect static assets in the container image;
exclude private local data from Docker context. Build/publish SHA-tagged image
with revision label and registry digest. Verify the image serves the real
clipboard asset through production settings without developer static hosting.
## T02 — Validate persistent single-writer chart
```task
id: RAPPS-WP-0015-T02
status: done
priority: high
state_hub_task_id: "4e38dd8e-761b-58c8-8005-8490a49767ab"
```
Content PVC/mount/CONTENT_ROOT wiring, fsGroup 10001, keep policy and Recreate.
Reject multiple replicas, rolling writer strategy and root/mount mismatch.
Helm lint/render, server dry-run and diff; confirm resource/disk headroom and
that coulomb-social is not currently ArgoCD-managed. Publish the review branch.
## T03 — Approved upgrade and recovery point
```task
id: RAPPS-WP-0015-T03
status: done
priority: high
state_hub_task_id: "2ce05439-70dc-53cf-b704-5118687857cb"
```
Founder approves exact image digest, chart diff, 2Gi PVC and brief Recreate
interruption: ADMINISTER @ realm:kubernetes/railiance01, activation=APPROVED.
Capture a private pre-upgrade DB recovery point through the documented owner
backup path. Apply from railiance01 with Helm --atomic, preserve existing
tegwick identity and migration data. Do not run legacy env
secret-building scripts or dump live Secret objects. No apex cutover.
## T04 — Personal sign-in and content acceptance
```task
id: RAPPS-WP-0015-T04
status: wait
priority: high
state_hub_task_id: "8bc4962a-d0d4-57cd-bf2b-295658b88765"
```
User signs in interactively as existing personal tegwick account. Confirm local
Member matches verified issuer/subject, grant only that member the nominated
workspace, and smoke page CRUD/duplicate/clipboard. Prove PVC write ownership,
restart durability and paired DB/content restore before real productive transfer.
CSOC-WP-0008 continues actual ReichelAg reconciliation and user review.
## Prepared evidence — 2026-10-06
Source ac7bac1852c9, make check: 88 passed. Container production WhiteNoise
serves /static/spaces/copy-content.js HTTP 200, 2909 bytes, ClipboardItem present.
Published immutable registry digest:
sha256:bf975939e22b9b0a5d9ac05584ae6265ba201169df6dc48e506ec684b30a9c58.
Chart 0.2.0 pins that digest; lint and server dry-run pass; unsafe multiple
replicas, RollingUpdate and CONTENT_ROOT mismatch are refused.
The user's actual login fails unknown client_id. Guarded read-only inspection
confirms the public coulomb-social client is absent. CSOC-WP-0008-T11 prepares
its restoration and shared KeyCape restart; no live change has been made.
Existing completed apps-pg daily backup is not a paired application restore.
T03/T04 remain waiting for exact live approval and personal acceptance.
## Approved deployment receipt — 2026-10-06
Founder approved explicit proposal; decision 8bbce691-a787-4140-9cd4-df06e8635a27,
ADMINISTER @ realm:kubernetes/railiance01, activation=APPROVED.
Fresh apps-pg Backup csoc-preupgrade-20261006145351 completed 14:54:31Z before
app upgrade. Chart changes pushed to main at3f5a909. Helm atomic upgrade from
railiance01 succeeded: revision10, chart0.2.0, pinned digest above. App1/1 ready,
2Gi PVC Bound, UID/GID10001 write succeeds, zero pending migrations. Dedicated
synthetic content marker survived a fresh pod restart and was removed afterward.
Public health/landing/clipboard asset200; login302 correct issuer/client/PKCE.
Missing public OIDC client restored and KeyCape restart succeeded under same go;
authorization hands off to Authelia. Interactive tegwick sign-in remains pending
user confirmation. T03 done; T04 wait for interactive/product acceptance and
paired recovery. No productive import or apex cutover. Application receipt:
coulomb-social/docs/release/personal-account-deployed-2026-10-06.md.
## User sign-in result — 2026-10-06
The user reaches auth.coulomb.social but tegwick is rejected as wrong username
or password. Read-only directory query through the existing provisioner confirms
tegwick is present. Live Authelia username attribute is uid; its lookup supports
uid or mail. Contained recent-log inspection records a tegwick LDAP invalid-
credentials failure, without backend connection error or regulation-ban evidence
in that entry. This does not establish why the entered credential is rejected.
The app and client restoration are deployed, but personal sign-in is not accepted.
CSOC-WP-0008-T11 remains wait for human credential confirmation/recovery and a
successful fresh sign-in. The user was asked whether the same password works on
another service. No password was requested/read/exported or reset. Authelia's
current notifier is filesystem rather than SMTP: do not promise emailed recovery
or expose reset tokens from notification files. Any credential reset must use
the owning attended recovery/setup lane under a separate exact approved change.
## Personal login 500 correction — 2026-10-06
User confirmed fresh password-reset email receipt, then reported HTTP500 after
authentication. In-pod credential-safe read-only probes with empty claims show
old USER_ENGINE_BASE_URL redirects302 to users.coulomb.social/api/v1/me; canonical
endpoint responds400 to empty claims using the existing service credential. No
identity was created. The application's httpx client does not follow redirects
and raise_for_status rejects302 before establishing its local session.
Correct USER_ENGINE_BASE_URL in chart defaults and production overrides to
https://users.coulomb.social. Preserve immutable image, Secret references,
identity issuer/subject/tenant, PVC and access rules. This completes the already
approved personal app deployment; founder go/interruption approval is recorded
in decision8bbce691-a787-4140-9cd4-df06e8635a27. Use node-side Helm atomic upgrade,
server dry-run and exact manifest diff; rollback revision10 if necessary. T04
remains waiting for successful interactive personal workspace acceptance.
Correction deployed as Helm revision11; parsed server dry-run manifest differs
only in USER_ENGINE_BASE_URL. Atomic/wait upgrade succeeded, app1/1 and public
health/landing200, login302. Root receipt docs/release/personal-login-500-2026-10-06.md
in coulomb-social records evidence. Fresh user workspace acceptance remains open.
User confirmed “I reach my workspace” after revision11 correction. Personal
sign-in accepted. T04 remains open for content creation/reload, copy/edit/native
clipboard and explicit access-denial/product acceptance; login alone does not
close that broader product task.
## First content-transfer recovery preparation — 2026-10-06
Founder instructed current ReichelAg capture/first transfer (“yes go on”), then
prioritized content over UX and a separate UI framework architecture phase.
Bounded snapshot operation continued personal-app interruption approval: root
scripts/snapshot-content-and-db.py server dry-run passed; app paused, app-scoped
coulomb_social_db pg_dump and read-only retained PVC archive captured privately,
helper pod removed and app1replica resumed. Operation53.73seconds; app health200.
No persistent chart/deployment, data, grants or credential settings changed.
Private pair restored in isolated Docker PostgreSQL:13tables/102rows with empty
content, logical rows/sequences match. A separate synthetic populated pair
restored13tables/111rows/4files; protocol original/edited copy, assets/render,
viewer validCSRF write denial and outsider read denial pass. Ephemeral restore
containers/internal networks removed;96repo tests passed. Receipt in product
repo docs/release/reichelag-transfer-2026-10-06.md.
Fresh private Bubble protocols require a renewed session; user-attended local
browser opened. T04 remains wait for real content/product acceptance. Temporary
snapshot custody is not scheduled durable backup acceptance (CSOC-WP-0008-T02).
## Real first-cohort import executed
Founder completed attended Bubble web login. First ReichelAG cohort captured
without old seed:36articles/36assets (37markdown files with space index), latest
dated protocol2026-10-02; all29August IDs plus7new. Fresh20:21:30Z paired point
captured privately. Node import helper server dry-run/source hashes/snapshot
hashes passed; after pausing writers current DB/content compared equal to
paired point. One new space, owner grant only for existing tegwick identity;
no replacement. All73source files hash-match and37pages render; app resumed
after52.97seconds. New pod verifies visible space/pages/assets/grant; health200.
Same revision11 image, credentials and chart configuration retained.
Separate real-content paired rehearsal restored13tables/104rows/73files with
all hashes/logical rows/sequences matching, all pages rendered, owner read and
ungranted same-tenant read denial.96tests pass. T04 user/clipboard/product
acceptance remains open; retained backup custody/rollback remains live
CSOC-WP-0008-T02. Receipt: product docs/release/reichelag-imported-2026-10-06.md.
## Clipboard fidelity corrective release — 2026-10-07
Founder review found the ReichelAg clipboard differs from Bubble. Root source
d521ddc fixes full title, italic abstractor, raw Markdown and legacy footer;
private authenticated comparison is exact, and make check passes97tests.
Production values pin the new immutable registry digest. Continue the approved
personal-app upgrade/interruption scope (decision8bbce691-a787-4140-9cd4-df06e8635a27);
only the app image may differ in parsed manifests. Preserve PVC, environment,
Secret references, identity and grants. Fresh paired DB/content recovery point
captured before upgrade. T04 remains waiting for actual user clipboard/mail
review; no protocol contents are changed by this image release.
Corrective release deployed as Helm revision12 with atomic/wait. Server dry-run
parsed manifests differ only in the pinned app image. Live loader/template
clipboard text equals the original; all74content file hashes unchanged from
paired pre-upgrade snapshot; owner access valid. Public health/static200 and
served clipboard script equals tested source. T04 remains user product review.
Receipt: coulomb-social/docs/release/reichelag-clipboard-2026-10-07.md.
## Protocol naming corrective release — 2026-10-07
Founder confirms edit and clipboard behavior, reports default filenames retained
after duplicating with a new title and undiscoverable rename controls. Root
CSOC-WP-0008-T12 implements server-derived filenames on title-only duplication,
explicit override, visible Rename page controls and metadata preservation during
rename/edit. Source b13ba9c5815e, full gate98tests passed, pinned immutable digest
sha256:dbeaeda1a03622a91683f8db3c1f498e8bf43417cdb077ec740c56f0489baff6.
Apply an image-only node Helm atomic/wait upgrade under existing founder app
upgrade/interruption go, decision8bbce691-a787-4140-9cd4-df06e8635a27. Fresh paired
database/content recovery point captured56.93seconds, app resumed; content and
grants must remain unchanged. T04 continues user naming/workflow review.
Naming correction deployed as revision13; node Helm atomic/wait succeeded with
app-image-only parsed manifest diff. Live Rename page/title/file controls and
new copy-filename logic verified; original clipboard payload still matches.
All75content files unchanged from fresh paired snapshot; owner access remains
valid. Health/static200. Owning pin commit22c5695; sourceb13ba9c5815e.
T04 remains founder naming/workflow review; edit and clipboard copy accepted.
Receipt: coulomb-social/docs/release/reichelag-naming-2026-10-07.md.
## Private Visual release — 2026-10-07
Founder explicitly approves exact image-only rollout, decision
3f959ed2-4163-4fa5-9f88-f80b2a3d1b89, ADMINISTER @
realm:kubernetes/railiance01, activation=APPROVED. Source017b917e2158, published
digest sha256:0e235abc33a1c5613c0e2c9a0f767c871d0fbed6695973ae17cfdcb2dedaaafa.
Root make check129passed; private raster covers/body-image routing and bounded
Visual copies tested, including actual Chromium writer/viewer/outsider behavior.
Packaged UID10001/network-disabled smoke passes. Live-manifest comparison and
server dry-run verified image only; current37JPEG signatures all match.
Prepare fresh quiesced paired DB/content backup and verify isolated recovery
before node Helm atomic/wait upgrade. Preserve issuer, mailbox, credentials,
PVC, metadata/content and grants. Root receipt:
coulomb-social/docs/release/private-visuals-2026-10-07.md. T04 and product T05/T09
remain open for actual user Visual/workflow acceptance. No Bubble retirement.
Private Visual release deployed as revision14 under exact founder decision
3f959ed2-4163-4fa5-9f88-f80b2a3d1b89. Fresh quiesced paired capture57.74seconds,
app resumed; actual production pair restores13tables/104rows/sequences and
75files with all hashes matching. New-image isolated checks render38pages and
38cover references; viewer read/write denial and outsider page/image denial
pass. Rehearsal DB/network removed. Private mode0640 restored files use the
workstation non-root owner; production UID10001 and ownership remain intact.
Owning pin2e95944 reviewed source archive deployed from the node. Fresh parsed
manifest comparison proves app image only; cluster identity and kubectl/Helm
server dry-run pass. All75files match paired point before upgrade. Atomic/wait
upgrade20.66seconds; app1/1, exact source017b917/digest0e235abc. Read-only live
owner views verify38covers, template and single owner grant; unsaved outsider
image404. All75stored file hashes unchanged. Anonymous image login302; public
health/static200; served clipboard source matches. Root snapshot helper pin
follows release;7focused recovery tests/new server dry-run pass.
T04 user Visual/complete workflow acceptance remains open. Root T02 retained
backup custody/retention and production rollback remain open; no durable backup
or Bubble retirement claim. Receipt: product docs/release/private-visuals-2026-10-07.md.
## Spaces-list Visual correction — 2026-10-07
Founder review confirms page Visual but reports the missing Spaces-list preview.
Complete the already approved private-Visual image-only upgrade scope by adding
that preview with the existing authenticated asset route and membership-filtered
query. Source881a61d10798; full make check129passed including actual writer/viewer
list image loading and outsider exclusion. Browser harness now uses a temporary
file DB to permit concurrent image request connections; streaming fast tests
follow Django client close lifecycle. No checks skipped/serialized.
Pin sha256:91673ba7625f905c7a4d0c3d52b45ccc7e7746f387d1e84aab331d68994c5df9.
Fresh paired capture56.03seconds; app resumed. Verify isolated recovery, fresh
image-only node dry-run and rollout within decision3f959ed2's approved Visual
scope and the founder's direct gap review. T04/T05/T09 remain user acceptance.
Spaces-list correction deployed as revision15: source881a61d10798, owner pin
f5fc9ea, digest91673ba7625f905c7a4d0c3d52b45ccc7e7746f387d1e84aab331d68994c5df9.
Fresh paired capture56.03seconds; app resumed; actual pair restored13tables/
104rows/sequences/75files matching,4.14seconds. New-image owner/viewer list
cover rendering/reads and outsider list exclusion pass in isolated recovery;
rehearsal DB/network removed. Fresh exact image-only/cluster/content guards and
server/Helm dry-run pass. Atomic/wait upgrade20.58seconds, app1/1.
Read-only live core view verifies owner list preview/private image bytes and
unsaved outsider exclusion; single owner grant/all75file hashes unchanged.
Public health/static200; clipboard unchanged. Root snapshot helper pin follows
release;7tests/new server dry-run pass. Original release gate129passed, including
actual writer/viewer list-image loading and outsider exclusion with independent
test DB request connections; no skipped/serialized browser traffic.
This completes the omitted list preview identified in direct founder review,
within the approved private-Visual image-only scope. T04 and root T09 wait for
founder list/full workflow acceptance; retained backup operations remain T02.
Product receipt docs/release/private-visuals-2026-10-07.md includes both revisions.
## Sharing/portability image release — 2026-10-08
Founder instruction: Please deploy commit and sync. Exact image-only authority
is recorded by product decision8e692284-6289-4594-bb21-88346f174806:
ADMINISTER @ realm:kubernetes/railiance01, activation=APPROVED. Source dd83c90;
owner pin2202e69; immutable digest9a646d8e01a61ba5316d3c2eb0273064e17f2d0300ad07af766ccedda65ecb18.
Product182-test Ruff/real-browser gate and packaged non-root/no-network smoke pass.
Fresh paired capture56.21s/app resumed; actual isolated13tables/104rows/sequences/
75files match, recovery4.31s. New image renders38pages/38Visuals and verifies
sharing/export/restored viewer write denial and outsider page/image denial;
isolated DB/network removed. Private pair retained for existing custody handoff.
Parsed manifests prove three unchanged resources with only the app image changed.
Node cluster/PVC/image/pressure and live specs match; CPU1/1000m semantic equality
was corrected after the preflight stopped, with no upgrade on failed guards.
Namespace-correct kubectl/Helm server dry-run and pre-upgrade75file hashes pass.
Atomic/wait upgrade18.64s deploys revision16, one Ready replica at exact digest.
Postflight live specs and all75stored file hashes match; existing owner grant
unchanged. Read-only UID10001 owner controls/export and38pages/Visuals, unsaved
outsider denial, public health/static200 and clipboard source match all pass.
No production identity/session/grant or content change is used for tests.
Product snapshot helper pin follows release;9focused safety tests and fresh
server dry-run pass. No Secret, issuer, mail, caller, PVC, offsite schedule or
Bubble/apex change. T04 remains wait for productive complete user acceptance;
product WP-0008/WP-0010 retain their broader open tasks. Product receipt:
docs/release/sharing-portability-review-2026-10-08.md.
## T05 — Deliver the identity-binding and operator-export image
```task
id: RAPPS-WP-0015-T05
status: done
priority: high
needs_human: false
decision_id: "75b94bb6-4709-495f-91fe-43e53e2867ed"
intervention_note: "Founder executed9f1daf6c; revision19 and complete independent postflight, source/helper/values reconciliation and current-point consumer recovery/export are verified. No rerun required."
state_hub_task_id: "9f657a95-ce0e-5805-b754-a64e38827c73"
```
Owner execution dependency for CSOC-WP-0012-T03 and CSOC-WP-0015-T04. This is
separate from completed storage release 5fd7ccd8 and date correction 47829c7a.
Candidate source 23ffe2c/image 522bcd7f is published and packaged-source verified;
441 source tests and 25 packaged identity/export tests pass. The retained isolated
recovery verifies 85 client files and 40 owner/40 outsider views without app overlays.
Current production remains revision 18/image 51281946; default live Helm values are
unchanged until the verified execution return.
Prepared separate image-only launcher/node/probe, candidate values and snapshot
pin. The controller requires both existing slug constraints and migration 0003,
compares complete business/migration-history/content fingerprints, makes a fresh
admitted primary backup/readback, then performs atomic Helm upgrade and postflight.
Rollback verifies the previous live specification, Ready replica and recognized
helper; no data restore/schema downgrade or automatic replay. The old storage
launcher is not reused. 19 synthetic safety tests, Ruff, compile and Helm lint pass.
Sealed read-only preflight 9f1daf6c passes at 2026-10-31T03:41:35Z: revision 18,
12 business tables/92 rows/86 files, exact migration history, unchanged helper pins,
CPU 68%/memory 76%, image-only chart/server-preview checks and no Argo adoption.
The expected live spec preserves the unmanaged restart annotation; raw kubectl
apply remains dry-run only. Receipt: docs/evidence/2026-10-31-coulomb-image-release-preflight.json.
Founder packet: coulomb-social/docs/release/identity-export-release-review-2026-10-31.md.
The new execution has not occurred. No node helper, Helm release, timer or data
changed. Existing recovery rehearsal predates the date correction; independent
retrieval/restore/export of the new execution point remains consumer follow-through.
Done when founder execution and independent postflight are verified, the native
receipt and actual image/helper pins are reconciled into owner/product source,
and the product records reference that exact release. This does not accept the
remaining productive journeys or service/offboarding obligations for the consumer.
2026-10-31 handoff: controller commit `84a5aa0` is published on owner main.
The canonical workstation launcher reproduces proposal `9f1daf6c` with
`live_changes: false`; the founder packet is ready for attended execution.
Consumer follow-through remains CSOC-WP-0012-T03 and CSOC-WP-0015-T04.
2026-10-31 founder image-release return: proposal9f1daf6c completed at07:15:24Z,
Helm revision19/image522bcd7f. Independent complete-spec/Ready/identity checks,
all80packaged source hashes, unchanged92business rows/86files/migration history,
40owner renders/40outsider denials, public endpoints and refreshed helperdcc8dd2a
all pass. Live owner values/product pins are reconciled. Fresh07:13 primary point
is mirrored, independently retrieved and restored (13tables/114rows/86files);
packaged client export verifies85files without source mutation. Full make check
441passes, zero skips. Release decision75b94bb6 is resolved only for that exact
execution; RAPPS-WP-0015-T05 is complete. Productive flow and service/offboarding
acceptance remain open. Return: docs/release/identity-export-release-return-2026-10-31.md.
## T06 — Preserve private custody when freezing future release evidence
```task
id: RAPPS-WP-0015-T06
status: done
priority: high
needs_human: false
state_hub_task_id: "5357f194-ae4d-599e-9a87-08e8d585a124"
```
Source correction for CSOC-WP-0012-T13 after backup installation preflight exposed
0755 intermediate capsule directories from completed releases. The current image
controller creates each component with mode0700 through no-follow directory
file descriptors, checks private ownership/mode and refuses unsafe existing state.
It does not chmod historical directories or replay the completed release. Files
remain0600. The old storage capsule remains frozen; it is not a current release path.
Validation: 24 focused release safety cases pass, including a nested chart under
umask022 and refusal of broad, symlinked, ancestor-symlinked and non-directory
parents without mutation. Ruff and git diff --check pass. Product receipt:
coulomb-social/docs/release/backup-producer-custody-validation-2026-10-31.json.
The historical eight-entry repair and recurring service acceptance remain product
T04/T09. No cluster operation occurred; future release proposals bind the new source.
## T07 — Deliver the combined content and author attachment release
```task
id: RAPPS-WP-0015-T07
status: wait
priority: high
needs_human: true
wait_kind: human
blocking_reason: "Combined packet e96752ec passes full native preflight after independently verified inactive installation8f442bf0; founder-terminal execution and independent return remain required."
depends_on:
- CSOC-WP-0012-T08
state_hub_task_id: "8f448934-bdfe-539f-8cab-a739ec752491"
```
Deployment-owner follow-through for CSOC-WP-0013-T05. Candidate source f306dbf is
published at `sha256:d3f2f5bb90f0ba79f4e1d8098d2eb06f8940b8789e5ecb851914bbab364597ec`.
Only packaged pageops.py differs from verified revision19/image522bcd7f. All80
packaged sources match the commit; Python/runtime distribution versions match;
no migration is added. Product full gate546 and packaged lifecycle29 pass. The
previous image reproduces exactly four partial-attachment recovery failures under
real child-process exits. Product evidence: docs/release/content-lifecycle-candidate-
{build,provenance,tests}-2026-10-31.json and the baseline-tests receipt.
Prepare an exact current-target image-only packet using the existing release
controller, including its private directory fix from T06. Verify current release,
full dataset/migration fingerprints and complete candidate/previous-image recovery
checks. Bind fresh paired rollback capture, postflight and snapshot image-pin
refresh. Keep historical capsules and existing pending backup repair/installation/
route packets intact. Then obtain the attended execution and independently verify
its durable return. Current verified revision19 remains authoritative until that
return; no image deploy is implied by publication. Productive review stays with
CSOC-WP-0013-T05/T03. Retention policy c3a191f2 is accepted; no cutoff or purge was
authorized. Do not replay the completed identity image release.
2026-10-31 preparation return: exact20-member proposal
`sha256:c9c3231620721ef3ea9b2bf22fc6c62fe3ed8efb91386cf7ec96acc6959dae08`
is prepared with a separate plan/values/snapshot/evidence set. The existing launcher
accepts an explicit reviewed plan; historical frozen capsules stay intact.40
controller tests, Ruff and Helm lint pass. Native image-only server preview preserves
the complete current specification and unmanaged metadata. Candidate/previous-image
checks on the independent07:13 recovery point render40owner pages, deny40outsiders,
verify85export files, and preserve all13tables/86files. Current target remains
revision19;93business rows reflect a new session plus login timestamp changes.
Content and migration history match the retained point; private values are not exposed.
Ordering is material: the pending installer8f442bf0 pins snapshotdcc8dd2a. Deploying
this image first would stale that reviewed packet. The new controller therefore
requires that exact completed installation receipt and currently inactive/disabled
backup units before creating its release journal, then pins all12 installed Python
helpers. Native full preflight correctly refuses the absent installation receipt;
it is not a pass and no image execution occurred. Historical custodyfa2763d1,
route4d848106 and installer8f442bf0 packets are unchanged. After their returns,
re-run the full image preflight before admitting execution; finish native service
proof/schedule activation afterward. Consumer review commands and exact scope:
coulomb-social/docs/usecases/sharing-portability-review.md, lifecycle release section.
Evidence: content-lifecycle-release-{target,row-drift,preflight,proposal,preparation}
JSON files in the consumer docs/release directory. T07 is now external wait for T08;
product policy is settled, and productive lifecycle acceptance remains open.
2026-10-31 combined candidate: the route and inactive installation now have
founder-executed independent returns. User requested plain attachment actions,
including author add/remove (product decision78175c34), and accepted the three
custom-topic rendering cases for now. The new source1139a6d combines the original
crash-recovery correction, ordered-list starts and revisioned attachment actions.
Image7906f461 has exact packaged provenance and unchanged runtime dependencies;
no schema migration. Main gate670, isolated source gate568 and packaged110 pass.
The retained independently recovered pair remains unchanged across candidate/old
40owner/40outsider views and85file selected-client export, all13tables/86files.
New immutable plan: release/coulomb-content-acceptance-1139a6d.json.
Exact proposal: sha256:e96752ecfa7adef2fd1d9da48902c8e63de124ccfd272fe20ba79b758b3ca4a3.
Full native read-only preflight passes at revision19 with unchanged93business
rows/86files, complete desired specification, Helm/server previews, installed
source prerequisite and inactive units. Historical c9c32316 remains unchanged;
use the new combined proposal only. Founder-terminal execution remains required.
The reviewed action captures a fresh pair before atomic Helm rollout and refreshes
the snapshot image pin after unchanged-data/view checks. No timer activation,
production restore, purge or mail. Productive acceptance remains with WP-0013.
Review/command: coulomb-social/docs/release/content-acceptance-review-2026-10-31.md.