Commit Graph

154 Commits

Author SHA1 Message Date
46724e2c88 fix(using-wiki): v2.1.0 — оп-лог автоматический (таблица logs, ратификация 2026-08-24), log-страница и ручной каталог убраны; каталог = entity_search (#983) 2026-08-24 17:48:01 +03:00
c53ed66ba5 fix(skills): repatriate workshop-promote-brainstorm source (was orphan, only in ~/.agents/skills); session-health v0.1.1 — handoff is mappa entity, not .tasks/NEXT_SESSION.md (#983) 2026-08-24 17:19:28 +03:00
afca818a05 chore(skills): delete setup-tasks/setup-wiki — мета в сервисе (#983)
Нечего настраивать (решение 14/15). Свип ссылок: project-bootstrap v2.1.0
(Steps 3/4 → mappa, манифест без setup-строк), project-discipline (Rule 1),
setup-projects-meta README, using-tasks/using-wiki README.
2026-08-24 16:45:59 +03:00
c5ebde174d feat(task-format): v0.3.0 — primary mappa task.create schema, legacy STATUS.md interim (#983)
Канон создания — через mcp__mappa__task_create (per-type t:N, мутация под
лизом). Legacy-блоки .tasks/STATUS.md — интерм до переключения поллера (#984).
2026-08-24 16:45:58 +03:00
21023f1bae feat(using-tasks): v2.0.0 — .tasks/ board → mappa task-сущности (#983)
Борд = сущности type=task в сервисе (t:N, решение 20). Чтение — карв-аут
(entity_search), мутации под лизом (task_claim_next → claim_token, решение 19;
422 busy = чужой лиз — серверный аналог .tasks/.lock). claim/close/create/
heartbeat, notify-письмо при закрытии, локально-первая рекомендация. Файловый
.tasks/ — легаси; setup-tasks умер.
2026-08-24 16:45:58 +03:00
15a7d72024 feat(using-system-snapshot): v1.0.0 — mappa meta.health/admin.status + machine snapshot (#983)
Два слоя: mappa-сервис (meta_health + admin_status — живая нагрузка) +
машина (meta_system_snapshot: поллер/докер/таски из кэша).
2026-08-24 16:43:21 +03:00
194cb1d0a4 feat(session-handoff): v1.0.0 — NEXT_SESSION.md → handoff-сущность mappa (#983)
mcp__mappa__handoff_write (per-project, append-only, versioned-история,
поля session_id/date/status/summary/open_treks/ask_user/guards/recent_commits,
решение 14/гриллинг Q5). Чтение — entity_search(type=handoff). Без лиза,
без файлов, без git-стеджинга. Ритуал закрытия сохранён (propose-only).
2026-08-24 16:43:20 +03:00
9079055464 feat(using-wiki-graph): v1.0.0 — wiki-graph MCP → mappa graph.* (#983)
Реляционные/структурные вопросы о вики и любых сущностях: graph_path/
graph_neighbors/graph_backlinks/graph_stats. Адресация internal id
(резолв slug→id через wiki_get), ответы несут per-type refs (#1037).
Read-only, карв-аут лиза (решение 19).
2026-08-24 16:41:20 +03:00
92a15ecb50 feat(using-wiki): v2.0.0 — channel file → mappa wiki-сущности (#983)
Karpathy-дисциплина сохранена (ingest/query/lint, слаги, frontmatter,
index/log), канал — mappa: wiki_get/wiki_create/wiki_update/entity_search,
запись под лизом (task_claim_next → claim_token, решение 19).
setup-wiki умер (нечего настраивать). Per-type refs (#1037): ref/num
первыми, id internal — для wiki.update.
2026-08-24 16:41:19 +03:00
f43975894f feat(inter-session-messaging): v2.1.0 — inbox.monitor now returns from/subject (#1032)
RECEIVE no longer needs entity_get for the sender — the monitor response
carries from+subject (server extracts meta). Simplifies the reply flow.
2026-08-24 15:39:04 +03:00
9fdc65a74a fix(project-bootstrap): v2.0.1 — AGENTS.md.template gets 'inbox monitor: raise on start' (Mappa channel)
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.
2026-08-24 15:28:26 +03:00
146fbdb107 feat(skills): mail on Mappa — inter-session-messaging v2.0.0 + session-inbox-monitor v1.0.0
- 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).
2026-08-24 15:19:27 +03:00
1b00c37546 feat(skills): vision-subagent + web-search v0.2.0 — dual-mechanism (pi tool + claude script)
- vision-subagent: describe_image tool (pi) / describe-image script (claude,
  routerai, standard OpenAI image_url — pi-legacy format NOT accepted)
- web-search: search_web tool (pi) / search-web script (claude, llm-web-proxy);
  pro-search (Expert Mode) does not live-search — default is flash-search (Instant Mode)

Sources synced to ~/.claude/skills + ~/.agents/skills via install.sh; dist rebuilt.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 21:25:01 +03:00
417ef56f9a fix(inter-session-messaging): RECEIVE already strict — [inbox] is first-class, process at start of next turn; expected-mail check; legacy .claude-inbox migration 2026-08-23 18:35:18 +03:00
f1bd046ac0 feat(skills): add session-health v0.1.0 — react to poller context warnings (warn/propose/refuse)
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.
2026-08-23 14:01:28 +03:00
08de3a79fc fix(skills): setup-tasks/using-tasks review fixes — field count, rollback done/, step numbering 2026-08-23 11:54:58 +03:00
71a696e224 feat(skills): task-format v2 — 5-digit numbers in task files/headers, done/ folder, #n references (tasks-global-numbering)
- 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).
2026-08-23 11:52:43 +03:00
f99d795e25 feat(skills): review-subagent — clean-context review via review_subagent tool [v0.1.0]
Скилл-обёртка для тула review_subagent (pi-расширение, OpeItcLoc03/pi-extensions):
дефолт-ревьюер = текущая модель сессии, конкретная — параметром model.
GREEN-проверка: fresh-context субагент со скиллами выбирает review-subagent
по триггеру «отревьюй через субагента». Lint 49/0, dist собран.
2026-08-23 02:05:50 +03:00
349aa7cd04 feat(skills): web-search — live web search via search_web tool (llm-web-proxy)
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.
2026-08-22 17:47:35 +03:00
3f3a0cdaa9 feat(skills): inter-session-messaging replaces inter-session-peer-discipline
- New skill inter-session-messaging v1.0.0: SEND canon (address = folder name,
  file naming, frontmatter from = own folder, never write to self) + RECEIVE +
  POLICY (peer != authority, inbox vs board contract)
- Remove inter-session-peer-discipline (merged into inter-session-messaging)
- session-inbox-monitor: reference → inter-session-messaging
- project-bootstrap: Step 9 address-book registration (shared wiki
  concepts/projects-address-book.md)
- dist rebuilt + pruned
2026-08-20 13:24:33 +03:00
37beda7508 docs(skills): point pi sections to OpeItcLoc03/pi-extensions repo
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.
2026-08-20 11:29:53 +03:00
53fc942c21 feat(skill): set repo-local pull.rebase policy
pulling-before-work 1.0.1 -> 1.1.0: step 1b ensures repo-local
pull.rebase=true + pull.ff=only (set-if-absent) so manual pulls never
create merge commits, matching snolla baseline. Skill's own pull stays
--ff-only (aborts on divergence, never leaves repo mid-rebase).
2026-08-20 09:11:47 +03:00
f7c04cf8cc fix(inbox): .claude-inbox → .agents/inbox cascade (rename idea 13 gap)
- skills: inter-session-peer-discipline v0.1.3, delegate-task v0.2.6, task-format v0.1.1
- hermes/mapping.yaml: monitor path
- .wiki/concepts/session-inbox-monitor-received-msg-fp.md: trigger phrase path
- dist rebuilt, lint 47/0, installed to ~/.claude/skills + ~/.agents/skills
2026-08-13 11:59:27 +03:00
2e30ccc17c feat(vision-subagent): add to canon (v0.1.0)
Skill lived only in ~/.agents/skills (pi reads it) with broken YAML frontmatter — ": " inside description made the parser choke (nested-mapping error in TUI skill list).

Fix: folded block-scalar description + author/version per canon. Lint 47/0, dist rebuilt, installed to ~/.claude/skills + ~/.agents/skills (identical copies).
2026-08-13 08:55:15 +03:00
348f6f3108 feat(update-skills): dual install target — ~/.claude/skills + ~/.agents/skills (agent-neutral); pi settings hack removed (v0.2.1) 2026-08-12 21:43:00 +03:00
e431e9e142 feat(agents-canon): AGENTS.md canon everywhere — bootstrap v2.0.0 writes AGENTS.md + CLAUDE.md pointer; 15 skills retarget triggers/rule refs from CLAUDE.md to AGENTS.md (semver bumps); dist rebuilt 2026-08-12 20:36:25 +03:00
71863040ed feat: command-index v0.1.0 — just/Makefile convention skill (idea 3, claude-to-agents) 2026-08-12 20:14:14 +03:00
d304549768 docs(session-handoff): v0.5.0 — headless ritual now built (session-close-ritual extension), agent_end rationale
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.
2026-08-12 20:13:19 +03:00
79baad1b9e fix(setup-context7): accurate Phase 5/7 verification (whoami is OAuth-only, smoke = ctx7 library) 2026-08-12 19:51:25 +03:00
7b80a328be feat: session-handoff v0.4.0 closing ritual (idea 7); setup-context7 v2.0.0 CLI-first (idea 16); backfill vendored pins (idea 2) 2026-08-12 19:48:04 +03:00
d64fcd622b feat(code-review): v0.1.0 — two-axis review (Standards/Spec parallel clean subagents) + Fowler smell baseline (mattpocock) × caveman-review output format 2026-08-12 18:30:17 +03:00
11c083918c feat(review-kit-pi-method): v0.1.0 — pi-native clean-context review subagent spawn (verified live on pi 0.84.1: -nc -ns -nt = unprompted) 2026-08-12 18:25:05 +03:00
5b67c1d0e6 feat(loop-me): v0.1.0 — workflow-spec design gate adapted from mattpocock/skills @ 84fdeffd (done-when-implementer-asks-no-questions + independent check) 2026-08-12 17:44:42 +03:00
352a9af285 feat: diagnosing-bugs v0.1.0 (mattpocock core + superpowers Iron Law) + writing-skills v0.1.0 (TDD-for-skills, anti-sproul) — суперпауэрс-дыры 2/3 закрыты 2026-08-12 17:10:31 +03:00
5d2e45523f feat(brainstorming): v0.1.0 — divergent phase adapted from obra/superpowers @ 6.2.0 (visual-companion dropped); trig: «забрендшторми», «поштормим», «накидай идеи» 2026-08-12 17:02:13 +03:00
bff9c622c2 fix(using-tasks): v1.4.1 — document real archive path .tasks/.archive/done-YYYY-MM.md
Reviewer finding (sovereign-catalog-wave2-review 13:43Z): SKILL.md documented
.tasks/archive/YYYY-MM.md (missing '.' prefix on .archive + missing 'done-'
prefix), repo convention is .tasks/.archive/done-YYYY-MM.md (done-2026-05.md,
done-2026-08.md). Fixed 5 path sites (layout, intro, Where, commit example,
Rules bullet). dist rebuilt, lint 39/0.
2026-08-12 16:48:33 +03:00
08a5d5084c docs: de-superpowers per-skill READMEs + drop stale trigger from CLAUDE.md
F4 (de-superpowers-skill-readmes): 3 READMEs cleaned — bootstrap L47 no
longer claims 'use superpowers' template line; discipline L13 without
docs/superpowers/ paths + stale Rule 4 ('Commit yes, push no' grant model)
replaced with 'Push freely by default' (same class as review F2);
recommend-dont-menu L7 without superpowers:brainstorming. dist rebuilt for
all three (build.ps1 -Names), lint 39/0.

F5 (skills-live-claudemd-superpowers-trigger): root CLAUDE.md dropped
'use superpowers' (stale — plugin not installed); remaining 12 triggers
verified against installed skills.
2026-08-12 16:46:33 +03:00
d7903c399d fix(project-discipline): v0.2.1 — repair broken description + rebuild dist
Reviewer findings (sovereign-catalog-wave2-review, inbox 2026-08-12T13:30Z):
F1 dist/project-discipline.skill was stale (0.1.2 vs 0.2.0) — rebuilt, now 0.2.1.
F2 description contradiction — leftover old Rule-4 text («grant via разреши
автопуш…» + duplicate (5)) survived my v0.2.0 edit; removed, kept the
'Activated by' activation line. Body Rule 4: dropped stale 'any grant' /
'the grant does not apply' references (no grant concept in free-push rule).
lint 0/0.
2026-08-12 16:33:04 +03:00
42ed5ea8a4 feat(project-discipline): v0.2.0 — Rule 4 push freely, local gate override
Operator correction (2026-08-12): the ask-before-push ban accidentally became
global; the real gate belongs only to books (push to master = Gitea Actions
auto-deploy). New Rule 4: ordinary fast-forward push needs no confirmation by
default; a project with a local push-gate skill (convention push-gate, e.g.
books) overrides this in that project; force/delete/non-ff/other-remote always
ask. books/.claude/skills/push-gate + books/.agents/skills/push-gate carry the
old gate semantics (per-session grant / manual ask / session reset / summary
commit for Gitea Actions table).
2026-08-12 16:15:48 +03:00
ff68762516 fix(grilling): collapse family to one skill — behavioral test evidence
RED (2026-08-12, clean pi -p subprocesses): user phrases «прогриль мой план»,
«grill my plan», «хватит, точи план», «прогриль с доками» all resolved to
grilling, NOT grill-me/grill-with-docs. Root cause (verified in pi docs
skills.md): disable-model-invocation: true hides a skill from the system
prompt — the thin user-wrapper split (mattpocock's slash-command model) is
structurally unreachable in pi's natural-language matching.

GREEN: single grilling v0.2.0 with integrated Docs mode (trigger «с доками» /
«зафиксируй» → decision record to .wiki/concepts/<topic>-decision.md or
.brainstorm/ append). Re-run: 5/5 positive → grilling, 4/4 negative clean.

Removed grill-me + grill-with-docs (invisible in pi, dead weight); README
table updated; lint 0/0; ~/.claude/skills = 39; dist pruned+rebuilt.
2026-08-12 16:02:12 +03:00
6204e8ca90 feat(grill-family): adapt grilling/grill-me/grill-with-docs from mattpocock @84fdeffd (MIT)
Convergent phase of the brainstorm flow: user says «хватит, к промоушену» →
grill session (design tree, rounds, frontier, numbered Q's with recommended
answers) → decision record. Adaptations to our conventions:
- grill-with-docs writes .wiki/concepts/<topic>-decision.md (project-discipline
  Rule 1) or appends to .brainstorm/ running record in the workshop zone
- grilling sub-agent line made cross-agent honest (look up facts directly
  when no subagent spawning)
- disable-model-invocation: true on both user wrappers
Provenance pinned to real commit 84fdeffd (not TBD). README table updated.
lint: 0/0; ~/.claude/skills now 41.
2026-08-12 16:02:11 +03:00
0d67624bd3 docs(recommend-dont-menu): de-superpowers the Override section (sovereignty)
Override semantics kept generic: response style wins over multiple-choice
defaults; no dead plugin references left in live skill bodies (0 refs).
Version stays 0.1.1 (same commit family, text-only).
2026-08-12 16:02:11 +03:00
fa395d83c1 docs(recommend-dont-menu,project-discipline): drop stale superpowers references (sovereignty)
- recommend-dont-menu v0.1.0 -> v0.1.1: description no longer names superpowers:brainstorming
- project-discipline v0.1.1 -> v0.1.2: vendor-default paths (docs/superpowers/*) removed from
  description, rule-1 list, concrete consequences, why-this-exists
- zero superpowers refs left in live skill bodies; lint 0/0; ~/.claude/skills synced
2026-08-12 16:02:11 +03:00
2edcb0eeaf feat(tdd-criteria): v0.3.0 — test-quality reference adapted from mattpocock tdd (MIT)
- new 'Test quality' section: good-test definition, pre-agreed seams, anti-patterns
  (implementation-coupled / tautological / horizontal slicing), rules of the loop
- provenance noted inline (adapted-from mattpocock/skills tdd)
- our WHEN-policy (8-question algorithm, carve-outs, anti-loophole) unchanged
- lint: 0/0; dist rebuilt; ~/.claude/skills synced
2026-08-12 16:02:11 +03:00
ab51c2ef04 feat(catalog): sovereign catalog — provenance + de-superpowers (idea 12)
- author: ours / adapted-from frontmatter on all 38 skills (scripts/add-provenance.py, idempotent)
- versions added to vendor copies (caveman x5, find-skills) + active-platform
- README(en/ru): new Sovereignty/Adapted-from section, drop wiki-maintainer & superpowers refs
- project-bootstrap v1.12.0 -> v1.13.0: remove 'use superpowers' trigger from template
  + trigger table; recommend-dont-menu wording no longer references superpowers:brainstorming
- dist rebuilt to 38 (pruned stale update-claude-skills.skill)
- lint: 0 violations, 0 warnings
2026-08-12 16:02:11 +03:00
8e280f48a5 fix(session-inbox-monitor): hook source .claude-inbox → .agents/inbox 2026-08-12 13:34:47 +03:00
8682cd7e09 refactor(session-inbox-monitor): v0.3.0 → v0.4.0 — inbox path .claude-inbox → .agents/inbox 2026-08-12 13:28:54 +03:00
850b3099dd feat(using-context7): v1.0.0 → v2.0.0 — CLI-first (ctx7), agent-neutral (pi/claude/codex/hermes), MCP-bound deprecated 2026-08-12 13:21:34 +03:00
fcff190c32 fix(skills): frontmatter lint — using-interns v0.3.1 (YAML+≤1024), using-wiki-graph v0.1.1 (≤1024), ralph-loop-execution frontmatter, remove using-yt-tools stub, add scripts/lint-skills.py + wire into update.{sh,ps1} 2026-08-12 13:20:17 +03:00
10361c42f8 refactor(skills): rename repo claude-skills → skills (Gitea + local + references + update-claude-skills → update-skills v0.2.0) 2026-08-12 13:16:40 +03:00