@inharness-ai/claude4spec 1.0.20 → 1.0.21

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.
Files changed (106) hide show
  1. package/.claude/skills/c4s-brief-implementer/SKILL.md +6 -13
  2. package/CHANGELOG.md +13 -0
  3. package/dist/client/assets/{arc-qrIe4IVl.js → arc-Coa9fbDO.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CF6sgG8n.js → architectureDiagram-3BPJPVTR-VJZcRMEN.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-Cf8Tx0VN.js → blockDiagram-GPEHLZMM-C7dU2lW1.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BDkuMEyf.js → c4Diagram-AAUBKEIU-CG_BBm_5.js} +1 -1
  7. package/dist/client/assets/channel-D5gzBvo7.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-ChycTonk.js → chunk-2J33WTMH-BnS95YpK.js} +1 -1
  9. package/dist/client/assets/{chunk-4BX2VUAB-BpUgWjxx.js → chunk-4BX2VUAB-COr8w3X3.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-CeHg_yjT.js → chunk-55IACEB6-CxrIbZhB.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-BpxYq7ab.js → chunk-727SXJPM-DRchPPRe.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-bghkOtr6.js → chunk-AQP2D5EJ-_SfN7mED.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-4sXokGgd.js → chunk-FMBD7UC4-p2tIiP1D.js} +1 -1
  14. package/dist/client/assets/{chunk-ND2GUHAM-DYQOCE5T.js → chunk-ND2GUHAM-B1mbl2hP.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-NkVuDlFD.js → chunk-QZHKN3VN-DBUpeqvS.js} +1 -1
  16. package/dist/client/assets/classDiagram-4FO5ZUOK-CT-amIxa.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CT-amIxa.js +1 -0
  18. package/dist/client/assets/{cose-bilkent-S5V4N54A-1l4P4WRI.js → cose-bilkent-S5V4N54A-BBsY5aKD.js} +1 -1
  19. package/dist/client/assets/{dagre-BM42HDAG-CSQie-gR.js → dagre-BM42HDAG-b-vu4RC9.js} +1 -1
  20. package/dist/client/assets/{diagram-2AECGRRQ-DME9ULoN.js → diagram-2AECGRRQ-j-DW9qSf.js} +1 -1
  21. package/dist/client/assets/{diagram-5GNKFQAL-Dn1Rw5k5.js → diagram-5GNKFQAL-DHX_WYWQ.js} +1 -1
  22. package/dist/client/assets/{diagram-KO2AKTUF-Duh_PNWR.js → diagram-KO2AKTUF-DxdQok_M.js} +1 -1
  23. package/dist/client/assets/{diagram-LMA3HP47-B7Q5pV60.js → diagram-LMA3HP47-BbTIX5c1.js} +1 -1
  24. package/dist/client/assets/{diagram-OG6HWLK6-C0KL_RDd.js → diagram-OG6HWLK6-BQ9ODAlH.js} +1 -1
  25. package/dist/client/assets/{erDiagram-TEJ5UH35-D5elfwSC.js → erDiagram-TEJ5UH35-6lwAL1y9.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-I6XJVG4X-BHmjX-WI.js → flowDiagram-I6XJVG4X-ioSHb5-t.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-6RSMTGT7-KvoGFbS2.js → ganttDiagram-6RSMTGT7-CXFQp9Nj.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DsZL8BfK.js → gitGraphDiagram-PVQCEYII-C1pVD_NQ.js} +1 -1
  29. package/dist/client/assets/index-DyAnw7YN.js +798 -0
  30. package/dist/client/assets/{index-zzILqHQN.js → index-JaAxQJXh.js} +1 -1
  31. package/dist/client/assets/{index-ClaVbrEF.js → index-hz5T_W2e.js} +1 -1
  32. package/dist/client/assets/{infoDiagram-5YYISTIA-DoQ6iSpJ.js → infoDiagram-5YYISTIA-C2Guev-g.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-akftyN0J.js → ishikawaDiagram-YF4QCWOH-D3v8VBb2.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-JHISSGLW-PPex4PiV.js → journeyDiagram-JHISSGLW-DX1AW_Ap.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-UN3LZRKU-D114i3s1.js → kanban-definition-UN3LZRKU-CzXThvq2.js} +1 -1
  36. package/dist/client/assets/{linear-BuwQPJom.js → linear-CVw4gl5i.js} +1 -1
  37. package/dist/client/assets/{mermaid.core-CMX3GAvM.js → mermaid.core-C29eoXRj.js} +4 -4
  38. package/dist/client/assets/{mindmap-definition-RKZ34NQL-ClBxWJju.js → mindmap-definition-RKZ34NQL-DEEGVQVA.js} +1 -1
  39. package/dist/client/assets/{pieDiagram-4H26LBE5-hj5zVPj5.js → pieDiagram-4H26LBE5-Dme-VM6m.js} +1 -1
  40. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CRbR0G7M.js → quadrantDiagram-W4KKPZXB-CURFNo24.js} +1 -1
  41. package/dist/client/assets/{requirementDiagram-4Y6WPE33-Dto4B70I.js → requirementDiagram-4Y6WPE33-DxMZWXME.js} +1 -1
  42. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DyYP8rwY.js → sankeyDiagram-5OEKKPKP-BW64D4_P.js} +1 -1
  43. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C-mrSLrJ.js → sequenceDiagram-3UESZ5HK-BATRPm8Q.js} +1 -1
  44. package/dist/client/assets/{stateDiagram-AJRCARHV-IoDlhAe6.js → stateDiagram-AJRCARHV-pgHVMnO3.js} +1 -1
  45. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-szm_LIuD.js +1 -0
  46. package/dist/client/assets/{timeline-definition-PNZ67QCA-DEXg3TEw.js → timeline-definition-PNZ67QCA-qBxJZPWd.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-CIIHVFJN-CNu7LaT1.js → vennDiagram-CIIHVFJN-BZJK9hqJ.js} +1 -1
  48. package/dist/client/assets/{wardley-L42UT6IY-0hGvREmD.js → wardley-L42UT6IY-BobtgEXg.js} +1 -1
  49. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CVLz-xFz.js → wardleyDiagram-YWT4CUSO-DuWfX_-P.js} +1 -1
  50. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CFymKAcX.js → xychartDiagram-2RQKCTM6-DCw1iURo.js} +1 -1
  51. package/dist/client/index.html +1 -1
  52. package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
  53. package/dist/server/core/plugin-host/entities-router.js +16 -1
  54. package/dist/server/core/plugin-host/entities-router.js.map +1 -1
  55. package/dist/server/db/migrations/041_chat_thread_transagent.sql +22 -0
  56. package/dist/server/index.js +16 -0
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/server/mcp/release-tools/index.d.ts +11 -0
  59. package/dist/server/mcp/release-tools/index.js +68 -5
  60. package/dist/server/mcp/release-tools/index.js.map +1 -1
  61. package/dist/server/mcp/release-tools/projection.d.ts +11 -2
  62. package/dist/server/mcp/release-tools/projection.js +36 -7
  63. package/dist/server/mcp/release-tools/projection.js.map +1 -1
  64. package/dist/server/mcp/release-tools/types.d.ts +39 -2
  65. package/dist/server/mcp/transagent-tools.d.ts +26 -0
  66. package/dist/server/mcp/transagent-tools.js +75 -0
  67. package/dist/server/mcp/transagent-tools.js.map +1 -0
  68. package/dist/server/routes/agent-turn.d.ts +9 -0
  69. package/dist/server/routes/agent-turn.js +58 -1
  70. package/dist/server/routes/agent-turn.js.map +1 -1
  71. package/dist/server/routes/briefs.js +12 -4
  72. package/dist/server/routes/briefs.js.map +1 -1
  73. package/dist/server/routes/chat.js +18 -0
  74. package/dist/server/routes/chat.js.map +1 -1
  75. package/dist/server/routes/plans.js +13 -0
  76. package/dist/server/routes/plans.js.map +1 -1
  77. package/dist/server/routes/threads.js +9 -2
  78. package/dist/server/routes/threads.js.map +1 -1
  79. package/dist/server/services/brief.d.ts +30 -8
  80. package/dist/server/services/brief.js +58 -28
  81. package/dist/server/services/brief.js.map +1 -1
  82. package/dist/server/services/chat-context.js +10 -6
  83. package/dist/server/services/chat-context.js.map +1 -1
  84. package/dist/server/services/chat.d.ts +12 -1
  85. package/dist/server/services/chat.js +56 -21
  86. package/dist/server/services/chat.js.map +1 -1
  87. package/dist/server/services/entity-indexer.js +21 -14
  88. package/dist/server/services/entity-indexer.js.map +1 -1
  89. package/dist/server/services/plan.d.ts +7 -1
  90. package/dist/server/services/plan.js +17 -4
  91. package/dist/server/services/plan.js.map +1 -1
  92. package/dist/server/services/transagent-dispatcher.d.ts +60 -0
  93. package/dist/server/services/transagent-dispatcher.js +147 -0
  94. package/dist/server/services/transagent-dispatcher.js.map +1 -0
  95. package/dist/server/skills/brief-author/SKILL.md +26 -17
  96. package/dist/server/workspace/project-context.js +2 -1
  97. package/dist/server/workspace/project-context.js.map +1 -1
  98. package/dist/shared/entities.d.ts +46 -3
  99. package/dist/shared/entities.js +1 -0
  100. package/dist/shared/entities.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/client/assets/channel-CTF_J4I4.js +0 -1
  103. package/dist/client/assets/classDiagram-4FO5ZUOK-Dt9RLC8r.js +0 -1
  104. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dt9RLC8r.js +0 -1
  105. package/dist/client/assets/index-DnLELaLA.js +0 -798
  106. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BblFLijq.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import type Database from 'better-sqlite3';
