Skip to content

feat(therapy): drop card bytes as the commit parses them - #1

Merged
mr-blithe merged 1 commit into
mainfrom
claude/pap-file-byte-requirement-9pun3v
Aug 12, 2026
Merged

mr-blithe merged 1 commit into
mainfrom
claude/pap-file-byte-requirement-9pun3v

Conversation

@mr-blithe

Copy link
Copy Markdown
Owner

An import was uploaded to be read once, but pap_file kept every byte of the
card after the commit had written the parsed night, and nothing has read a
byte back since: the panel, the export, the share and the admin read model
all go through pap_day, pap_event and pap_channel.

The opening slice now deletes every file left without a day, which covers the
card level files it just parsed into the import, the ones whose night was
replaced and the ones no date could be read from, and fillDay deletes a
night's files in the transaction that stores the night. Transactional so a
slice that rolls back keeps them and the client's retry still finds a night it
can parse. A night that would not parse takes its files with it either way,
through the dropped row's cascade or explicitly when the card's own summary is
kept.

The table stays: it is where a chunked upload lands and where the commit reads
from. What it no longer is, is an archive, so a parser fix can only be replayed
over a card uploaded again.

Co-Authored-By: Claude noreply@anthropic.com

An import was uploaded to be read once, but pap_file kept every byte of the
card after the commit had written the parsed night, and nothing has read a
byte back since: the panel, the export, the share and the admin read model
all go through pap_day, pap_event and pap_channel.

The opening slice now deletes every file left without a day, which covers the
card level files it just parsed into the import, the ones whose night was
replaced and the ones no date could be read from, and fillDay deletes a
night's files in the transaction that stores the night. Transactional so a
slice that rolls back keeps them and the client's retry still finds a night it
can parse. A night that would not parse takes its files with it either way,
through the dropped row's cascade or explicitly when the card's own summary is
kept.

The table stays: it is where a chunked upload lands and where the commit reads
from. What it no longer is, is an archive, so a parser fix can only be replayed
over a card uploaded again.

Co-Authored-By: Claude <noreply@anthropic.com>
@mr-blithe
mr-blithe merged commit e9dda48 into main Aug 12, 2026
4 of 5 checks passed
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.

2 participants