Skip to content

Versioned session entries - #11

Merged
nicksan222 merged 17 commits into
mainfrom
feat/versioned-elements
Oct 4, 2026
Merged

nicksan222 merged 17 commits into
mainfrom
feat/versioned-elements

Conversation

@nicksan222

Copy link
Copy Markdown
Owner

What

The "notes" concept becomes versioned session entries. Every timeline entry (typed note, note with files, @study answer) keeps its versions.

  • v1 is what the user typed. Each AI action (Improve, Summarize, a free-text instruction such as "make it shorter", Answer again) and each edit adds a version.
  • The session shows the newest version. Arrows switch the active version.
  • A Slack-style action bar offers AI edit, Edit, Copy and Delete, plus Regenerate on answers. It shows on hover and while one of its buttons has keyboard focus.
  • Rewriting an answer keeps its citations. Editing an entry stops a rewrite that is still running. File-only entries can be rewritten.
  • The project-level Notes study material (ArtifactKind::Notes) is removed.

Action bar on an answer
AI edit menu

Notes for review

  • The schema change edits 0001_initial.sql in place and updates its pin. No release or tag exists yet. Existing development databases are refused with a reset hint; run just reset-data.
  • Text from reading a file or from transcripts is not stored as automatic versions. AI versions come only from actions the user requests.

Verification

  • just check passes on the head commit. Its only warning is a yanked yoke-derive, which predates this branch.
  • Code review findings (citations on rewrite, stripped [n] markers, edit stopping a running rewrite, FK indexes, kind filter in begin_version, file-only AI edit, stopped entry with no job) are fixed.
  • QA walked the desktop app on the head commit: hover and keyboard action bar, edit, switching versions, AI menu, regenerate, delete, Italian locale.

Limitations

  • Model completion, the "New version" cue and failed states were not seen live: the test desktop had no ChatGPT sign-in. Headless tests cover them.
  • Copy contents were not verified (no clipboard tool). Forward Tab into the transcript was not walked; only Shift+Tab was.
  • No demo GIF update: the README tour does not show notes or versions and this branch does not touch crates/study-showcase or assets.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-04T00:33:27.810413Z 638fc73 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa9347c791

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/study-core/src/db/migrations/0001_initial.sql
Comment thread crates/study-app/src/agents/reply/handler.rs Outdated
Comment thread apps/desktop/src/ui/screens/shell/page/pages/sessions/components/message.rs Outdated
nicksan222 and others added 3 commits October 3, 2026 23:35
The action bar was a raised, shadowed pill anchored in the page. It is now
plain icon buttons under the entry's time in the margin, and in a thread
one line under the entry. The version switcher puts its arrows around the
count, with the version's origin after it.
@nicksan222
nicksan222 enabled auto-merge (squash) October 3, 2026 23:40
@nicksan222
nicksan222 disabled auto-merge October 3, 2026 23:42
@nicksan222
nicksan222 enabled auto-merge (squash) October 3, 2026 23:42
Markers are stripped only from a version that has citations, so a note
like "a[0]" or "[2024]" reaches the answer, the conversation and the
project's notes as written. An answer with a rewrite pending or stopped
keeps its markers clickable and its citation chips.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 67204882bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/ui/screens/shell/page/pages/sessions/components/message.rs Outdated
A note rewritten from its files shows its markers as links and its
citation chips, as an answer does. Editing a cited version copies the
citations whose markers the edit still has, so they keep opening their
sources and stay out of the notes as plain text.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4469896172

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/study-core/src/db/messages/mod.rs Outdated
A bracket is removed as a marker only when every number in it is one of
the version's stored citations, so text like "[2024]" beside a real
"[1]" stays in the plain text and the project's notes.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c8de2ef864

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/study-core/src/db/messages/versions.rs Outdated
…work

An edit, rewrite or regeneration deletes only the reply and rewrite
jobs that have not succeeded, so the Activity history still shows the
jobs behind the versions that stay.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 451f279d9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/study-app/src/agents/rewrite/handler.rs Outdated
Renumbering and stripping share one rule: a bracket is a marker only
when every number in it is a stored citation. A rewrite of
"ATP [1] results from [2024]" keeps "[2024]" for the model.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 354230c68f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/ui/screens/shell/page/pages/sessions/components/message.rs Outdated
The switcher is hidden while a note's editor is open, as it is for an
answer, and stepping versions is refused during an edit, so the edit
always revises the version it opened on.
@nicksan222

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 638fc735fd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@nicksan222
nicksan222 merged commit de169af into main Oct 4, 2026
3 checks passed
@nicksan222
nicksan222 deleted the feat/versioned-elements branch October 4, 2026 01:29
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