genetics-mcp 2.16.0 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
package/bin/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "aarch64-apple-darwin": "b41c63ec51d07fa2d11fe88283fefa6783b6447ec9a9637779d04fb1f528db92",
3
- "aarch64-unknown-linux-musl": "34610013e6f6358954e1d66bde546a2757cb47d163e5c7251989d28de8ee6d19",
4
- "x86_64-apple-darwin": "e97149a290f2079c39cfd19ac9d034b6e0990afc5bb67a352052a48193d43a89",
5
- "x86_64-unknown-linux-musl": "85b9f4eccd2c4b4556bceafc7d6b1a88484847256d95fef71cd033e7670f27c4"
2
+ "aarch64-apple-darwin": "09d3391769ea588eb4466e5573af12e78502f18e84a63ea17b011363ba362dba",
3
+ "aarch64-unknown-linux-musl": "24c51bdde8cdcf0aca39eb7b12b6cdd097efe8e981201a26fa991714c8920934",
4
+ "x86_64-apple-darwin": "e4fcb9442e74ac32f0b53d684e67d0c0a2ca705d9784615b519f9cd31e779fcc",
5
+ "x86_64-unknown-linux-musl": "606f5a7fcad01c30d809cfe6f797c2e7e234fdc56d66a6add604a74f55a13a89"
6
6
  }
Binary file
Binary file
package/genetics.mjs CHANGED
@@ -2441,12 +2441,14 @@ const TOOLS = [
2441
2441
  + '언제 부르는가: 작업을 시작할 때(「내가 붙을 일이 이미 있나」 — 새로 벌이기 전에 먼저) · '
2442
2442
  + '사람이 「지금 뭐가 진행 중이지」라고 물을 때 · 세션 요지에 「어느 일에도 속해 있지 않다」가 왔을 때.\n'
2443
2443
  + '「계획」 = 사람이 착수 전에 세운 일(세션 0) — 이 목록에서 이름을 보고 그 방향의 작업이면 '
2444
- + '거기 붙는 것이 맞다(소속 확정은 사람이 화면에서 한다 — 이 도구는 읽기 전용이다).\n'
2444
+ + 'claim 으로 **착수를 선언**한다(즉시 잠정 효력 — 세션 요지·화면에 「선언(잠정)」이 선다. '
2445
+ + '사실이 되는 것은 사람이 화면에서 확정할 때고, 판정기는 증거로 따로 검증한다).\n'
2445
2446
  + '요지 전문은 get_case(tenant, "work/<slug>.md") 로 읽는다. **0 이면 0 이라고 말한다.**',
2446
2447
  inputSchema: {
2447
2448
  type: 'object',
2448
2449
  properties: {
2449
2450
  tenant: { type: 'string', description: '대상 소속처 slug(이름도 받는다 — list_my_tenants 참조).' },
2451
+ claim: { type: 'string', description: '이 일(slug)에 붙겠다고 선언한다 — 잠정이며, 다른 일을 선언하면 앞 선언은 대체된다. 비우면 목록만 읽는다.' },
2450
2452
  },
2451
2453
  required: ['tenant'],
2452
2454
  },
@@ -3746,15 +3748,25 @@ async function callTool(name, args = {}) {
3746
3748
  return `이 저장소에서 최근에 바뀐 것:\n${facts.map((f) => ` · ${f}`).join('\n')}`;
3747
3749
  }
3748
3750
  case 'works': {
3751
+ if (args.claim) {
3752
+ // 착수 선언(088) — 세션 이름은 이 자리(로컬)가 안다. mail 도구의 그 관용구다.
3753
+ const mine = mySessionId();
3754
+ if (!mine) return '이 자리의 세션 이름을 못 찾아 선언할 수 없다 — 목록만 읽으려면 claim 없이 다시 부른다.';
3755
+ const r = await api('POST', '/api/work/claim', {
3756
+ tenant: args.tenant, work: String(args.claim), session: mine,
3757
+ });
3758
+ return `«${r.work?.name || r.work?.slug}» (${r.work?.slug}) — ${r.says}`;
3759
+ }
3749
3760
  const r = await api('GET', '/api/work/list?tenant=' + encodeURIComponent(args.tenant));
3750
3761
  const rows = r.works || [];
3751
3762
  const lines = [`${r.tenant} — 열린 일 ${r.open ?? rows.length}개` + ((r.closed ?? 0) > 0 ? ` (지난 일 ${r.closed}개)` : '')];
3752
3763
  for (const w of rows) {
3753
3764
  lines.push(` · «${w.name || w.slug}» (${w.slug}) — ${w.word} · 세션 ${w.sessions}`
3765
+ + (w.stale ? ` · 낡음 ${w.stale}일째(AI 관측 — 활동이 멎었다: 사람이 닫거나 다시 살릴 일)` : '')
3754
3766
  + (w.doc ? ` · 요지: get_case(tenant, "${w.doc}")` : ' · 요지 문서 아직 없음'));
3755
3767
  }
3756
3768
  if (!rows.length) lines.push('열린 일이 없다 — 0건은 0건이다. 착수 전에 세우려면 사람이 군체 화면의 「일 열기」로 연다.');
3757
- else lines.push('소속 확정은 사람이 화면에서 한다 — 이 도구는 목록을 읽을 뿐이다.');
3769
+ else lines.push('붙을 일이 보이면 works(tenant, claim: "<slug>") 로 선언한다 — 확정은 사람이 화면에서 한다.');
3758
3770
  return lines.join('\n');
3759
3771
  }
3760
3772
  case 'list_breaks': {
@@ -3788,6 +3800,12 @@ async function callTool(name, args = {}) {
3788
3800
  if (!args.tags || !args.tags.length) {
3789
3801
  lines.push('갈래(tags)가 없어 이 결정은 「일」 후보 계산에 안 들어간다.');
3790
3802
  }
3803
+ // 전체 맥락 정리 줄이 섰는지도 말한다 — 결정 저장이 종합의 박자가 됐다(2026-08-31). 옛 서버(칸 없음)는 침묵.
3804
+ if (r.insights_queued === true) {
3805
+ lines.push('이 결정으로 전체 맥락 정리가 다시 돕니다(몇 분 뒤 지식 화면에).');
3806
+ } else if (r.insights_queued === false) {
3807
+ lines.push('전체 맥락 정리 줄은 안 섰다 — 재료가 아직 문턱 아래(배경 문서 3장 또는 결정·사례 5장)거나 이미 줄이 서 있다.');
3808
+ }
3791
3809
  return lines.join('\n');
3792
3810
  }
3793
3811
  case 'remember_case': {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genetics-mcp",
3
- "version": "2.16.0",
3
+ "version": "2.16.1",
4
4
  "description": "문서 포털 발행·세션 이식·사례 기억 MCP — 데이터를 주면 규격 문서가 나온다 (짝인 스킬 동봉)",
5
5
  "author": "주식회사 LIM (LIM Inc.)",
6
6
  "license": "SEE LICENSE IN LICENSE",