Little Imp

July 20, 2026 · View on GitHub

Directory Structure

tasks/
  backlog/      — tasks not yet started
  todo/         — prioritized for current cycle
  in-progress/  — actively being worked on
  in-review/    — implementation complete, under review
  done/         — completed tasks

Task Index

IDTitlePhasePriorityStatus
TASK-001littleimpd Daemon Setupv0-alphahighdone
TASK-002SQLite Database Schemav0-alphahighdone
TASK-003Bookmark Ingestion APIv0-alphahighdone
TASK-004Content Extraction Pipelinev0-alphahighdone
TASK-005Keyword Search (FTS5)v0-alphahighdone
TASK-006HTML Bookmark Importv0-alphahighdone
TASK-007LLM Enrichmentv0-betamediumdone
TASK-008Embeddings & Semantic Searchv0-betamediumdone
TASK-009Categories & Tags APIv0-alphamediumdone
TASK-010Export API (JSON & CSV)v0-alphalowdone
TASK-011Autonomous Organization Agentv0.2lowdone
TASK-012Library Evolution Timelinev0.2lowdone
TASK-013Preferences / Settings APIv0-betamediumdone
TASK-014Frontend API Integrationv0-alphahighdone
TASK-015Domains Page — Real Datav0-alphalowdone
TASK-016Review Queue UIv0.2lowdone
TASK-017AI Palette Integrationv0-betamediumdone
TASK-018Shell Installer Scriptv0-alphamediumdone
TASK-019PDF Extractorfuturelowdone
TASK-020YouTube Transcript Extractorfuturelowdone
TASK-021Bookmark Status Actions (Pin, Archive, Read)M1highdone
TASK-022Trash System (Soft Delete + 30-day Purge)M1highdone
TASK-023Personal Notes on BookmarksM1highdone
TASK-024Category Management UI (Rename, Delete, Move)M1highdone
TASK-025Settings Page (/settings)M2highdone
TASK-026Embeddings Pipeline IntegrationM3mediumdone
TASK-027Semantic & Hybrid SearchM3mediumdone
TASK-028Organization Agent — Full WiringM3mediumdone
TASK-030Daemon Integration TestsM4mediumdone
TASK-031Frontend TestsM4mediumdone
TASK-032Distribution ReadinessM5lowdone
TASK-033Backup & RestoreM5mediumdone
TASK-034Category Drag-and-Drop ReparentingM1mediumdone
TASK-035Pipeline Stage Unit TestsM4mediumdone
TASK-036First-Run ExperienceM5mediumdone
TASK-037Remote Backup S3M5mediumdone
TASK-038Scheduled Backup SnapshotsM5mediumdone
TASK-039Custom Backup DestinationM5mediumdone
TASK-040MCP Server Integrationv1.0mediumdone
TASK-041Unify Runtime Settings with AI and Embedding Executionv0-beta hardeninghighdone
TASK-042Fix Docker Distribution and Network Safetyv0-beta hardeninghighdone
TASK-043Restore Quality Gates and Add CIv0-beta hardeninghighdone
TASK-044Make Backup and Restore Safe and Match the Designv0-beta hardeninghighdone
TASK-045Create a Source-of-Truth API Contract and Regenerated Docsv0-beta hardeningmediumdone
TASK-046Adopt the Shared API Contract in the Frontendv0-beta hardeningmediumdone
TASK-047Align Roadmap, Release, and Product Documentationv0-beta hardeningmediumdone
TASK-048Release Validation and Docker Restore Hardeningv0-beta release validationhighdone
TASK-049Packaged Backup CLI Commandsnext release operationsmediumdone
TASK-050In-App Backup Verification UXnext release operationsmediumdone
TASK-051Encrypted Backup Packagesnext release operationsmediumdone
TASK-052Multi-Provider AI Supportnext release AI integrationsmediumdone
TASK-053Native Installer Frontend Bundle Installnext release distribution polishmediumdone
TASK-054CLI Update Check Foundationnext release distribution polishmediumdone
TASK-055Daemon Update Check Servicenext release distribution polishmediumdone
TASK-056In-App Update Checknext release distribution polishmediumdone
TASK-057In-App Encrypted Backup Packagesnext release operationsmediumdone
TASK-058MVP Evidence and Acceptance Criteria AuditMVP readinesshighdone
TASK-059Signed Release Archive PackagingMVP readinesshighdone
TASK-060One-Command Installer Entry PointMVP readinesshighdone
TASK-061Packaged Upgrade FlowMVP readinesshighdone
TASK-062Installer Matrix ValidationMVP readinesshighdone
TASK-063Homebrew Formula or TapMVP readinessmediumdone
TASK-064Library Reprocess and Re-Embed JobsMVP readinesshighdone
TASK-065Pipeline Failure Recovery UXMVP readinesshighdone
TASK-066In-App Encrypted Backup Verify and RestoreMVP readinessmediumdone
TASK-067Post-Restore Restart and Recovery UXMVP readinessmediumdone
TASK-068Diagnostics and Support BundleMVP readinessmediumdone
TASK-069Production Security Headers and Local HardeningMVP readinessmediumdone
TASK-070Installed-App E2E Smoke SuiteMVP readinesshighdone
TASK-071MVP Release Documentation PassMVP readinesshighdone
TASK-072Audit Follow-Up Gapspost-MVP polishlowdone
TASK-073Project Status Review PackageMVP readinessmediumdone
TASK-074Two-Week Engineering Presentationpost-MVP polishlowdone
TASK-075Release Candidate Freeze and Version AuditMVP release closeouthighdone
TASK-076Signed Release Artifact PublicationMVP release closeouthighdone
TASK-077Fresh-Host Installer Matrix EvidenceMVP release closeouthighdone
TASK-078Published One-Command and CLI Upgrade ValidationMVP release closeouthighin-progress
TASK-079Homebrew Tap Publication and Live Install ValidationMVP release closeoutmediumin-progress
TASK-080MVP First-User UX Smoke PassMVP release closeoutmediumdone
TASK-081Public Artifact Installed-App E2EMVP release closeouthighdone
TASK-082Final Localhost Security Regression PassMVP release closeouthighdone
TASK-083Release Notes and Support ReadinessMVP release closeoutmediumdone
TASK-084MVP Release Decision PackageMVP release closeoutmediumdone
TASK-085Grimoire Parity Scope And Non-GoalsGrimoire paritycriticaldone
TASK-086Parity Task Conversion Criteria And LabelsGrimoire parityhighdone
TASK-087Daemon Network Exposure Security BoundariesGrimoire paritycriticaldone
TASK-088Recurring Parity Release ChecklistGrimoire paritymediumdone
TASK-089Read Later Bookmark FlagGrimoire parityhighdone
TASK-090Bookmark Importance Rating (Rejected)Grimoire paritymediumdone
TASK-091Bookmark Open MetricsGrimoire paritymediumdone
TASK-092Bookmark Detail Metadata And Content SectionsGrimoire parityhighdone
TASK-093Bookmark Media Handling And PreviewGrimoire paritymediumdone
TASK-094Bookmark Mutation And Detail Regression TestsGrimoire parityhighdone
TASK-095Sidebar Categories From Full TreeGrimoire parityhighdone
TASK-096Category Detail PageGrimoire paritymediumdone
TASK-097Category Metadata FieldsGrimoire paritymediumdone
TASK-098Tag Management SurfaceGrimoire parityhighdone
TASK-099Tag Detail PagesGrimoire paritymediumdone
TASK-100Tag Rename API And UIGrimoire paritymediumdone
TASK-101Category And Tag Regression TestsGrimoire parityhighdone
TASK-102Integration Token AuthenticationGrimoire paritycriticaldone
TASK-103Human Readable API ExamplesGrimoire parityhighdone
TASK-104OpenAPI Contract OutputGrimoire parityhighdone
TASK-105One Click Capture EndpointGrimoire parityhighdone
TASK-106Integration CORS And Origin ControlsGrimoire parityhighdone
TASK-107Preserve Import Folder HierarchyGrimoire parityhighdone
TASK-108Pre Import ReviewGrimoire parityhighdone
TASK-109Import Category And Tag RemappingGrimoire paritymediumdone
TASK-110Import Result ReportGrimoire paritymediumdone
TASK-111Export Parity FieldsGrimoire paritymediumdone
TASK-112Future Grimoire Backup ImportGrimoire paritylowdone
TASK-113Import Export Regression TestsGrimoire parityhighdone
TASK-114Library PaginationGrimoire parityhighdone
TASK-115Server Driven SortingGrimoire paritymediumdone
TASK-116Library Parity FiltersGrimoire parityhighdone
TASK-117Persist Library View PreferencesGrimoire paritymediumdone
TASK-118Aggregate Count EndpointsGrimoire paritymediumdone
TASK-119Large Library Performance TestsGrimoire paritymediumdone
TASK-120Import Duplicate Handling PolicyGrimoire parityhighdone
TASK-121Contract Route Behavior ChecksGrimoire parityhighdone
TASK-125macOS x64 Validation or Documented AcceptanceRelease unblockinghighdone
TASK-126Browser Bookmarklet ClientFirst-user experiencehighdone
TASK-127In-App Update NotificationFirst-user experiencehighdone
TASK-128In-App Backup Verify from Arbitrary PathsFirst-user experiencemediumdone
TASK-129First-Run Guided Tour and Demo ContentFirst-user experiencemediumdone
TASK-130sqlite-vec Vector Index IntegrationPerformance and polishmediumdone
TASK-131GitHub Issues ExtractorPerformance and polishlowdone
TASK-132Large-Library Search PerformancePerformance and polishlowdone
TASK-133Parity Task Reports and Visual VerificationVerification and release readinessmediumdone
TASK-134Parity Acceptance ChecklistVerification and release readinessmediumdone
TASK-135Public Documentation PolishVerification and release readinesshighdone
TASK-136Restore CI and Acceptance IntegrityProduct reset and public betacriticaltodo
TASK-137Production Security and Dependency HardeningProduct reset and public betacriticaltodo
TASK-138Trustworthy Browser Capture FlowProduct reset and public betacriticaltodo
TASK-139Product Positioning and Beta Evidence PlanProduct reset and public betahightodo
TASK-140Real Browser-Daemon Core Journey E2EProduct reset and public betacriticalbacklog
TASK-141Canonical Product and Release Documentation ResetProduct reset and public betahighbacklog
TASK-142Public Beta Distribution and Live ValidationProduct reset and public betacriticalbacklog
TASK-143Private Beta Cohort and Outcome ReviewProduct reset and public betacriticalbacklog
TASK-144Targeted Frontend Decomposition and LoadingPost-beta maintainabilitymediumbacklog
TASK-145Evidence-Based Roadmap ResetPost-beta planninghighbacklog
TASK-146Hallmark UI System RemediationProduct reset and public betamediumdone

