Skip to content

chore: version packages - #213

Open
crystian wants to merge 1 commit into
mainfrom
changeset-release/main
Open

chore: version packages#213
crystian wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@crystian

@crystian crystian commented Aug 17, 2026

Copy link
Copy Markdown
Owner

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@skill-map/spec@1.12.0

Minor Changes

  • New capture-level ladder: one cumulative runtime knob (executions < reads < writes < mcp < shell, default mcp) filtering resolved activity at ingest before stats, journal and broadcast, moved live via POST /api/activity/capture-level and persisted project-local (activity.captureLevel). Adapters now stamp access: "write" on write-shaped tools, recordings carry their minimum captureLevel, and the UI gains a selector beside Record plus a Settings mirror.

    User-facing

    A capture-level selector next to Record (and in Settings) decides how much detail the live map and recordings keep, from executions only up to reads, writes and MCP calls, chosen before each recording (it locks while one runs). Writes now show as their own access type.

  • The session-journal retention ceilings are now project-config keys beside the master switch: activity.journal.maxFiles (default 50) and activity.journal.maxTotalBytes (default 20 MiB), read once at serve boot and applied oldest-first at boot and each finalization. The journal is the evidence window the observed-* volume gates count against, so keep maxFiles at or above the largest min-active-sessions in use.

    User-facing

    You can now decide how many recorded sessions the project keeps (activity.journal.maxFiles / maxTotalBytes in settings.json): raise them if your never-runs detector needs a longer memory than the default 50 sessions.

  • The Sessions tab gains a one-time intro note above the Record control stating what recordings are NOT (content-free: structure and timing, never prompts, file contents or results), dismissible machine-wide via the new ui.dismissedNotes list in the per-user settings file (~/.skill-map/settings.json), carried by the GET/PATCH /api/preferences envelope.

    User-facing

    A small note above Record now explains that session recordings are content-free (what ran and when, never your prompts, files or results). Close it once and it stays closed on every project on this machine.

  • The capture ladder's shell rung is live, double opt-in: sm activity install claude --shell persists the project-local activity.shellCapture key and renders an extra PreToolUse Bash hook (--no-shell or activity uninstall retires it, demoting a stored shell level to mcp), and the capture-level POST refuses shell while the key is off. Bash commands naming in-scope .md files yield path sightings (access: "shell"); the command text is never captured. Claude-only for now.

    User-facing

    Recordings can now spot docs touched from shell commands: opt in with sm activity install claude --shell, then pick the Shell capture level. Only file paths are kept, never the commands themselves, and the fifth selector position stays locked until you opt in.

Patch Changes

  • The browser-storage reset gate now keys on the serving CLI version: sm serve (and the demo bundle) stamps a second skill-map-version meta, documented in the CLI contract's serve row, and upgrades wipe only what a crossed layout-break threshold declares, so a normal release keeps saved state. The locked Shell capture option is no longer natively disabled: it renders muted, refuses the click, and its tooltip explains where to enable it.

    User-facing

    The greyed-out Shell option now explains itself. Hover it to see how to enable it (Settings > Project > Capture level). And upgrading the CLI no longer resets your saved layout and recordings unless the release actually changed how they are stored.

  • Browser-local project state (recording tape, node positions, map curation) is now namespaced per project: sm serve stamps the scope root into the served index.html as a skill-map-scope meta and the UI suffixes those localStorage keys with a hash of it, so two projects on one port stop seeing each other's sessions. A sm.storage-version gate resets stale layouts per-bump (this one wipes the pre-namespace era whole); sm.scopes maps hash to root for debugging.

    User-facing

    Recorded sessions and your map layout now stay with their project: serving another folder on the same port no longer shows the other project's recordings. One-time cost on upgrade: node positions, curation and the browser tape reset (recordings on disk are kept).

@skill-map/cli@1.12.0

