Record deployed clipboard fidelity and recovery verification
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 6m15s

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10e2d-a5ef-7e92-b03d-b1694e915680
This commit is contained in:
tegwick 2026-10-07 01:52:30 +02:00
parent 6d246a06dc
commit 4057483190
5 changed files with 116 additions and 6 deletions

View file

@ -1,6 +1,6 @@
# SCOPE — implemented capability and boundaries
Reviewed 2026-10-06 against application source, tests and dated repository
Reviewed 2026-10-07 against application source, tests and dated repository
records. This describes what the checkout can do; historical live evidence is
identified separately. It is not a current production acceptance certificate.
@ -49,7 +49,7 @@ filesystem tenant namespace or a database-wide concurrency guarantee.
not create platform accounts, import passwords, scrape missing Bubble content,
or certify corpus completeness. It runs with writers paused; the batch is
restartable per space, not globally atomic or crash-transactional.
- No app-local member export/delete product, paired DB/content restore drill,
- No app-local member export/delete product,
automatic content git versioning, outline/include/projection authoring or
marketplace/social/payment product is implemented here.
- Historical health/auth evidence does not prove current image, persistence,
@ -100,7 +100,8 @@ Delivery: `docs/deploy.md`; residual records: `docs/intakes/csoc-residuals.md`.
First user-confirmed review case: ReichelAg weekly founder-call protocols
(UC-008), full duplication and manual editing plus clipboard copy for external
email. See docs/usecases/reichelag-weekly-call.md; live transfer is pending.
email. See docs/usecases/reichelag-weekly-call.md; first-cohort import is live,
user workflow acceptance is pending.
Established use-case regression protection is in docs/usecases/registry.json
and tests/usecases/, starting with ReichelAg. `make check` runs fast/application
@ -126,3 +127,10 @@ Expired/public-only source captures are rejected by the targeted exporter.
Current page navigation remains index-first/alphabetical; latest-change ordering
and UI framework architecture are backlog CSOC-WP-0011. See
[real import receipt](docs/release/reichelag-imported-2026-10-06.md).
Clipboard fidelity correction (2026-10-07): founder review identified omitted
title/subtitle and lost Markdown syntax. Revision12 deploys the full original
Bubble export format, including its `xxx` footer. Live text/template payload
match the observed original, and all74content files are unchanged. Exact
payload regressions pass; actual mail-client acceptance remains T09. See
[clipboard release receipt](docs/release/reichelag-clipboard-2026-10-07.md).

View file

@ -0,0 +1,46 @@
# ReichelAg clipboard fidelity correction
Founder review reported that clipboard output differed from the old Bubble app.
Authenticated read-only observation confirms the original plain-text format is
page title, blank line, italic abstractor, blank line, original Markdown body,
then a blank line and `xxx`. Bubble adds the footer during copying. The protocol
body itself does not contain it. No private protocol text is included here.
The previous implementation exported only rendered body content, omitting the
title/subtitle and losing Markdown heading/emphasis syntax. The corrected export
uses safely JSON-encoded canonical Markdown text for rich/plain/manual fallback
paths. Rich HTML includes escaped title/subtitle, sanitized body and the footer.
The page also displays its title and subtitle. Only the storage terminal LF is
removed before appending the legacy footer; internal Markdown is retained.
Source d521ddc, immutable image digest
`sha256:9e7d1c2cc5248a3fd92ab48b4c4edf077c3ee7fb9149e7adb78c29101c60b745`.
Owning chart pin committed/synced in railiance-apps at9499c39.
## Validation and deployment
- `make check`:97passed, including mandatory real-browser workflow.
- Synthetic Chromium checks: exact rich/plain/manual payload, denied fallback
selection, nested bullets, Markdown emphasis and title/subtitle/footer.
- Metadata escaping test: raw title/subtitle HTML cannot execute in rich export.
- Original nominated protocol's observed clipboard matches rebuilt text exactly.
- Fresh paired PostgreSQL/content snapshot captured with writers quiesced;
operation58.38seconds and app resumed. Secret-free digest receipt below.
- Node-side Helm atomic/wait revision12 deployed; server dry-run and parsed
manifests prove only the app image changes. PVC/environment/Secret references
and explicit owner access remain unchanged.
- Live content loader and template JSON payload match the original clipboard;
all74stored file hashes match the recovery snapshot.
- Public health and clipboard asset200; served JavaScript equals tested source.
Pre-upgrade database SHA256:
`af3acf82ca9421624d99fa8ec7d81e71f228b45d560035f2396c91e566ba6673`.
Pre-upgrade content SHA256:
`95a323559819151e1badf52eb0702478eae9616b221ffdf20f526cad18a16c26`.
Private pair remains under node-local temporary custody; this does not close
durable backup retention/operating acceptance (CSOC-WP-0008-T02).
CSOC-WP-0008-T10 correction is implemented. T09 remains the founder's actual
clipboard/email-client acceptance gate. Reload the protocol page, copy, and
check the complete pasted protocol in the email draft. No email is sent by the
app, and no source protocol is changed by this release.

