Workshop finding (inbox letter): fresh projects were silently missing inbox
delivery because the template had no opt-in line. Channel comment added so the
file .agents/inbox/ path is not resurrected.
- inter-session-messaging v2.0.0: channel switched from file inbox
(.agents/inbox/) to Mappa inbox.send/inbox.monitor/entity_get; letters are
entities i:N, delivery is a lease carve-out; address book + project-exists
check via admin_status; replies via entity_get(id).meta.from; subject
carries [event: ...] instead of frontmatter.
- session-inbox-monitor v1.0.0: monitor now polls GET /inbox?project=<cwd>
(HTTP, dedup by letter id, no .read/ move); hook inbox-monitor.ps1 rewritten
to inject the mappa poll command (sweep sentinel + project dir).
- delegate-task v0.5.1: covering letter goes through inbox_send, not file path.
Part of #983 (mappa-skills).
Triggered by [session-health] messages from pi poller extension; maps level to action: warn=plan wind-down, propose=closing ritual (handoff after operator consent), refuse=no new work. Companion to OpeItcLoc03/pi-extensions extensions/session-health.ts.
- task-format 0.1.1→0.2.0: header `[#n slug]`, mandatory `**Created:**`, numbering rules (server counter, 5-digit file name, no # in file)
- setup-tasks 1.0.0→1.1.0: v2 folder canon (yyyy-mm-dd-#####-slug.md), done/ phase, numbering in migrate
- using-tasks 1.6.0→1.7.0: create via tasks_create (server number), close → done/, Created: field
- delegate-task 0.4.0→0.5.0: number in inputs, staged blockers by #n, review blocker by #n
- inter-session-messaging 1.1.0→1.2.0: task refs by number (#452), lifecycle letters by number
Also synced catalog with newer installed versions (using-tasks 1.4.1→1.6.0, delegate-task 0.2.6→0.4.0, inter-session-messaging 1.0.0→1.1.0) — edits had gone straight to ~/.agents/skills/. fnf-testing + workshop-promote-brainstorm updated directly in ~/.agents/skills/ (no catalog source).
Policy skill: search ON by default (agent decides when fresh data is
needed), user can say «поищи» to force or «без поиска» to disable for
the rest of the session (conversational, like using-interns grant).
TDD: RED (no-skill subagent refuses, offers rustup/blog workarounds) →
GREEN (with skill: calls search_web, returns answer with [1] sources +
honest staleness caveat). Live-verified against real DeepSeek search.
Depends on pi-extension search_web (OpeItcLoc03/pi-extensions) +
llm-web-proxy modelPrefix support (victor/llm-web-proxy v0.1.6).
Design: .wiki/concepts/web-search-skill-design.md.
install.ps1/-sh -Prune: a prod skill with no source in skills/ is
potentially lost knowledge. Now:
- interactive: ask per skill (default No)
- non-interactive: skip with warning
- -Yes/--yes: remove, but warn loudly
Also fixes WinPS 5.1 parse break: removed em-dash (UTF-8 0x94 reads as
" in cp1251) from install.ps1 — file is ASCII-clean again.
Lesson: pi-add-models got pruned because it lived only in prod, no source.
source of truth for the three pi extensions moved from .common/lib/pi-extensions
(dev-copies) to the new pi-extensions repo; deploy via just install. Updated:
session-inbox-monitor §Pi, session-handoff Headless(pi), vision-subagent
+ realization section. Cross-link AC#5.
Concept page (2026-04-28) still documented the plugin context7@claude-plugins-official as single source — stale vs setup-context7 v2.0.0 CLI-first migration (2026-08-12). Rewrote: CLI + key in ~/.config/projects-secrets/ctx7.env as canonical, plugin era demoted to rollback-only, whoami!=key-check gotcha recorded. Index entry + log updated. Surface: review finding on session-ritual-context7-pins-review (already closed VERDICT PASS).
RISK-2 drift fix: 'Не построен — follow-up' → points at the deployed extension
(.common/lib/pi-extensions/session-close-ritual.ts), records why agent_end not
agent_settled (live-verified), bump 0.4.0→0.5.0 (MINOR), dist rebuilt.