feat(create): history viewer — revision timeline display #271

Merged
forbes merged 2 commits from feat/history-viewer into main 2026-02-19 00:43:16 +00:00
Owner

Summary

Add a read-only History viewer that opens in an MDI subwindow when the user double-clicks the "History" node in the Silo tree. Displays revision cards newest-first from silo/history.json.

Changes

Modified file:

  • silo_viewers.pySiloHistoryViewer widget with:
    • Revision cards showing revision number, lifecycle status badge, author, timestamp, and commit comment
    • Catppuccin Mocha-themed status badges (draft=Surface2, review=Yellow, released=Green, obsolete=Red)
    • QScrollArea for long revision lists
    • Empty-history placeholder message
    • Reuses _format_value helper for timestamp formatting

Closes kindred/silo-mod#40
Depends on #268, #269

Checklist

  • Commit messages follow conventional commits (feat:, fix:, chore:, docs:, art:)
  • Code follows project style (clang-format for C++, black for Python)
  • Changes are tested locally
  • Documentation updated (if applicable)
## Summary Add a read-only History viewer that opens in an MDI subwindow when the user double-clicks the "History" node in the Silo tree. Displays revision cards newest-first from `silo/history.json`. ## Changes **Modified file:** - `silo_viewers.py` — `SiloHistoryViewer` widget with: - Revision cards showing revision number, lifecycle status badge, author, timestamp, and commit comment - Catppuccin Mocha-themed status badges (draft=Surface2, review=Yellow, released=Green, obsolete=Red) - `QScrollArea` for long revision lists - Empty-history placeholder message - Reuses `_format_value` helper for timestamp formatting ## Related Issues Closes kindred/silo-mod#40 Depends on #268, #269 ## Checklist - [x] Commit messages follow [conventional commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `chore:`, `docs:`, `art:`) - [x] Code follows project style (clang-format for C++, black for Python) - [x] Changes are tested locally - [ ] Documentation updated (if applicable)
forbes added 2 commits 2026-02-19 00:42:14 +00:00
feat(create): metadata editor — editable form with dirty tracking and save-back (#39)
All checks were successful
Build and Test / build (pull_request) Successful in 30m48s
e947822c7a
Add SiloMetadataEditor widget that opens in an MDI subwindow when the
user double-clicks the Metadata node in the Silo tree. Supports editing
lifecycle state, tags (add/remove chips), and schema-defined fields with
type-inferred widgets (QCheckBox, QDoubleSpinBox, QLineEdit).

Changes:
- silo_viewers.py: SiloMetadataEditor with dirty tracking, Save/Reset
  buttons, unsaved-changes close guard, and tag chip management
- silo_objects.py: mark_dirty()/is_dirty()/clear_dirty() on proxy
- kc_format.py: fix entries=None before hooks; _metadata_save_hook
  writes dirty RawContent back to silo/ cache on document save

Closes #39
feat(create): history viewer — revision timeline display (#40)
All checks were successful
Build and Test / build (pull_request) Successful in 29m36s
29f4a7b110
Add SiloHistoryViewer widget that opens in an MDI subwindow when the
user double-clicks the History node in the Silo tree. Displays revision
cards newest-first with revision number, Catppuccin-themed lifecycle
status badges, author, timestamp, and commit comment.

Changes:
- silo_viewers.py: SiloHistoryViewer with revision card layout,
  status badge QSS, scroll area, empty-history placeholder

Closes #40
forbes added 1 commit 2026-02-19 00:43:09 +00:00
Merge branch 'main' into feat/history-viewer
All checks were successful
Build and Test / build (pull_request) Successful in 29m35s
3e93f4a756
forbes merged commit 099d2a025a into main 2026-02-19 00:43:16 +00:00
forbes deleted branch feat/history-viewer 2026-02-19 00:43:17 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#271