@connexum/ai-governance 1.0.0-beta.21 → 1.0.0-beta.23

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 (51) hide show
  1. package/dist/cli/agent-dir-scanner.d.ts +32 -0
  2. package/dist/cli/agent-dir-scanner.d.ts.map +1 -1
  3. package/dist/cli/agent-dir-scanner.js +52 -0
  4. package/dist/cli/agent-dir-scanner.js.map +1 -1
  5. package/dist/cli/governance-md-renderer.d.ts +50 -0
  6. package/dist/cli/governance-md-renderer.d.ts.map +1 -0
  7. package/dist/cli/governance-md-renderer.js +185 -0
  8. package/dist/cli/governance-md-renderer.js.map +1 -0
  9. package/dist/cli/governance-projection-writer.d.ts +88 -0
  10. package/dist/cli/governance-projection-writer.d.ts.map +1 -0
  11. package/dist/cli/governance-projection-writer.js +291 -0
  12. package/dist/cli/governance-projection-writer.js.map +1 -0
  13. package/dist/cli/index.d.ts +85 -0
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +343 -2
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/per-folder-identity.d.ts +79 -0
  18. package/dist/cli/per-folder-identity.d.ts.map +1 -0
  19. package/dist/cli/per-folder-identity.js +321 -0
  20. package/dist/cli/per-folder-identity.js.map +1 -0
  21. package/dist/cli/sync.d.ts +193 -0
  22. package/dist/cli/sync.d.ts.map +1 -0
  23. package/dist/cli/sync.js +1094 -0
  24. package/dist/cli/sync.js.map +1 -0
  25. package/dist/cli/wrap-shim-generator.d.ts +33 -0
  26. package/dist/cli/wrap-shim-generator.d.ts.map +1 -1
  27. package/dist/cli/wrap-shim-generator.js +93 -8
  28. package/dist/cli/wrap-shim-generator.js.map +1 -1
  29. package/dist/esm/cli/agent-dir-scanner.js +52 -0
  30. package/dist/esm/cli/agent-dir-scanner.js.map +1 -1
  31. package/dist/esm/cli/governance-md-renderer.js +182 -0
  32. package/dist/esm/cli/governance-md-renderer.js.map +1 -0
  33. package/dist/esm/cli/governance-projection-writer.js +253 -0
  34. package/dist/esm/cli/governance-projection-writer.js.map +1 -0
  35. package/dist/esm/cli/index.js +343 -3
  36. package/dist/esm/cli/index.js.map +1 -1
  37. package/dist/esm/cli/per-folder-identity.js +283 -0
  38. package/dist/esm/cli/per-folder-identity.js.map +1 -0
  39. package/dist/esm/cli/sync.js +1054 -0
  40. package/dist/esm/cli/sync.js.map +1 -0
  41. package/dist/esm/cli/wrap-shim-generator.js +92 -8
  42. package/dist/esm/cli/wrap-shim-generator.js.map +1 -1
  43. package/dist/esm/governance/governance-projection-canonical.js +101 -0
  44. package/dist/esm/governance/governance-projection-canonical.js.map +1 -0
  45. package/dist/governance/governance-projection-canonical.d.ts +104 -0
  46. package/dist/governance/governance-projection-canonical.d.ts.map +1 -0
  47. package/dist/governance/governance-projection-canonical.js +141 -0
  48. package/dist/governance/governance-projection-canonical.js.map +1 -0
  49. package/dist/hooks/audit-logger.sh +108 -10
  50. package/package.json +1 -1
  51. package/src/hooks/audit-logger.sh +108 -10
@@ -40,6 +40,38 @@ export interface DetectedAgent {
40
40
  tools?: string[];
41
41
  /** Declared MCP server URIs/ids from a manifest.json. Safe metadata. */
42
42
  mcpServers?: string[];
43
+ /** Exact model id string from the manifest (e.g. 'claude-3-5-sonnet-20241022'). */
44
+ model_identifier?: string;
45
+ /** Declared agent version string. */
46
+ version?: string;
47
+ /** Declared business vertical (e.g. 'healthcare'). */
48
+ vertical?: string;
49
+ /** Declared egress allow-list (domain patterns). */
50
+ allowed_domains?: string[];
51
+ /** Per-tool detail when manifest tools are declared as objects. */
52
+ toolDetails?: Array<{
53
+ name: string;
54
+ scope?: string;
55
+ data_class?: string;
56
+ }>;
57
+ /** Declared concurrency bound. */
58
+ max_concurrent_actions?: number;
59
+ /**
60
+ * Pre-existing passport id declared in the manifest. Flows through to
61
+ * register-fleet's identity-reuse logic:
62
+ * - FORMAT-MATCHES /^[0-9a-f]{64}$/ → ADOPTED as the agent's passportId.
63
+ * - Does NOT match → mint fresh; bind as external_identity_references entry.
64
+ */
65
+ passport_id?: string;
66
+ /**
67
+ * Pre-existing registration id declared in the manifest (may also appear as
68
+ * `agent_id`). Flows through to register-fleet's identity-reuse logic:
69
+ * - FORMAT-MATCHES /^agent-[0-9a-f]{8}$/ → ADOPTED as the agentId.
70
+ * - Does NOT match → mint fresh; bind as external_identity_references entry.
71
+ */
72
+ registration_id?: string;
73
+ /** Alias for registration_id — same adopt-vs-bind semantics. */
74
+ agent_id?: string;
43
75
  }
44
76
  /**
45
77
  * Recursively scan `dirPath` for Python / TS / JS files that contain AI
@@ -1 +1 @@
1
- {"version":3,"file":"agent-dir-scanner.d.ts","sourceRoot":"","sources":["../../src/cli/agent-dir-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAqYD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,UAA6B,GACpC,aAAa,EAAE,CAIjB"}
1
+ {"version":3,"file":"agent-dir-scanner.d.ts","sourceRoot":"","sources":["../../src/cli/agent-dir-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAOtB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mEAAmE;IACnE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,kCAAkC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAwbD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,UAA6B,GACpC,aAAa,EAAE,CAIjB"}
@@ -59,6 +59,11 @@ const SKIPPED_DIRS = new Set([
59
59
  'build',
60
60
  '.venv',
61
61
  'venv',
62
+ // Write-back RFC §10.E amendment 14 (Kai, defensive): the platform-generated
63
+ // .connexum/ files (identity/passport/governance projections) are OUTPUTS —
64
+ // the scanner must never ingest them as agent source, or the projection
65
+ // could inflate the score that generated it (self-licking loop).
66
+ '.connexum',
62
67
  ]);
63
68
  const PYTHON_EXTS = new Set(['.py']);
64
69
  const TS_EXTS = new Set(['.ts', '.tsx', '.js', '.mjs', '.jsx']);
@@ -304,6 +309,42 @@ function parseAgentManifestJson(relPath, text) {
304
309
  .slice(0, 200);
305
310
  return out.length > 0 ? out : undefined;
306
311
  };
312
+ // IDENTITY-REUSE (Thomas 2026-06-09): capture declared identity fields from
313
+ // the manifest so they flow through to register-fleet's adopt-vs-bind logic.
314
+ // Bounded to 200 chars to prevent bloat; never throws (Invariant 10).
315
+ const safeId = (v) => {
316
+ const s = typeof v === 'string' ? v.trim().slice(0, 200) : '';
317
+ return s.length > 0 ? s : undefined;
318
+ };
319
+ // TS-008 lossless capture (ticket A2): caps mirror the server-side
320
+ // FleetAgentInput validation so payloads can't bloat.
321
+ const safeStr = (v, max) => {
322
+ const s = typeof v === 'string' ? v.trim().slice(0, max) : '';
323
+ return s.length > 0 ? s : undefined;
324
+ };
325
+ const safeCount = (v) => typeof v === 'number' && Number.isFinite(v) && v >= 0 ? Math.trunc(v) : undefined;
326
+ const toToolDetailList = (v) => {
327
+ if (!Array.isArray(v))
328
+ return undefined;
329
+ const out = [];
330
+ for (const item of v) {
331
+ if (!item || typeof item !== 'object' || Array.isArray(item))
332
+ continue;
333
+ const t = item;
334
+ const toolName = typeof t['name'] === 'string' ? t['name'].trim().slice(0, 200) : '';
335
+ if (!toolName)
336
+ continue;
337
+ const detail = { name: toolName };
338
+ if (typeof t['scope'] === 'string')
339
+ detail.scope = t['scope'].trim().slice(0, 200);
340
+ if (typeof t['data_class'] === 'string')
341
+ detail.data_class = t['data_class'].trim().slice(0, 50);
342
+ out.push(detail);
343
+ if (out.length >= 200)
344
+ break;
345
+ }
346
+ return out.length > 0 ? out : undefined;
347
+ };
307
348
  return {
308
349
  agentId: stableId(relPath, `manifest:${name}`),
309
350
  filePath: relPath,
@@ -317,6 +358,17 @@ function parseAgentManifestJson(relPath, text) {
317
358
  fromManifest: true,
318
359
  tools: toStringList(obj['tools']),
319
360
  mcpServers: toStringList(obj['mcp_servers'] ?? obj['mcpServers']),
361
+ // TS-008 lossless capture (ticket A2)
362
+ model_identifier: safeStr(obj['model_identifier'], 200),
363
+ version: safeStr(obj['version'], 100),
364
+ vertical: safeStr(obj['vertical'], 100),
365
+ allowed_domains: toStringList(obj['allowed_domains']),
366
+ toolDetails: toToolDetailList(obj['tools']),
367
+ max_concurrent_actions: safeCount(obj['max_concurrent_actions']),
368
+ // Identity fields (IDENTITY-REUSE)
369
+ passport_id: safeId(obj['passport_id']),
370
+ registration_id: safeId(obj['registration_id']),
371
+ agent_id: safeId(obj['agent_id']),
320
372
  };
321
373
  }
322
374
  function walkDir(dirPath, baseDir, results, budget, depth) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-dir-scanner.js","sourceRoot":"","sources":["../../src/cli/agent-dir-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-dir-scanner.js","sourceRoot":"","sources":["../../src/cli/agent-dir-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * GOVERNANCE.md renderer — write-back RFC F3 (§3.2, §10.A amendments 1-3).
3
+ *
4
+ * Deterministic rendering of the governance.json projection for humans and for
5
+ * LLM agents that load folder context: who the agent is, what binds it, what it
6
+ * must not do, what requires approval, what is monitored, and its TAC Score
7
+ * with what would improve it.
8
+ *
9
+ * NORMATIVE content-security rules (Shield HIGH-1 + Vera C-4 — reviewers
10
+ * reject violations):
11
+ * - NO portal free-text is ever rendered. Rule lines use structured fields
12
+ * only (capability, action, packId, overrideId). justification/approver
13
+ * never appear (they are not even present in the projection wire format —
14
+ * this renderer is the second fence).
15
+ * - Every file carries: the generated-file header (do-not-edit, generatedAt,
16
+ * staleAfter, rationaleUrl, "edit on the portal then run sync"); the
17
+ * "What this file is and is not" disclaimer; the pack-coverage caveat after
18
+ * rule lists; pack-SOURCED framing ("Rules from pack X:" — never "Your
19
+ * HIPAA obligations:").
20
+ * - Determinism: no timestamps generated here — generatedAt/staleAfter come
21
+ * from the projection object, so render(input) is a pure function (Stern
22
+ * renderer-determinism gate).
23
+ *
24
+ * @connexum/ai-governance governance-writeback-f3
25
+ */
26
+ import type { ProjectionPolicyBody } from '../governance/governance-projection-canonical.js';
27
+ /** Score summary as delivered by GET /api/v1/cli/agent-governance. */
28
+ export interface RenderScoreSummary {
29
+ tacScore: number | null;
30
+ band: string;
31
+ awardedBand: string | null;
32
+ components: Record<string, number> | null;
33
+ openFindings: Array<{
34
+ id: string;
35
+ severity: string | null;
36
+ title: string;
37
+ }>;
38
+ scoreComputedAt: string | null;
39
+ rationaleUrl: string;
40
+ }
41
+ /** Everything the renderer needs — mirrors the governance.json file object. */
42
+ export interface GovernanceMdInput {
43
+ policy: ProjectionPolicyBody;
44
+ score: RenderScoreSummary;
45
+ generatedAt: string;
46
+ staleAfter: string;
47
+ effectiveGovernanceVersion: string;
48
+ }
49
+ export declare function renderGovernanceMd(input: GovernanceMdInput): string;
50
+ //# sourceMappingURL=governance-md-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-md-renderer.d.ts","sourceRoot":"","sources":["../../src/cli/governance-md-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,kDAAkD,CAAC;AAE1D,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1C,YAAY,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAiCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAqInE"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ /**
3
+ * GOVERNANCE.md renderer — write-back RFC F3 (§3.2, §10.A amendments 1-3).
4
+ *
5
+ * Deterministic rendering of the governance.json projection for humans and for
6
+ * LLM agents that load folder context: who the agent is, what binds it, what it
7
+ * must not do, what requires approval, what is monitored, and its TAC Score
8
+ * with what would improve it.
9
+ *
10
+ * NORMATIVE content-security rules (Shield HIGH-1 + Vera C-4 — reviewers
11
+ * reject violations):
12
+ * - NO portal free-text is ever rendered. Rule lines use structured fields
13
+ * only (capability, action, packId, overrideId). justification/approver
14
+ * never appear (they are not even present in the projection wire format —
15
+ * this renderer is the second fence).
16
+ * - Every file carries: the generated-file header (do-not-edit, generatedAt,
17
+ * staleAfter, rationaleUrl, "edit on the portal then run sync"); the
18
+ * "What this file is and is not" disclaimer; the pack-coverage caveat after
19
+ * rule lists; pack-SOURCED framing ("Rules from pack X:" — never "Your
20
+ * HIPAA obligations:").
21
+ * - Determinism: no timestamps generated here — generatedAt/staleAfter come
22
+ * from the projection object, so render(input) is a pure function (Stern
23
+ * renderer-determinism gate).
24
+ *
25
+ * @connexum/ai-governance governance-writeback-f3
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.renderGovernanceMd = renderGovernanceMd;
29
+ /** Human label for a finding severity (null-safe). */
30
+ function sev(s) {
31
+ return mdInline(s ? s.toUpperCase() : 'INFO');
32
+ }
33
+ /**
34
+ * Shield Condition-1 (PR #1716 review): GOVERNANCE.md is loaded as LLM agent
35
+ * context, so server-supplied strings must not be able to open a new markdown
36
+ * block (heading/bullet/code fence) or inject multi-line instructions.
37
+ * Newlines and control characters collapse to a single space — an inline
38
+ * `#`/`-`/backtick mid-line has no structural meaning in markdown.
39
+ */
40
+ function mdInline(s) {
41
+ // eslint-disable-next-line no-control-regex -- stripping control chars is the point
42
+ return s.replace(/[\r\n\u0000-\u001f]+/g, ' ').trim();
43
+ }
44
+ /** Inline-neutralized AND backtick-wrapped token (backticks inside stripped
45
+ * so the wrap cannot be closed early). */
46
+ function mdToken(s) {
47
+ return '`' + mdInline(s).replace(/`/g, "'") + '`';
48
+ }
49
+ const COMPONENT_LABELS = {
50
+ build_structure: 'Build & structure hardening',
51
+ pack_rule_adherence: 'Compliance-pack rule adherence',
52
+ compliance_coverage: 'Compliance coverage',
53
+ human_input_compliance: 'Human-input compliance',
54
+ behavioral_baseline: 'Behavioral baseline',
55
+ };
56
+ function renderGovernanceMd(input) {
57
+ const { policy, score } = input;
58
+ const lines = [];
59
+ // ---- Generated-file header (amendment 3) ----
60
+ lines.push(`<!-- GENERATED FILE — DO NOT EDIT BY HAND.`);
61
+ lines.push(` Edit governance on the portal, then run \`ai-governance sync\`.`);
62
+ lines.push(` generatedAt: ${input.generatedAt}`);
63
+ lines.push(` staleAfter: ${input.staleAfter}`);
64
+ lines.push(` projection: ${mdInline(input.effectiveGovernanceVersion)} -->`);
65
+ lines.push('');
66
+ lines.push(`# Governance — ${mdInline(policy.role.name)}`);
67
+ lines.push('');
68
+ lines.push(`> Generated ${input.generatedAt} · stale after **${input.staleAfter}** · `);
69
+ lines.push(`> Full score rationale: ${mdInline(score.rationaleUrl)}`);
70
+ lines.push('');
71
+ // ---- "What this file is and is not" (Vera C-4) ----
72
+ lines.push(`## What this file is — and is not`);
73
+ lines.push('');
74
+ lines.push(`This is a **point-in-time projection** of the governance configured for this`);
75
+ lines.push(`agent on the Connexum portal. It exists so the agent (and its operators) can`);
76
+ lines.push(`see its roles, what is monitored, what it can and cannot do, and why its TAC`);
77
+ lines.push(`Score is what it is. It is **not** an audit record, **not** a certification,`);
78
+ lines.push(`**not** legal advice, and **not** a complete statement of any regulatory`);
79
+ lines.push(`obligation. The server remains the policy authority; this file informs, it`);
80
+ lines.push(`never enforces. If it is past its stale-after date, run \`ai-governance sync\`.`);
81
+ lines.push('');
82
+ // ---- Who you are ----
83
+ lines.push(`## Who you are`);
84
+ lines.push('');
85
+ lines.push(`- **Name:** ${mdInline(policy.role.name)}`);
86
+ lines.push(`- **Server agent id:** ${mdToken(policy.agentId)}`);
87
+ if (policy.role.vertical)
88
+ lines.push(`- **Vertical:** ${mdInline(policy.role.vertical)}`);
89
+ if (policy.role.riskTier)
90
+ lines.push(`- **Risk tier:** ${mdInline(policy.role.riskTier)}`);
91
+ lines.push('');
92
+ // ---- What binds you (pack-sourced framing, amendment 3) ----
93
+ lines.push(`## What binds you`);
94
+ lines.push('');
95
+ if (policy.boundPacks.length === 0) {
96
+ lines.push(`No compliance packs are bound to this agent.`);
97
+ }
98
+ else {
99
+ for (const p of policy.boundPacks) {
100
+ lines.push(`- Rules from pack ${mdToken(p.packId)} (criticality: ${mdInline(p.criticality)})`);
101
+ }
102
+ lines.push('');
103
+ lines.push(`*The bound packs above are the rule sets configured for this agent on the`);
104
+ lines.push(`portal. They are **not the complete set of obligations under any framework** —`);
105
+ lines.push(`coverage is limited to the rules each pack encodes.*`);
106
+ }
107
+ lines.push('');
108
+ // ---- What you must not do (structured fields ONLY) ----
109
+ lines.push(`## What you must not do`);
110
+ lines.push('');
111
+ if (policy.forbiddenCapabilities.length === 0) {
112
+ lines.push(`No capabilities are currently forbidden by rule overrides or bound packs.`);
113
+ }
114
+ else {
115
+ for (const f of policy.forbiddenCapabilities) {
116
+ lines.push(`- ${mdToken(f.capability)} — ${mdInline(f.action)} (source: ${mdToken(f.source)})`);
117
+ }
118
+ }
119
+ lines.push('');
120
+ // ---- What requires approval ----
121
+ lines.push(`## What requires human approval`);
122
+ lines.push('');
123
+ if (policy.approvalGates.length === 0) {
124
+ lines.push(`No capabilities currently require human approval.`);
125
+ }
126
+ else {
127
+ for (const g of policy.approvalGates) {
128
+ lines.push(`- ${mdToken(g.capability)} — requires approval before execution (source: ${mdToken(g.source)})`);
129
+ }
130
+ }
131
+ lines.push('');
132
+ // ---- What is monitored ----
133
+ lines.push(`## What is monitored`);
134
+ lines.push('');
135
+ const h = policy.monitoring.hooks;
136
+ lines.push(`- PreToolUse hook: ${h.preToolUse ? 'wired' : 'not wired'}`);
137
+ lines.push(`- PostToolUse hook: ${h.postToolUse ? 'wired' : 'not wired'}`);
138
+ lines.push(`- PostResponse hook: ${h.postResponse ? 'wired' : 'not wired'}`);
139
+ lines.push(policy.monitoring.signals.length > 0
140
+ ? `- Signal classes emitted: ${policy.monitoring.signals.map((s) => mdToken(s)).join(', ')}`
141
+ : `- Signal classes emitted: none (no hooks wired — runtime activity is not being reported)`);
142
+ if (policy.allowedDomains.length > 0) {
143
+ lines.push(`- Declared egress allow-list: ${policy.allowedDomains.map((d) => mdToken(d)).join(', ')}`);
144
+ }
145
+ if (policy.maxConcurrentActions !== null) {
146
+ lines.push(`- Declared concurrency bound: ${policy.maxConcurrentActions}`);
147
+ }
148
+ lines.push('');
149
+ // ---- Your TAC Score and why (Shield MED-3: unscored is explicit) ----
150
+ lines.push(`## Your TAC Score — and why`);
151
+ lines.push('');
152
+ if (score.band === 'unscored' || score.tacScore === null) {
153
+ lines.push(`**This agent has not been scored yet.** A TAC Score is computed once the`);
154
+ lines.push(`agent has a passport and the scoring engine has processed its posture.`);
155
+ if (score.awardedBand) {
156
+ lines.push(`Its build-axis assessment currently grades **${mdInline(score.awardedBand)}**.`);
157
+ }
158
+ }
159
+ else {
160
+ lines.push(`**TAC Score: ${score.tacScore} (${mdInline(score.band)})**` +
161
+ (score.scoreComputedAt ? ` — computed ${mdInline(score.scoreComputedAt)}` : ''));
162
+ if (score.components) {
163
+ const ranked = Object.entries(score.components).sort(([, a], [, b]) => a - b);
164
+ if (ranked.length > 0) {
165
+ lines.push('');
166
+ lines.push(`Weakest components (improving these raises the score most):`);
167
+ for (const [key, value] of ranked.slice(0, 3)) {
168
+ lines.push(`- ${mdInline(COMPONENT_LABELS[key] ?? key)}: ${Math.round(value * 1000) / 1000}`);
169
+ }
170
+ }
171
+ }
172
+ }
173
+ if (score.openFindings.length > 0) {
174
+ lines.push('');
175
+ lines.push(`Open findings (each one resolved improves the score):`);
176
+ for (const f of score.openFindings) {
177
+ lines.push(`- **${mdInline(f.id)}** [${sev(f.severity)}] ${mdInline(f.title)}`);
178
+ }
179
+ }
180
+ lines.push('');
181
+ lines.push(`*Scores are point-in-time. The portal is authoritative: ${mdInline(score.rationaleUrl)}*`);
182
+ lines.push('');
183
+ return lines.join('\n');
184
+ }
185
+ //# sourceMappingURL=governance-md-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-md-renderer.js","sourceRoot":"","sources":["../../src/cli/governance-md-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Governance-projection writer — write-back RFC F2 (§3.1, §4, §10.C).
3
+ *
4
+ * The downward half of the loop: after the identity/token passes, `sync`
5
+ * fetches each agent's effective-governance projection from
6
+ * GET /api/v1/cli/agent-governance and writes
7
+ *
8
+ * <agent>/.connexum/governance.json machine-readable projection (3.1)
9
+ * <agent>/.connexum/GOVERNANCE.md human/LLM-readable rendering (3.2)
10
+ *
11
+ * Both files are DERIVED, REGENERABLE, SECRET-FREE — safe to commit, never
12
+ * hand-edited.
13
+ *
14
+ * File semantics (normative, §10.C):
15
+ * - All writes are atomic (temp → renameSync). No chmod — non-secret.
16
+ * - checksum covers the canonical POLICY body only (shared module —
17
+ * generatedAt/score/version/staleAfter excluded), so a score refresh or
18
+ * re-sync of unchanged policy never perturbs hand-edit detection.
19
+ * - Existing file whose stored checksum mismatches its own body ⇒ HAND-EDITED
20
+ * ⇒ WARN + skip, never clobber (W4). An ABSENT file (user deleted) is
21
+ * written fresh without WARN — absent ≠ hand-edited.
22
+ * - Unchanged policy (new checksum === pristine existing checksum) ⇒ skip the
23
+ * rewrite entirely: byte-identical files (W6) and generatedAt keeps meaning
24
+ * "when the policy last changed".
25
+ * - Fetch failure ⇒ caller never reaches the writer ⇒ prior files retained
26
+ * (Invariant 2 — never delete on failure).
27
+ *
28
+ * Traversal guard is REUSED from per-folder-identity.ts (Shield S-W2) — the
29
+ * same realpath-compared guard B1 writes identities through.
30
+ *
31
+ * @connexum/ai-governance governance-writeback-f2
32
+ */
33
+ import { type ProjectionPolicyBody } from '../governance/governance-projection-canonical.js';
34
+ import { type RenderScoreSummary } from './governance-md-renderer.js';
35
+ /** One agent's projection as delivered by GET /api/v1/cli/agent-governance. */
36
+ export interface FetchedAgentGovernance {
37
+ agentId: string;
38
+ effectiveGovernance: ProjectionPolicyBody;
39
+ scoreSummary: RenderScoreSummary;
40
+ projectionVersion: string;
41
+ }
42
+ export interface FetchAgentGovernanceResult {
43
+ agents: FetchedAgentGovernance[] | null;
44
+ staleAfterDays?: number;
45
+ error?: string;
46
+ }
47
+ /**
48
+ * Fetch the batch governance projection. Same transport posture as the token
49
+ * fetch in sync.ts: HTTPS via curl, Authorization in a 0600 tmpfile (never on
50
+ * argv), NEVER throws — server unreachable returns {agents:null} and the
51
+ * caller leaves prior files intact (Invariant 2/3).
52
+ */
53
+ export declare function fetchAgentGovernance(govServerUrl: string, installToken: string, timeoutSec?: number): FetchAgentGovernanceResult;
54
+ /** Writer input: one fetched projection joined to the agent's local filePath. */
55
+ export interface GovernanceProjectionFileInput extends FetchedAgentGovernance {
56
+ /** The agent's scanned file path (relative to project root, from agents[]). */
57
+ filePath: string;
58
+ }
59
+ export interface WriteGovernanceProjectionsOptions {
60
+ /** Timestamp stamped into newly-written files (caller supplies — keeps the writer pure). */
61
+ generatedAt?: string;
62
+ /** Staleness window in days (server-supplied; default 7, capped 30 — amendment 9). */
63
+ staleAfterDays?: number;
64
+ /** Advisory sink (default console.warn). */
65
+ warn?: (msg: string) => void;
66
+ }
67
+ export interface WriteGovernanceProjectionsResult {
68
+ /** agentIds whose files were (re)written. */
69
+ written: string[];
70
+ /** agentIds left untouched because the policy is unchanged (byte-identical). */
71
+ unchanged: string[];
72
+ /** agentIds skipped, with reason (hand-edit, traversal, write failure). */
73
+ skipped: Array<{
74
+ agentId: string;
75
+ reason: string;
76
+ }>;
77
+ }
78
+ /**
79
+ * Write governance.json + GOVERNANCE.md into each agent's .connexum/ folder.
80
+ * Never throws (Invariant 2): every failure is a per-agent skip + advisory.
81
+ */
82
+ export declare function writeGovernanceProjections(projectDir: string, inputs: GovernanceProjectionFileInput[], opts?: WriteGovernanceProjectionsOptions): WriteGovernanceProjectionsResult;
83
+ /**
84
+ * Sanity re-export so callers can verify a projection version locally without
85
+ * importing the canonical module path directly.
86
+ */
87
+ export declare function computeLocalProjectionVersion(policy: ProjectionPolicyBody): string;
88
+ //# sourceMappingURL=governance-projection-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-projection-writer.d.ts","sourceRoot":"","sources":["../../src/cli/governance-projection-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAQH,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,UAAU,SAAK,GACd,0BAA0B,CA6E5B;AAED,iFAAiF;AACjF,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iCAAiC;IAChD,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAgC;IAC/C,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gFAAgF;IAChF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2EAA2E;IAC3E,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AA2BD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,6BAA6B,EAAE,EACvC,IAAI,GAAE,iCAAsC,GAC3C,gCAAgC,CAuFlC;AAaD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAElF"}