Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a10e2d-a5ef-7e92-b03d-b1694e915680
7.9 KiB
CSOC-UC-008 — ReichelAg weekly founder call
Evidence: user-confirmed workflow, 2026-10-06. Clipboard behavior additionally observed through an authenticated Bubble session on 2026-10-07; private protocol text is excluded from fixtures. Owner: CSOC-WP-0008-T03/T05/T08/T09/T10. Transfer: pending user review, deployment and real-content reconciliation.
User goal and actual workflow
Every week I hold a phone call with ReichelAg's founder. I use the previous call's full protocol as the starting point for the next call's bullet-list agenda. I edit the copy by hand, document the call in the new protocol, then copy the protocol's content to the clipboard and paste it into an external email client for manual distribution.
The user explicitly confirmed: copy the full protocol, then edit it by hand. Duplicate must not remove closed points, summarize content, or alter the source. The way notes are produced from the call beyond manual editing is unspecified; no AI transcription/recording or automated mail delivery is assumed.
Original steps (confirmed by description; exact UI pending observation)
- Open ReichelAg and locate the latest weekly-call entry.
- Make a copy of that complete entry for the next call.
- Edit the copied bullet list by hand to prepare the agenda.
- Record the new call's protocol in the copied entry.
- Use the copy-content-to-clipboard icon/button.
- Paste the notes into an email draft and distribute it manually.
Equivalent rebuild journey
- Sign in and open the migrated ReichelAg space; open the latest protocol.
- Choose Duplicate page, enter the next entry’s title, and create it in the same space. Leaving the optional filename empty derives its slug/Markdown filename from the title; an explicit filename overrides it. Rename page lets you correct the title or filename later. Full markdown, metadata and relative Visual asset are copied; arbitrary body-linked assets remain a fidelity gap.
- Open Edit page and edit the copy's agenda/protocol by hand. Save and reopen it. The old protocol must remain unchanged.
- Choose Copy content to clipboard on the finished page. The plain-text payload matches Bubble: title, italic abstractor,
Markdown body and its
xxxfooter, separated by blank lines. Markdown headings, emphasis and nested bullets are retained. Rich-text email editors also receive sanitized HTML with the title, subtitle and footer. App navigation, action buttons, metadata frontmatter and source diagnostics are excluded. - Paste into the external email draft, check formatting and recipients, then send manually. The app does not contact an email provider or send messages.
If clipboard access is blocked/unavailable, show the prepared plain text selected for Ctrl+C/Cmd+C. Do not report success without a successful clipboard write. Readers may copy content they are allowed to read; they may not modify protocols. Unrelated members must not gain access to the protocol or its copy interface.
Review milestone for this concrete cohort
“I can use last week's real ReichelAg protocol to prepare next week's call, write the new protocol without changing last week's record, and paste usable notes into my email client. I can return later and the protocol is still there.”
Review on the pinned new-app release with a privately nominated latest protocol:
| Check | Expected outcome | Status |
|---|---|---|
| Find the latest entry | Date/title/navigation identifies the correct call | Pending real-content review; no automatic latest-entry selection implemented |
| Duplicate | Full protocol preserved; independent new entry | Implemented; synthetic regression evidence |
| Prepare/write/save | Hand-edited bullets and notes reopen correctly; source stays unchanged | Implemented; synthetic regression evidence |
| Copy for email | Full original title/subtitle/Markdown/footer; no app chrome | Original Bubble clipboard compared exactly with rebuilt export; synthetic exact-payload checks pass; user review pending |
| Clipboard blocked | Selected manual text and clear instructions; no false success | Verified with synthetic Playwright clipboard interception; real mail-client review pending |
| Paste into your mail client | Useful protocol presentation and working relevant links | Pending your actual mail-client review |
| Privacy and continuity | Access stays appropriate; restart/paired recovery succeeds | Access tests exist; live persistence/restore pending |
User acceptance is still pending. Historical reichelag rehearsal contains 30
pages/29 assets (2026-08-13); it does not prove the latest weekly protocol is
present, complete or in the correct page/chunk form. Reconcile that privately
before a review. Missing protocol structure, imagery or links becomes live work,
not a silent acceptance exception.
Implementation evidence — 2026-10-06
uv run pytest: 87 passed, including full-copy/manual-edit/source-independence
and reader copy visibility. New workflow test passes Ruff.
node scripts/test-copy-content.mjs: Chromium checks pass for native ClipboardItem
HTML/plain payload construction, plain-only fallback and denied/manual selection.
Clipboard writes are intercepted with synthetic content; no real clipboard or
email recipient is used. This does not certify pasting into the user's mail client.
Continuous regression protection
Registered in registry.json with a synthetic scenario and mandatory fast/browser
node IDs. make check drives the actual isolated app through duplication, manual
editing, reopen, HTML/plain/manual clipboard export and reader/outsider checks.
See README.md for setup, reports and extending protection to further cases.
This protects established behavior without marking productive transfer accepted.
Clipboard fidelity review — 2026-10-07
Founder review found the rendered-body export incomplete. Direct read-only
observation of Bubble's clipboard action confirms the exact plain format:
title + "\n\n" + "*" + abstractor + "*\n\n" + body + "\n\nxxx".
For an empty abstractor, omit the subtitle block. The final xxx is emitted by
Bubble's action, rather than stored in the protocol body. Preserve this legacy
footer for compatibility. Content-plane serialization's terminal newline is
removed before appending the footer; internal Markdown whitespace is retained.
The nominated protocol's rebuilt export matches the observed original clipboard
character for character. Only comparison receipts are recorded here. Tests use
synthetic notes and verify exact plain text in rich/plain/manual fallback modes,
sanitized metadata in HTML, and the actual duplicate/edit/reload user journey.
Full gate: make check, 97 passed. Actual email-client review remains T09.
Protocol naming review — 2026-10-07
Founder confirms editing and clipboard copy work. Duplication still retained its prefilled default file name when a new title was entered; rename controls were not discoverable. CSOC-WP-0008-T12 fixes title-derived duplicate naming and adds a visible Rename page action, reusing the editable title and file-name fields. Changing a title alone on an existing page keeps its address; changing the file name changes both the .md file and page address. Index filename stays fixed. Renaming preserves notes, subtitle, Visual and existing source metadata, rejects 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.