diff --git a/SCOPE.md b/SCOPE.md index 7d774c8..1c1774f 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -134,3 +134,10 @@ 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). + +Protocol naming correction (2026-10-07): revision13 makes duplicate filenames +default to the new title and adds a visible Rename page action. Filename changes +also change the page address; title-only edits keep it stable. Collisions and +index filename changes are refused; notes/Visual/source metadata are retained. +Founder confirms editing and clipboard copy; naming review remains T09. +[Protocol naming receipt](docs/release/reichelag-naming-2026-10-07.md). diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index e4d4085..850ac59 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -66,7 +66,7 @@ | task | CSOC-WP-0008-T09 | progress | — | workplans/CSOC-WP-0008-production-transfer-acceptance.md | | task | CSOC-WP-0008-T10 | done | — | workplans/CSOC-WP-0008-production-transfer-acceptance.md | | task | CSOC-WP-0008-T11 | done | — | workplans/CSOC-WP-0008-production-transfer-acceptance.md | -| task | CSOC-WP-0008-T12 | progress | — | workplans/CSOC-WP-0008-production-transfer-acceptance.md | +| task | CSOC-WP-0008-T12 | done | — | workplans/CSOC-WP-0008-production-transfer-acceptance.md | | task | CSOC-WP-0009-T01 | done | — | workplans/CSOC-WP-0009-usecase-regression-infrastructure.md | | task | CSOC-WP-0009-T02 | done | — | workplans/CSOC-WP-0009-usecase-regression-infrastructure.md | | task | CSOC-WP-0009-T03 | done | — | workplans/CSOC-WP-0009-usecase-regression-infrastructure.md | diff --git a/docs/release/reichelag-naming-2026-10-07.md b/docs/release/reichelag-naming-2026-10-07.md new file mode 100644 index 0000000..98aeff5 --- /dev/null +++ b/docs/release/reichelag-naming-2026-10-07.md @@ -0,0 +1,57 @@ +# ReichelAg protocol naming correction + +Founder duplicated a protocol and changed its title, but the slug/Markdown file +retained the original-copy default. Rename was undiscoverable inside Edit page. +Founder confirms editing and clipboard copy work. CSOC-WP-0008-T12 registers +and implements this naming gap; complete workflow acceptance remains T09. + +## User-visible behavior + +- Duplicate page: enter the new title once. Leave the optional filename empty + to derive its slug/.md filename from the title. An explicit filename overrides + the default. If title and filename are both empty, keep the original-copy rule. +- Rename page: a visible writer action opens editable Title and File name + (slug) fields. Title-only edits keep the current filename/address; changing + the file field renames the .md file and changes the page address. +- Existing duplicates are not changed automatically. Use Rename page on the + existing duplicate and choose its corrected title/filename, then Save page. +- Notes, subtitle, Visual and imported source metadata survive rename and + subsequent editing. Existing pages cannot be overwritten; index filename + stays fixed; readers and outsiders cannot rename. +- Existing references are not rewritten when the address changes. + +Milestone: I name the next weekly protocol while duplicating it and can correct +its title/file later without losing notes or modifying the previous call. + +## Evidence and release + +`make check`:98passed, including mandatory real-browser title-only duplication, +visible rename, file/address change, independent edit/reload/clipboard and +viewer-denied rename. Mandatory fast regression verifies explicit override, +collision safety, original byte preservation, source metadata and Visual asset +preservation through rename/edit, and fixed index. Targeted Ruff/diff checks pass. + +Source `b13ba9c5815e`, registry digest +`sha256:dbeaeda1a03622a91683f8db3c1f498e8bf43417cdb077ec740c56f0489baff6`. +Owning production pin committed/synced at22c5695 in railiance-apps. Existing +founder app/interruption go continues this corrective release: +ADMINISTER @ realm:kubernetes/railiance01, activation=APPROVED; +decision8bbce691-a787-4140-9cd4-df06e8635a27. Node92.205.62.239 and single-writer +retained2GiPVC verified. CPU requests3455m/4000m; Recreate avoids writer surge. + +Fresh paired database/content recovery capture took56.93seconds; writers were +paused and app resumed. Pre-upgrade database SHA256: +`e625d8a7505efe796a75fb94eafba5cca82583f20885641d13cd14d3cd350089`. +Content archive SHA256: +`87478a65130c9f9a0f84fe1a098b95899f76304cca9dbb036e3862d5f4c42f4d`. +Temporary node-local custody does not complete durable backup operations/T02. + +Helm lint/render and guarded server dry-run passed. Parsed manifests differ only +in app image; Helm atomic/wait revision13 deployed. Read-only live checks verify +rename action, editable title/filename, loaded title-derived duplicate logic, +unchanged original clipboard text/template payload and owner access. All75stored +file hashes match the pre-upgrade recovery point. Public health/static200 after +the expected brief Recreate interruption. No live protocol was automatically +renamed or modified for testing. No private notes or credentials enter records. + +Implementation taskT12done. T09/T04 remain user naming/workflow acceptance. diff --git a/docs/usecases/first-transfer-review.md b/docs/usecases/first-transfer-review.md index 61831a7..7a0c3a8 100644 --- a/docs/usecases/first-transfer-review.md +++ b/docs/usecases/first-transfer-review.md @@ -5,9 +5,11 @@ app, recognize the content, organize it, share it with the intended people and trust it to remain available. I can see exactly which old use cases can move and which still need rebuilding. -**Status:** walkthrough prepared; user review not yet ready. WP-0008 is active. -Local permission/import tests do not establish a deployed, migrated review -instance. This document will carry the release/evidence links before review. +**Status:** user review in progress; WP-0008 is active. The first real ReichelAg +cohort is live. Founder confirms personal login, protocol editing and clipboard +copy. Duplication/naming review identified CSOC-WP-0008-T12; the correction is +deployed as revision13. Full workflow transfer and Bubble retirement are not accepted. +See the dated release receipts under docs/release/. ## First nominated workflow — ReichelAg weekly founder call @@ -20,12 +22,16 @@ accept migration or a live release. ## Review preparation (owned by WP-0008) -- Review host and immutable release: pending T01. -- Nominated workspace: ReichelAg. Latest real protocol and private member mapping: pending T03. -- Workflow confirmed by user description; exact Bubble UI/browser walkthrough pending T08. +- Review host: https://app.coulomb.social/; retained one-writer content release is live. + Current immutable release: [protocol naming receipt](../release/reichelag-naming-2026-10-07.md). +- Nominated workspace: ReichelAg; latest real protocol and explicit personal-owner + grant imported. Wider Bubble-space reconciliation remains T03. +- Workflow confirmed by user description and ongoing review. Original clipboard + observed directly and matched exactly; wider Bubble UI inventory remains T08. - Migrated content/visual/link reconciliation and accepted differences: pending T03/T05. - Writer, reader and outsider access; sharing and portability UX: pending T04. -- Restart durability and measured isolated restore: pending T01/T02. +- Content restart durability and paired real-content isolated restore verified. + Durable backup custody/retention and operational rollback remain T02. Use a private companion record for real content and account identities. Record only non-secret receipts, stable journey IDs and user verdicts here. @@ -34,8 +40,8 @@ only non-secret receipts, stable journey IDs and user verdicts here. | Journey | What you do | What you should experience | Review verdict | |---|---|---|---| -| UC-008 | Duplicate the latest ReichelAg protocol, edit/write the new call notes, copy content, paste into your usual email client | Previous entry intact; new agenda/protocol editable; pasted notes usable without app chrome | Pending | -| UC-001 | Sign in (or register) and find the nominated space | Reach the right work without a Bubble login dependency | Pending | +| UC-008 | Duplicate the latest ReichelAg protocol, name it, edit/write the new call notes, copy content, paste into your usual email client | Previous entry intact; new agenda/protocol editable; pasted notes usable without app chrome | Edit and clipboard copy accepted; duplicate naming/rename correction T12 awaits review | +| UC-001 | Sign in (or register) and find the nominated space | Reach the right work without a Bubble login dependency | Existing personal sign-in accepted; first space visible; broader registration review remains separate | | UC-002 | Open the same representative page in Bubble and the new app | Recognizable title, abstract, visual, body and useful navigation; differences clearly disclosed | Pending | | UC-003 | Edit a page, make a new page and update space details; revisit after restart | Changes remain readable and usable without manual Git/database actions | Pending | | UC-004 | Copy into a second space, edit the copy, then move another page | Copy is independent; moved page leaves source and appears intact at destination; permissions remain correct | Pending | diff --git a/docs/usecases/reichelag-weekly-call.md b/docs/usecases/reichelag-weekly-call.md index 8281b25..36f504f 100644 --- a/docs/usecases/reichelag-weekly-call.md +++ b/docs/usecases/reichelag-weekly-call.md @@ -121,3 +121,9 @@ collisions and requires authoring access. Old references are not rewritten. Mandatory fast and browser regressions protect these behaviors. User acceptance of this naming correction remains pending; successful editing/copy is recorded without treating it as complete weekly-workflow or Bubble-retirement acceptance. + +Naming correction deployed as revision13 (source b13ba9c5815e);98tests pass. +Live controls/export verified and all75stored content-file hashes unchanged. +Founder review can now rename the existing duplicate, then continue the weekly +workflow. Editing and clipboard copy are user-confirmed; naming acceptance is +still pending. [Release receipt](../release/reichelag-naming-2026-10-07.md). diff --git a/history/20261007T000951Z-reichelag-protocol-naming.md b/history/20261007T000951Z-reichelag-protocol-naming.md new file mode 100644 index 0000000..98aeff5 --- /dev/null +++ b/history/20261007T000951Z-reichelag-protocol-naming.md @@ -0,0 +1,57 @@ +# ReichelAg protocol naming correction + +Founder duplicated a protocol and changed its title, but the slug/Markdown file +retained the original-copy default. Rename was undiscoverable inside Edit page. +Founder confirms editing and clipboard copy work. CSOC-WP-0008-T12 registers +and implements this naming gap; complete workflow acceptance remains T09. + +## User-visible behavior + +- Duplicate page: enter the new title once. Leave the optional filename empty + to derive its slug/.md filename from the title. An explicit filename overrides + the default. If title and filename are both empty, keep the original-copy rule. +- Rename page: a visible writer action opens editable Title and File name + (slug) fields. Title-only edits keep the current filename/address; changing + the file field renames the .md file and changes the page address. +- Existing duplicates are not changed automatically. Use Rename page on the + existing duplicate and choose its corrected title/filename, then Save page. +- Notes, subtitle, Visual and imported source metadata survive rename and + subsequent editing. Existing pages cannot be overwritten; index filename + stays fixed; readers and outsiders cannot rename. +- Existing references are not rewritten when the address changes. + +Milestone: I name the next weekly protocol while duplicating it and can correct +its title/file later without losing notes or modifying the previous call. + +## Evidence and release + +`make check`:98passed, including mandatory real-browser title-only duplication, +visible rename, file/address change, independent edit/reload/clipboard and +viewer-denied rename. Mandatory fast regression verifies explicit override, +collision safety, original byte preservation, source metadata and Visual asset +preservation through rename/edit, and fixed index. Targeted Ruff/diff checks pass. + +Source `b13ba9c5815e`, registry digest +`sha256:dbeaeda1a03622a91683f8db3c1f498e8bf43417cdb077ec740c56f0489baff6`. +Owning production pin committed/synced at22c5695 in railiance-apps. Existing +founder app/interruption go continues this corrective release: +ADMINISTER @ realm:kubernetes/railiance01, activation=APPROVED; +decision8bbce691-a787-4140-9cd4-df06e8635a27. Node92.205.62.239 and single-writer +retained2GiPVC verified. CPU requests3455m/4000m; Recreate avoids writer surge. + +Fresh paired database/content recovery capture took56.93seconds; writers were +paused and app resumed. Pre-upgrade database SHA256: +`e625d8a7505efe796a75fb94eafba5cca82583f20885641d13cd14d3cd350089`. +Content archive SHA256: +`87478a65130c9f9a0f84fe1a098b95899f76304cca9dbb036e3862d5f4c42f4d`. +Temporary node-local custody does not complete durable backup operations/T02. + +Helm lint/render and guarded server dry-run passed. Parsed manifests differ only +in app image; Helm atomic/wait revision13 deployed. Read-only live checks verify +rename action, editable title/filename, loaded title-derived duplicate logic, +unchanged original clipboard text/template payload and owner access. All75stored +file hashes match the pre-upgrade recovery point. Public health/static200 after +the expected brief Recreate interruption. No live protocol was automatically +renamed or modified for testing. No private notes or credentials enter records. + +Implementation taskT12done. T09/T04 remain user naming/workflow acceptance. diff --git a/scripts/snapshot-content-and-db.py b/scripts/snapshot-content-and-db.py index a0e8a50..8c572ff 100644 --- a/scripts/snapshot-content-and-db.py +++ b/scripts/snapshot-content-and-db.py @@ -18,7 +18,7 @@ from pathlib import Path NS = 'coulomb-social' IMAGE = ('forgejo.coulomb.social/coulomb/coulomb-social@sha256:' - '9e7d1c2cc5248a3fd92ab48b4c4edf077c3ee7fb9149e7adb78c29101c60b745') + 'dbeaeda1a03622a91683f8db3c1f498e8bf43417cdb077ec740c56f0489baff6') CLUSTER_UID = 'a553c742-0115-43d4-99a4-a5ca56fe0786' diff --git a/workplans/CSOC-WP-0008-production-transfer-acceptance.md b/workplans/CSOC-WP-0008-production-transfer-acceptance.md index 036f09d..d36f384 100644 --- a/workplans/CSOC-WP-0008-production-transfer-acceptance.md +++ b/workplans/CSOC-WP-0008-production-transfer-acceptance.md @@ -493,7 +493,7 @@ review. The snapshot helper's expected image pin follows this release. ```task id: CSOC-WP-0008-T12 -status: progress +status: done priority: high state_hub_task_id: "95d06724-0c8e-5e5c-8f50-0954c920e104" ``` @@ -517,3 +517,13 @@ protects explicit filename override, copy/rename collisions, fixed index, source independence and preserved metadata/assets. Targeted Ruff and diff check pass. Founder confirms edit and content-copy behavior; naming correction acceptance remains pending after deployment. + +T12 deployed as Helm revision13: source b13ba9c5815e, immutable digest +sha256:dbeaeda1a03622a91683f8db3c1f498e8bf43417cdb077ec740c56f0489baff6. +Guarded parsed server manifest comparison: app image only. Fresh paired +DB/content capture56.93seconds; app resumed. Read-only live checks confirm +visible Rename page, editable title/file, title-derived copy filename logic, +unchanged exact clipboard payload and personal owner access. All75stored file +hashes match the pre-upgrade pair. Public health/static200. Implementation +done; T09 awaits founder naming/workflow review. Existing duplicated files are +not automatically renamed; the user chooses the filename in Rename page.