Requests for Discussion
RFDs are short design documents that describe a significant change before implementation begins. See RFD 001 for the full process.
- Design — feature proposals and architectural changes
- Decision — recording a specific choice: a technology, convention, or standard
- Guide — how-tos and reference material for contributors
- Process — how the project operates: workflows, policies, values
| RFD ▲ | Title | Category | Status | Date |
|---|---|---|---|---|
| 001 | The JP RFD Process Establishes lightweight Request for Discussion process for proposing and tracking design decisions with clear lifecycle states. | Process | Accepted | 2025-07-17 |
| 002 | Using LLMs in the JP Project LLMs are tools; you own your output and bear responsibility for its quality regardless of how it was produced. | Process | Accepted | 2025-07-17 |
| 003 | JP-Assisted RFD Writing Propose an `rfd` skill configuration enabling JP to assist RFD writing through research, structure, and collaborative editing—not authorship. | Process | Accepted | 2025-07-17 |
| 004 | Streaming Markdown Parser and Terminal Renderer in `jp_md` JP streams markdown by segmenting blocks with custom Buffer, then renders them with ANSI-aware terminal renderer. | Design | Implemented | 2026-02-19 |
| 005 | First-Class Inquiry Events Record inquiry events in conversation stream with centralized filtering to keep them hidden from LLM providers. | Design | Implemented | 2026-02-17 |
| 006 | Turn-Scoped Stream Mutations Restrict stream mutations to turn-scoped accessors, preventing invalid event sequences through compile-time guarantees. | Design | Implemented | 2025-07-18 |
| 007 | Llamacpp Reasoning Support Llamacpp provider will drop the openai crate to properly extract reasoning content from all three llama.cpp reasoning formats. | Design | Implemented | 2025-07-18 |
| 008 | Knowledge Base Proposes a file-based knowledge base system where assistants retrieve project-specific topics and subjects on-demand via a `learn` tool. | Design | Draft | 2026-02-23 |
| 009 | Stateful Tool Protocol Unifies one-shot and long-running tool execution under a stateful protocol enabling multi-step interactive workflows. | Design | Draft | 2026-02-23 |
| 010 | PTY Infrastructure and Interactive Tool SDK Proposes jp_pty crate and interactive SDK for building stateful tools that wrap interactive CLI programs. | Design | Draft | 2026-02-23 |
| 011 | System Message Queue System message queue delivers asynchronous subsystem notifications to the assistant by embedding them in existing conversation messages. | Design | Draft | 2026-02-23 |
| 012 | Incremental Tool Call Argument Streaming Parse tool call arguments incrementally as JSON streams in, emitting progress events before the full object completes. | Design | Draft | 2026-02-24 |
| 013 | Named Query Templates Add reusable, config-defined query templates with interactive prompts for collecting variables before rendering. | Design | Draft | 2026-02-25 |
| 014 | Attachment Handler Guide JP attachment handlers fetch context via URL schemes, supporting both opaque and hierarchical formats with add/remove/list/get trait methods. | Guide | Superseded | 2026-02-27 |
| 015 | Simplified Attachment Handler Trait Simplify attachment handlers from stateful (five methods) to stateless (three methods), moving URL tracking to the host. | Design | Accepted | 2026-02-27 |
| 016 | Wasm Plugin Architecture Wasm-based plugin architecture enabling third-party extensibility with sandboxed capabilities through WIT interfaces. | Design | Draft | 2026-02-28 |
| 017 | Wasm Attachment Handlers Wasm plugins export an attachment interface, wrapped in a native Handler adapter for transparent integration. | Design | Draft | 2026-02-28 |
| 018 | Typed Inquiry System Codify prompt types as `Inquiry` enum variants for unified routing, config, and extensibility. | Design | Draft | 2026-03-01 |
| 019 | Non-Interactive Mode Configurable fallback behavior for unattended prompts, with safe defaults and output channel separation. | Design | Draft | 2026-03-01 |
| 020 | Parallel Conversations Replace global active conversation with per-session tracking and add conversation locks for parallel terminal work. | Design | Draft | 2025-07-19 |
| 021 | Printer Live Redirection Adds runtime output redirection to Printer via SwapWriters command, enabling mid-stream destination changes without replacing instances. | Design | Draft | 2025-07-19 |
| 022 | Detached Conversations Proposes detached query execution, process registry, and conversation attachment—abandoned and split into RFD 023 and 024. | Design | Abandoned | 2025-07-19 |
| 023 | Resumable Conversation Turns Split incomplete turns from stream, persist tool results incrementally, resume with --continue flag. | Design | Draft | 2025-07-19 |
| 024 | Detached Query Execution Detached query execution with process registry and queue policy for background conversations; superseded by RFD 027. | Design | Abandoned | 2025-07-19 |
| 025 | Live Re-Attachment to Detached Queries Abandoned design for live re-attachment to detached query processes via Unix domain sockets; superseded by RFD 027. | Design | Abandoned | 2025-07-19 |
| 026 | Agent Loop Extraction Extract the agent turn loop from jp_cli into a new jp_agent crate with trait-based I/O hooks. | Design | Draft | 2025-07-19 |
| 027 | Client-Server Query Architecture Restructure `jp query` as unified client-server architecture for foreground, detached, and reattached queries. | Design | Draft | 2025-07-19 |
| 028 | Structured Inquiry System for Tool Questions Replace tool re-invocation with async inquiries to avoid token waste and latency when tools need LLM answers. | Design | Implemented | 2026-03-04 |
| 029 | Scriptable Structured Output Make JP usable in scripts by inferring clean JSON output and adding a concise schema syntax. | Design | Draft | 2026-03-05 |
| 030 | Schema DSL JP's concise DSL syntax for defining JSON Schema objects via command-line flags with types, descriptions, and nested structures. | Guide | Implemented | 2026-03-05 |
| 031 | Durable Conversation Storage with Workspace Projection Make user-local storage the durable source; workspace copies become optional projections for git visibility. | Design | Draft | 2026-03-05 |