Rule where drafted maps live (plugin cache is wiped by refresh-plugins) #898

Closed
opened 2026-10-02 12:44:27 +00:00 by jared · 1 comment
Owner

Problem

ADR-0261 decision 5 leaves open where maps/drafts/<name>.yaml is written. The catalog directory today is the installed plugin cache (Map::Catalog::PLUGIN_MAPS_DIR, adapter/map/catalog.rb:6). bin/refresh-plugins reinstalls the cache and would delete drafts written there, so a drafted map would vanish between runs and a run on a draft would fail to load it.

Decision needed (user)

Pick one:

  1. The source checkout (plugins/os-sdlc/maps/drafts/ in the repo) plus a commit of each draft. Promotion is then git mv in the same tree. Cost: map-router must write into the checkout and commit, and the cache needs a refresh before a run reads it.
  2. A path outside the cache (for example a per-project or per-user directory). Cost: a second search root in the catalog, and git mv promotion crosses trees.
    Say which, and whether the catalog resolves maps/ then drafts across one root or two.

Acceptance criteria

  1. Given the ruling, when it is recorded, then ADR-0261 decision 5 is amended or a follow-up ADR states the location.
  2. Given the ruling, when #880 is built, then it implements exactly that location.

Origin

  • Trigger: user ruling on the map reroute design, 2026-10-02 (ADR-0261)
  • Improvised this session: none
  • Root candidate: #859
  • Session: 616e6f92-69d9-4a00-bf30-33a77404deb3
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl
  • Chain: drafts in the plugin cache are deleted by refresh-plugins ← catalog dir is the cache ← DESIGN (docs/adr/0261)
  • Where: plugins/os-sdlc/lib/os_sdlc/adapter/map/catalog.rb

Parent: #859
Blocked by: none

## Problem ADR-0261 decision 5 leaves open where `maps/drafts/<name>.yaml` is written. The catalog directory today is the installed plugin cache (`Map::Catalog::PLUGIN_MAPS_DIR`, adapter/map/catalog.rb:6). `bin/refresh-plugins` reinstalls the cache and would delete drafts written there, so a drafted map would vanish between runs and a run on a draft would fail to load it. ## Decision needed (user) Pick one: 1. The source checkout (`plugins/os-sdlc/maps/drafts/` in the repo) plus a commit of each draft. Promotion is then `git mv` in the same tree. Cost: map-router must write into the checkout and commit, and the cache needs a refresh before a run reads it. 2. A path outside the cache (for example a per-project or per-user directory). Cost: a second search root in the catalog, and `git mv` promotion crosses trees. Say which, and whether the catalog resolves maps/ then drafts across one root or two. ## Acceptance criteria 1. Given the ruling, when it is recorded, then ADR-0261 decision 5 is amended or a follow-up ADR states the location. 2. Given the ruling, when #880 is built, then it implements exactly that location. ## Origin - Trigger: user ruling on the map reroute design, 2026-10-02 (ADR-0261) - Improvised this session: none - Root candidate: #859 - Session: 616e6f92-69d9-4a00-bf30-33a77404deb3 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl - Chain: drafts in the plugin cache are deleted by refresh-plugins ← catalog dir is the cache ← DESIGN (docs/adr/0261) - Where: plugins/os-sdlc/lib/os_sdlc/adapter/map/catalog.rb Parent: #859 Blocked by: none
Author
Owner

Resolution

Done: Ruled option B1: drafted maps live in DRAFTS_ROOT under XDG_DATA_HOME (default ~/.local/share)/os-sdlc/maps/drafts; Map::Catalog looks up [PLUGIN_MAPS_DIR, DRAFTS_ROOT]; promotion is mv + git add. Tickets #881 #882 #904 updated.

Evidence: docs/adr/0264-drafted-maps-live-in-a-per-user-xdg-data-directory-promotion-is-mv-plus-git-add-amends-adr-0261-decisions-4-6-and-7.md, commit 1360ffba

Follow-ups: none

## Resolution **Done:** Ruled option B1: drafted maps live in DRAFTS_ROOT under XDG_DATA_HOME (default ~/.local/share)/os-sdlc/maps/drafts; Map::Catalog looks up [PLUGIN_MAPS_DIR, DRAFTS_ROOT]; promotion is mv + git add. Tickets #881 #882 #904 updated. **Evidence:** docs/adr/0264-drafted-maps-live-in-a-per-user-xdg-data-directory-promotion-is-mv-plus-git-add-amends-adr-0261-decisions-4-6-and-7.md, commit 1360ffba **Follow-ups:** none
jared closed this issue 2026-10-02 16:08:17 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#898
No description provided.