Repository navigation
Releases: rustytensor/pi-noodle
Release list
v1.15.4
Animated GitHub logo
- Use the supplied
pi-noodle-neon.gifunchanged as the README logo, with desktop/compact static SVG fallbacks for reduced motion. Keep the editable vector master and explanatory diagrams. - Align dev with the already-released main history after preserving its old tip locally. No runtime or saved-data changes.
Npm publishing is a separate, manual maintainer step.
v1.15.3
Memory-first GitHub page and editable neon identity
- Rebuild the landing page around shared memory, optional archive encryption and side chat, with responsive explanatory SVG diagrams. Preserve the full operating reference in
docs/user-guide.md. - Adapt the supplied neon-skull PNG reference into a 14-layer editable SVG using its matching vector geometry. Export raster-free desktop/compact banners; keep the PNG in a hidden reference layer only.
- Correct the GitHub About homepage and refresh description/topics for
rustytensor/pi-noodle. Keep encryption boundaries and defaults explicit. No runtime or saved-data changes.
Npm publishing is a separate, manual maintainer step.
v1.15.2
GitHub presentation
- Replace the stacked raster header with one responsive SVG composition using the supplied neon skull mark and vector neon lettering. Keep attribution and use a dedicated compact layout on narrow screens.
- Simplify the opening copy and navigation while keeping privacy/default controls visible. No runtime or stored-data changes.
Npm publishing is a separate, manual maintainer step.
v1.15.1
GitHub repository rename
- Rename the GitHub repository to
rustytensor/pi-noodleand update current repository, issue, badge and image links. Prior release records remain unchanged. - No runtime, stored-data, command or tool behavior changes. npm publication remains manual.
Npm publishing is a separate, manual maintainer step.
v1.14.0
Optional main-session watchers
- Promote idle-agent watchers on the GitHub landing page alongside shared memory and the existing toolkit; keep off-by-default controls, local repeat-path limitations and wake-up costs explicit.
- Add off-by-default
jarvis_watcher_set,jarvis_watcher_list, andjarvis_watcher_cancelfor main only. Wait for a command predicate, a regular-file newline count, or bounded recursive metadata quiet without model polling; wake with met, timed out, or check failed, last output and a required nonempty agent note. - Add independent scoped watcher settings and local
/jarvis-watchersstatus/cancel/on/off/clear/set controls, overlay-local/watchersinterception, main footer visibility and/jarvis statussummaries. Keep existing memory/archive, Repo tools and bridge defaults unchanged. - Present watcher launch/progress/final results as compact semantic-accent blocks: plain-language condition, interval/time limit, cwd and full-command line count; Pi's normal Ctrl+O expands/collapses the exact immutable command. No bash override or approval/execution changes; inspected Pi hosts do not render a separate nested-bash transcript row.
- Use supported launch-time nested bash execution for permission hooks. Denial or unverifiable/changed launch arguments refuse registration. Later repeats run locally through
pi.execwith the byte-identical fully displayed command and cwd, including the bounded foreground supervisor. Repeats do not use bash hooks, custom backends, prefixes, result redactors or session environment; this is bounded launch-time permission, not a sandbox. - Preserve session snapshots and notes across compaction. Stop jobs at main lifecycle boundaries; resume reports lost/overdue without restarting or backfilling checks. Queue displayed extension notifications as follow-ups while busy; label them explicitly as not user-authored and carrying no user approval. Deliver certainly unsent pending completions on resume with their original reason; report submitted-but-unobserved sends as uncertain without automatic retry.
- Register watcher lifecycle handlers after the existing Jarvis/memory/archive handlers, preserving synchronous owner and queue invalidation with watchers off. Coordinate launch review and pending notification admission with Jarvis-owned modal/private input. Document POSIX/local Linux validation, metadata-observation races, best-effort process cleanup and lack of crash-safe delivery acknowledgements. Add fake-clock and disposable local/SDK fixture tests.
Npm publishing is a separate, manual maintainer step.
v1.13.1
Curated memory editor usability
- Live preview: moving the cursor (arrows or fullscreen wheel) shows the highlighted note in the right pane—body first, then scope, category, size, human-readable dates and origin—without pressing Enter. Enter still opens the full provenance view. The preview is one bounded read-only fetch per move and stays silent on failure.
- List rows show the checkbox, the title with most of the width (word-boundary ellipsis when truncated), and right-aligned scope word (project/global) and last-updated date (YYYY-MM-DD). At wide terminals the split is about 60% list / 40% preview, with the preview never under 44 columns.
- The header says counts and sort order in plain words and shows a “Filters —” line only when scope/category/source/search is active; “current” scope is spelled “this project + global”.
- The footer is a grouped plain-word key legend that drops middle groups until it fits the terminal; after Escape a banner reads “Press Enter to close, any other key to stay”. Escape-then-Enter remains the close gesture (a lone Escape can be a split paste opener), and the selected count stays visible when a notice is shown.
- Human dates everywhere (YYYY-MM-DD, with time in the inspector); raw epoch numbers no longer appear. Empty and first-use states say what to press.
- Presentation only: no data, storage, permission, review, safety or API changes. All paste framing, review, conflict and size protections are unchanged.
Npm publishing is a separate, manual maintainer step.
v1.13.0
Archive search for the main agent
- Give the model archive tools a session reach:
jarvis_archive_search,jarvis_archive_readandjarvis_archive_sessionnow default to the current session, so the main agent can recover details lost to context compaction on its own initiative without asking.ArchiveStore.readgains a session filter so entry IDs from other sessions cannot bypass the reach. - Behaviour change: the model tools' default scope changes from this project to this session. Wider reaches are now explicit:
scope: "current"(other sessions of this project) orscope: "all"(every project), plus a foreignsessionId. Human/jarvis-archivecommands are unchanged and keep defaulting to this project. - Gate every wider reach with one approval per request through Pi's normal tool confirmation (the Jarvis side session bridges the same prompt through its overlay, like memory-forget review). A declined or unavailable approval returns one clear sentence and executes nothing. Code cannot distinguish a user-instructed search from an agent-initiated one, so reach — not intent — is enforced; approving the prompt is the user's explicit permission.
- Add a standing opt-in:
/jarvis-archive [--global|--project] model-search on --confirm-sensitive|offsetsmodelWideSearch(off by default, layered project > global like model-access, shown in/jarvis-archive status). When on, model tools may search beyond the current session without asking; turning it off revokes already-prepared tool definitions. - Tool descriptions and guidance now say plainly: use these tools when something was said earlier and is no longer in context, starting with this session, not for content still in front of you.
- Session reach follows the current Pi session ID. Compaction preserves it, but pre-fork/pre-tree history of the same conversation is outside the session reach (documented follow-up; use an approved wider reach for it).
Npm publishing is a separate, manual maintainer step.
Put your saved memories in view — v1.12.1
Your AI's memory is no longer a black box
The curated memory editor now takes a prominent place on the GitHub/npm landing page, alongside the rest of the Jarvis toolkit.
Open /jarvis-memory editor—or /memory editor inside Jarvis—to:
- Find saved decisions with search, filters, sorting and paged browsing.
- Inspect the full note and its original provenance.
- Create or duplicate notes, then edit title, multiline body, category and scope.
- Review single/batch deletion and handle concurrent changes without silent overwrite.
The page includes the actual-renderer preview with synthetic notes, a benefit-led workflow table, quick controls and direct navigation to the detailed guide.
Curated notes only: not the optional archive or automatic conversation captures. Notes remain local plaintext and may be recalled to models. Full-off/denied trust blocks access; capture/recall-only pauses still allow human administration. Saves/deletions require review; prior context, transcripts and backups are not erased. Use Escape then Enter for back/close and F1 for help.
Documentation-only release
The editor shipped in 1.12.0, now published on npm. Its downloaded npm package passed integrity verification and all 149 packaged files match its GitHub artifact (different tarball container hashes, identical contents).
1.12.1 changes documentation and version metadata only. Your installed 1.12.0 already has the editor; no reinstall is required for a functional fix.
1,206 tests passed on Node 22.19.0 and 24.21.0; build/package checks passed. The attached archive is the validated documentation-update package. npm publication of 1.12.1 remains manual.
Edit what Pi remembers — curated memory editor v1.12.0
Edit what Pi remembers
A comprehensive TUI editor for curated memories—not the full-session archive.
Open it with:
/jarvis-memory editor
Inside Jarvis, use /memory editor. Both are local human commands: no side-model boot, provider call, or queued model work.
The complete note workflow
- Browse bounded pages and search literal keywords.
- Filter current-project/global/all-project scope, category and origin lane; sort by updated time, creation time or title.
- Inspect the full note, ID, timestamps, project association and original provenance.
- Create, duplicate, or edit title, multiline body, category and scope.
- Review saves and deletion of a current note or a selected batch of up to 50.
- Keep dirty drafts through conflicts, with explicit discard/reload and transactional version checks rather than silent overwrite.
F1 shows help. F2–F5 control filters/sorting, Ctrl+F searches, N/E/D create/edit/duplicate, and Ctrl+S opens save review.
Deliberate controls and privacy
Escape followed by Enter goes back or closes. A lone Escape remains a possible split paste opener, so pasted note text cannot accidentally close the editor and spill into Pi's main prompt. Save/delete/discard approval still requires freshly visible, focused review pages; paste cannot authorize it.
The editor manages only curated notes, including manually saved notes—not automatic conversation captures or archive entries. Full memory off, denied trust and configuration errors block record access. Human management works with capture or recall paused and never changes those controls automatically. Notes remain local plaintext and may be recalled to models; this is not a password vault.
Existing scoped-title collisions and forgotten titles are not silently overwritten/restored. Renames and scope changes preserve identity/FTS/tombstone rules. Deletion does not erase other mentions, original transcripts, backups or already-sent context. Uncertain writes are not replayed automatically.
Opening from Jarvis closes presentation only; assigned work and access grants retain their existing behavior. Modal ownership is coordinated with model pickers, memory reviews and private archive input, including deferred/stale host callbacks.
Validation and package
Implemented and independently reviewed with the requested gpt-6.1-sol-agent team. 1,206 tests passed across Node 22.19.0 / 24.21.0 and Pi 1.0.0 / 1.0.2, with zero skips in the final matrix. Tests include native input-buffer paste boundaries, transaction conflicts/cancellation, all-project access, full-off controls and real public TUI lifecycle behavior, using synthetic data and providers only.
Build, package and isolated compiled-SDK checks passed. The README includes an actual-renderer preview using synthetic notes, not a live memory database.
Published on npm: pi-jarvis 1.12.0. The downloaded registry package passed its integrity check and all 149 packaged files match the GitHub artifact byte-for-byte. Tarball container integrity hashes differ; package contents match. Future npm publication remains manual.
Explore the memory-editor showcase, preview and quick-start. No real user notes, archive data or settings were edited during development validation.
Remember more. Explore in parallel. Stay in control. — v1.11.4
Remember more. Explore in parallel. Stay in control.
The GitHub/npm landing page now showcases the full pi-jarvis toolkit—not just the overlay:
- One persistent memory for main Pi and Jarvis: reusable preferences, corrections and project decisions, with scoped recall/search and direct inspect/edit/forget controls.
- A real second lane: isolated, restorable side history; live main-session summary/delta; independent F2/F3 model/thinking controls; multiline drafts and a conversation-first TUI.
- Background task continuity: close the window without stopping assigned work or clearing same-owner grants. Main status and explicit stop/access-off controls remain available.
- Tools when you allow them: local read/bash/edit/write and side-owned native MCP, with separate Note main and visible per-send Redirect confirmation.
- A searchable past: optional full-session archive, provenance and paged raw reads, preview-confirmed bulk import, duplicate skipping and per-file reports.
- Optional archive-only encryption: selectable unlock lifetimes, explicit migration/cleanup and clear boundaries around original transcripts, shared memory and retained plaintext copies.
Three new SVG guides
The workspace · Your history · Your permissions
Original, self-contained artwork with readable stacked cards, descriptive alternatives and privacy/default disclosures in the images themselves. These are conceptual diagrams, not live session screenshots. SVG replaces the previous Mermaid blocks so the images render without a Mermaid-capable Markdown viewer.
Checked with Playwright—not just eyeballed source
Fresh headless Chrome contexts checked local README-style wrappers at 1100, 390 and 320px, on light and dark backgrounds. All three SVGs passed real XML/text-bound/overlap and image-loading checks; 12 screenshots were captured and visually inspected. No console/page/network errors or non-loopback routed requests. This is local browser evidence, not a claim to reproduce every GitHub/npm/browser renderer.
npm run render:showcase regenerates the diagrams. npm run check:showcase uses an existing optional Playwright installation; no browser dependency is added to Jarvis. Six new static tests cover deterministic generation, escaped/self-contained SVGs, accessibility and feature/privacy contracts.
Same runtime, stronger documentation
This is a documentation/artwork/package-metadata release. There are no runtime, default, permission, model, memory/archive or user-setting changes. Existing 1.11.3 installations already have the advertised features; reinstalling is not required to get a functional fix.
Shared memory remains ON in trusted projects and plaintext; recalled facts may reach the model/provider. Archive and model access remain separate opt-ins, and encryption protects only the active archive. Closing is not stopping or revoking. Current instructions outrank recalled history.
1,096 tests passed on Node 22.19.0 and 24.21.0, plus independent scoped documentation/SVG review, build and package verification. The attached package is the validated release artifact. npm publication of 1.11.4 remains manual. Version 1.11.3 is already published on npm, with all 137 package files verified against its GitHub artifact.