2
- import type { BlameBlock, Plan, PlanAction, PlanChangedBy, PlanExecuteMode, PlanExecuteResult, PlanListItem, PlanVersion, PlanVersionMeta } from '../../shared/entities.js';
2
+ import type { BlameBlock, Plan, PlanAction, PlanChangedBy, PlanExecuteMode, PlanExecuteResult, PlanListItem, PlanThreadItem, PlanVersion, PlanVersionMeta } from '../../shared/entities.js';
3
3
  import type { WsEmitter } from '../ws/project-emitter.js';
4
4
  import type { ChatService } from './chat.js';
5
5
  export interface PlanUpdateInput {
@@ -36,6 +36,12 @@ export declare class PlanService {
36
36
  threadId: string;
37
37
  };
38
38
  findLastThreadIdForPlan(planId: number): string | null;
39
+ /**
40
+ * P2: dedicated projection of a plan's threads for PlanPage. Bounded by the
41
+ * threads attached to ONE plan (small), so no pagination — and independent of
42
+ * the paginated `GET /api/threads` list, which PlanPage no longer filters.
43
+ */
44
+ listThreadsForPlan(planId: number): PlanThreadItem[];
39
45
  updatePlanTitle(planId: number, title: string | null): Plan;
40
46
  markPlanSeenByThread(threadId: string): void;
41
47
  /** Returns the `<system-reminder>` block to prepend to user message when plan is stale, or null. */
@@ -32,7 +32,7 @@ export class PlanService {
32
32
  }
33
33
  threadCount(planId) {
34
34
  const row = this.db
35
- .prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE plan_id = ?`)
35
+ .prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE plan_id = ? AND parent_thread_id IS NULL`)
36
36
  .get(planId);
37
37
  return row.n;
38
38
  }