Current Status

Core product tasks, v0-beta hardening tasks, release validation work, the first three next-release operations tasks, TASK-052 multi-provider AI support, TASK-053 native installer frontend bundle install, TASK-054 CLI update check foundation, TASK-055 daemon update check service, TASK-056 in-app update check, TASK-057 in-app encrypted backup package work, TASK-058 MVP evidence and acceptance criteria audit, TASK-059 signed release archive packaging work, and TASK-060 one-command installer entry point work available from this macOS workspace are complete.

TASK-061 packaged upgrade support, TASK-062 installer matrix validation, TASK-063 Homebrew alternate install path, TASK-064 library reprocess/re-embed support, TASK-065 pipeline failure recovery UX, TASK-066 in-app encrypted backup verify/restore, TASK-067 post-restore restart/recovery UX, TASK-068 diagnostics/support bundles, TASK-069 local production hardening, and TASK-070 installed-artifact smoke testing are complete. TASK-063 includes the in-repository Homebrew formula, checksum/docs coverage, Homebrew style/audit validation, and dry-run install planning; full post-publish brew install validation is gated on public access to the v0.1.0-beta release artifacts. TASK-071 is complete with final MVP release documentation alignment across user-facing, contributor, release-operator, roadmap, PRD, security, changelog, and update-system docs. TASK-072 is complete with hybrid command-palette search and user timeline events for manual category mutations. TASK-073 is complete with post-MVP multi-user direction research and a focused development-server Playwright smoke suite for documented business requirements. TASK-074 is complete with a self-contained contributor engineering presentation, tracked implementation plan, and local static/browser/type/test verification.

