]> danix's work - publisher.git/commitdiff
Chore: updated handoff and todo list
authorDanilo M. <redacted>
Sun, 3 May 2026 09:41:07 +0000 (11:41 +0200)
committerDanilo M. <redacted>
Sun, 3 May 2026 09:41:07 +0000 (11:41 +0200)
HANDOFF.md
TODO.md

index 07b13a6dd34b24362f064fa277b49e4ef69a7422..5d9341c13a129de9094a934a53d92f14d6b642f4 100644 (file)
@@ -1,18 +1,15 @@
 Who this is for:
-  Danix is a developer and blogger running a bilingual (IT/EN) Hugo site at danix.xyz. He is building a PyQt6 desktop GUI called my-publisher to centralize his blog publishing workflow.
+  Danilo is a developer and blogger running a bilingual (IT/EN) Hugo site at danix.xyz. He built a PyQt6 desktop GUI called my-publisher to centralize his blog publishing workflow and is now maintaining and extending it post-launch.
 
 What we covered:
-  We went through the full brainstorming and design process for my-publisher, including visual mockups of the app layout (sidebar with grouped sections, article list with IT/EN tabs, article detail panel). We settled on a PyQt6 single-process architecture with QThread/QProcess for
-  async ops. We defined all features: article management with translation status indicators, a dedicated "Senza Traduzione" sidebar entry as a worklist, article detail panel with frontmatter display + markdown preview + action buttons, frontmatter editor with type dropdown (5 fixed
-  types: Life/Photo/Link/Quote/Tech), translation view with streaming log from transart.py, git ops panel, hugo server panel, taxonomy manager (IT/EN tag pairs), media upload to static/uppies/YYYY/MM/, and git-based soft-delete with restore. We wrote the full design spec and a 20-task implementation plan, then began subagent-driven implementation.
+  We resumed the project in a post-implementation maintenance session. We generated a TODO.md file tracking three known gaps from the initial build (TaxonomyView Categories tab, MissingTranslationView Traduci button, multi-token tag autocomplete) and committed it to git. We added app-wide font size support by adding a font_size field (default 10) to the Config dataclass, saving/loading it via config.toml, and applying it at startup via app.setFont() in main.py. We added a TODO item for a font size spinner in the UI. We created an assets/ directory with the
+  blogilo.svg icon (copied from the Breeze KDE icon theme) and a my-publisher.desktop file with Exec and Icon paths pointing to /opt/my-publisher for system-wide installation. The user also manually added two more TODO items: draft article visual hints and transart backend availability validation. We pushed all commits and tagged the release as v1.0.
 
 What was confirmed:
-  App layout: sidebar with groups CONTENUTO / WORKFLOW / DEPLOY + QStackedWidget content area. Blog repo is at /home/danix/Programming/GIT/danix.xyz-hacker-theme, translation script at /home/danix/bin/transart.py, config stored at ~/.config/my-publisher/config.toml. Git branches: master = staging, production = live via post-receive hook. Hugo frontmatter uses TOML delimited by +++ (not YAML). Translation pairs matched by slug across content/it/ and content/en/. Media served from /uppies/YYYY/MM/. ARTICLE_TYPES = ["Life", "Photo", "Link", "Quote", "Tech"].
-  Design spec at docs/superpowers/specs/2026-05-01-my-publisher-design.md. Implementation plan at docs/superpowers/plans/2026-05-01-my-publisher.md.
+  All 22 tests pass. The font_size field defaults to 10 and is read from config.toml if present. The desktop file uses /opt/my-publisher paths — the repo at /home/danix/Programming/GIT/my-publisher is the development copy, and the installed copy will live at /opt/my-publisher. Tag v1.0 is pushed to origin (danix_git:publisher). TODO.md now tracks five items total: TaxonomyView Categories tab, MissingTranslationView Traduci button, multi-token tag autocomplete, font size spinner in UI, draft article visual hints, and transart backend availability validation.
 
 Still in progress:
-  Implementation is underway via subagent-driven development. Tasks 1-4 are complete and committed (scaffold, config module, data models, frontmatter parser). Tasks 5-20 are pending. The /init command was just run and produced CLAUDE.md. The code quality review for Task 4 (frontmatter parser) was interrupted before it completed — that review was in flight when the handoff was triggered.
+  None of the TODO items have been implemented yet. The font size is functional but only editable via config.toml — no UI spinner exists yet. The app has been physically copied to /opt/my-publisher.
 
 Next steps:
-  Resume subagent-driven development from Task 5 (taxonomy module). Before starting, optionally run the interrupted Task 4 code quality review (git range ba5438a..b4d3b52). Then proceed in order: Task 5 taxonomy, Task 6 article scanner, Task 7-9 workers, Task 10 main window, Tasks
-  11-20 UI components. Use the plan at docs/superpowers/plans/2026-05-01-my-publisher.md and follow the subagent-driven-development skill for each task (implementer subagent, then spec review, then code quality review before marking complete).
\ No newline at end of file
+  Pick any TODO item to implement next. Suggested order by impact: (1) draft article visual hints — visible quality-of-life improvement for daily use; (2) font size spinner in SetupDialog or a Settings dialog; (3) transart backend availability check using OLLAMA_HOST; (4) TaxonomyView Categories tab; (5) MissingTranslationView Traduci button; (6) multi-token tag autocomplete.
\ No newline at end of file
diff --git a/TODO.md b/TODO.md
index 40fdf6849ab93878cf2ceb6345db7796e4f3e972..cc33e7e4d98224bef6a207c16b7217ea82090037 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -15,3 +15,11 @@ Known gaps from initial implementation. Functional for daily use — these are e
 ## Autocomplete
 
 - [ ] **FrontmatterEditor: multi-token tag autocomplete** — `QCompleter` only completes the first token in the tags field. Need a custom completer that splits on commas, completes the current token, and re-joins. Consider subclassing `QCompleter` or intercepting `textEdited` to extract the active token. File: `ui/frontmatter_editor.py`.
+
+## Drafts
+
+- [ ] Add visible hints to quickly identify articles with `draft = true` in frontmatter. The hints can be added to the list view as well as the single view as a badge, color difference, etc.
+
+## Transart backend availability
+
+- [ ] Using the `OLLAMA_HOST` variable in transart.py, validate if the backend is available or disable the "translate" button. Maybe add a popup message reminding to activate the runpod for the translation engine to be available.
\ No newline at end of file