@@ -55,11 +55,11 @@ export class PlanService {
55
55
  .prepare(`SELECT p.*,
56
56
  COUNT(t.id) AS thread_count,
57
57
  (SELECT id FROM chat_thread
58
- WHERE plan_id = p.id
58
+ WHERE plan_id = p.id AND parent_thread_id IS NULL
59
59
  ORDER BY updated_at DESC
60
60
  LIMIT 1) AS last_thread_id
61
61
  FROM plan p
62
- LEFT JOIN chat_thread t ON t.plan_id = p.id
62
+ LEFT JOIN chat_thread t ON t.plan_id = p.id AND t.parent_thread_id IS NULL
63
63
  ${where}
64
64
  GROUP BY p.id
65
65
  ORDER BY p.updated_at DESC
@@ -90,12 +90,25 @@ export class PlanService {
90
90
  findLastThreadIdForPlan(planId) {
91
91
  const row = this.db
92
92
  .prepare(`SELECT id FROM chat_thread
93
- WHERE plan_id = ?
93
+ WHERE plan_id = ? AND parent_thread_id IS NULL
94
94
  ORDER BY updated_at DESC
95
95
  LIMIT 1`)
96
96
  .get(planId);
97
97
  return row?.id ?? null;
98
98
  }
99
+ /**
100
+ * P2: dedicated projection of a plan's threads for PlanPage. Bounded by the
101
+ * threads attached to ONE plan (small), so no pagination — and independent of
102
+ * the paginated `GET /api/threads` list, which PlanPage no longer filters.
103
+ */
104
+ listThreadsForPlan(planId) {
105
+ const rows = this.db
106
+ .prepare(`SELECT id, title, updated_at FROM chat_thread
107
+ WHERE plan_id = ? AND parent_thread_id IS NULL
108
+ ORDER BY updated_at DESC`)
109
+ .all(planId);
110
+ return rows.map((r) => ({ id: r.id, title: r.title, updatedAt: r.updated_at }));
111
+ }
99
112
  updatePlanTitle(planId, title) {
100
113
  const trimmed = title?.trim() || null;
101
114
  const info = this.db
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * 0.1.69 Transagents ("bańki") — TransagentDispatcher.
3
+ *
4
+ * A chat/patch thread delegates a unit of work to a hidden CHILD thread of the
5
+ * same spec via the `runTransagent` MCP tool. The dispatcher:
6
+ * 1. resolves or creates the child thread (binding per `contextType`),
7
+ * 2. emits `transagent_started` into the PARENT's stream so the parent panel
8
+ * can nested-live-join the child,
9
+ * 3. runs a full child turn through the shared `runAgentTurn`,
10
+ * 4. emits `transagent_completed` and returns only `{ threadId, summary }` to
11
+ * the parent LLM's context (the child's full transcript stays hidden).
12
+ *
13
+ * Built per chat request in `agent-turn.ts` with the parent's `model` /
14
+ * `architectureConfig` (so the child inherits credentials + model) and a
15
+ * `runTurn` callback bound to the same `AgentTurnDeps` (injected to avoid a
16
+ * value-level import cycle with agent-turn.ts).
17
+ */
18
+ import type { AgentTurnDeps, AgentTurnInput, AgentTurnResult, Model } from '../routes/agent-turn.js';
19
+ export interface TransagentRunInput {
20
+ parentThreadId: string;
21
+ contextType: 'brief' | 'chat' | 'patch';
22
+ message: string;
23
+ /** Per-contextType binding hints (e.g. `{ fromReleaseName, patchPath, suffix }`). */
24
+ payload?: Record<string, unknown>;
25
+ /** Continue an existing child banka instead of creating one. */
26
+ threadId?: string;
27
+ }
28
+ export interface TransagentRunResult {
29
+ threadId: string;
30
+ summary: string;
31
+ }
32
+ export interface TransagentDispatcherOpts {
33
+ /** Parent turn's model — the child inherits it. */
34
+ model: Model;
35
+ /** Parent turn's architectureConfig (carries custom_env / credentials). */
36
+ architectureConfig: Record<string, unknown>;
37
+ /**
38
+ * Resolves the parent's `tool_use(runTransagent)` id (fed race-free by the
39
+ * agent-turn loop). The created child stores it as `spawned_by_tool_use_id`,
40
+ * and it is echoed on `transagent_started`/`_completed` so the parent panel
41
+ * (and F5 reconstruction) can correlate the child with its tool_use block.
42
+ */
43
+ takeToolUseId: () => Promise<string>;
44
+ /** Bound `(input) => runAgentTurn(deps, input)` — injected to avoid an import cycle. */
45
+ runTurn: (input: AgentTurnInput) => Promise<AgentTurnResult>;
46
+ }
47
+ export declare class TransagentDispatcher {
48
+ private deps;
49
+ private opts;
50
+ constructor(deps: AgentTurnDeps, opts: TransagentDispatcherOpts);
51
+ run(input: TransagentRunInput): Promise<TransagentRunResult>;
52
+ /**
53
+ * Context-type registry: how to materialize a child thread per `contextType`.
54
+ * - brief → create an analysis brief file (source:'analysis', to_release:null,
55
+ * from=payload.fromReleaseName ?? latest) then a child brief thread.
56
+ * - patch → child patch thread (requires payload.patchPath).
57
+ * - chat → plain child chat thread.
58
+ */
59
+ private createChild;
60
+ }
@@ -0,0 +1,147 @@
1
+ /**
2
+ * 0.1.69 Transagents ("bańki") — TransagentDispatcher.
3
+ *
4
+ * A chat/patch thread delegates a unit of work to a hidden CHILD thread of the
5
+ * same spec via the `runTransagent` MCP tool. The dispatcher:
6
+ * 1. resolves or creates the child thread (binding per `contextType`),
7
+ * 2. emits `transagent_started` into the PARENT's stream so the parent panel
8
+ * can nested-live-join the child,
9
+ * 3. runs a full child turn through the shared `runAgentTurn`,
10
+ * 4. emits `transagent_completed` and returns only `{ threadId, summary }` to
11
+ * the parent LLM's context (the child's full transcript stays hidden).
12
+ *
13
+ * Built per chat request in `agent-turn.ts` with the parent's `model` /
14
+ * `architectureConfig` (so the child inherits credentials + model) and a
15
+ * `runTurn` callback bound to the same `AgentTurnDeps` (injected to avoid a
16
+ * value-level import cycle with agent-turn.ts).
17
+ */
18
+ import { nanoid } from 'nanoid';
19
+ import { DomainError } from './tags.js';
20
+ export class TransagentDispatcher {
21
+ deps;
22
+ opts;
23
+ constructor(deps, opts) {
24
+ this.deps = deps;
25
+ this.opts = opts;
26
+ }
27
+ async run(input) {
28
+ const { parentThreadId, contextType, message } = input;
29
+ const payload = input.payload ?? {};
30
+ // The parent's tool_use id (race-free via the agent-turn loop). Used as the
31
+ // child's spawned_by_tool_use_id and echoed on the bracketing events.
32
+ const toolUseId = await this.opts.takeToolUseId();
33
+ // 1. Resolve/create the child thread.
34
+ let child;
35
+ if (input.threadId) {
36
+ const existing = this.deps.chatService.getThreadMeta(input.threadId);
37
+ if (!existing)
38
+ throw new DomainError('NOT_FOUND', `child thread '${input.threadId}' not found`);
39
+ if (existing.parentThreadId !== parentThreadId) {
40
+ throw new DomainError('VALIDATION', `thread '${input.threadId}' is not a child of this thread`);
41
+ }
42
+ child = existing;
43
+ }
44
+ else {
45
+ child = await this.createChild(contextType, parentThreadId, toolUseId, message, payload);
46
+ }
47
+ const parentAdapter = this.deps.activeAdapters.get(parentThreadId);
48
+ // 2. Bracket the child run with events on the PARENT's stream so the parent
49
+ // panel renders a nested child marker (and a joiner reconstructs it from
50
+ // the replay buffer — these types are in REPLAY_EVENT_TYPES).
51
+ parentAdapter?.emit({
52
+ type: 'transagent_started',
53
+ childThreadId: child.id,
54
+ toolUseId,
55
+ contextType,
56
+ timestamp: new Date().toISOString(),
57
+ });
58
+ try {
59
+ // 3. Run the child turn. `onEvent` is a no-op — the child renders via its
60
+ // own stream entry (GET /api/chat/stream/:childThreadId), not the
61
+ // parent transport. runAgentTurn registers activeAdapters[child.id]
62
+ // (with parentThreadId from the row) so the parent can nested-join.
63
+ const result = await this.opts.runTurn({
64
+ thread: child,
65
+ prompt: message,
66
+ model: this.opts.model,
67
+ architectureConfig: this.opts.architectureConfig,
68
+ requestId: nanoid(12),
69
+ consoleObserver: null,
70
+ onEvent: () => { },
71
+ });
72
+ // 4. Completion — return only the summary to the parent LLM's context.
73
+ parentAdapter?.emit({
74
+ type: 'transagent_completed',
75
+ childThreadId: child.id,
76
+ toolUseId,
77
+ status: 'completed',
78
+ timestamp: new Date().toISOString(),
79
+ });
80
+ return { threadId: child.id, summary: result.answer };
81
+ }
82
+ catch (err) {
83
+ // Child failure collapses upward as the parent's tool_result isError
84
+ // (handled by the MCP wrapper). Still bracket-close the panel.
85
+ parentAdapter?.emit({
86
+ type: 'transagent_completed',
87
+ childThreadId: child.id,
88
+ toolUseId,
89
+ status: 'error',
90
+ timestamp: new Date().toISOString(),
91
+ });
92
+ throw err;
93
+ }
94
+ }
95
+ /**
96
+ * Context-type registry: how to materialize a child thread per `contextType`.
97
+ * - brief → create an analysis brief file (source:'analysis', to_release:null,
98
+ * from=payload.fromReleaseName ?? latest) then a child brief thread.
99
+ * - patch → child patch thread (requires payload.patchPath).
100
+ * - chat → plain child chat thread.
101
+ */
102
+ async createChild(contextType, parentThreadId, spawnedByToolUseId, message, payload) {
103
+ if (contextType === 'brief') {
104
+ const fromReleaseName = typeof payload.fromReleaseName === 'string'
105
+ ? payload.fromReleaseName
106
+ : (this.deps.releaseService.listReleases()[0]?.name ?? null);
107
+ const suffix = typeof payload.suffix === 'string' ? payload.suffix : undefined;
108
+ const content = typeof payload.content === 'string' ? payload.content : undefined;
109
+ const { briefPath } = await this.deps.briefService.createBrief({
110
+ source: 'analysis',
111
+ fromReleaseName,
112
+ toReleaseName: null,
113
+ content,
114
+ suffix,
115
+ });
116
+ const { threadId } = this.deps.briefService.createThreadForBrief({
117
+ path: briefPath,
118
+ parentThreadId,
119
+ spawnedByToolUseId,
120
+ });
121
+ const child = this.deps.chatService.getThreadMeta(threadId);
122
+ if (!child)
123
+ throw new DomainError('INTERNAL', 'child brief thread disappeared after create');
124
+ return child;
125
+ }
126
+ if (contextType === 'patch') {
127
+ const patchPath = typeof payload.patchPath === 'string' ? payload.patchPath : null;
128
+ if (!patchPath) {
129
+ throw new DomainError('VALIDATION', "contextType='patch' requires payload.patchPath");
130
+ }
131
+ return this.deps.chatService.createThread(`Transagent: ${patchPath}`, {
132
+ contextType: 'patch',
133
+ patchPath,
134
+ parentThreadId,
135
+ spawnedByToolUseId,
136
+ });
137
+ }
138
+ // chat — plain child thread; title seeded from the message.
139
+ const title = message.slice(0, 60) + (message.length > 60 ? '...' : '');
140
+ return this.deps.chatService.createThread(title || 'Transagent', {
141
+ contextType: 'chat',
142
+ parentThreadId,
143
+ spawnedByToolUseId,
144
+ });
145
+ }
146
+ }
147
+ //# sourceMappingURL=transagent-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transagent-dispatcher.js","sourceRoot":"","sources":["../../../src/server/services/transagent-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -21,15 +21,17 @@ The system prompt already binds you to the **self-contained invariant**: the bri
21
21
  **Available tools:**
22
22
  - `get_brief` — read the current brief state. Returns `{ frontmatter, body, content, hash }`. Use `hash` as `expectedHash` for the next `update_brief` to detect concurrent edits.
23
23
  - `update_brief` — edit the body via `replace`, `append`, or `insert_after_section`. You CANNOT modify frontmatter (immutable: `type`, `from_release`, `to_release`, `generated_at`, `generator_version`).
24
- - `release-tools` (read-only) — `release_list`, `release_show`, and `release_diff(fromIdOrName, toIdOrName, include?, entityTypes?)` returning a self-contained `MCPReleaseDiff`. Use `release_diff(brief.frontmatter.from_release, brief.frontmatter.to_release)` to obtain the `MCPReleaseDiff` that grounds your narrative one round-trip is all you need.
24
+ - `release-tools` (read-only) — `release_diff(fromIdOrName, toIdOrName, include?, entityTypes?, summaryOnly?, limit?, offset?)` is the spec tool you call (`release_list` / `release_show` exist but are NOT needed for authoring). It projects to a self-contained `MCPReleaseDiff` in **two modes**:
25
+ - `summaryOnly: true` → a light **delta-map**: `total` + identifier lists `{ type, slug, name, op }` / `{ path, op }` (incl. `op:'delete'`), with NO `before`/`after`/`content`. Lists are FULL — the window does not trim the map.
26
+ - default heavy mode → full `before`/`after` snapshots, but **paginated**: `limit` (default **5**, no upper bound) and `offset` (default 0) apply independently to `entities[]` and `pages[]`; `total` reports the full count after filters, before the window. A bare `release_diff(from, to)` therefore returns only the first 5 of each — windowing is mandatory at scale.
27
+ - `Task` — spawn a parallel **`diff-explore`** subagent (read-only `release-tools` + `Read`) to absorb the heavy bulk of one diff slice and return a concise distillate, keeping YOUR context small.
25
28
 
26
- **`release-tools` is the ONLY plugin MCP available in this thread.** There is no `get_endpoint` / `get_dto` / `get_database-table` / `get_ui-view` / `get_ac`, no `Read pages/...`, no `Grep`, no filesystem. The `MCPReleaseDiff` payload is your entire ground truth every snapshot you need is carried inside it.
29
+ **`release-tools` is the ONLY plugin MCP in this thread.** There is no `get_endpoint` / `get_dto` / `get_database-table` / `get_ui-view` / `get_ac`, and you do NOT reach for current spec state (`Read pages/...`, the entity graph) — by convention, so the brief stays reproducible from the diff alone. The `release_diff` output is your entire ground truth: the `summaryOnly` map for orchestration, and the full per-slice snapshots which `diff-explore` subagents read on your behalf. **Self-containment ≠ one round-trip** — you make ≥2 calls (a `summaryOnly` probe, then per-slice diffs), and the heavy bulk lives in subagents, never in your context.
27
30
 
28
31
  **You cannot:**
29
- - Read or write any file on disk (no `Read`, `Write`, `Edit`, `Glob`, `Grep`, `Bash`).
30
32
  - Mutate any entity, page, plan, or release. Briefs are write-side only.
31
33
  - Modify brief frontmatter (immutable to agents — only the user can toggle `archived` via the UI Settings popover).
32
- - Drill down into entities or pages on demand. The diff is self-contained by design (see "Self-containment" below).
34
+ - Reach for current spec state (`Read pages/...`, `get_<type>`, entity graph) to ground the brief — that returns HEAD and breaks the brief's historical self-containment. Drill-down over a release slice happens inside a `diff-explore` subagent, against the historical diff/dump only — never current state.
33
35
 
34
36
  ---
35
37
 
@@ -39,24 +41,30 @@ The system prompt already binds you to the **self-contained invariant**: the bri
39
41
 
40
42
  Triggered when `get_brief` returns a brief whose body contains only the H1 heading (or is otherwise empty).
41
43
 
42
- **Initial brief detection:** if `frontmatter.from_release === null`, this is an *initial brief* — there is no previous release. Skip the two-release diff; instead call `release-tools.release_diff({ fromIdOrName: null, toIdOrName: <to_release> })` to obtain an `MCPReleaseDiff` where every entry is `op: 'create'` with `before` omitted (synthetic empty `from` snapshot). Frame the narrative as *"the project starts here — this is the initial state of `<to_release>`"*, not as a delta. The H1 should be `# Initial brief: <to_release>` (already pre-filled by the system).
44
+ **Initial brief detection:** if `frontmatter.from_release === null`, this is an *initial brief* — there is no previous release. The probe is `release_diff({ fromIdOrName: null, toIdOrName: <to_release>, summaryOnly: true })`: every entry is `op: 'create'`. Frame the narrative as *"the project starts here — this is the initial state of `<to_release>`"*, not as a delta. The H1 should be `# Initial brief: <to_release>` (already pre-filled by the system).
45
+
46
+ **The authoring loop is map → fan-out → compose.** You orchestrate; you never pull the whole diff into your own context.
43
47
 
44
48
  1. Call `get_brief` to confirm `frontmatter.from_release` and `frontmatter.to_release` and capture `hash`.
45
- 2. Call `release-tools.release_diff({ fromIdOrName, toIdOrName })` to obtain the `MCPReleaseDiff`. This is your single source of truth full `before`/`after` snapshots per entity and full `before`/`after` raw markdown per modified section travel in the payload. Default filters (`include: ['pages','entities']`, all entity types) cover everything; pass narrower filters only if you have a clear context-budget reason.
46
- 3. **Filter the diff using the active writing style's `workflows/brief.md`.** It defines what counts as feature substance (keep, translate, inline) vs. spec-format convention (drop) vs. editorial noise (drop) for this methodology.
47
- 4. **Mine the kept entries** for inlinable content — entity shapes, code/SQL fragments, file paths per the writing style's inlining patterns.
48
- 5. **For each entity with `op: 'update'`**: compare `MCPEntityDelta.before` vs `MCPEntityDelta.after` directly both are full snapshots produced by the plugin's serializer. Describe the diff in prose. **Do NOT call any drill-down toolthere is none available in this thread.** Slugs, field shapes, every value you need is in the snapshot.
49
- 6. **For each entity with `op: 'create'`**: read `MCPEntityDelta.after` for any inline content needed in prose. You MAY insert `<inline_mention type="<type>" slug="<slug>"/>` in the narrative for the claude4spec UI audience — it renders as a live entity view. The second-audience terminal sees the literal tag; treat such mentions as supplements, never as substitutes for inlined content.
50
- 7. **For each entity with `op: 'delete'`**: only `before` is present. Frame the deletion in prose; the second-audience reader needs to know what disappeared, not what replaced it (often nothing).
51
- 8. **For each `MCPPageDelta.sections[i]`**: use `before` / `after` raw markdown directly. NEVER consume `line_diff` there is none in this payload. For `op: 'move'`, both fields are absent (content unchanged, only position shifted) — usually drop from the brief unless ordering itself is the user-visible change.
52
- 9. **`MCPPageDelta.frontmatter` / `MCPPageDelta.xmlRefs`**: present iff changed. Read `before`/`after` only when relevant to narrative (e.g. `pageType: module layer`). Default: ignore metadata, not content.
53
- 10. Compose a narrative that:
49
+ 2. **Probe — the delta-map.** Call `release_diff({ fromIdOrName, toIdOrName, summaryOnly: true })`. You get `total` + the full identifier lists (`{ type, slug, name, op }` / `{ path, op }`, including `op:'delete'`) *what* changed, with zero bulk. This map is your orchestration plan. **Do NOT use `release_show` for it** it has no `from`, so it would silently miss deletes.
50
+ 3. **Partition.** Split the map into **disjoint slices** that together cover EVERY slug and path (including deletes) this completeness is on you; a missed slice is a silently incomplete brief. Slice by `entityTypes` and/or by `limit`/`offset` windows. Narrow with `include`/`entityTypes` if the brief is topically scoped (e.g. only endpoints).
51
+ 4. **Fan out.** For each slice, spawn a `diff-explore` subagent **in parallel** via `Task`. Tell it the `from`/`to` and its exact slice (`entityTypes` and/or `limit`/`offset`); it calls heavy `release_diff` for that slice, absorbs the `before`/`after`/`content`, and returns a concise **distillate** the facts to inline (signatures, field shapes, SQL, paths), not the raw dump. The bulk stays in the subagent; you keep the map + distillates. *(A tiny diff that comfortably fits may instead be read directly with one heavy windowed call.)*
52
+ 5. **Filter through the active writing style's `workflows/brief.md`**what counts as feature substance (keep, translate, inline) vs. spec-format convention (drop) vs. editorial noise (drop) for this methodologyand mine the distillates for inlinable content.
53
+
54
+ When you (or a delegated `diff-explore`) read a heavy slice, interpret its entries by `op` these are the rules each distillate must honour:
55
+ - **`op: 'update'`**: compare `MCPEntityDelta.before` vs `after` directly — both are full serializer snapshots. Describe the diff in prose; every slug/field/value you need is in the snapshot (no drill-down against current state).
56
+ - **`op: 'create'`**: read `MCPEntityDelta.after` for inline content. You MAY insert `<inline_mention type="<type>" slug="<slug>"/>` for the claude4spec UI audience — it renders as a live entity view. The second-audience terminal sees the literal tag; treat mentions as supplements, never substitutes for inlined content.
57
+ - **`op: 'delete'`**: only `before` is present. Frame the deletion in prose; the reader needs to know what disappeared, not what replaced it (often nothing).
58
+ - **`MCPPageDelta.sections[i]`**: use `before` / `after` raw markdown directly. NEVER consume `line_diff` — there is none in this payload. For `op: 'move'`, both fields are absent (content unchanged, position shifted) — usually drop unless ordering itself is the user-visible change.
59
+ - **`MCPPageDelta.frontmatter` / `xmlRefs`**: present iff changed. Read only when relevant (e.g. `pageType: module → layer`). Default: ignore — metadata, not content.
60
+
61
+ 6. Compose a narrative that:
54
62
  - Opens with a short summary (2–4 sentences) describing the *intent* of the release. The reader should learn *why* in the first paragraph.
55
63
  - Groups changes by user-visible theme (new capabilities, breaking changes, internal refactors), not by entity type or by spec page.
56
64
  - For each theme: state what the system now does in plain prose and **inline the change content** per the writing style's patterns.
57
65
  - Closes with a **For implementers** section — concrete edit targets per the writing style's structure.
58
- 11. **Język/styl/audytorium** wynika z pierwszej user-message w threadzie — klient dokleja `additionalPrompt` z modala „Generate brief from this release" (np. *„po polsku, dla juniora, ton formalny"*). Jeśli pierwsza wiadomość zawiera takie wytyczne, uszanuj je. Domyślnie pisz w angielskim, krótkimi deklaratywnymi zdaniami.
59
- 12. Submit via `update_brief({ action: 'replace', content: <full markdown body>, expectedHash: <hash from step 1>, changeSummary: 'initial generation' })`.
66
+ 7. **Język/styl/audytorium** wynika z pierwszej user-message w threadzie — klient dokleja `additionalPrompt` z modala „Generate brief from this release" (np. *„po polsku, dla juniora, ton formalny"*). Jeśli pierwsza wiadomość zawiera takie wytyczne, uszanuj je. Domyślnie pisz w angielskim, krótkimi deklaratywnymi zdaniami.
67
+ 8. Submit via `update_brief({ action: 'replace', content: <full markdown body>, expectedHash: <hash from step 1>, changeSummary: 'initial generation' })`.
60
68
 
