RFD Priorities
The active RFD backlog in priority order — highest first, including draft RFDs you want to prioritise finishing. RFDs marked in development are currently being implemented. Every RFD above a milestone line targets that release. Implemented, superseded, and abandoned RFDs are not shown here; see the full RFD index for those.
See RFD 001 for the process behind these documents.
The active backlog in priority order. Top of the list is worked on first. Every RFD above a milestone line targets that release.
- Replace opaque attachments with typed MCP-aligned resources on ChatRequest at attachment turn, enabling deduplication and preventing cache invalidation.
- Unify inquiry event recording across all routing paths; add cancellation/redaction variants; track attempts per turn.
- Unify editor invocation through EditorBackend trait; add vendored reedline-based InlineReply widget for interrupt menu replies.
- Session-scoped active workspace lets JP commands run from anywhere after selecting a workspace with `jp w use`.
- Global `--explain` flag traces config resolution through 9 layers, showing where each field value originates.
- Add parent-child conversation relationships via metadata field, enabling fork lineage and hierarchical organization without nested directories.
- Nested workspace directories project conversation trees visually; user-local storage stays flat for durability.
- Named tool groups enable CLI shortcuts and exhaustive validation ensuring every tool is classified relative to a group.
- Adds typed access policy grants for tools to declare and enforce what workspace resources they can access.
- Assign stable, stream-unique identifiers to every conversation event for safe manual editing and future reference features.
- Auto-refresh stale conversation titles periodically by re-running LLM generation when accumulated turns exceed a configured threshold.
- UPPERCASE keywords NONE and WORKSPACE reset config state; loader.reset entry setting provides local resets; ConfigDelta becomes enum to persist resets.
- Introduces `-C` flag to selectively revert previously applied config sources using provenance tracking via claims maps.
- Scoped tool config access via `access.config` rules, with re-invocation on delta rejection and per-cycle commit buffering.
- Adds scripting ergonomics: shared config structs, `conversation new` command, `--no-activate` flag, and `--root-id` ancestry constraint.
- Groups can declare default tool configuration, allowing tool inheritance without per-tool repetition.
- Adds group `overrides` section to enforce tool configuration that outlasts tool-level settings but yields to CLI flags.
- Unifies one-shot and long-running tool execution under a stateful protocol enabling multi-step interactive workflows.
- Replace opaque tool output strings with typed content blocks (text, resource, question) mirroring MCP's CallToolResult model.
- Externalizes all content payloads to gzip-compressed SHA-256-addressed blob store; events.json carries only metadata references.