The MVP release-closeout queue is TASK-075 through TASK-084. These tasks do not add new product scope; they close the gap between the implemented app and an MVP-ready public build by freezing release metadata, publishing signed artifacts, validating fresh-host installers, validating public install/update paths, completing publication-gated Homebrew checks, smoke-testing first-user UX, extending installed-app E2E to public artifacts, rerunning localhost security regressions, preparing release/support notes, and producing the final go/no-go release decision package. TASK-075 through TASK-077 and TASK-081 through TASK-084 are complete. TASK-078 is in progress but blocked on public artifact visibility. TASK-079 is in progress with local formula checksum, test, audit, and dry-run evidence, but live Homebrew install validation remains blocked on public artifact visibility. TASK-080 is complete after a real fresh-data smoke pass with an isolated loopback daemon. TASK-084 is complete with a final no-go recommendation for public MVP promotion until unauthenticated artifact access and the dependent public validation paths are fixed or an authenticated distribution path is deliberately adopted.

The Grimoire parity workstream is now represented by TASK-085 through TASK-120, converted from approved and refined rows in docs/parity/grimoire-parity-task-proposals.md. The current parity batch is local-first, single-user, loopback-first, and local-integrations-only. It covers explicit non-goals, security boundaries, pragmatic local integration token auth, bookmark read-later/open-metric parity, category/tag parity, import/export workflow hardening, explicit pagination/filtering, aggregate counts, and large-library verification. TASK-086 is complete as the conversion record. TASK-085 is complete after locking the parity scope and non-goals across the parity report, roadmap, release docs, and task-report index. TASK-087 is complete after adding the canonical loopback/local-integration threat model, public-network release gates, and release-checklist blockers for network exposure changes. TASK-088 is complete after adding recurring Grimoire parity release checklist coverage for API contracts, bookmark fields, category/tag management, import/export, search/filter/pagination/aggregate behavior, local integrations, and their required verification signals. TASK-089 is complete after adding first-class read-later persistence, API/list/search/export filters, frontend badges and controls, filtered exports, generated docs, visual reporting, e2e coverage, and review hardening for validation and cache invalidation. TASK-091 is complete with open-metric persistence, API/export fields, shared frontend open tracking, generated docs, visual reporting, review hardening for native external-link behavior and visible metric refresh, and full local verification. TASK-092 is complete with bookmark detail metadata and extracted content sections. TASK-093 is complete with local bounded media caching, daemon-served favicon/page-preview/extracted-image paths, local-only UI fallbacks, private-redirect and SVG cache hardening, duplicate final URL deduping, permanent-delete cache purging, generated API docs, visual reporting, and focused/full daemon/frontend verification. TASK-094 is complete with bookmark mutation/detail regression coverage, and TASK-095 is complete with full-tree sidebar category navigation for empty and nested categories. TASK-096 is complete with a stable category detail route, metadata and child-category rendering, category-scoped daemon pagination, sidebar route navigation, focused frontend tests, e2e coverage, and visual reporting. TASK-097 is complete with local category metadata persistence, validation, generated API docs, category detail rendering/editing, focused tests, closeout verification, and visual reporting. TASK-098 is complete with a dedicated tag management page, API-backed active tag counts, create and delete flows, sidebar navigation, tag detail browsing links, filtered-library hydration, focused frontend tests, daemon tag route coverage, closeout verification, and visual reporting. TASK-099 is complete with stable tag detail routes, tag metadata, bookmark chip navigation, focused tag management links, daemon-paginated scoped bookmark lists, focused tests, e2e coverage, and visual reporting. TASK-100 is complete with atomic tag rename behavior, duplicate-name conflict handling, generated API docs, tag management and detail rename controls, cache consistency hardening, FTS search verification, focused daemon/frontend tests, e2e coverage, and visual reporting. TASK-101 is complete with focused category/tag regression coverage for empty rows, active counts, selected filter refresh, tag delete filter/search cleanup, category move/delete behavior, and whole-branch category depth validation. TASK-102 is complete with managed local integration bearer tokens, hashed token storage, redacted list output, MCP protection, optional REST bearer validation, rotation, revocation, generated API docs, security documentation, and focused daemon auth coverage. TASK-103 is complete with generated request/response examples for local integration clients across integration tokens, MCP auth failures, bookmark create/list/detail/update, search filtering and pagination, import/export, categories, tags, backup, and common error flows. The examples are stored in the source API contract and regenerated into both API.md and docs/api-contract.json, with docs drift covered by npm run docs:api:check. TASK-104 is complete with OpenAPI 3.0 output generated from the same source contract into docs/openapi.json, OpenAPI-only generation/check commands, and focused generator coverage for parameters, responses, pagination schemas, and MCP bearer-token security. TASK-106 is complete with explicit unsafe CORS preflight rejection, missing Origin local-client coverage, generated local CORS setup documentation, loopback-only configured origin handling, and refreshed security-boundary documentation. TASK-107 is done with Netscape import folder paths preserved as local categories, empty folder creation, duplicate folder names scoped by parent, bookmark category assignment, generated import summary/progress fields, and focused daemon import coverage for nested folders, empty folders, duplicates, re-import behavior, and category route limit parity. TASK-108 is complete with a cancelable preview-first import dialog, TASK-120 duplicate policy controls, detected folders/tags/duplicate/invalid/private row summaries, confirm-before-commit behavior, focused frontend tests, e2e smoke coverage, and visual reporting. TASK-109 is complete with daemon-owned category/tag remapping for import preview and commit, normalized remapping result data, row-level target category and tag fields, import-dialog mapping controls, regenerated API/OpenAPI docs, focused daemon/frontend tests, e2e coverage, visual reporting, and review hardening for nested folder inheritance, explicit tag target validation, and category aggregate refresh after import. TASK-110 is complete with daemon import result payloads, generated API/OpenAPI docs, frontend completion report UI, row-level warning/failure rendering, focused daemon/frontend tests, e2e coverage, visual reporting, and review hardening for post-create row failure IDs and final SSE progress parsing. TASK-111 is complete with JSON and CSV export parity fields for notes, read state, archive state, pinned/starred mapping, read-later state, and open metrics, plus regenerated API/OpenAPI docs, focused daemon export coverage, and visual task reporting. TASK-120 is complete with non-mutating import preview classification, shared duplicate policy semantics for active merge and archived/trashed restore-merge, invalid/private skip reporting, generated API docs/OpenAPI updates, frontend API helpers, SSE merged/restored progress fields, full daemon and frontend test coverage, and visual task reporting. TASK-113 is complete with import/export regression coverage for large but local-friendly import fixtures, nested folders, duplicates, invalid/private URLs, duplicate policy preview/commit states, result reports, frontend preview row caps, JSON/CSV parity field serialization, and broader review validation. TASK-114 is complete with daemon-backed library pagination, visible result ranges, page-size choices, cross-page selection clearing, empty-page recovery for library/category/tag pagination paths, focused frontend tests, e2e coverage, and visual task reporting. TASK-117 is complete with local-only library filter/sort/search-mode/page-size preference persistence, page-offset exclusion, route-tag precedence for shared links, a toolbar reset command that also resets bookmark view mode, focused hook and page tests, and desktop/mobile visual reporting. TASK-118 is done with page-independent active-library aggregate counts for categories, tags, domains, read state, pinned/starred state, and read-later state; sidebar category, tag, and domain badges now use daemon-owned aggregate data without collapsing under selected facets, generated API/OpenAPI docs are refreshed, and focused daemon/frontend tests cover filtered and larger-count scenarios. TASK-119 is done with a separate large-library performance command, 2,000-bookmark deterministic fixtures, 240-row import preview/commit coverage, explicit budgets for list/search/filter/import/pagination paths, and documented heavy-check usage in docs/performance.md. Bookmark importance is rejected for this batch, TASK-105 protected local capture is complete, TASK-112 is complete as the documented future Grimoire backup import source-shape and field-mapping handoff, multi-user/server account parity remains deferred, and Grimoire endpoint aliases plus packaged browser-extension clients and extension smoke tests remain rejected or out of scope for the current parity batch.