View file

@ -0,0 +1,46 @@
# ReichelAg clipboard fidelity correction
Founder review reported that clipboard output differed from the old Bubble app.
Authenticated read-only observation confirms the original plain-text format is
page title, blank line, italic abstractor, blank line, original Markdown body,
then a blank line and `xxx`. Bubble adds the footer during copying. The protocol
body itself does not contain it. No private protocol text is included here.
The previous implementation exported only rendered body content, omitting the
title/subtitle and losing Markdown heading/emphasis syntax. The corrected export
uses safely JSON-encoded canonical Markdown text for rich/plain/manual fallback
paths. Rich HTML includes escaped title/subtitle, sanitized body and the footer.
The page also displays its title and subtitle. Only the storage terminal LF is
removed before appending the legacy footer; internal Markdown is retained.
Source d521ddc, immutable image digest
`sha256:9e7d1c2cc5248a3fd92ab48b4c4edf077c3ee7fb9149e7adb78c29101c60b745`.
Owning chart pin committed/synced in railiance-apps at9499c39.
## Validation and deployment
- `make check`:97passed, including mandatory real-browser workflow.
- Synthetic Chromium checks: exact rich/plain/manual payload, denied fallback
selection, nested bullets, Markdown emphasis and title/subtitle/footer.
- Metadata escaping test: raw title/subtitle HTML cannot execute in rich export.
- Original nominated protocol's observed clipboard matches rebuilt text exactly.
- Fresh paired PostgreSQL/content snapshot captured with writers quiesced;
operation58.38seconds and app resumed. Secret-free digest receipt below.
- Node-side Helm atomic/wait revision12 deployed; server dry-run and parsed
manifests prove only the app image changes. PVC/environment/Secret references
and explicit owner access remain unchanged.
- Live content loader and template JSON payload match the original clipboard;
all74stored file hashes match the recovery snapshot.
- Public health and clipboard asset200; served JavaScript equals tested source.
Pre-upgrade database SHA256:
`af3acf82ca9421624d99fa8ec7d81e71f228b45d560035f2396c91e566ba6673`.
Pre-upgrade content SHA256:
`95a323559819151e1badf52eb0702478eae9616b221ffdf20f526cad18a16c26`.
Private pair remains under node-local temporary custody; this does not close
durable backup retention/operating acceptance (CSOC-WP-0008-T02).
CSOC-WP-0008-T10 correction is implemented. T09 remains the founder's actual
clipboard/email-client acceptance gate. Reload the protocol page, copy, and
check the complete pasted protocol in the email draft. No email is sent by the
app, and no source protocol is changed by this release.

View file

@ -18,7 +18,7 @@ from pathlib import Path
NS = 'coulomb-social'
IMAGE = ('forgejo.coulomb.social/coulomb/coulomb-social@sha256:'
'bf975939e22b9b0a5d9ac05584ae6265ba201169df6dc48e506ec684b30a9c58')
'9e7d1c2cc5248a3fd92ab48b4c4edf077c3ee7fb9149e7adb78c29101c60b745')
CLUSTER_UID = 'a553c742-0115-43d4-99a4-a5ca56fe0786'

View file

@ -8,7 +8,7 @@ status: active
owner: codex
topic_slug: coulomb-social
created: "2026-10-06"
updated: "2026-10-06"
updated: "2026-10-07"
origin: residual
origin_ref: CSOC-WP-0007
depends_on:
@ -246,7 +246,7 @@ Validation: **86 tests passed**; Ruff passes changed service/view/test files;
```task
id: CSOC-WP-0008-T10
status: progress
status: done
priority: high
state_hub_task_id: "41334b54-0c99-5c61-9cdf-16231516882b"
```
@ -478,3 +478,13 @@ newlines + unchanged Markdown body + `\n\nxxx` legacy footer. T10 reopened to
preserve that exact plain payload, including fallback, while retaining sanitized
rich HTML for email. Private notes are not regression fixtures. T09 remains
pending the user's clipboard/mail-client review.
Correction deployed as Helm revision12, immutable source d521ddc / digest
sha256:9e7d1c2cc5248a3fd92ab48b4c4edf077c3ee7fb9149e7adb78c29101c60b745.
Server dry-run and parsed manifest comparison prove only the app image changed.
Live export and template JSON payload match the observed original exactly.
All74content-file hashes match the fresh paired pre-upgrade snapshot; existing
owner access remains valid. Public health/static delivery200, actual deployed
JavaScript equals tested source. make check97passed; rich/plain/denied fallback
checks pass. T10 implementation done; T09 remains pending user email-client
review. The snapshot helper's expected image pin follows this release.