nawabari 0.10.1 → 0.10.3

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 (41) hide show
  1. package/README.md +22 -6
  2. package/dist/cli-command-registry.js +28 -7
  3. package/dist/cli-command-registry.js.map +1 -1
  4. package/dist/cli.js +135 -34
  5. package/dist/cli.js.map +1 -1
  6. package/dist/contract.js +29 -2
  7. package/dist/contract.js.map +1 -1
  8. package/dist/domain/doctor.d.ts +7 -0
  9. package/dist/domain/doctor.js +177 -48
  10. package/dist/domain/doctor.js.map +1 -1
  11. package/dist/domain/fhs-development-runtime.d.ts +30 -2
  12. package/dist/domain/fhs-development-runtime.js +121 -5
  13. package/dist/domain/fhs-development-runtime.js.map +1 -1
  14. package/dist/domain/fhs-runtime.js +5 -1
  15. package/dist/domain/fhs-runtime.js.map +1 -1
  16. package/dist/domain/nix-runtime-closure.js +1 -0
  17. package/dist/domain/nix-runtime-closure.js.map +1 -1
  18. package/dist/domain/runtime-profile.js +1 -1
  19. package/dist/domain/runtime-profile.js.map +1 -1
  20. package/dist/domain/runtime-resolution.js +13 -3
  21. package/dist/domain/runtime-resolution.js.map +1 -1
  22. package/dist/domain/sandbox-launcher.js +48 -1
  23. package/dist/domain/sandbox-launcher.js.map +1 -1
  24. package/dist/domain/sandbox.d.ts +17 -1
  25. package/dist/domain/sandbox.js +33 -3
  26. package/dist/domain/sandbox.js.map +1 -1
  27. package/dist/domain/session-backend.d.ts +5 -1
  28. package/dist/domain/session-backend.js +55 -9
  29. package/dist/domain/session-backend.js.map +1 -1
  30. package/dist/domain/session.d.ts +30 -2
  31. package/dist/domain/session.js +9 -0
  32. package/dist/domain/session.js.map +1 -1
  33. package/dist/operation-authorization.d.ts +10 -0
  34. package/dist/operation-authorization.js +12 -1
  35. package/dist/operation-authorization.js.map +1 -1
  36. package/dist/presentation.js +6 -3
  37. package/dist/presentation.js.map +1 -1
  38. package/dist/session-registry.d.ts +15 -3
  39. package/dist/session-registry.js +104 -46
  40. package/dist/session-registry.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ Nawabari is a local governance layer for parallel coding agents. It gives each a
4
4
 
5
5
  It is for teams and tools that need several agents to work in one repository without silently sharing a worktree, overwriting one another's files, or guessing whether a session is safe to close. Nawabari is local-first: the session registry, Git observations, and authorization decisions do not require GitHub, `gh`, a network connection, or a particular agent runtime.
6
6
 
7
- This README describes the current 0.9.x product model. It is an overview and navigation surface, not a copy of generated contracts or implementation history.
7
+ This README describes the current 0.10.x product model. It is an overview and navigation surface, not a copy of generated contracts or implementation history.
8
8
 
9
9
  The product model is intentionally small:
10
10
 
@@ -29,12 +29,12 @@ The package installs both `nawabari` and `git-nawabari`; `git nawabari ...` work
29
29
 
30
30
  ## First session
31
31
 
32
- Run from the repository's integration worktree:
32
+ Run from the repository's integration worktree. `src/example.ts` below is a placeholder path; substitute a real file that exists in your repository.
33
33
 
34
34
  ```bash
35
35
  nawabari capabilities --json
36
36
 
37
- created=$(git nawabari session create --branch feature/example --worktree ../example-worktree --json)
37
+ created=$(git nawabari session create --branch feature/example --json)
38
38
  session_id=$(printf '%s' "$created" | jq -r .session_id)
39
39
  worktree=$(printf '%s' "$created" | jq -r .worktree)
40
40
 
@@ -45,6 +45,8 @@ worktree=$(printf '%s' "$created" | jq -r .worktree)
45
45
  (cd "$worktree" && git nawabari commit --session "$session_id" --all-claimed --message "Update example" --json)
46
46
  ```
47
47
 
48
+ `session create` provisions the new worktree under `<repository-parent>/.nawabari/worktrees` by default (discoverable via `status --json` as `managed_worktree_root`). Nawabari creates that managed subdirectory on first default placement. New exact `--worktree` paths must be under the reported root; an absolute path directly under the repository parent remains accepted for compatibility with older callers and persisted sessions.
49
+
48
50
  `--all-claimed` is an explicit resource selector. It resolves safely observed Git-changed paths covered by qualifying claims; it does not bypass claim authorization. Use repeated `--resource <path>` when an explicit path list is preferable.
49
51
 
50
52
  After reviewing and integrating the session branch:
@@ -88,7 +90,7 @@ session close ←────────────────────
88
90
 
89
91
  If work is not integrated, `session inspect` reports bounded blockers and safe next actions. Discard is never an implicit fallback for close or garbage collection.
90
92
 
91
- The Session lifecycle is backed by the executable XState authority in 0.9.x and exposed through public state, contract, and manifest projections. Consumers use those projections rather than internal machine nodes or actor objects.
93
+ The Session lifecycle is backed by the executable XState authority in 0.10.x and exposed through public state, contract, and manifest projections. Consumers use those projections rather than internal machine nodes or actor objects.
92
94
 
93
95
  ### Claims
94
96
 
@@ -103,6 +105,14 @@ git nawabari session release --session "$session_id" --all --force --json
103
105
 
104
106
  Resource aliases are discoverable through help. Use `--help --json` rather than copying option metadata into an integration.
105
107
 
108
+ Claim modes are cumulative. The canonical operation requirements are derived from the operation authorization policy and are shown by `session claim --help`:
109
+
110
+ - `read`: no governed operation
111
+ - `write`: `source-write`, `stage`
112
+ - `exclusive-write`: `source-write`, `stage`, `commit`, `branch-mutation`, `push`, `cleanup`
113
+
114
+ The policy requires `exclusive-write` for operations that finalize or remove shared state. This mapping is documentation of the executable authority, not a second claim policy; integrations should discover the current values from help or the machine contract.
115
+
106
116
  ### Inspect, close, discard, and garbage collection
107
117
 
108
118
  `session inspect` is read-only and uses the same close/cleanup evidence as `session close`.
@@ -118,7 +128,13 @@ git nawabari session discard --session "$session_id" --preview --json
118
128
 
119
129
  ## Governed Git work
120
130
 
121
- Use `guard` or `authorize` when an orchestrator needs a decision before mutation. The operation vocabulary is discoverable from the CLI and includes `source-write`, `stage`, `commit`, `branch-mutation`, `push`, and `cleanup`.
131
+ `guard` and `authorize` are separate read-only boundaries:
132
+
133
+ - `guard` without an operation verifies the current physical worktree, branch, and session ownership/context. It does not evaluate resource claims.
134
+ - `authorize` evaluates a named operation against concrete resources, using the canonical operation policy and active claims. It does not grant or persist claims.
135
+ - `guard --operation <name> --resource <path>` remains a compatibility convenience for the combined claim-aware check. Use `authorize` when the operation decision itself is the intended boundary.
136
+
137
+ The operation vocabulary is discoverable from the CLI and includes `source-write`, `stage`, `commit`, `branch-mutation`, `push`, and `cleanup`.
122
138
 
123
139
  `checkpoint` and `evidence snapshot` describe Git-observable facts only. They do not infer task meaning, Issue ownership, or review status. `diff` requires explicit concrete paths and bounds optional patch output.
124
140
 
@@ -140,7 +156,7 @@ git nawabari session shell --session "$session_id" --runtime-policy compatibilit
140
156
 
141
157
  The `--` terminator is mandatory. The command is passed as argv and is not interpreted by a shell. The canonical profile gives the child a private root, `/tmp`, `/proc`, HOME, and cache state, mounts only the owned worktree read-write, and does not expose sibling worktrees or Nawabari control paths. Network mode is explicitly `inherited`, not isolated. Required Linux capabilities fail closed when unavailable; optional Landlock and cgroups v2 provide defense in depth when available.
142
158
 
143
- Protected execution defaults to the strict `development` runtime profile. Only declared Node, Git, and pnpm material is projected through `/nawabari/bin`; `/usr`, `/bin`, `/nix/store`, the host home, and local user-tool directories are not implicitly visible. Compatibility is available only through the explicit `--runtime-policy compatibility` option.
159
+ Protected execution defaults to the strict `development` runtime profile. Only declared Node, Git, and the deterministic `ls` baseline utility are projected through `/nawabari/bin`; `/usr`, `/bin`, `/nix/store`, the host home, and local user-tool directories are not implicitly visible. pnpm is an explicit opt-in development requirement. Compatibility is available only through the explicit `--runtime-policy compatibility` option.
144
160
 
145
161
  ```bash
146
162
  git nawabari doctor --json
@@ -1,7 +1,13 @@
1
1
  import { DEFAULT_SESSION_LIST_LIMIT, MAX_SESSION_LIST_LIMIT } from "./domain/session.js";
2
- import { OPERATION_VOCABULARY } from "./operation-authorization.js";
2
+ import { claimModeOperationRequirements, OPERATION_VOCABULARY } from "./operation-authorization.js";
3
3
  import { EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS } from "./repository-evidence.js";
4
4
  const CLI_NAME = "nawabari";
5
+ function claimModeRequirementsNote() {
6
+ const mapping = claimModeOperationRequirements()
7
+ .map(({ mode, operations }) => `${mode}: ${operations.length === 0 ? "none" : operations.join(", ")}`)
8
+ .join("; ");
9
+ return `Claim modes are cumulative. Canonical operation requirements by granted mode: ${mapping}. This is derived from OPERATION_AUTHORIZATION_POLICY.`;
10
+ }
5
11
  export const GLOBAL_HELP_OPTIONS = [
6
12
  { name: "--json", description: "Emit one stable JSON document on stdout" },
7
13
  { name: "--help", aliases: ["-h"], description: "Show command-specific help" },
@@ -25,17 +31,18 @@ export const CLI_COMMAND_REGISTRY = [
25
31
  value: "<name>",
26
32
  default: "nawabari/session/<session_id>",
27
33
  }),
28
- option("--worktree", "Exact managed worktree path override; mutually exclusive with --worktree-root", {
34
+ option("--worktree", "Exact managed worktree path override; new paths must be under the managed root; historical absolute sibling paths remain compatible; mutually exclusive with --worktree-root", {
29
35
  value: "<path>",
30
36
  default: "<managed_worktree_root>/<repository>-<session_id>",
31
37
  }),
32
- option("--worktree-root", "Managed root to place the worktree under; Nawabari derives the final path. Mutually exclusive with --worktree", { value: "<path>", default: "resolved repository-local root" }),
38
+ option("--worktree-root", "Managed root to place the worktree under; Nawabari derives the final path. Mutually exclusive with --worktree", { value: "<path>", default: "<repository-parent>/.nawabari/worktrees" }),
33
39
  option("--base", "Commit-resolving base ref for the new worktree", { value: "<ref>", default: "HEAD" }),
34
40
  option("--label", "Optional display label; never used as an identity", { value: "<text>", default: "omitted" }),
35
41
  ],
36
42
  notes: [
37
43
  "All create options are optional. Use status --json to discover managed_worktree_root.",
38
44
  "--worktree and --worktree-root cannot be combined.",
45
+ "Without an override, Nawabari creates the safe managed root <repository-parent>/.nawabari/worktrees on first use. Existing absolute worktree paths directly under the repository parent remain accepted for compatibility.",
39
46
  ],
40
47
  },
41
48
  {
@@ -56,14 +63,16 @@ export const CLI_COMMAND_REGISTRY = [
56
63
  {
57
64
  name: "session inspect",
58
65
  summary: "Report side-effect-free close/cleanup readiness for a session",
59
- usage: `${CLI_NAME} session inspect [<session-id>|--session <id>] [--integrated-revision <rev>]`,
66
+ usage: `${CLI_NAME} session inspect [<session-id>|--session <id>] [--integrated-revision <rev>] [--schema-version <1|2>]`,
60
67
  options: [
61
68
  option("--session", "Select a session instead of the current worktree owner", { value: "<id>" }),
62
69
  option("--integrated-revision", "Externally evidenced revision to test for non-ancestry (squash/rebase) integration; independently re-verified via exact Git tree-object equivalence, never trusted blindly", { value: "<rev>" }),
70
+ option("--schema-version", "Select the public diagnostic result schema; v1 preserves the legacy nested lifecycle copy and v2 is the single-authority projection", { value: "<1|2>", default: "1", values: ["1", "2"] }),
63
71
  ],
64
72
  notes: [
65
73
  "Read-only: never mutates session, claim, Git, worktree, branch, or registry state. Repeated calls are idempotent.",
66
74
  "Derived from the same authoritative close/cleanup Git evidence as session close; does not duplicate or diverge from that logic.",
75
+ "The established unqualified result is schema v1. Schema v2 exposes lifecycle and next_actions once at the top level; garbage_collection retains explicit references to those authorities. Use --schema-version 2 to opt into v2.",
67
76
  "Nawabari never queries GitHub or any remote provider; --integrated-revision only names a local revision for Nawabari to independently verify.",
68
77
  "Target grammar: optional first positional <session-id> is an alias for --session <id>; do not supply both.",
69
78
  ],
@@ -140,6 +149,7 @@ export const CLI_COMMAND_REGISTRY = [
140
149
  notes: [
141
150
  "Exactly one --resource/--mode pair is required; --mode must immediately follow its own --resource.",
142
151
  "Target grammar: optional first positional <session-id> is an alias for --session <id>; do not supply both.",
152
+ claimModeRequirementsNote(),
143
153
  ],
144
154
  },
145
155
  {
@@ -321,6 +331,10 @@ export const CLI_COMMAND_REGISTRY = [
321
331
  repeatable: true,
322
332
  }),
323
333
  ],
334
+ notes: [
335
+ "Read-only claim decision: checks the canonical operation policy and concrete resource claims; it does not grant, persist, or mutate claims.",
336
+ "Use guard to verify current worktree/session ownership without an operation; use authorize for the canonical claim-aware operation decision. guard --operation is a compatibility convenience for the combined check.",
337
+ ],
324
338
  },
325
339
  {
326
340
  name: "checkpoint",
@@ -442,7 +456,7 @@ export const CLI_COMMAND_REGISTRY = [
442
456
  },
443
457
  {
444
458
  name: "guard",
445
- summary: "Authorize the current worktree or operation",
459
+ summary: "Verify current worktree/session ownership",
446
460
  usage: `${CLI_NAME} guard [--session <id>] [--operation <name> --resource <path>]`,
447
461
  options: [
448
462
  option("--session", "Assert the current session identity", { value: "<id>" }),
@@ -452,6 +466,10 @@ export const CLI_COMMAND_REGISTRY = [
452
466
  }),
453
467
  option("--resource", "Concrete resource; repeatable with --operation", { value: "<path>" }),
454
468
  ],
469
+ notes: [
470
+ "Without --operation, verifies the current worktree, branch, and session ownership/context only; it does not evaluate resource claims.",
471
+ "With --operation and --resource, performs the combined claim-aware authorization check for compatibility. Use authorize when the operation decision is the intended boundary.",
472
+ ],
455
473
  },
456
474
  {
457
475
  name: "gc",
@@ -468,8 +486,11 @@ export const CLI_COMMAND_REGISTRY = [
468
486
  {
469
487
  name: "doctor",
470
488
  summary: "Check local Nawabari prerequisites and reconciliation",
471
- usage: `${CLI_NAME} doctor`,
472
- options: [],
489
+ usage: `${CLI_NAME} doctor [--summary]`,
490
+ options: [option("--summary", "Emit a bounded summary with counts and actionable drift/error diagnostics")],
491
+ notes: [
492
+ "The default report retains the complete machine-readable check details. --summary omits healthy and closed history rows while retaining all actionable reconciliation issues.",
493
+ ],
473
494
  },
474
495
  {
475
496
  name: "migrate",
@@ -1 +1 @@
1
- {"version":3,"file":"cli-command-registry.js","sourceRoot":"","sources":["../src/cli-command-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-command-registry.js","sourceRoot":"","sources":["../src/cli-command-registry.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from "node:module";
2
- import { runDoctor } from "./domain/doctor.js";
3
- import { DomainError, EXIT_CODES, failure } from "./domain/errors.js";
2
+ import { runDoctor, summarizeDoctorReport } from "./domain/doctor.js";
3
+ import { DomainError, EXIT_CODES, failure, } from "./domain/errors.js";
4
4
  import { MAX_SESSION_LIST_LIMIT, } from "./domain/session.js";
5
5
  import { EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS } from "./repository-evidence.js";
6
6
  import { isResourceClaimMode } from "./resource-claims.js";
@@ -8,7 +8,7 @@ import { OPERATION_VOCABULARY } from "./operation-authorization.js";
8
8
  import { createLocalSessionBackend } from "./domain/session-backend.js";
9
9
  import { defaultCliIO, renderFailure, renderSuccess } from "./presentation.js";
10
10
  import { MACHINE_CONTRACT_ID, MACHINE_CONTRACT_SCHEMA_VERSION, machineContract } from "./contract.js";
11
- import { resolveSandboxExecutionRequest, runSandboxedCommand, CANONICAL_EXECUTABLE_ROOT, } from "./domain/sandbox.js";
11
+ import { resolveSandboxExecutionRequest, runSandboxedCommand, discoverSandboxRuntimeLayout, CANONICAL_EXECUTABLE_ROOT, } from "./domain/sandbox.js";
12
12
  import { EXPLICIT_COMPATIBILITY_RUNTIME_POLICY, STRICT_RUNTIME_POLICY, } from "./domain/runtime-projection.js";
13
13
  const CLI_NAME = "nawabari";
14
14
  const packageMetadata = createRequire(import.meta.url)("../package.json");
@@ -62,7 +62,7 @@ export const DISPATCHER_OPTION_INVENTORY = {
62
62
  "session create": ["--branch", "--worktree", "--worktree-root", "--base", "--label"],
63
63
  "session id": [],
64
64
  "session show": ["--session"],
65
- "session inspect": ["--session", "--integrated-revision"],
65
+ "session inspect": ["--session", "--integrated-revision", "--schema-version"],
66
66
  "session run": ["--session", "--runtime-policy"],
67
67
  "session shell": ["--session", "--runtime-policy"],
68
68
  "session list": ["--all", "--history", "--limit", "--offset"],
@@ -100,7 +100,7 @@ export const DISPATCHER_OPTION_INVENTORY = {
100
100
  status: ["--all", "--history", "--limit", "--offset"],
101
101
  guard: ["--session", "--operation", "--resource"],
102
102
  gc: ["--apply", "--dry-run"],
103
- doctor: [],
103
+ doctor: ["--summary"],
104
104
  migrate: [],
105
105
  capabilities: [],
106
106
  };
@@ -366,6 +366,8 @@ function parseOptions(arguments_, allowed) {
366
366
  fetch_branch: null,
367
367
  preview: false,
368
368
  runtime_policy: null,
369
+ schema_version: null,
370
+ summary: false,
369
371
  };
370
372
  let dryRun = false;
371
373
  for (let index = 0; index < arguments_.length; index += 1) {
@@ -381,7 +383,8 @@ function parseOptions(arguments_, allowed) {
381
383
  name === "--all" ||
382
384
  name === "--history" ||
383
385
  name === "--patch" ||
384
- name === "--preview") {
386
+ name === "--preview" ||
387
+ name === "--summary") {
385
388
  if (inlineValue !== null) {
386
389
  return failure(usageError("INVALID_ARGUMENT", `${name} does not accept a value.`, { option: name }));
387
390
  }
@@ -401,8 +404,10 @@ function parseOptions(arguments_, allowed) {
401
404
  options.history = true;
402
405
  else if (name === "--patch")
403
406
  options.patch = true;
404
- else
407
+ else if (name === "--preview")
405
408
  options.preview = true;
409
+ else
410
+ options.summary = true;
406
411
  continue;
407
412
  }
408
413
  const value = inlineValue ?? arguments_[index + 1];
@@ -472,6 +477,15 @@ function parseOptions(arguments_, allowed) {
472
477
  options.max_hunks = value;
473
478
  else if (name === "--integrated-revision")
474
479
  options.integrated_revision = value;
480
+ else if (name === "--schema-version") {
481
+ if (value !== "1" && value !== "2") {
482
+ return failure(usageError("INVALID_ARGUMENT", "--schema-version requires 1 or 2.", {
483
+ option: "--schema-version",
484
+ values: ["1", "2"],
485
+ }));
486
+ }
487
+ options.schema_version = value === "1" ? 1 : 2;
488
+ }
475
489
  else if (name === "--fetch-remote")
476
490
  options.fetch_remote = value;
477
491
  else if (name === "--fetch-branch")
@@ -1169,6 +1183,7 @@ async function executeCommand(commandArguments, dependencies) {
1169
1183
  const options = {
1170
1184
  session_id: parsed.value.session_id,
1171
1185
  integrated_revision: parsed.value.integrated_revision,
1186
+ ...(parsed.value.schema_version === null ? {} : { schema_version: parsed.value.schema_version }),
1172
1187
  };
1173
1188
  const result = await dependencies.backend.sessionDiagnostic(context, options);
1174
1189
  return result.ok ? { ok: true, value: result.value } : result;
@@ -1482,17 +1497,7 @@ async function executeCommand(commandArguments, dependencies) {
1482
1497
  if (result.value.allowed)
1483
1498
  return { ok: true, value: result.value };
1484
1499
  const code = result.value.code === "ALLOWED" ? "OPERATION_REJECTED" : result.value.code;
1485
- return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`, {
1486
- allowed: false,
1487
- repository: result.value.repository,
1488
- worktree: result.value.worktree,
1489
- branch: result.value.branch,
1490
- session_id: result.value.session_id,
1491
- owner_session_id: result.value.owner_session_id,
1492
- requested_session_id: result.value.requested_session_id,
1493
- state: result.value.state,
1494
- details: result.value.details,
1495
- }));
1500
+ return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`, guardRejectionDetails(result.value)));
1496
1501
  }
1497
1502
  if (command === "gc") {
1498
1503
  const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), dispatcherAllowedOptions("gc"));
@@ -1503,18 +1508,19 @@ async function executeCommand(commandArguments, dependencies) {
1503
1508
  return result.ok ? { ok: true, value: result.value } : result;
1504
1509
  }
1505
1510
  if (command === "doctor") {
1506
- const parsed = noOptions([subcommand, ...rest].filter((argument) => argument !== undefined));
1511
+ const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), dispatcherAllowedOptions("doctor"));
1507
1512
  if (!parsed.ok)
1508
1513
  return parsed;
1509
1514
  const report = await runDoctor(dependencies.cwd, dependencies.sandboxProbe, undefined, dependencies.sandboxRuntimeLayout);
1510
1515
  if (!report.ok)
1511
1516
  return report;
1517
+ const projected = parsed.value.summary
1518
+ ? summarizeDoctorReport(report.value)
1519
+ : report.value;
1512
1520
  if (report.value.ok)
1513
- return { ok: true, value: report.value };
1521
+ return { ok: true, value: projected };
1514
1522
  return failure(new DomainError("DOCTOR_FAILED", "One or more local Nawabari checks failed.", {
1515
- checks: report.value.checks,
1516
- repository: report.value.repository,
1517
- sandbox: report.value.sandbox,
1523
+ ...projected,
1518
1524
  }));
1519
1525
  }
1520
1526
  if (command === "migrate") {
@@ -1581,13 +1587,41 @@ function mutationCapabilityUnavailable(operation) {
1581
1587
  }
1582
1588
  function deniedAuthorization(decision) {
1583
1589
  const code = decision.code === "ALLOWED" ? "OPERATION_REJECTED" : decision.code;
1584
- const diagnosticDetails = code === "INSUFFICIENT_CLAIM_MODE"
1585
- ? {
1586
- resource: decision.details.resource,
1587
- granted_modes: decision.details.grantedModes,
1588
- }
1589
- : {};
1590
1590
  return failure(new DomainError(code, `Operation denied: ${code}.`, {
1591
+ ...authorizationRejectionDetails(decision, code === "RESOURCE_CLAIM_CONFLICT"),
1592
+ }));
1593
+ }
1594
+ const AUTHORIZATION_DETAIL_KEYS = new Set([
1595
+ "allowed",
1596
+ "schema_version",
1597
+ "operation",
1598
+ "required_access",
1599
+ "repository",
1600
+ "worktree",
1601
+ "branch",
1602
+ "session_id",
1603
+ "owner_session_id",
1604
+ "requested_session_id",
1605
+ "state",
1606
+ "resources",
1607
+ "details",
1608
+ "mode",
1609
+ ]);
1610
+ function guardRejectionDetails(decision) {
1611
+ return {
1612
+ allowed: false,
1613
+ repository: decision.repository,
1614
+ worktree: decision.worktree,
1615
+ branch: decision.branch,
1616
+ session_id: decision.session_id,
1617
+ owner_session_id: decision.owner_session_id,
1618
+ requested_session_id: decision.requested_session_id,
1619
+ state: decision.state,
1620
+ ...normalizeRejectionDetails(decision.details, false),
1621
+ };
1622
+ }
1623
+ function authorizationRejectionDetails(decision, mapConflictOwner) {
1624
+ return {
1591
1625
  allowed: false,
1592
1626
  schema_version: decision.schema_version,
1593
1627
  operation: decision.operation,
@@ -1600,9 +1634,60 @@ function deniedAuthorization(decision) {
1600
1634
  requested_session_id: decision.requested_session_id,
1601
1635
  state: decision.state,
1602
1636
  resources: decision.resources,
1603
- ...diagnosticDetails,
1604
- details: decision.details,
1605
- }));
1637
+ ...normalizeRejectionDetails(decision.details, mapConflictOwner),
1638
+ };
1639
+ }
1640
+ function normalizeRejectionDetails(details, mapConflictOwner) {
1641
+ const normalized = {};
1642
+ const visit = (source) => {
1643
+ for (const [key, value] of Object.entries(source).sort(([left], [right]) => compareCliKeys(left, right))) {
1644
+ const snakeKey = snakeCaseCliKey(key);
1645
+ if (snakeKey === "details" && value !== null && typeof value === "object" && !Array.isArray(value)) {
1646
+ visit(value);
1647
+ continue;
1648
+ }
1649
+ const canonicalKey = mapConflictOwner ? conflictOwnerKey(snakeKey) : snakeKey;
1650
+ if (AUTHORIZATION_DETAIL_KEYS.has(canonicalKey) || canonicalKey === "allowed")
1651
+ continue;
1652
+ if (!(canonicalKey in normalized))
1653
+ normalized[canonicalKey] = normalizeRejectionValue(value);
1654
+ }
1655
+ };
1656
+ visit(details);
1657
+ return normalized;
1658
+ }
1659
+ function conflictOwnerKey(key) {
1660
+ return ({
1661
+ owner_session_id: "blocking_session_id",
1662
+ owner_claim_id: "blocking_claim_id",
1663
+ owner_resource: "blocking_resource",
1664
+ owner_mode: "blocking_mode",
1665
+ owner_worktree: "blocking_worktree",
1666
+ owner_branch: "blocking_branch",
1667
+ owner_state: "blocking_state",
1668
+ owner_label: "blocking_label",
1669
+ }[key] ?? key);
1670
+ }
1671
+ function normalizeRejectionValue(value) {
1672
+ if (Array.isArray(value))
1673
+ return value.map(normalizeRejectionValue);
1674
+ if (value === null || typeof value !== "object")
1675
+ return value;
1676
+ const normalized = {};
1677
+ for (const [key, child] of Object.entries(value).sort(([left], [right]) => compareCliKeys(left, right))) {
1678
+ normalized[snakeCaseCliKey(key)] = normalizeRejectionValue(child);
1679
+ }
1680
+ return normalized;
1681
+ }
1682
+ function snakeCaseCliKey(key) {
1683
+ return key
1684
+ .replace(/([A-Z]+)([A-Z][a-z])/gu, "$1_$2")
1685
+ .replace(/([a-z0-9])([A-Z])/gu, "$1_$2")
1686
+ .replace(/[\s-]+/gu, "_")
1687
+ .toLowerCase();
1688
+ }
1689
+ function compareCliKeys(left, right) {
1690
+ return left < right ? -1 : left > right ? 1 : 0;
1606
1691
  }
1607
1692
  function emitFailure(mode, command, error, io) {
1608
1693
  io[mode === "json" ? "stdout" : "stderr"](renderFailure(mode, command, error));
@@ -1703,13 +1788,29 @@ export async function runCli(argv, dependencies = {}) {
1703
1788
  const command = commandName(parsed.value.commandArguments);
1704
1789
  const cwd = dependencies.cwd ?? process.cwd();
1705
1790
  try {
1706
- const backend = dependencies.backend ?? createLocalSessionBackend();
1791
+ // Managed commits use the same bounded host-identity discovery as the
1792
+ // sandbox request path. The resulting backend projection contains only
1793
+ // user.name/user.email; the host HOME and full global Git config remain
1794
+ // outside the governed subprocess.
1795
+ const runtimeLayout = dependencies.sandboxRuntimeLayout ??
1796
+ (dependencies.backend === undefined && command === "commit" ? discoverSandboxRuntimeLayout() : undefined);
1797
+ const backend = dependencies.backend ??
1798
+ createLocalSessionBackend({
1799
+ ...(runtimeLayout === undefined
1800
+ ? {}
1801
+ : {
1802
+ gitIdentity: {
1803
+ host_global_name: runtimeLayout.git_user_name,
1804
+ host_global_email: runtimeLayout.git_user_email,
1805
+ },
1806
+ }),
1807
+ });
1707
1808
  const result = await executeCommand(parsed.value.commandArguments, {
1708
1809
  backend,
1709
1810
  cwd,
1710
1811
  sandboxRunner: dependencies.sandboxRunner,
1711
1812
  sandboxProbe: dependencies.sandboxProbe,
1712
- sandboxRuntimeLayout: dependencies.sandboxRuntimeLayout,
1813
+ sandboxRuntimeLayout: runtimeLayout,
1713
1814
  sandboxRuntimeProjection: dependencies.sandboxRuntimeProjection,
1714
1815
  });
1715
1816
  if (!result.ok) {