The TASK-125 through TASK-135 follow-up batch added release, first-user, performance, parity, and documentation work. TASK-125 through TASK-129 are recorded as complete, covering macOS x64 acceptance, browser bookmarklet capture, in-app update notification, arbitrary path encrypted-backup verification, and first-run guided tour/demo content. TASK-130 is complete with optional sqlite-vec vector indexing, durable BLOB fallback, search and organization-agent integration, fallback hardening, and a 100/1K/5K/10K nearest-neighbor benchmark matrix. TASK-131 is complete with GitHub issue API extraction, label-to-tag persistence, focused daemon tests, documentation updates, and task-report coverage. TASK-132 is complete with a 10K regression fixture, 1K/10K/50K scaling evidence, query-plan assertions, hybrid-search profiling, bulk FTS fixture setup, and safe exhaustive sqlite-vec fallback behavior, with the 10K budget enforced by a dedicated CI job. TASK-133 is complete with a synthetic parity task-report and desktop/narrow visual verification sweep linked from the task-report indexes. TASK-134 is complete with the final parity acceptance checklist and release evidence links verified. TASK-135 is complete with public-facing README, FAQ, security, contributing, task-report, and link-audit work.

The active product-reset tranche is TASK-136 through TASK-145. TASK-136 through TASK-139 are dependency-free todo work: restore green CI and acceptance integrity, remediate production security/dependency risk, make browser capture trustworthy, and define the product/beta evidence plan. TASK-140 through TASK-145 remain dependency-gated in backlog: add a real browser-daemon E2E, reset canonical documentation, validate one usable beta distribution path, run a 5-10 person private beta, perform targeted frontend decomposition only after evidence, and rebuild the roadmap from observed outcomes. The former TASK-122, TASK-123, and TASK-124 backlog split is consolidated into TASK-140 and TASK-142. TASK-146 is complete with semantic visual-system remediation, keyboard and touch-safe bookmark actions, responsive-header verification, focused regression coverage, and visual task-report evidence.

