Skip to content

fix(archivist): keep what the family writes about a capture - #219

Merged
arthware-dev merged 8 commits into
feature/rc2from
fix/capture-caption
Oct 14, 2026
Merged

arthware-dev merged 8 commits into
feature/rc2from
fix/capture-caption

Conversation

@arthware-dev

@arthware-dev arthware-dev commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • A photo, file or recording posted with a caption outside the documents room keeps it: the model reads it with the upload, and the entry shows it word for word. A photo is filed as a note now, not a bookmark, and the archivist moves the photos filed before, once.
  • A reply in a capture's thread no longer moves the entry, is found by the capture's id wherever the entry is, and is kept word for word under ## Replies.
  • stack messages upload --caption posts a file with a caption, for the rig and the test driver.

@arthware-dev arthware-dev changed the title fix(archivist): keep an upload's caption on its capture fix(archivist): keep what the family writes about a capture Oct 13, 2026
Test added 8 commits October 14, 2026 09:22
A photo or file posted with a caption outside the documents room was
captured without it: the model summarised the picture alone and the
entry had no trace of what the sender wrote.

- The caption now reaches the model with the upload, as it already did
  for a filed document, so the summary says what the sender said.
- The entry keeps the caption word for word under `## Caption`.
- A correction reads the caption off the upload it was filed from,
  falling back to the entry's, so replying to the filing restores a
  caption an earlier filing dropped.
An audio file posted with a caption is transcribed into a text message
before the archivist sees it, and the transcript replaced the caption,
so the note kept only the spoken words.

The transcript's provenance now keeps the upload's own `body` beside
its `filename`, and the archivist reads the caption off them by the
same rule as for a photo or a file: the model reads it with the
transcript and the note keeps it under `## Caption`.
A reply in a capture's thread refiles it, and the refile wrote the entry
to a new path: its file name follows the title, which the model rewords,
and its folder followed whoever replied, so a capture from a topic room
moved into the replier's own folder. The old file was deleted, and every
link to it broke: the wiki page, the topic page and list items.

A capture now keeps the path it was first filed under. A refile changes
what the entry says, never where it is.
`stack messages upload <room> <path> --caption <text>` posts the file
with a caption, the way a phone does when the sender types something
under a picture: the words in `body`, the file's name in `filename`.
The test driver passes it on as `driver as <user> send <room> <file>
--caption <text>`.
A reply in a capture's thread refiles it, and the model works the reply
into the summary in its own words. What the family wrote was otherwise
kept only in the chat, so a detail the paraphrase left out was gone from
the entry.

The entry now keeps every reply in its thread under `## Replies`, with
its author and in the order they came, as a diary card does. A refile
reads the earlier replies back and adds the new one.
A photo posted outside the documents room was filed under `bookmarks/`,
next to saved links. It is the family's own record, with their caption
and replies, like a note they type. It is now filed under `notes/`.

A PDF stays a bookmark. Photos filed before this move in the next
change.
A reply to a filing found the capture at the path the filing message
recorded. When the capture had moved since, the correction answered
that it was missing.

A correction now looks the capture up by its `capture_id`, the event id
of the message it was filed from, in the local copy of the family
memory. The recorded path is the fallback while that copy has not
caught up with a write.
Photos posted outside the documents room are filed as notes now. The
ones filed before still sat under `bookmarks/`.

The archivist moves them once, a minute after it starts, in one commit:
each photo is written under `notes/` with `type: note`, and saved links
and PDFs stay where they are. An entry filed before 0.4.0-rc.1 does not
show its picture, so the archivist downloads its upload to tell a photo
from a PDF. Chat links and corrections find a capture by its id and
follow the move.

The migration is its own module, to be removed once the framework runs
stacklet migrations.
@arthware-dev
arthware-dev merged commit f67fee1 into feature/rc2 Oct 14, 2026
1 check passed
@arthware-dev
arthware-dev deleted the fix/capture-caption branch October 14, 2026 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant