@integrity-labs/agt-cli 0.28.1003 → 0.28.1005

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.
@@ -756,7 +756,7 @@ Route durable work by what it is:
756
756
  | A one-shot reminder or single future run | Scheduled task | \`mcp__augmented__schedule_create\` |
757
757
  ${workflowRow}| A dashboard or refreshable report surface | Console dashboard | \`dashboards_upsert\` - see \xA7 Dashboards |
758
758
  | Facts, preferences, session context | Memory | your memory files - see \xA7 Memory (there, local files ARE the canonical store by design) |
759
- | Code in a cloned repository | Git | commit and push under \`~/code/\` - see \xA7 Development Workflow |
759
+ | Code in a cloned repository | Git | commit and push from \`../code/\` - see \xA7 Development Workflow |
760
760
 
761
761
  Boundaries, so this rule never blocks real work:
762
762
 
@@ -1623,10 +1623,11 @@ in \`project/\`, commit it, or publish it as an artefact.
1623
1623
 
1624
1624
  ## Development Workflow
1625
1625
 
1626
- Clone repositories under \`~/code/\`, keeping your workspace separate from agent
1627
- config files. For code tasks always use **git worktrees** rather than switching
1628
- branches, so parallel work never disrupts running services, other agents, or the
1629
- main checkout:
1626
+ Clone repositories in \`../code/\` (sibling of \`project/\`), **not \`~/code/\`**
1627
+ (destroyed on a container rebuild).
1628
+
1629
+ Always use **git worktrees** rather than switching branches, so parallel work
1630
+ never disrupts services, other agents, or the main checkout:
1630
1631
 
1631
1632
  1. \`git worktree add ../repo-issue-name -b feature/issue-name origin/main\`
1632
1633
  2. Work in the worktree \u2014 the main repo stays on its current branch.
@@ -3153,6 +3154,52 @@ var INTEGRATION_REGISTRY = [
3153
3154
  }]
3154
3155
  }
3155
3156
  },
3157
+ {
3158
+ // ENG-10854 / ADR-0110. The POLICY half of the catalog definition: this
3159
+ // registry is what `isPremiumDefinition` reads, so the premium descriptor
3160
+ // here is what makes the per-org opt-in required at all. The CUSTOMER-FACING
3161
+ // half - the seeded `integration_definitions` row that the Add Integration
3162
+ // picker lists - is deliberately NOT in this change. `/integrations/installs`
3163
+ // reads the DB catalog with a status filter; this registry is not a listing.
3164
+ //
3165
+ // The order matters and is not bookkeeping: `isOrgEntitledToPremium` returns
3166
+ // TRUE for a definition it does not know as premium, because a free
3167
+ // integration has no opt-in concept. So a broker shipped ahead of this entry
3168
+ // would serve an org that had never opted in. The broker additionally fails
3169
+ // closed on `isPremiumDefinition` being false, so the two halves cannot come
3170
+ // apart in that direction either.
3171
+ id: "typed-evaluation",
3172
+ name: "Typed Evaluation",
3173
+ category: "knowledge",
3174
+ description: "Ask closed questions about a piece of text and get calibrated answers back \u2014 yes/no, pick-one, or a position on your own scale \u2014 with a probability for each. It never writes text and cannot answer outside the set of options you give it, which is what makes it safe to point at content you do not trust. Typical uses: is this message a repeat request, which category does this belong to, how urgent does this sound. Answers arrive in about half a second, so an agent can branch on one without spending a model turn.",
3175
+ // No customer credential exists: the call runs on Ninjafy's own gateway key.
3176
+ supported_auth_types: ["none"],
3177
+ capabilities: [
3178
+ {
3179
+ id: "typed-evaluation:evaluate",
3180
+ name: "Evaluate Text",
3181
+ description: "Ask closed questions about text the agent already holds and receive typed answers with probabilities (evaluate_text).",
3182
+ access: "read"
3183
+ }
3184
+ ],
3185
+ beta: true,
3186
+ // ENG-8842's `included`, and the reason is the consent dialog rather than
3187
+ // the price. `pricing` drives the org admin's acknowledgement modal, where
3188
+ // `usage` renders as "manages and bills by usage" and `monthly` as a
3189
+ // subscription. Both would be false statements here: a call costs about
3190
+ // $0.000076 and nothing is metered or billed, so the opt-in exists to record
3191
+ // a decision about a SUB-PROCESSOR, not about money.
3192
+ //
3193
+ // ADR-0110 Decision 11 keeps the door open deliberately: if a genuinely
3194
+ // high-volume capability arrives later - bulk classification of a customer's
3195
+ // own corpus - it is priced at THAT capability's grain and this definition
3196
+ // stays `included`. Ninja Notes is the precedent (ENG-9278): it acquired a
3197
+ // metered capability and did not flip.
3198
+ premium: {
3199
+ pricing: "included",
3200
+ note: "Typed evaluation is included in your plan \u2014 nothing is metered per question. Turning it on is a decision about data, not cost: the text an agent asks about is sent to Typesafe, through our own gateway, to be scored. It is never used to train a model and we store only the answers, never the text."
3201
+ }
3202
+ },
3156
3203
  {
3157
3204
  // Ninja Notes (ADR-0063, ENG-8842). Meeting capture on the user's own Mac,
3158
3205
  // delivered to an agent as a tag-granted note the agent reads and summarises.
@@ -6273,6 +6320,33 @@ var FLAG_REGISTRY = [
6273
6320
  // "these hosts are unreadable". Both outlive this particular version.
6274
6321
  since: "0.28.667"
6275
6322
  },
6323
+ {
6324
+ // ADR-0110 Decision 5 (ENG-10854). Gates PLATFORM-INTERNAL consumers of the
6325
+ // typed evaluation capability - inbound triage, kanban classification,
6326
+ // memory-extraction sensitivity gating, and later the conversation
6327
+ // evaluator. Nobody "installs" those; they are ours, so they are gated
6328
+ // centrally.
6329
+ //
6330
+ // IT DOES NOT GATE THE AGENT TOOL, and that separation is the point. The
6331
+ // agent tool's gate is the customer's own premium opt-in plus a per-agent
6332
+ // install (Decision 4). Pointing this flag at the tool as well would give
6333
+ // it two masters and let a staff flag silently override a decision the
6334
+ // customer made about their own data reaching a sub-processor.
6335
+ //
6336
+ // Ships with no readers: the consumers land in later slices, and the flag
6337
+ // exists now so the first of them has a gate to be born behind rather than
6338
+ // acquiring one afterwards.
6339
+ key: "typed-evaluation",
6340
+ description: "ADR-0110: platform-internal consumers of the typed evaluation model (Jev, via our AI Gateway). OFF (default) = no internal consumer calls it; ON = consumers that have shipped may call, each still subject to the per-org quota, per-agent rate limit and audit row enforced in the broker. Does NOT gate the agent-facing tool, which is governed by the premium opt-in and a per-agent install instead. Customer orgs stay off until the Decision 9 vendor gates close (sub-processor listing with DPA coverage, the legal read on emotion inference, and a recorded disclosure).",
6341
+ flagType: "boolean",
6342
+ // Ships dark. Every consumer degrades to its current behaviour when off,
6343
+ // so the safe value and the no-op value are the same one.
6344
+ defaultValue: false,
6345
+ // Turning it on starts sending customer text to an external sub-processor
6346
+ // on paths the customer did not individually opt into, which is exactly the
6347
+ // class ADR-0022 section 4 reserves the confirmation for.
6348
+ sensitive: true
6349
+ },
6276
6350
  {
6277
6351
  key: "conversation-eval-backend",
6278
6352
  description: "Backend for host-side conversation-success scoring AND memory extraction (ENG-6581), which share one scorer: anthropic-api = Haiku via a direct Anthropic Messages API fetch (no subprocess); claude-p = Haiku via the `claude -p` subprocess (reuses the agent auth, effectively free under Max but a heavy spawn); local = an OpenAI-compatible loopback endpoint (transcript never leaves the host). Auth for the anthropic-api path comes from AGT_CONV_EVAL_ANTHROPIC_API_KEY (falls back to ANTHROPIC_API_KEY); with no key that path fails closed (eval disabled) rather than reverting to claude-p. Enum.",
@@ -8547,7 +8621,11 @@ ${toolsList}
8547
8621
  ## Git Workflow
8548
8622
 
8549
8623
  Use **git worktrees** for all feature work. Do not switch branches on the main checkout.
8550
- Store repositories under \`~/code/\` and create worktrees alongside them for parallel tasks.
8624
+ Store repositories in \`../code/\` - the \`code/\` directory beside the agent's \`project/\` working
8625
+ directory, inside the agent's own tree - which is what makes it the agent's to keep. Where this
8626
+ host runs agents in containers that tree is bind-mounted and survives a rebuild, while \`~/code/\`
8627
+ is container-local and is destroyed by one. Create worktrees alongside the checkout for parallel
8628
+ tasks.
8551
8629
  `;
8552
8630
  }
8553
8631
 
@@ -15293,4 +15371,4 @@ export {
15293
15371
  peekCurrentSession,
15294
15372
  readDailySessionPin
15295
15373
  };
15296
- //# sourceMappingURL=chunk-BMDLKZHZ.js.map
15374
+ //# sourceMappingURL=chunk-DVSYT4MU.js.map