Minor Changes

  • New capture-level ladder: one cumulative runtime knob (executions < reads < writes < mcp < shell, default mcp) filtering resolved activity at ingest before stats, journal and broadcast, moved live via POST /api/activity/capture-level and persisted project-local (activity.captureLevel). Adapters now stamp access: "write" on write-shaped tools, recordings carry their minimum captureLevel, and the UI gains a selector beside Record plus a Settings mirror.

    User-facing

    A capture-level selector next to Record (and in Settings) decides how much detail the live map and recordings keep, from executions only up to reads, writes and MCP calls, chosen before each recording (it locks while one runs). Writes now show as their own access type.

  • The session-journal retention ceilings are now project-config keys beside the master switch: activity.journal.maxFiles (default 50) and activity.journal.maxTotalBytes (default 20 MiB), read once at serve boot and applied oldest-first at boot and each finalization. The journal is the evidence window the observed-* volume gates count against, so keep maxFiles at or above the largest min-active-sessions in use.

    User-facing

    You can now decide how many recorded sessions the project keeps (activity.journal.maxFiles / maxTotalBytes in settings.json): raise them if your never-runs detector needs a longer memory than the default 50 sessions.

  • Browser-local project state (recording tape, node positions, map curation) is now namespaced per project: sm serve stamps the scope root into the served index.html as a skill-map-scope meta and the UI suffixes those localStorage keys with a hash of it, so two projects on one port stop seeing each other's sessions. A sm.storage-version gate resets stale layouts per-bump (this one wipes the pre-namespace era whole); sm.scopes maps hash to root for debugging.

    User-facing

    Recorded sessions and your map layout now stay with their project: serving another folder on the same port no longer shows the other project's recordings. One-time cost on upgrade: node positions, curation and the browser tape reset (recordings on disk are kept).

  • The Sessions tab gains a one-time intro note above the Record control stating what recordings are NOT (content-free: structure and timing, never prompts, file contents or results), dismissible machine-wide via the new ui.dismissedNotes list in the per-user settings file (~/.skill-map/settings.json), carried by the GET/PATCH /api/preferences envelope.

    User-facing

    A small note above Record now explains that session recordings are content-free (what ran and when, never your prompts, files or results). Close it once and it stays closed on every project on this machine.

  • The capture ladder's shell rung is live, double opt-in: sm activity install claude --shell persists the project-local activity.shellCapture key and renders an extra PreToolUse Bash hook (--no-shell or activity uninstall retires it, demoting a stored shell level to mcp), and the capture-level POST refuses shell while the key is off. Bash commands naming in-scope .md files yield path sightings (access: "shell"); the command text is never captured. Claude-only for now.

    User-facing

    Recordings can now spot docs touched from shell commands: opt in with sm activity install claude --shell, then pick the Shell capture level. Only file paths are kept, never the commands themselves, and the fifth selector position stays locked until you opt in.

Patch Changes

  • The browser-storage reset gate now keys on the serving CLI version: sm serve (and the demo bundle) stamps a second skill-map-version meta, documented in the CLI contract's serve row, and upgrades wipe only what a crossed layout-break threshold declares, so a normal release keeps saved state. The locked Shell capture option is no longer natively disabled: it renders muted, refuses the click, and its tooltip explains where to enable it.

    User-facing

    The greyed-out Shell option now explains itself. Hover it to see how to enable it (Settings > Project > Capture level). And upgrading the CLI no longer resets your saved layout and recordings unless the release actually changed how they are stored.

  • The replay transport's scope chip now shows the session title (the touched-node names) instead of the short session id across the three Sessions-tab entry points (Play session, Play agent, step deep-link). The chip gained a full-label tooltip and a working ellipsis (as a non-shrinking flex item it used to overflow the fixed-width row), and the transport bar widened from 26rem to 30rem.

    User-facing

    Replay names the session. The floating replay bar now labels a replay with the session's title, the same skill and agent names you see in the Sessions tab, instead of a short id. Long titles clip with an ellipsis and the full name shows in a tooltip.

@skill-map/web@1.0.2

Patch Changes

  • The public demo's Sessions tab now ships a curated session recording of the demo fixture (a /publish run) and can REPLAY it on the map: the demo bundle bakes sessions.json next to data.json, and the replay lens (pure client-side playback over recorded frames) is available in demo mode while live watching and recording stay honestly disabled.

@crystian
crystian force-pushed the changeset-release/main branch from b891a90 to dead3ff Compare August 17, 2026 11:24
@crystian
crystian force-pushed the changeset-release/main branch from dead3ff to e441419 Compare August 17, 2026 19:12
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