Repository navigation
Description
Latest implementation checkpoint (2026-10-17)
Three independently reviewed and macOS-CI-verified PRs have been merged into main:
- #17 — transactional, source-identity-checked batch renames; streaming Copy As SHA-256; selection-relative paths; regression tests; current-feature README. Merge
4a1d6125. - #18 — per-input batch errors, partially completed state, persisted failures, Activity details, successful-output tracking for verified Undo. Merge
9f4adb4b. - #19 — metadata/checksum work moved off UI actor, streaming metadata hashes, partial/cancelled PDF split outputs retained and tested. Merge
9f41a2f7.
All three PR heads passed their respective macOS Swift 6 unit/toolkit/IPC tests and ad-hoc signed app/extension builds. These are implementation milestones, not proof that the entire roadmap is finished.
Open gates
- [Phase 2] Audit and finish PDF, image, metadata, and Finder utilities #2: remainder of advanced rename UI, comprehensive page reordering/preview, atypical documents/codecs and end-to-end review.
- [P0] Complete physical Finder and Settings validation for compression + helper IPC #3: user confirmed Settings UI/titlebar looks good on Mac; independent physical Finder right-click/output/Undo matrix remains outstanding.
- [Phase 3] Background operation center: queue, progress, cancellation, and retry #4/[Phase 3] Action history and safe undo for reversible Finder operations #5: stronger external-tool cancellation, interrupted-job recovery, additional Undo edge cases and manual Finder tests.
- [Quality] Scale Finder IPC and selections while keeping menus instant #13/[Quality] Native macOS polish, accessibility, and consistent interaction design #14/[Release] Documentation, regression gates, packaging, signing, and distribution readiness #15: large-selection/performance, accessibility/release packaging and optional dependency review.
- [Enhancement] Before/after preview for image and PDF compression #6–[Phase 4] Optional watched folders with explicit opt-in automation rules #12: optional enhancements remain not implemented.
Review these before closing issues; do not equate merged code with physical Finder sign-off.
Goal
Track the remaining work to turn Tuck into a fast, safe, native macOS Finder power-user utility without growing into a replacement for Finder, Raycast, or Hazel.
This is a planning issue, not a claim that any feature is already implemented. Review the local working tree and agent handoff reports before starting each issue: GitHub main may lag behind local, uncommitted development.
Product principles
- Select items in Finder → choose a relevant Tuck action → receive an output alongside the source, highlighted in Finder.
- Do not destructively modify original files by default. Require a preview/confirmation for renames, moves, deletes, or any potentially irreversible edit.
- Keep menus contextual, compact, keyboard accessible, and fast; expensive work runs asynchronously outside Finder.
- Maximize file fidelity under an exact user-selected size cap, never add "quality modes" to compression.
- Reuse Swift 6, AppKit/SwiftUI, authenticated Finder extension ↔ helper IPC, shared output-naming conventions, and existing compression test infrastructure.
- Respect external storage: verify mounted build/scratch paths; avoid silent fallback of large disposable artifacts to the internal SSD. Preserve source worktrees and unrelated files.
- Do not push, merge, release, or add AI attribution as part of implementation without explicit approval.
Workstreams
- Finish/verify Phase 2: PDF/image utilities, mixed PDF merging, OCR, metadata cleanup, Copy As, advanced rename and contextual menus.
- Phase 3: queued operations, progress/cancel/retry, action history, and safe undo.
- Phase 4: custom actions and Shortcuts, keyboard access, reusable recipes and optional folder watchers.
- Quality + release: visual comparisons, archive tools, duplicates, favorite destinations, Finder scalability, accessibility, packaging, and documentation.
Definition of done for a linked issue
- Isolated scope, regression tests and precise failure reporting.
- Original-file hashes unchanged for read/copy/transform operations; correct collision-safe output publishing.
- Swift 6 build and existing compression/IPС test suite pass.
- Physical Finder verification when feasible; otherwise an explicit manual GUI checklist.
- No unrelated modifications; commit verified work locally and link implementation PR/commit when published.
Linked implementation issues
Release gate and active toolkit
- [P0] Complete physical Finder and Settings validation for compression + helper IPC #3 — P0: Physical Finder, Settings, compression and authenticated IPC validation
- [Phase 2] Audit and finish PDF, image, metadata, and Finder utilities #2 — P1: Audit/finish Phase 2 PDF and image utilities, mixed merge, OCR, metadata, Copy As and rename
Phase 3 — Reliable background work
- [Phase 3] Background operation center: queue, progress, cancellation, and retry #4 — P1: Background job queue, progress, cancellation and retry
- [Phase 3] Action history and safe undo for reversible Finder operations #5 — P1: Action history and safe undo (builds on [Phase 3] Background operation center: queue, progress, cancellation, and retry #4)
Power-user enhancements
- [Enhancement] Before/after preview for image and PDF compression #6 — P2: Image/PDF original-vs-output quality comparison
- [Enhancement] ZIP archive inspection and safe selective extraction #7 — P2: ZIP inspection and safe selective extraction
- [Enhancement] Find duplicate files using size filters and streamed hashes #8 — P2: Duplicate detection with full-file hashing
- [Enhancement] Favorite copy/move destinations in Finder #9 — P2: Favorite copy/move destinations
Phase 4 — Automation
- [Phase 4] Safe custom Finder actions, macOS Shortcuts, and keyboard access #10 — P2: Custom Finder actions, macOS Shortcuts and keyboard access
- [Phase 4] Saved recipes: reusable non-destructive batch pipelines #11 — P3: Saved multi-step non-destructive recipes (after [Phase 3] Background operation center: queue, progress, cancellation, and retry #4 and [Phase 4] Safe custom Finder actions, macOS Shortcuts, and keyboard access #10)
- [Phase 4] Optional watched folders with explicit opt-in automation rules #12 — P3: Optional watched folders (after [Phase 3] Background operation center: queue, progress, cancellation, and retry #4 and ideally [Phase 4] Saved recipes: reusable non-destructive batch pipelines #11)
Performance, native polish, and release
- [Quality] Scale Finder IPC and selections while keeping menus instant #13 — P1: Scale Finder selections and secure IPC; benchmark menu latency
- [Quality] Native macOS polish, accessibility, and consistent interaction design #14 — P1/P2: Consistent macOS interface, accessibility and keyboard operation
- [Release] Documentation, regression gates, packaging, signing, and distribution readiness #15 — P2: Docs, security/privacy, packaging, optional-codec dependencies and release readiness
Suggested dependency order
#3 → #2 audit → #13 → #4 → #5 → #14 → #15 for a robust daily driver. The P2/P3 enhancements are optional; #6–#10 can be selected based on actual needs. Then #11 and finally #12.
Status caution: All checkboxes start unchecked. Verify the current local implementation and any ongoing agent work before marking a feature done or creating additional duplicate issues.
Activity
raiseCatError commentedon Oct 16, 2026
Pre-release code hygiene audit merged in PR #20 (commit 1174c25). Reviewed IPC, job manager/Undo, JPEG/PNG/PDF/image/ZIP, tool process supervision, Finder dispatch, scratch mounts and build scripts. Fixed concrete data/cancellation issues including silent 16-file truncation, dead JPEG candidate files, wrong ZIP extensions, unsafe process waits, collisions during image extraction, silent animated frame loss and late queued-job cancellations. Final macOS CI green: https://github.com/raiseCatError/Tuck/actions/runs/38960663919. UI unchanged. Engineering hygiene pass completed; full physical Finder QA, optional codec integration and roadmap enhancements remain outstanding. No release/tag.
raiseCatError commentedon Oct 16, 2026
2026-10-17 integration checkpoint
The following feature integrations have been reviewed, Mac-CI-verified and merged into
main: #24 (comparison, duplicate finder, ZIP inspector, destinations), #25 (PDF ordering, full rename controls, consented custom actions), #28 (saved typed image recipes), #29 (opt-in watched folders), #30 (ZIP extraction selector safety), #31 (VoiceOver labels), and #32 (updated README, Finder QA and release gate). Feature implementation is substantially covered.Remaining in code review: PR #33 caches comparison thumbnails, adds private-path-safe Finder latency telemetry and verifies IPC selection-size boundaries (1, 16, 17, 100, 256, 257, 1,000 and Unicode). Do not treat it as merged or green until exact-head Mac CI passes.
Outstanding quality/release gates (not code-complete claims): real Finder context menus, custom Shortcuts permissions, external-volume/race failures, VoiceOver navigation and Mac-specific acceptance checks (#3/#14); measurements of real Finder menu latency and memory on the target machine (#13); Developer ID/notarization/fresh-Mac validation for public release (#15). Restrictions remain explicit (256-path/64 KB signed IPC, conservative ZIP selector/size policy, recipes currently image-focused, watchers only while Tuck.app runs). Avoid closing issues solely on the basis of compilation.
See docs/finder-qa.md and docs/release-readiness.md. No tag or release created.
raiseCatError commentedon Oct 16, 2026
Latest integrated pre-QA head (2026-10-17):
mainis now5a7f56db677b30249f3f0992dfd665d51530e011. PR #33 squash-merged after exact-head macOS CI passed all thirteen listed Swift test suites, including watched folder tests, IPC boundaries, ZIP inspection, safe Undo, duplicate finder, file transfer and custom actions; the production Tuck app + Finder extension built/signed successfully. Zero open PRs. README and physical QA/release checklists updated in PR #32. This is the integrated code candidate for the user's later physical Finder evaluation, not a notarized public release. No tag/release created.raiseCatError commentedon Oct 16, 2026
Consolidated integration handoff:
mainis now7f0e70668d4c7290366170f7e38739f89b3aaa4eafter reviewed, exact-head-CI-green PR #34. Feature work for comparisons, ZIP browsing/selective extraction, duplicates, saved copy/move destinations, PDF reorder/advanced rename, custom actions, image recipes, watched folders and accessibility controls is integrated. ZIP extraction now validates local/central header agreement and a private bounded regular-file archive snapshot before invoking unzip, with traversal and selector safety regressions. CI: all 13 test suites + macOS ad-hoc signed app/extension build passed. No open PRs. Open issues are not automatically accepted/closed: physical Finder QA (#3), IPC/performance/quality (13–14) and distribution (#15) still require their own sign-offs. No public release or tag yet.