Completed release validation evidence:

  1. npm run check passed locally.
  2. npm run test:e2e passed historically; the current local run is blocked by a missing Playwright browser installation and the current GitHub E2E job is failing.
  3. Docker Compose build/start/health validation passed with the host port bound to 127.0.0.1:3210:3210.
  4. docker compose down preserved the named data volume.
  5. Native macOS install/health/upgrade/uninstall/purge smoke passed in an isolated temporary home.
  6. Release-target and local markdown link audits passed.
  7. GitHub Actions Quality Gates passed for historical release-validation commits. The current develop head passes lint/types/unit/docs/build, Docker, and performance jobs but fails Playwright E2E; TASK-136 owns restoration.
  8. Linux systemd user installer smoke passed in an Ubuntu 24.04 Docker environment with systemd running as PID 1 and a non-root systemctl --user manager.
  9. Installer matrix validation names the exact MVP OS targets and passed the packaged Linux archive smoke on Ubuntu 24.04 LTS and Debian 12 systemd-user containers.
  10. Final MVP release documentation alignment passed generated API docs drift checking and local Markdown link auditing.
  11. TASK-075 release-candidate freeze verified the root and daemon package versions, release-tagged installer URLs, release-facing documentation, task board status, API docs drift check, and local Markdown links for the 0.1.0-beta release target.
  12. TASK-076 generated signed macOS and Linux release archives, verified checksums and detached GPG signatures, passed npm run release:validate -- --require-signatures, and published v0.1.0-beta as a GitHub prerelease with archives, checksum files, signatures, and release-manifest.json attached.
  13. TASK-077 reran signed-artifact Linux installer matrix validation on Ubuntu 24.04 LTS and Debian 12 systemd-user containers, confirmed install, /health version 0.1.0-beta, autostart, upgrade data preservation, uninstall data preservation, and explicit purge behavior, and recorded macOS arm64/x64 availability gaps in the installer matrix evidence.
  14. TASK-081 added a published-artifact installed-app smoke mode and release checklist command. The local installed-app smoke passed against freshly packaged artifacts; the published-artifact command stopped before install/runtime work because the public macOS archive URL returned HTTP 404, preserving TASK-078 as the release-blocking visibility issue.
  15. TASK-082 reran final localhost security regressions. The current source daemon bound to 127.0.0.1, Docker Compose rendered a loopback-only host publish, unsafe browser origins were rejected, CSP and browser hardening headers were present, private-host/update-source blocking and guarded body/path handling stayed covered by daemon tests, diagnostics redaction now includes explicit content/notes/embedding model/vector regression coverage, and refreshed GitHub release artifacts passed checksum and GPG signature validation.
  16. TASK-079 local Homebrew validation updated the in-repository formula to the final signed release artifact checksums from release/release-manifest.json, added checksum drift coverage to scripts/homebrew-formula.test.ts, passed the focused formula test, passed brew style Formula/little-imp.rb, passed brew audit --strict goniszewski/little-imp/little-imp for the registered tap formula shape, and passed the registered-tap Homebrew dry-run install plan.
  17. TASK-083 added docs/release-notes-v0.1.0-beta.md with final user-facing release notes covering install paths, supported OS matrix, checksum/signature guidance, validation summary, known limitations, diagnostics posture, troubleshooting links, and security reporting guidance.
  18. TASK-084 added docs/release-decision-v0.1.0-beta.md with the release identity, artifact inventory, checksum/signature status, validation matrix, explicit skipped checks, accepted MVP limitations, and a no-go decision for public promotion while public artifact URLs still return HTTP 404.

Notes:

  • TASK-029 is not present as a task file; daemon test coverage is represented by TASK-030 and TASK-035.
  • TASK-047 was the final consistency pass after the implementation-facing hardening tasks landed.
  • TASK-048 completed the release checklist paths available in this workspace, including a containerized Ubuntu systemd-user smoke for the Linux installer path.
  • TASK-062 documents macOS 12+ x64 as a manual pre-publish target because this workspace does not have Intel macOS hardware or an x64 macOS VM.
  • TASK-078 is in progress and currently blocked by repository visibility: authenticated GitHub release inspection sees the v0.1.0-beta prerelease and expected assets, but unauthenticated public checks for the documented tag-qualified installer and release archive URLs return 404 while the repository is private. TASK-079 shares the same public artifact access dependency. Several checks also depend on Homebrew tap availability.
  • TASK-079 is in progress. Formula checksum validation is now covered locally, but brew fetch --formula goniszewski/little-imp/little-imp still returns HTTP 404 for the public macOS archive URL, so live brew install, service, health, uninstall, and data-preservation checks remain blocked.
  • TASK-080 is complete after adding a loopback-only VITE_DAEMON_URL override for isolated smoke runs. The real fresh-data pass covered add/search/detail, degraded AI and embedding states, import, backup create/verify, encrypted package create/verify, restore recovery, diagnostics, and publication-gated update-check messaging without stopping the installed daemon on 127.0.0.1:3210.
  • TASK-081 is complete with a documented npm run test:e2e:installed:published command that downloads public release artifacts, verifies the archive checksum and detached signature, and runs the existing installed-app smoke against the verified archive. On May 29, 2026 the live command failed before install/runtime work because the public macOS archive URL returned HTTP 404, so TASK-078 remains the release-blocking public visibility item.
  • TASK-084 is complete. The final release decision is no-go for public MVP promotion until the public installer/archive URLs are reachable and TASK-078, TASK-079, and the public-artifact smoke path are rerun successfully, or until an authenticated distribution path is explicitly chosen and validated.
  • TASK-142 now consolidates the remaining public distribution, Homebrew decision, and published-artifact validation into one dependency-gated beta release task.

See docs/roadmap.md for full milestone details.