61
69
  ### Branch B — Editorial (body already exists)
62
70
 
@@ -77,7 +85,7 @@ Triggered when `get_brief` returns a brief with non-trivial body content.
77
85
 
78
86
  Two rules sit above any methodology-specific guidance:
79
87
 
80
- 1. **The `MCPReleaseDiff` payload is your only source.** There is no fetch-on-demand path in this thread — no `get_<type>`, no `Read pages/...`. Every snapshot you need is already in the payload (`MCPEntityDelta.before/after`, `MCPSectionDelta.before/after`). Whenever a change involves a concrete artefact — DTO field, endpoint signature, SQL, view URL, code snippet — paste it into the brief. The reader cannot fetch it on demand. Phrases like *"see the release diff"*, *"per the spec page"*, or *"as defined elsewhere"* are failures.
88
+ 1. **`release_diff` is your only source — never current state.** There is no fetch-on-demand path against HEAD in this thread — no `get_<type>`, no `Read pages/...`. Everything comes from `release_diff`: the `summaryOnly` map for orchestration, and the full `before`/`after` snapshots inside each slice (read by you for a tiny diff, or distilled by a `diff-explore` subagent at scale). Whenever a change involves a concrete artefact — DTO field, endpoint signature, SQL, view URL, code snippet — paste it into the brief (carry it through the subagent's distillate when you fan out). The reader cannot fetch it on demand. Phrases like *"see the release diff"*, *"per the spec page"*, or *"as defined elsewhere"* are failures.
81
89
  2. **Describe the SYSTEM, not the spec edits.** The brief is about how the specified system behaves now vs. before — not about which markdown files gained/lost sections. Editorial mechanics (anchor injection, section reorder without content change, typo, prose smoothing, comment edit, heading rename without semantic shift) belong in version history, not in the brief. *Drop them.*
82
90
 
83
91
  - GOOD: *"Brief threads whitelist their toolset — only `brief-tools` and `release-tools` are mounted; plan/entity MCPs are silently omitted to keep the editorial agent on its lane."*
@@ -111,6 +119,7 @@ If after filtering nothing substantive remains in a release, say so explicitly:
111
119
  | `VERSION_NOT_FOUND` | The version number you passed does not exist. List versions first. |
112
120
  | `INVALID_INCLUDE_FILTER` | `release_diff` / `release_show` rejected an empty `include` array. Drop the arg to fall back to defaults (`['pages','entities']`). |
113
121
  | `INVALID_ENTITY_TYPES_FILTER` | Empty `entityTypes` array. Drop the arg to fall back to defaults (all 5 types). |
122
+ | `INVALID_PAGINATION` | Negative `limit`/`offset` on `release_diff`. Use `>= 0` (or omit — defaults are `limit: 5`, `offset: 0`). |
114
123
  | `CONFLICTING_FILTERS` | You passed `entityTypes` without `'entities'` in `include`. Either add `'entities'` to `include` or drop `entityTypes`. |
115
124
 
116
125
  If `release-tools.release_diff` returns an empty diff (both `entities` and `pages` empty — e.g. `from === to`), report that to the user — do not fabricate changes.
@@ -381,7 +381,7 @@ async function buildInner(deps, cleanup) {
381
381
  router.use('/static', staticRouter(staticHtml));
382
382
  router.use('/tags', tagsRouter(tagsService, referencesService));
383
383
  router.use('/references', referencesRouter(pluginHost, referencesService));
384
- router.use('/entities', entitiesRouter(pluginHost, tagsService, versionService, entityStore));
384
+ router.use('/entities', entitiesRouter(pluginHost, tagsService, versionService, entityStore, rawReader));
385
385
  // 0.1.58: peer-discovery for the `<workspace_projects>` prompt block. For each
386
386
  // workspace project except this one, build a PeerProject whose `path` is the
387
387
  // registry `cwd` (passed 1:1 as the `project` param to `c4s-tools.ask`); name/
@@ -424,6 +424,7 @@ async function buildInner(deps, cleanup) {
424
424
  planService,
425
425
  briefService,
426
426
  patchService,
427
+ releaseService,
427
428
  pageVersions,
428
429
  skillResolver,
429
430
  skillRegistry,
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/server/workspace/project-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/server/workspace/project-context.ts"],"names":[],"mappings":"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"}