@llamaventures/cli 2.2.0 → 2.3.0

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.
package/AGENT_BRIEFING.md CHANGED
@@ -168,9 +168,11 @@ means the truth depends on who judges: a value or comparative word with no
168
168
  stated benchmark, or a claim about someone's future behavior or inner state. If
169
169
  yes, the type is `human_subjective_view.people` (founders or team) or
170
170
  `human_subjective_view.business` (company, product, market or deal),
171
- `value.speaker` names that user, and `value.rawText` quotes the user verbatim
172
- from `origin.originalUserUtterance`. CLI and Core reject anything else. If no,
173
- choose any type that fits; founder words are `founder_claim`.
171
+ `value.speaker` names that user, `value.rawText` quotes the user verbatim
172
+ from `origin.originalUserUtterance`, and `value.summary` is your own
173
+ restatement of those words (never a substitute for them). CLI and Core reject
174
+ anything else. If no, choose any type that fits; founder words are
175
+ `founder_claim`.
174
176
 
175
177
  ```json
176
178
  {
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ this project adheres to [Semantic Versioning](https://semver.org).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.3.0] - 2026-09-04
10
+
11
+ ### Changed
12
+ - `human_subjective_view.people|business` now also requires `value.summary`,
13
+ the agent's own restatement of the user's words, and rejects a summary that
14
+ merely repeats `value.rawText`. Core enforces the same rule; the Deal Page
15
+ shows both the summary and the verbatim text.
16
+
9
17
  ## [2.2.0] - 2026-09-04
10
18
 
11
19
  ### Added
package/bin/llama-mcp.mjs CHANGED
@@ -152,7 +152,7 @@ server.registerTool(
152
152
  server.registerTool(
153
153
  "write_deal",
154
154
  {
155
- description: "The only Deal mutation tool. Pass one command: input.submit, information.put, page.patch, or artifact.put. All Page content fields are Agent-writable; author controls attribution, not permission. Before page.patch, use get_live_deal_page_schema for the exact fields being changed and write bilingual Page prose. page.patch is JSON Merge Patch: arrays replace whole arrays, so read-modify-write and preserve sibling slots. A Llama user's own judgment is human_subjective_view.people or human_subjective_view.business and must carry value.speaker plus value.rawText quoted verbatim from origin.originalUserUtterance; it is rejected otherwise.",
155
+ description: "The only Deal mutation tool. Pass one command: input.submit, information.put, page.patch, or artifact.put. All Page content fields are Agent-writable; author controls attribution, not permission. Before page.patch, use get_live_deal_page_schema for the exact fields being changed and write bilingual Page prose. page.patch is JSON Merge Patch: arrays replace whole arrays, so read-modify-write and preserve sibling slots. A Llama user's own judgment is human_subjective_view.people or human_subjective_view.business and must carry value.speaker, value.rawText quoted verbatim from origin.originalUserUtterance, and value.summary (the agent's restatement); it is rejected otherwise.",
156
156
  // MCP SDK 1.30 only publishes object schemas at the tool root. Nesting one
157
157
  // command preserves the real discriminated union instead of flattening four
158
158
  // incompatible operations into false affordances.
package/bin/llama.mjs CHANGED
@@ -103,7 +103,7 @@ create JSON:
103
103
  write JSON (CLI derives idempotencyKey when omitted):
104
104
  input.submit: {"operation":"input.submit","dealId":"<uuid>","content":"<original input>","format":"text","source":{},"origin":{"kind":"user","originalUserUtterance":"..."}}
105
105
  information.put:{"operation":"information.put","dealId":"<uuid>","type":"founder_claim","labels":["founder-stated"],"subject":{"topic":"traction"},"value":{"content":"...","source":{"kind":"first_meeting_transcript"}},"origin":{"kind":"user","originalUserUtterance":"..."}}
106
- human judgment: {"operation":"information.put","dealId":"<uuid>","type":"human_subjective_view.people","subject":{"topic":"founder_execution"},"value":{"speaker":"<Llama user>","rawText":"<the user's verbatim words>","summary":"<optional agent summary>"},"origin":{"kind":"user","originalUserUtterance":"<complete user input; must contain rawText>"}}
106
+ human judgment: {"operation":"information.put","dealId":"<uuid>","type":"human_subjective_view.people","subject":{"topic":"founder_execution"},"value":{"speaker":"<Llama user>","rawText":"<the user's verbatim words>","summary":"<the agent's restatement>"},"origin":{"kind":"user","originalUserUtterance":"<complete user input; must contain rawText>"}}
107
107
  page.patch: {"operation":"page.patch","dealId":"<uuid>","patch":{"description":{"en":"...","zh":"..."}},"origin":{"kind":"agent"}}
108
108
  artifact.put: {"operation":"artifact.put","dealId":"<uuid>","kind":"deck","title":"deck.pdf","mimeType":"application/pdf","contentBase64":"<file bytes, base64>","origin":{"kind":"user","originalUserUtterance":"..."}}
109
109
 
@@ -119,8 +119,9 @@ value.source records where the evidence came from.
119
119
  human_subjective_view.people|business is a Llama user's own judgment about the
120
120
  team or the deal. Subjective = the truth depends on who judges: a value or
121
121
  comparative word with no benchmark, or a claim about someone's future behavior
122
- or inner state. It requires value.speaker and value.rawText quoted verbatim from
123
- origin.originalUserUtterance; CLI and Core reject anything else. Other types are free.
122
+ or inner state. It requires value.speaker, value.rawText quoted verbatim from
123
+ origin.originalUserUtterance, and value.summary, the agent's own restatement of
124
+ those words; CLI and Core reject anything else. Other types are free.
124
125
 
125
126
  Core owns Chat Records, append-only Deal Events, Drive provisioning, audit,
126
127
  and idempotency. User-originated work must preserve exact wording in
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "format": "llama.cli-build.v1",
3
3
  "packageName": "@llamaventures/cli",
4
- "packageVersion": "2.2.0",
5
- "sourceSha": "2f4c73310ed6c5d36a47a275490ff1082321ca27",
4
+ "packageVersion": "2.3.0",
5
+ "sourceSha": "c68a1849a4c43edbcc340a8f47f21cf16ca615ef",
6
6
  "sourceKind": "github",
7
7
  "sourceDirty": false,
8
8
  "coreApiContract": {
@@ -12,8 +12,9 @@ export const DEAL_WRITE_OPERATIONS = Object.freeze([
12
12
  /**
13
13
  * A Llama user's own subjective judgment about the team (.people) or the deal
14
14
  * (.business). An agent may record it, but the record must name the user and
15
- * quote them verbatim from their own input, so the type alone stays a reliable
16
- * filter. Core enforces the same rule; this check only fails faster.
15
+ * quote them verbatim from their own input, plus the agent's own restatement in
16
+ * value.summary, so the type alone stays a reliable filter and every record
17
+ * reads the same way. Core enforces the same rule; this check only fails faster.
17
18
  */
18
19
  export const HUMAN_SUBJECTIVE_VIEW_TYPES = Object.freeze([
19
20
  "human_subjective_view.people",
@@ -72,6 +73,13 @@ export function validateHumanSubjectiveView(information, origin) {
72
73
  "human_subjective_view.* value.rawText must appear verbatim inside origin.originalUserUtterance; do not paraphrase",
73
74
  );
74
75
  }
76
+ const summary = stringField(information.value, "summary");
77
+ if (!summary) {
78
+ throw new Error("human_subjective_view.* requires value.summary: the agent's restatement of the user's words");
79
+ }
80
+ if (normalizeWhitespace(summary) === normalizeWhitespace(rawText)) {
81
+ throw new Error("human_subjective_view.* value.summary must restate value.rawText, not repeat it");
82
+ }
75
83
  return information;
76
84
  }
77
85
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llamaventures/cli",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "CLI + MCP server for the Llama Ventures investment workbench (command.llamaventures.vc).",
5
5
  "type": "module",
6
6
  "scripts": {