Skip to content

feat: master-resume workflows + global, persisted memory toggle#6

Merged
Sathvik-Rao merged 1 commit into
mainfrom
feat-master-and-memory
Jun 9, 2026
Merged

feat: master-resume workflows + global, persisted memory toggle#6
Sathvik-Rao merged 1 commit into
mainfrom
feat-master-and-memory

Conversation

@Sathvik-Rao

@Sathvik-Rao Sathvik-Rao commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Summary

Master resumes

  • "New from Master" split button: main side starts a chat from the default
    master verbatim (POST /api/sessions/from-master seeds it with no pipeline/
    LLM run, so it's guaranteed unchanged); caret picks any saved master.
  • "Compare to Master" on every resume version diffs it against a chosen
    master (picker in the diff modal), reusing the existing diff engine.

Memory

  • Make "Use memory" a global, backend-persisted preference
    (AppSettings.memory_enabled) instead of a per-chat reset; loaded on
    bootstrap, saved on toggle, survives chats/sessions/reloads.
  • Each generated reply notes whether the master resume and/or profile
    memory were used, for later reference.

Fixes

  • Contact location icon was Font Awesome location-pin (U+F041, a solid
    blob); switch to location-dot (U+F3C5) across PDF/DOCX/ODT exporters.
  • Add the missing _MIGRATIONS entry for app_settings.memory_enabled —
    without it, existing SQLite DBs crashed on startup ("no such column").

Cleanup

  • Reuse _resolve_default() in the from-master endpoint.
  • Consolidate the two bootstrap /api/app-settings fetches into one.

Tests & docs

  • Add cross-format contact-icon regression test, migration test, and
    settings/summary/message coverage for the memory feature (333 pass).
  • README: document the master-resume workflows and global memory toggle.

Type of change

  • fix: ... — bug fix → patch bump (0.0.x)
  • feat: ... — new feature → minor bump (0.x.0)
  • feat!: ... / BREAKING CHANGE — breaking change → major bump (x.0.0)
  • chore: / docs: / ci: / refactor: — no release created

PR title format

Your PR title becomes the commit message on merge and determines the version bump:

feat(resume): add cover letter section
fix: pdf export crash on empty work history
feat!: replace /generate endpoint with /build (breaking)
chore: update dev dependencies

Pattern: type(optional-scope): short description in lowercase

Checklist

  • Tests added / updated under backend/tests/ for any changed backend/app/ code
  • pytest passes locally (cd backend && pytest)
  • PR title follows the format above

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Suggested tests for this PR

PR title: feat: master-resume workflows + global, persisted memory toggle

PR description:

Summary

Master resumes

  • "New from Master" split button: main side starts a chat from the default
    master verbatim (POST /api/sessions/from-master seeds it with no pipeline/
    LLM run, so it's guaranteed unchanged); caret picks any saved master.
  • "Compare to Master" on every resume version diffs it against a chosen
    master (picker in the diff modal), reusing the existing diff engine.

Memory

  • Make "Use memory" a global, backend-persisted preference
    (AppSettings.memory_enabled) instead of a per-chat reset; loaded on
    bootstrap, saved on toggle, survives chats/sessions/reloads.
  • Each generated reply notes whether the master resume and/or profile
    memory were used, for later reference.

Fixes

  • Contact location icon was Font Awesome location-pin (U+F041, a solid
    blob); switch to location-dot (U+F3C5) across PDF/DOCX/ODT exporters.
  • Add the missing _MIGRATIONS entry for app_settings.memory_enabled —
    without it, existing SQLite DBs crashed on startup ("no such column").

Cleanup

  • Reuse _resolve_default() in the from-master endpoint.
  • Consolidate the two bootstrap /api/app-settings fetches into one.

Tests & docs

  • Add cross-format contact-icon regression test, migration test, and
    settings/summary/message coverage for the memory feature (333 pass).
  • README: document the master-resume workflows and global memory toggle.

Type of change

  • fix: ... — bug fix → patch bump (0.0.x)
  • feat: ... — new feature → minor bump (0.x.0)
  • feat!: ... / BREAKING CHANGE — breaking change → major bump (x.0.0)
  • chore: / docs: / ci: / refactor: — no release created

PR title format

Your PR title becomes the commit message on merge and determines the version bump:

feat(resume): add cover letter section
fix: pdf export crash on empty work history
feat!: replace /generate endpoint with /build (breaking)
chore: update dev dependencies

Pattern: type(optional-scope): short description in lowercase

Checklist

  • Tests added / updated under backend/tests/ for any changed backend/app/ code
  • pytest passes locally (cd backend && pytest)
  • PR title follows the format above

Based on the title, description, and changed files below, please make sure the PR includes tests that:

  • Cover the behaviour described in "feat: master-resume workflows + global, persisted memory toggle".
  • Exercise the happy path and at least one failure / edge case.
  • Live under backend/tests/ mirroring the changed module path.

Changed backend code files:

  • backend/app/api/_pipeline.py
  • backend/app/api/messages_routes.py
  • backend/app/api/sessions_routes.py
  • backend/app/api/settings_routes.py
  • backend/app/config.py
  • backend/app/database.py
  • backend/app/documents/docx_generator.py
  • backend/app/documents/odt_generator.py
  • backend/app/documents/pdf_generator.py
  • backend/app/models.py
  • backend/app/runtime_settings.py
  • backend/app/schemas.py

These modules changed but do not appear to have matching test updates — please add tests:

  • backend/app/api/_pipeline.py
  • backend/app/api/messages_routes.py
  • backend/app/api/sessions_routes.py
  • backend/app/api/settings_routes.py
  • backend/app/config.py
  • backend/app/database.py
  • backend/app/documents/docx_generator.py
  • backend/app/documents/odt_generator.py
  • backend/app/documents/pdf_generator.py
  • backend/app/models.py
  • backend/app/runtime_settings.py
  • backend/app/schemas.py

@Sathvik-Rao Sathvik-Rao merged commit 6002c1f into main Jun 9, 2026
7 of 8 checks passed
@Sathvik-Rao Sathvik-Rao deleted the feat-master-and-memory branch June 9, 2026 01:16
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