Skip to content

docs(rfd): Add draft RFDs for workspace/storage split and event IDs#614

Merged
JeanMertz merged 3 commits intomainfrom
prr182
May 6, 2026
Merged

docs(rfd): Add draft RFDs for workspace/storage split and event IDs#614
JeanMertz merged 3 commits intomainfrom
prr182

Conversation

@JeanMertz
Copy link
Copy Markdown
Collaborator

@JeanMertz JeanMertz commented May 6, 2026

Two new draft RFDs under docs/rfd/drafts/:

D20-project-workspace-and-storage.md addresses the overloaded "workspace" term by introducing three named concepts: Project (the directory the user works in), Workspace (the logical JP context), and Workspace storage (the physical .jp/ location). It also formalises a gitfile-style .jp marker file for placing storage outside the project tree, and makes config_load_paths resolution symmetric across all three config roots — resolving the parked drawback from RFD 035.

D20-stable-event-identifiers.md proposes adding an EventId field to ConversationEvent so that events carry stable, opaque identifiers unique within their stream. This removes the hazards of position-based references when users manually edit events.json (delete, reorder, copy), and provides the primitive needed by several future features (compaction, sub-agent workflows, plugin event subscriptions).

@JeanMertz JeanMertz changed the title docs(rfd): Add draft RFDs for workspace/storage split and stable even… docs(rfd): Add draft RFDs for workspace/storage split and event IDs May 6, 2026
Base automatically changed from prr181 to prr179 May 6, 2026 13:46
JeanMertz added 2 commits May 6, 2026 16:39
Previously, the `[Showing ...]` note was written before the fenced diff
block, which meant the note appeared at the top of the output. The
output now places the fenced diff block first and appends the note after
it, which reads more naturally when scanning the result.

The test is updated accordingly: rather than asserting the output ends
with the closing fence, it asserts both the fence and the note are
present in the correct relative order.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
Remove the unused `-I`/`--no-inherit` global CLI flag from `jp_cli`.

Fix a stale env var name in the test suite: `JP_GLOBAL_CONFIG_FILE` →
`JP_GLOBAL_CONFIG_DIR`.

Add a new `docs/architecture/ubiquitous-language.md` — a canonical
glossary of JP's domain vocabulary (Workspace, Conversation, Thread,
Turn, Attachment, Inquiry, Provider, RFD, Tool Call). This gives both
human and AI contributors a shared, rigorous reference to avoid term
drift across code, docs, and commit messages.

Add a `rfd-triage` recipe to the justfile for triaging reviewer feedback
on an RFD. Accepts the RFD number (permanent or draft), a mode
(`new`/`continue`), and the conversation ID of the review run to pull
feedback from, then invokes the `rfd-triager` persona.

Also include minor housekeeping: ignore `.jp/local-conversations/`,
include `r.num` in the RFD index search filter, switch the `pr-reviewer`
persona to `gpt` with `max` reasoning effort, add a "no redundant type
annotations" rule to the Rust development skill, and reorder a few
dependency entries for consistency.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz JeanMertz changed the base branch from prr179 to prr181 May 6, 2026 14:40
…t IDs

Two new draft RFDs under `docs/rfd/drafts/`:

`D20-project-workspace-and-storage.md` addresses the overloaded
"workspace" term by introducing three named concepts: Project (the
directory the user works in), Workspace (the logical JP context), and
Workspace storage (the physical `.jp/` location). It also formalises a
gitfile-style `.jp` marker file for placing storage outside the project
tree, and makes `config_load_paths` resolution symmetric across all
three config roots — resolving the parked drawback from RFD 035.

`D20-stable-event-identifiers.md` proposes adding an `EventId` field to
`ConversationEvent` so that events carry stable, opaque identifiers
unique within their stream. This removes the hazards of position-based
references when users manually edit `events.json` (delete, reorder,
copy), and provides the primitive needed by several future features
(compaction, sub-agent workflows, plugin event subscriptions).

Signed-off-by: Jean Mertz <git@jeanmertz.com>
Base automatically changed from prr181 to main May 6, 2026 14:49
@JeanMertz JeanMertz merged commit bb3e0bb into main May 6, 2026
13 checks passed
@JeanMertz JeanMertz deleted the prr182 branch May 6, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant