@sentropic/h2a-cli 0.3.0 → 0.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/h2a-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Unified CLI surface for h2a hosts and MCP-oriented coordination flows.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  "skills"
41
41
  ],
42
42
  "dependencies": {
43
- "@sentropic/h2a": "^0.3.0"
43
+ "@sentropic/h2a": "^0.3.1"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public"
@@ -15,6 +15,7 @@ When invoked, parse the arguments and dispatch to the matching subcommand below.
15
15
  /h2a send <peer> "<text>" → put a message envelope in a peer's inbox
16
16
  /h2a receive → read this agent's inbox and react to new envelopes
17
17
  /h2a negotiate <verb> ... → drive a negotiation lifecycle (open|offer|sign|stabilize)
18
+ /h2a model "<situation>" → propose a tailored h2a model for an org/situation
18
19
  /h2a disconnect → cleanly close the current session
19
20
  /h2a help → print this command map
20
21
  ```
@@ -116,6 +117,30 @@ Drive a step of the h2a negotiation lifecycle. The subverb is one of:
116
117
 
117
118
  For each verb, validate the required arguments, surface any tool error verbatim, and print a one-line confirmation with the latest journal entry id.
118
119
 
120
+ ### `/h2a model "<situation>"`
121
+
122
+ Propose a **tailored h2a model** for a free-form organization or situation (e.g. *"a hospital coordinating with insurers and a regulator"*, *"a 3-team scaled-agile delivery with AI agents"*). This is an **advisory mapping**, not a protocol action — it emits a design, it does not write to the store.
123
+
124
+ Method (follow it faithfully — do not invent vocabulary):
125
+
126
+ 1. **Ground in the canonical model first.** Read `VOCABULARY.md` for the frozen roles (`PRINCIPAL`, `EXECUTIF`, `CONDUCTOR`, `AGENTS`, `CONTROL`, `MANDATAIRE`) and substrate (`SCOPE`, `CONTRACT`, `POLICY`, `ENGAGEMENT`, `MANDATE`, `SLOT`, `BINDING`, `NEGOTIATION`, `AUTHORITY`), and skim `evaluations/README.md` (the common grid) plus the closest existing use-case in `evaluations/` (A enterprise, B ecosystem, C government, D 15-conductors, E agentic squad). Reuse their patterns; do not coin new roles or artifacts.
127
+ 2. **Map the situation** against the common grid: actors→roles, scopes, authority/mandate/signature, CONTRACT vs ENGAGEMENT vs POLICY, obligations/rights/clauses, controls, escalations, audit, deadlocks/precedence, gaps.
128
+ 3. **Respect the invariants** (these are load-bearing):
129
+ - A `SCOPE` never signs; a **mandated INSTANCE** signs for a party/scope.
130
+ - `ENGAGEMENT` *has* a scope — it is **not** the scope. Name both.
131
+ - Anything that must be *owned* needs a `PRINCIPAL` (e.g. architecture ownership) — `CONTROL` only audits/vetoes, it owns nothing.
132
+ - `POLICY` is a durable rule (standalone *or* a clause of a CONTRACT); prefer expressing rules as engagement clauses unless they are cross-cutting/imposed.
133
+ - Delegated AI agents are `AGENTS` (or `SUBAGENTS`, parent-addressed) via `MANDATE`+`BINDING`, default **execution-only / non-signing**.
134
+ - `MANDATAIRE` presents/records, never judges; escalation targets the scope's competent authority.
135
+ 4. **Output**, mirroring the `evaluations/*.md` structure:
136
+ - a **Mermaid diagram** of roles/scopes/contract flows;
137
+ - a **mapping table** (real element → h2a construct → note);
138
+ - **contracts vs policies**, a multi-actor case, **gaps**, and a one-paragraph **compatibility hypothesis**;
139
+ - the **nearest built-in profile** id (`A_ENTERPRISE` / `B_ECOSYSTEM` / `C_GOVERNMENT_CITIZEN` / `D_SAFE`) and how the situation differs from it.
140
+ 5. **Offer to persist**: ask whether to save the proposal as a new `evaluations/<slug>.md` (same format) for review. Only write the file if the user agrees.
141
+
142
+ Keep it a proposal: surface assumptions and the genuine design forks (e.g. one scope with co-principals vs sub-scopes) rather than silently deciding them.
143
+
119
144
  ### `/h2a disconnect`
120
145
 
121
146
  Cleanly close the current session.