approval-md 0.4.0 → 0.4.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.
Files changed (107) hide show
  1. package/SPEC.md +3 -0
  2. package/cli.js +72 -4
  3. package/dist/src/channels/contract.d.ts +53 -0
  4. package/dist/src/channels/contract.js +56 -0
  5. package/dist/src/channels/contract.js.map +1 -1
  6. package/dist/src/channels/tagging.d.ts +25 -0
  7. package/dist/src/channels/tagging.js +57 -5
  8. package/dist/src/channels/tagging.js.map +1 -1
  9. package/dist/src/channels/telegram-minimal.d.ts +251 -0
  10. package/dist/src/channels/telegram-minimal.js +618 -0
  11. package/dist/src/channels/telegram-minimal.js.map +1 -0
  12. package/dist/src/channels/telegram.d.ts +454 -19
  13. package/dist/src/channels/telegram.js +931 -80
  14. package/dist/src/channels/telegram.js.map +1 -1
  15. package/dist/src/cli/amend.js +8 -1
  16. package/dist/src/cli/amend.js.map +1 -1
  17. package/dist/src/cli/audit-card.d.ts +1 -1
  18. package/dist/src/cli/audit-card.js +40 -1
  19. package/dist/src/cli/audit-card.js.map +1 -1
  20. package/dist/src/cli/audit.d.ts +7 -5
  21. package/dist/src/cli/audit.js +22 -10
  22. package/dist/src/cli/audit.js.map +1 -1
  23. package/dist/src/cli/channel-telegram-webhook.d.ts +2 -0
  24. package/dist/src/cli/channel-telegram-webhook.js +7 -0
  25. package/dist/src/cli/channel-telegram-webhook.js.map +1 -1
  26. package/dist/src/cli/channel-telegram.d.ts +75 -2
  27. package/dist/src/cli/channel-telegram.js +170 -15
  28. package/dist/src/cli/channel-telegram.js.map +1 -1
  29. package/dist/src/cli/execute.d.ts +12 -0
  30. package/dist/src/cli/execute.js +46 -1
  31. package/dist/src/cli/execute.js.map +1 -1
  32. package/dist/src/cli/help.d.ts +1 -0
  33. package/dist/src/cli/help.js +39 -18
  34. package/dist/src/cli/help.js.map +1 -1
  35. package/dist/src/cli/hook.d.ts +114 -3
  36. package/dist/src/cli/hook.js +468 -50
  37. package/dist/src/cli/hook.js.map +1 -1
  38. package/dist/src/cli/log-unlock.d.ts +23 -0
  39. package/dist/src/cli/log-unlock.js +109 -0
  40. package/dist/src/cli/log-unlock.js.map +1 -0
  41. package/dist/src/cli/main.js +23 -6
  42. package/dist/src/cli/main.js.map +1 -1
  43. package/dist/src/cli/up.js +5 -0
  44. package/dist/src/cli/up.js.map +1 -1
  45. package/dist/src/cli/verb-registry.js +1 -0
  46. package/dist/src/cli/verb-registry.js.map +1 -1
  47. package/dist/src/cli/wordmark.d.ts +2 -2
  48. package/dist/src/cli/wordmark.js +2 -2
  49. package/dist/src/core/audit.d.ts +98 -9
  50. package/dist/src/core/audit.js +363 -15
  51. package/dist/src/core/audit.js.map +1 -1
  52. package/dist/src/core/command-class.js +6 -0
  53. package/dist/src/core/command-class.js.map +1 -1
  54. package/dist/src/core/gate.d.ts +58 -1
  55. package/dist/src/core/gate.js +30 -3
  56. package/dist/src/core/gate.js.map +1 -1
  57. package/dist/src/core/log-lock.d.ts +435 -0
  58. package/dist/src/core/log-lock.js +1093 -0
  59. package/dist/src/core/log-lock.js.map +1 -0
  60. package/dist/src/core/log.d.ts +82 -3
  61. package/dist/src/core/log.js +285 -40
  62. package/dist/src/core/log.js.map +1 -1
  63. package/dist/src/core/policy-proposal.d.ts +17 -0
  64. package/dist/src/core/policy-proposal.js +29 -14
  65. package/dist/src/core/policy-proposal.js.map +1 -1
  66. package/dist/src/core/prompt-layout.d.ts +186 -1
  67. package/dist/src/core/prompt-layout.js +345 -3
  68. package/dist/src/core/prompt-layout.js.map +1 -1
  69. package/dist/src/core/sender-identity.d.ts +24 -1
  70. package/dist/src/core/sender-identity.js +31 -0
  71. package/dist/src/core/sender-identity.js.map +1 -1
  72. package/dist/src/core/validate.d.ts +20 -6
  73. package/dist/src/core/validate.js +0 -0
  74. package/dist/src/core/validate.js.map +1 -1
  75. package/dist/src/daemon/git-evidence.d.ts +2 -2
  76. package/dist/src/daemon/git-evidence.js +1 -1
  77. package/dist/src/serve/archive.d.ts +8 -0
  78. package/dist/src/serve/archive.js +11 -2
  79. package/dist/src/serve/archive.js.map +1 -1
  80. package/docs/README-extended.md +2 -0
  81. package/docs/cli-reference.md +507 -25
  82. package/package.json +2 -2
  83. package/schema/event.schema.json +354 -28
  84. package/schema/fixtures/event/invalid/audit-lock-reclaimed-age-without-created.json +19 -0
  85. package/schema/fixtures/event/invalid/audit-lock-reclaimed-agent-actor.json +14 -0
  86. package/schema/fixtures/event/invalid/audit-lock-reclaimed-lockfile-path.json +14 -0
  87. package/schema/fixtures/event/invalid/audit-lock-reclaimed-operator-cleared-system-actor.json +14 -0
  88. package/schema/fixtures/event/invalid/audit-lock-reclaimed-unknown-reason.json +14 -0
  89. package/schema/fixtures/event/invalid/audit-lock-reclaimed-without-age.json +13 -0
  90. package/schema/fixtures/event/invalid/audit-reviewed-agent-actor.json +6 -1
  91. package/schema/fixtures/event/invalid/audit-reviewed-bad-payload-hash.json +21 -0
  92. package/schema/fixtures/event/invalid/audit-reviewed-loved-no-note.json +5 -0
  93. package/schema/fixtures/event/invalid/audit-reviewed-no-subject-hash.json +19 -0
  94. package/schema/fixtures/event/invalid/audit-reviewed-no-subject-seq.json +19 -0
  95. package/schema/fixtures/event/invalid/audit-reviewed-no-verdict-source.json +19 -0
  96. package/schema/fixtures/event/invalid/audit-reviewed-no-verdict.json +19 -0
  97. package/schema/fixtures/event/invalid/audit-reviewed-system-actor.json +6 -1
  98. package/schema/fixtures/event/invalid/audit-sampled-no-policy-hash.json +14 -0
  99. package/schema/fixtures/event/valid/audit-lock-reclaimed-implausible-created.json +18 -0
  100. package/schema/fixtures/event/valid/audit-lock-reclaimed-legacy.json +14 -0
  101. package/schema/fixtures/event/valid/audit-lock-reclaimed-unlock.json +19 -0
  102. package/schema/fixtures/event/valid/audit-lock-reclaimed.json +19 -0
  103. package/schema/fixtures/event/valid/audit-reviewed-reaction.json +5 -0
  104. package/schema/fixtures/event/valid/audit-reviewed.json +6 -1
  105. package/schema/fixtures/event/valid/audit-sampled.json +2 -1
  106. package/schema/fixtures/event/valid/daemon-identity.json +2 -1
  107. package/schema/policy.schema.json +52 -0
package/SPEC.md CHANGED
@@ -161,6 +161,7 @@ channels:
161
161
  - **`daemons`.** An optional top-level list of the daemon ids permitted to append to the log (§8, the writing daemon), read only from the attested policy: an absent key is no restriction, and an empty list admits no daemon at all. (Amended APRV-454.)
162
162
  - **`vault.passphrase_env`.** An optional top-level key naming the environment variable that holds the passphrase for the credential vault of §10.4. The policy carries the variable's *name*, never the passphrase, on the same reasoning as `audit.sampling_secret_env` and the channel credential keys (`chat_id_env`, `token_env`): agents may read `APPROVAL.md`, and a passphrase they can read is a vault they can open. The passphrase MUST NOT appear in the log, in any command's output, or in any error message. When the key is absent the runtime reads `APPROVAL_VAULT_PASSPHRASE`; a variable name is not a permission, so an unnamed one MUST NOT lock an operator out of credentials they created, and a policy that fails to load leaves the default in force for this key alone. (Amended APRV-68, which implements the reference vault.)
163
163
  - **`channels.telegram.token_env` and `channels.telegram.chat_id_env`** are honoured by the runtime exactly as `audit.sampling_secret_env` and `vault.passphrase_env` are: the policy carries the variable's *name*, the runtime reads the value from the environment under that name, and a policy that declares neither (or fails to load) gets the reference runtime's defaults, `APPROVAL_TG_TOKEN` and `APPROVAL_TG_CHAT`. (Amended APRV-72.)
164
+ - **`channels.<name>.prompt.style` and `channels.<name>.prompt.say`** choose how a channel lays out a prompt. (`say` may not set the phrase of a class the runtime phrases itself, and its phrase is used only for a payload the runtime does not read itself; an operator class's phrase is a verb phrase with no sentence punctuation, and labels are plain words.) `style` is `technical` (the default, and what an absent key or a policy that did not load means: the prompt every earlier build sent) or `minimal`, the collapsed presentation of §10.3: a headline the runtime computes from the class, verbatim quotations from the bound payload, a deadline in plain words, and the canonical rendering collapsed in the message that carries the buttons. `say` maps an exact class name (never a pattern, so one phrase cannot stand for several classes) to the operator's plain-words phrase for it (`does`), the closed field set of an opaque payload (`quote`, every top-level key with the label it is quoted under or `~` for a key deliberately left off, at least one key shown), and whether the agent's own summary is shown (`note`). A payload carrying a key its declaration does not name, or a class with an opaque payload and no declaration, is presented in the ordinary form; a field left off with `~` is named on the visible card. Both keys are validated on every channel and an unknown value fails the policy closed; a channel that has no minimal presentation (the reference `cli` and `web`) ignores them. Because the style is a policy key, choosing it is an attested act, and choosing to see less is on the record. (Amended APRV-489, pending sign-off.)
164
165
  - **The environment map.** Every key above that ends in `_env` carries a variable's name rather than its value, which leaves an operator with several values to establish before any gate operation works and nowhere to record where those values live. `.approval/env` is that place: a SOURCE MAP, sibling of the log directory as the vault is, one `KEY=VALUE` per line with `#` comments and blank lines ignored, no quoting and no interpolation. The VALUE says where the value lives, in one of four forms: `keychain:<service>` (macOS, `security find-generic-password -a "$USER" -s <service> -w`), `secret-service:<label>` (Linux desktop, `secret-tool lookup approval <label>`), `env:` (inherited from the ambient environment, and reported as inherited), or a bare literal. A literal is permitted and is ALWAYS reported as plaintext, by every diagnostic, because a rule people route around is not a control: an operator told plainly that their token sits in a file in the working tree can weigh that, while an operator forbidden from writing it there writes it into a shell profile where nothing can see it to say so. Values are never passed to a helper in an argv; they arrive on its stdout. The file MUST be mode 0600 (anything else is refused, with the `chmod` to run) and `approval init` adds it to `.gitignore`. **No command loads this file implicitly. A single verb, `approval env`, resolves it and emits an export block for a shell to evaluate, so the environment a gate operation runs under is always one a human established** (§11, §11.1 invariant 7). An already-exported value always wins over the file, and an absent file is not an error. The variables answered for are the human identity variable, the two Telegram variables, the vault passphrase, the sampling secret when the policy names one, and any other string-valued `_env` key in the policy. (Amended APRV-73.) The explicitly invoked human-only quickstart ceremony (§10.1) MAY resolve the declared sources of the fresh instance it just created solely for its health-preflight child. This is an explicit setup operation, not ambient loading by a gate, listener, agent tool or later process. It MUST NOT import another instance's ambient approval credentials, change the calling shell, or attest bytes that were not shown and confirmed. The operator still establishes the later gate environment through `approval env`. (Amended APRV-309, pending sign-off.)
165
166
  - **Durations.** Every duration-valued field (`approval_ttl`, budget windows, `max_latency`, `payload_retention`) is a string matching `<positive integer><unit>` with unit one of `ms`, `s`, `m`, `h`, `d`, `w` (weeks = 7 days). Single unit only: compound (`1h30m`), fractional (`1.5h`), zero, and leading-zero forms are invalid. An invalid duration anywhere in the policy is a schema violation and the policy fails closed.
166
167
 
@@ -554,6 +555,8 @@ Every displayed field is one of two kinds and MUST be visibly distinguished: **c
554
555
 
555
556
  For a `manual` action, a channel MUST present the canonical rendering of the payload described in §9, verbatim, and MUST NOT assemble a reading of its own. Claimed material MAY be appended around that block and MUST be visibly separated from it and labelled as claimed. A channel that shortens the payload before presenting it has no canonical rendering to show and MUST say so rather than giving a partial reading the block's authority. Two conforming channels therefore put the same text in front of two approvers for the same bytes, and the `display_hash` on `approval.requested` names that text. Renderer determinism and the closed-field-set property are conformance requirements, tested as such. (Amended APRV-119.)
556
557
 
558
+ Collapsed presentation (amended APRV-489, pending sign-off). Where the approver's attested policy asks a channel for its minimal style (§5.2), that channel MAY present the canonical rendering collapsed behind one expand gesture. The rendering MUST still be present byte for byte in the same message that carries the decision buttons, and MUST NOT be summarised, shortened, split from those buttons, or moved to another message. Outside the collapsed block, such a message carries only four kinds of text: lines the runtime computes from the log and the policy (a phrase chosen by the exact class the log records and the kind of its payload, from the runtime's own table, or from the attested policy only for a payload the runtime does not read itself, and a deadline that never states time left once none is); quotations of the bound payload, each a payload value verbatim, under a label or alone when it is the only quotation, visibly marked as quotations, with nothing computed, abbreviated, joined or paraphrased inside a quotation; claimed material labelled as not checked, placed below a quotation and never first; and computed notices of what the quotations leave out, which may state a lower bound on what is left out but never an exact count the runtime cannot compute. The first line is always computed. Such a channel MUST state on the visible part of the message, outside the quotations, whenever a quotation is cut or a payload field is not quoted, naming the fields not quoted; MUST mark, inside quotations, every invisible or default-ignorable character except within a grapheme cluster that is wholly a recognised emoji sequence, and every bidirectional formatting character present in the payload, so that no quotation can hide content; MUST isolate each quotation, so that it cannot reorder text outside itself; and MUST present the request in its ordinary form instead whenever the ordinary form would show any computed health or abnormal-state row, for a request delivered as part of a batch or grouped delivery, for an attestation prompt, for a truncated payload, when the whole rendering does not fit in the one message, and when the minimal message cannot be delivered. A decision collected from such a message is bound to the same `display_hash` as one collected from the ordinary form. (Amended APRV-489, pending sign-off.)
559
+
557
560
  Channels MAY present multiple pending requests as a batch and collect one human gesture over the set, and SHOULD for high-volume `record.*` classes. The log never batches: each granted or rejected request receives its own `approval.granted` or `approval.rejected` event carrying the batch's channel delivery id in its payload, so audit granularity survives ergonomic grouping. The id is carried in the payload field `batch_delivery_id`. Earlier v0.1 builds encoded it in the first line of the payload's `note` field as `batch_delivery_id=<id>`; those logs are append-only, so readers MUST accept both encodings for the life of v0.1, preferring the first-class field. A batch MUST NOT mix `manual` classes with differing payload-display requirements in a way that hides any full payload behind the fold of another.
558
561
 
559
562
  **Attestation collected through a channel.** Deciding a request is a tap. Deciding which rules are in force was still a terminal session, because attestation is human-only (§11) and identity is config-declared, so an agent running the amendment ceremony would be claiming the human identity. A channel closes that gap without moving the boundary. A party that has prepared a policy edit appends `policy.proposed`, a channel renders it as an ordinary `manual` prompt, and the approver's tap appends the `policy.updated` attestation under the human identity the listener holds, exactly as a grant lands today. The following four paragraphs amend §8, §10.1, this section, and §11 respectively. (Amended APRV-109.)
package/cli.js CHANGED
@@ -16,19 +16,86 @@
16
16
  * static import that throws) must still answer with a block. That is the only
17
17
  * thing this file can do that the runtime cannot: it runs before the runtime
18
18
  * exists. For `approval hook hermes` it prints `{"action":"block",...}` and
19
- * exits 2 on any failure to load or run; every other invocation keeps its old
20
- * behaviour exactly.
19
+ * exits 2 on any failure to load or run, and on a SIGTERM or SIGINT that lands
20
+ * before the runtime's own guard is listening (APRV-466); every other
21
+ * invocation keeps its old behaviour exactly.
21
22
  */
22
23
 
23
24
  import { existsSync, writeSync } from "node:fs";
24
25
 
25
- const entry = new URL("./dist/src/cli/main.js", import.meta.url);
26
26
  const argv = process.argv.slice(2);
27
27
  // Matched the way `main` dispatches it: `--no-color` is the one global flag it
28
28
  // strips, wherever it appears (APRV-445 recheck L-d).
29
29
  const dispatched = argv.filter((word) => word !== "--no-color");
30
30
  const hermesHook = dispatched[0] === "hook" && dispatched[1] === "hermes";
31
31
 
32
+ /** Has anything reached stdout? Tracked only for the Hermes hook. */
33
+ let printed = false;
34
+ /** Has `main` returned its verdict to this file? */
35
+ let answered = false;
36
+
37
+ /**
38
+ * The runtime's `hook-interrupted` directive, byte for byte
39
+ * (`hermesInterruptedDirective` in src/cli/hook.ts). Spelled by hand because a
40
+ * signal can land before that module exists in this process;
41
+ * `tests/hermes-bin-signal-guard.test.ts` pins the two equal.
42
+ */
43
+ function hermesInterrupted(signal) {
44
+ return `${JSON.stringify({ action: "block", message: `hook-interrupted: the hook received ${signal} before it reached a verdict; nothing authorizes this call` })}\n`;
45
+ }
46
+
47
+ // The first guard (APRV-466), installed before anything else runs. The default
48
+ // disposition of SIGTERM and SIGINT is to die with nothing on stdout, which
49
+ // Hermes reads as an ALLOW, and Hermes sends SIGTERM on its hook timeout and on
50
+ // gateway shutdown. Until now the earliest handler was the runtime's own
51
+ // (`hermesFailClosed`), so a signal during the ESM load of dist/ (the longest
52
+ // stretch of a cold start) took the default action.
53
+ //
54
+ // A JS signal listener runs only when the event loop turns. So this guard
55
+ // prints the directive when a signal is dispatched while dist/ is loading and
56
+ // the load yields to the loop (it does on Node 24, which turned the loop about
57
+ // thirty times during the load; on Node 26 the load turned it zero times). A
58
+ // signal that is caught but not dispatched during the load is held into the
59
+ // hook run, which turns the loop at every pause since APRV-473: between the
60
+ // wait's polls and once before anything records `execution.started`. There the
61
+ // runtime's own guards answer it (the wait's handler withdraws the question
62
+ // first). A signal that lands after the run's last pause is dispatched after
63
+ // the hook has answered: then `answered` is set (in the same microtask drain as
64
+ // the run's return) and the process exits with the answer the hook gave. Either
65
+ // way the default disposition, death with an empty stdout, is gone from this
66
+ // file's first statement on.
67
+ //
68
+ // Ownership: the runtime's own guards (`hermesFailClosed`, the wait's handler)
69
+ // raise HERMES_SIGNAL_OWNER while they are registered, and this guard steps
70
+ // aside for them, so the two never both print. With something on stdout and no
71
+ // answer yet, this exits 2 without printing a second object (unparseable
72
+ // stdout).
73
+ //
74
+ // What no guard here can cover is the moment before this file's first
75
+ // statement: Node's own bootstrap. A signal there is a death by signal with an
76
+ // empty stdout, and the gated image's patch to Hermes's `shell_hooks`
77
+ // (HOSTED-32) is the layer meant to block it (docs/hermes-hook.md, "Two layers
78
+ // against a signal").
79
+ const HERMES_SIGNAL_OWNER = Symbol.for("approval-md.hermes-signal-owner");
80
+ if (hermesHook) {
81
+ const onSignal = (signal) => {
82
+ if (globalThis[HERMES_SIGNAL_OWNER] === true) return;
83
+ if (answered) process.exit();
84
+ if (!printed) {
85
+ try {
86
+ writeSync(1, hermesInterrupted(signal));
87
+ } catch {
88
+ // stdout is gone; the exit code below is the whole verdict.
89
+ }
90
+ }
91
+ process.exit(2);
92
+ };
93
+ process.on("SIGTERM", onSignal);
94
+ process.on("SIGINT", onSignal);
95
+ }
96
+
97
+ const entry = new URL("./dist/src/cli/main.js", import.meta.url);
98
+
32
99
  /** Hermes's own block directive, spelled here because the runtime may not load. */
33
100
  function hermesBlock(message) {
34
101
  writeSync(1, `${JSON.stringify({ action: "block", message: `hook-io: ${message}; nothing authorizes this call` })}\n`);
@@ -41,7 +108,6 @@ function hermesBlock(message) {
41
108
  // an ALLOW to Hermes. Such an exit leaves as 2, with the directive when nothing
42
109
  // was printed. Exit 0 with nothing on stdout is the post-event answer and is
43
110
  // left alone; the adapter itself never answers a pre-event that way.
44
- let printed = false;
45
111
  if (hermesHook) {
46
112
  const write = process.stdout.write.bind(process.stdout);
47
113
  process.stdout.write = (chunk, ...rest) => {
@@ -66,6 +132,7 @@ if (hermesHook) {
66
132
  if (!existsSync(entry)) {
67
133
  if (hermesHook) {
68
134
  hermesBlock("the approval runtime is not built (dist/src/cli/main.js is missing)");
135
+ answered = true;
69
136
  } else {
70
137
  // Exit 4 = I/O error in the frozen exit-code table (src/cli/exit-codes.ts).
71
138
  process.stderr.write(
@@ -80,6 +147,7 @@ if (!existsSync(entry)) {
80
147
  } catch (cause) {
81
148
  hermesBlock(`the hook could not run: ${cause instanceof Error ? cause.message : String(cause)}`);
82
149
  }
150
+ answered = true;
83
151
  } else {
84
152
  const { main } = await import(entry.href);
85
153
  // `main` is asynchronous since APRV-209: every verb is loaded on demand, and
@@ -55,6 +55,7 @@ import { type ChannelDecisionRefusalCode, type ChannelSender } from "../core/sen
55
55
  import type { EventRecord } from "../core/log.js";
56
56
  import type { Autonomy } from "../core/policy-load.js";
57
57
  import type { Provenance } from "../core/policy-match.js";
58
+ import type { PromptRendering } from "../core/prompt-layout.js";
58
59
  import { type RequestState } from "../core/state.js";
59
60
  /**
60
61
  * The canonical `source` values the runtime tagger stamps on computed fields.
@@ -347,7 +348,27 @@ export interface ChannelRequest {
347
348
  chain: TaggedField<ChainPosition>;
348
349
  /** The derived approval state; always `requested` for a live pending item. */
349
350
  state: TaggedField<RequestState>;
351
+ /**
352
+ * Present, and `true`, when the request is a tool call the requesting agent
353
+ * is blocked in right now (APRV-489): the request record declared
354
+ * `execution: "harness"` and a `harness_cap_ms`, so the gate's window is the
355
+ * harness wait and the call is withdrawn when it ends.
356
+ *
357
+ * **Computed**, by the tagger from the verified request record. Keyed by a
358
+ * symbol on purpose: the CLI and web channels, `--json` and `approval queue`
359
+ * enumerate a request's string keys, and this fact only chooses the wording
360
+ * of the minimal card's deadline line ("Your agent is waiting" versus "Open
361
+ * for"), so it must not add a row or a JSON key anywhere else. The time
362
+ * itself is `ttl_remaining_ms`, already the gate's own window.
363
+ */
364
+ readonly [LIVE_TOOL_CALL]?: TaggedField<true>;
350
365
  }
366
+ /**
367
+ * The key of {@link ChannelRequest}'s live-tool-call fact (APRV-489). A symbol,
368
+ * so `Object.keys`, `Object.entries` and `JSON.stringify` never see it, and
369
+ * object spread (as `attachGloss` copies a request) carries it.
370
+ */
371
+ export declare const LIVE_TOOL_CALL: unique symbol;
351
372
  /** Refusals {@link createChannelRequest} can return. Frozen, per §11.1(6). */
352
373
  export declare const CHANNEL_REQUEST_REFUSAL_CODES: readonly [
353
374
  /** A `manual` request was built with no full payload to present (§10.4). */
@@ -484,6 +505,13 @@ export interface ChannelDecision {
484
505
  deliveryId: DeliveryId;
485
506
  /** Set when the delivery was a batch (SPEC.md §10.3). */
486
507
  batchDeliveryId?: DeliveryId;
508
+ /**
509
+ * Which layout the approver answered on (APRV-489), recorded as
510
+ * `payload.rendering`. Set only by a channel that was asked for a
511
+ * non-default style; absent, the record is unchanged. A statement about the
512
+ * channel's own screen, never an input to a decision.
513
+ */
514
+ rendering?: PromptRendering;
487
515
  }
488
516
  /**
489
517
  * What the runtime tells the channel became of a reported decision.
@@ -672,4 +700,29 @@ export interface ChannelDecisionResult {
672
700
  * dual-read window readers stay inside for the life of v0.1.
673
701
  */
674
702
  export declare function recordChannelDecision(logPath: string, decision: ChannelDecision, actorOptions: ChannelActorOptions, gateOptions?: DecideOptions): ChannelDecisionResult;
703
+ /**
704
+ * Record a decision the SURFACE refused before the gate was asked (APRV-456),
705
+ * and do nothing else.
706
+ *
707
+ * The first caller is the Telegram listener's `nonce-not-issued` refusal: a tap
708
+ * on a button this process is not holding, on a channel whose stale-copy
709
+ * fallback is off. The tap never reaches {@link recordChannelDecision}, because
710
+ * that function's whole job is to call `decide()`, and this one never does. It
711
+ * appends one audit-tier `audit.decision_refused` through the same
712
+ * {@link noteRefusedDecision} every other refused human decision goes through,
713
+ * which grants nothing, settles nothing, charges nothing and is never sampled.
714
+ *
715
+ * Who the record names follows the rule a refused decision has followed since
716
+ * APRV-324: the sender the transport authenticated, resolved against the
717
+ * policy, in the form the record takes (raw or keyed, APRV-370). A sender the
718
+ * policy maps to an approver names that approver; one it maps to nobody is
719
+ * recorded with no `actor` and its account; a channel the policy maps no
720
+ * senders for falls back to the surface's configured identity, as a decision
721
+ * would. None of these widens anything: the record is an observation, and the
722
+ * refusal it describes has already happened.
723
+ *
724
+ * Best effort, like every refusal record: a failure is swallowed, and the
725
+ * caller has already told the human what happened to their tap.
726
+ */
727
+ export declare function recordSurfaceRefusal(logPath: string, decision: ChannelDecision, refusal: ChannelDecisionRefusal, actorOptions: ChannelActorOptions, gateOptions?: DecideOptions): void;
675
728
  export declare function recordAttestationDecision(logPath: string, decision: ChannelDecision, actorOptions: ChannelActorOptions, gateOptions?: DecideOptions): ChannelDecisionResult;
@@ -187,6 +187,12 @@ export function isTaggedField(value) {
187
187
  return typeof field["author"] === "string";
188
188
  return false;
189
189
  }
190
+ /**
191
+ * The key of {@link ChannelRequest}'s live-tool-call fact (APRV-489). A symbol,
192
+ * so `Object.keys`, `Object.entries` and `JSON.stringify` never see it, and
193
+ * object spread (as `attachGloss` copies a request) carries it.
194
+ */
195
+ export const LIVE_TOOL_CALL = Symbol("approval.md/live-tool-call");
190
196
  /** Refusals {@link createChannelRequest} can return. Frozen, per §11.1(6). */
191
197
  export const CHANNEL_REQUEST_REFUSAL_CODES = [
192
198
  /** A `manual` request was built with no full payload to present (§10.4). */
@@ -399,6 +405,10 @@ export function recordChannelDecision(logPath, decision, actorOptions, gateOptio
399
405
  if (decision.batchDeliveryId !== undefined) {
400
406
  options.batchDeliveryId = decision.batchDeliveryId;
401
407
  }
408
+ // APRV-489. Which layout the approver answered on, when a channel drew a
409
+ // non-default one. A record of the screen; nothing below reads it.
410
+ if (decision.rendering !== undefined)
411
+ options.rendering = decision.rendering;
402
412
  // APRV-324. Every surface names itself on the record it writes, so a reader
403
413
  // of a grant can tell a tap on a phone from a line typed into a terminal. The
404
414
  // fallback matches `noteRefusedDecision`'s below.
@@ -519,6 +529,52 @@ export function recordChannelDecision(logPath, decision, actorOptions, gateOptio
519
529
  };
520
530
  return result.token === undefined ? { outcome } : { outcome, token: result.token };
521
531
  }
532
+ /**
533
+ * Record a decision the SURFACE refused before the gate was asked (APRV-456),
534
+ * and do nothing else.
535
+ *
536
+ * The first caller is the Telegram listener's `nonce-not-issued` refusal: a tap
537
+ * on a button this process is not holding, on a channel whose stale-copy
538
+ * fallback is off. The tap never reaches {@link recordChannelDecision}, because
539
+ * that function's whole job is to call `decide()`, and this one never does. It
540
+ * appends one audit-tier `audit.decision_refused` through the same
541
+ * {@link noteRefusedDecision} every other refused human decision goes through,
542
+ * which grants nothing, settles nothing, charges nothing and is never sampled.
543
+ *
544
+ * Who the record names follows the rule a refused decision has followed since
545
+ * APRV-324: the sender the transport authenticated, resolved against the
546
+ * policy, in the form the record takes (raw or keyed, APRV-370). A sender the
547
+ * policy maps to an approver names that approver; one it maps to nobody is
548
+ * recorded with no `actor` and its account; a channel the policy maps no
549
+ * senders for falls back to the surface's configured identity, as a decision
550
+ * would. None of these widens anything: the record is an observation, and the
551
+ * refusal it describes has already happened.
552
+ *
553
+ * Best effort, like every refusal record: a failure is swallowed, and the
554
+ * caller has already told the human what happened to their tap.
555
+ */
556
+ export function recordSurfaceRefusal(logPath, decision, refusal, actorOptions, gateOptions = {}) {
557
+ const options = { ...actorOptions, channel: actorOptions.channel ?? "cli" };
558
+ let resolution;
559
+ try {
560
+ resolution = actorForSender(readGatePolicy(gateOptions), actorOptions.actor, decision.sender, senderKeyFrom());
561
+ }
562
+ catch {
563
+ return;
564
+ }
565
+ if (resolution.ok) {
566
+ noteRefusedDecision(logPath, decision, { ...options, actor: resolution.actor }, gateOptions, refusal, resolution.sender === undefined
567
+ ? {}
568
+ : {
569
+ sender: resolution.sender,
570
+ ...(resolution.source === undefined ? {} : { senderSource: resolution.source }),
571
+ });
572
+ return;
573
+ }
574
+ noteRefusedDecision(logPath, decision, { ...options, actor: null }, gateOptions, refusal, {
575
+ sender: resolution.sender,
576
+ });
577
+ }
522
578
  /**
523
579
  * Append the audit trail of a refused human decision, and swallow whatever goes
524
580
  * wrong doing it (APRV-235).
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/channels/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/channels/contract.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@
41
41
  * Determinism: no clock. `now` is a parameter, so a queue rendering is
42
42
  * replayable exactly as it was rendered.
43
43
  */
44
+ import { type PromptSay, type PromptStyle } from "../core/prompt-layout.js";
44
45
  import { type ChannelRequest } from "./contract.js";
45
46
  /**
46
47
  * Where the payload material for an action comes from.
@@ -185,6 +186,30 @@ export type PendingQueueResult = {
185
186
  */
186
187
  skipped: SkippedRequest[];
187
188
  } | ChannelTagRefusal;
189
+ /**
190
+ * The prompt style and `say` map a channel may draw with RIGHT NOW, taken only
191
+ * from attested policy bytes (APRV-489, fix round 2, S4 and its security
192
+ * follow-up).
193
+ *
194
+ * The policy file is read ONCE, and those bytes are both checked and used:
195
+ * they must hash to the latest attestation in the verified log (the digest the
196
+ * gate decides under), and the style and `say` are parsed from the very same
197
+ * buffer. There is no second read for the bytes to change between, so an edit
198
+ * to the file that nobody attested (by the agent the policy governs, in some
199
+ * deployments) can never switch a card to minimal or reword a class's phrase.
200
+ *
201
+ * Anything short of "these bytes are the attested policy" is the technical
202
+ * card: an unreadable file or log, a file that differs from the attestation, a
203
+ * log with no attestation. When the attested policy in force (its stored bytes)
204
+ * does ask for minimal, the answer carries `fallback: "policy-unattested"`, so
205
+ * the decision record says why the approver saw the technical card; under an
206
+ * attested technical policy nothing is added, so its records stay unchanged.
207
+ */
208
+ export declare function attestedPromptOf(logPath: string, options: TagOptions, channel: string): {
209
+ style: PromptStyle;
210
+ say: PromptSay;
211
+ fallback?: "policy-unattested";
212
+ };
188
213
  /**
189
214
  * Build the pending queue: every action key with a live `approval.requested`.
190
215
  *
@@ -42,20 +42,21 @@
42
42
  * replayable exactly as it was rendered.
43
43
  */
44
44
  import { createHash } from "node:crypto";
45
- import { existsSync } from "node:fs";
45
+ import { existsSync, readFileSync } from "node:fs";
46
46
  import { join } from "node:path";
47
- import { checkAttestation, policyFileHash, } from "../core/attest.js";
47
+ import { checkAttestation, checkAttestationOfBytes, policyFileHash, } from "../core/attest.js";
48
48
  import { evaluateBudgetsWithTask, } from "../core/budgets.js";
49
49
  import { usdNumber } from "../core/money.js";
50
50
  import { payloadHash } from "../core/payload.js";
51
51
  import { loadPayload, payloadStoreDirFor } from "../core/payload-store.js";
52
52
  import { explain } from "../core/policy-explain.js";
53
- import { loadPolicy, POLICY_FILENAMES, } from "../core/policy-load.js";
53
+ import { loadPolicy, loadPolicyText, POLICY_FILENAMES, } from "../core/policy-load.js";
54
+ import { DEFAULT_PROMPT_STYLE, promptSayFor, promptStyleFor, } from "../core/prompt-layout.js";
54
55
  import { resolve } from "../core/policy-match.js";
55
- import { ATTESTATION_CLASS, isAttestationActionKey, openProposals, } from "../core/policy-proposal.js";
56
+ import { ATTESTATION_CLASS, inForcePolicyText, isAttestationActionKey, openProposals, } from "../core/policy-proposal.js";
56
57
  import { isRecipientKey, RECIPIENT_KEY_FIELD } from "../core/seal.js";
57
58
  import { payloadOf, readVerifiedRecords, requestState, } from "../core/state.js";
58
- import { claimed, computed, createChannelRequest, } from "./contract.js";
59
+ import { claimed, computed, createChannelRequest, LIVE_TOOL_CALL, } from "./contract.js";
59
60
  import { commandBreakdown, commandPayloadView, protectedPathView } from "./payload-view.js";
60
61
  /** Why the tagger refused. Frozen per SPEC.md §11.1(6). */
61
62
  export const CHANNEL_TAG_REFUSAL_CODES = [
@@ -542,6 +543,12 @@ function tagDerivation(records, headSeq, derivation, load, options, now) {
542
543
  ...(typeof route["confidence"] === "number"
543
544
  ? { confidence: claimed(route["confidence"], registrationActor) }
544
545
  : {}),
546
+ // APRV-489. A tool call the agent is blocked in: the record declared the
547
+ // harness executes it and how long the harness waits. Symbol-keyed, so no
548
+ // channel's row list and no JSON output gains a key (see `LIVE_TOOL_CALL`).
549
+ ...(derivation.declared.execution === "harness" && derivation.declared.harness_cap_ms !== null
550
+ ? { [LIVE_TOOL_CALL]: computed(true, "log") }
551
+ : {}),
545
552
  };
546
553
  const created = createChannelRequest(fields);
547
554
  if (!created.ok)
@@ -671,6 +678,51 @@ function tagProposal(records, headSeq, proposal, load, options, now) {
671
678
  return refuse("request-invalid", created.message);
672
679
  return { ok: true, request: created.request };
673
680
  }
681
+ /**
682
+ * The prompt style and `say` map a channel may draw with RIGHT NOW, taken only
683
+ * from attested policy bytes (APRV-489, fix round 2, S4 and its security
684
+ * follow-up).
685
+ *
686
+ * The policy file is read ONCE, and those bytes are both checked and used:
687
+ * they must hash to the latest attestation in the verified log (the digest the
688
+ * gate decides under), and the style and `say` are parsed from the very same
689
+ * buffer. There is no second read for the bytes to change between, so an edit
690
+ * to the file that nobody attested (by the agent the policy governs, in some
691
+ * deployments) can never switch a card to minimal or reword a class's phrase.
692
+ *
693
+ * Anything short of "these bytes are the attested policy" is the technical
694
+ * card: an unreadable file or log, a file that differs from the attestation, a
695
+ * log with no attestation. When the attested policy in force (its stored bytes)
696
+ * does ask for minimal, the answer carries `fallback: "policy-unattested"`, so
697
+ * the decision record says why the approver saw the technical card; under an
698
+ * attested technical policy nothing is added, so its records stay unchanged.
699
+ */
700
+ export function attestedPromptOf(logPath, options, channel) {
701
+ const technical = { style: DEFAULT_PROMPT_STYLE, say: {} };
702
+ const read = readVerifiedRecords(logPath, options.schemaDir === undefined ? {} : { schemaDir: options.schemaDir });
703
+ if (!read.ok)
704
+ return technical;
705
+ const path = policyPathOf(options);
706
+ let bytes = null;
707
+ try {
708
+ bytes = readFileSync(path);
709
+ }
710
+ catch {
711
+ bytes = null;
712
+ }
713
+ if (bytes !== null && checkAttestationOfBytes(read.records, bytes).status === "attested") {
714
+ const load = loadPolicyText(path, bytes.toString("utf8"), options.schemaDir === undefined ? {} : { schemaDir: options.schemaDir });
715
+ return { style: promptStyleFor(load, channel), say: promptSayFor(load, channel) };
716
+ }
717
+ // Not the attested bytes. Say why only when the policy in force wanted minimal.
718
+ const inForce = inForcePolicyText(read.records, payloadStoreDirFor(logPath));
719
+ if (!inForce.ok)
720
+ return technical;
721
+ const attested = loadPolicyText(path, inForce.text, options.schemaDir === undefined ? {} : { schemaDir: options.schemaDir });
722
+ return promptStyleFor(attested, channel) === "minimal"
723
+ ? { ...technical, fallback: "policy-unattested" }
724
+ : technical;
725
+ }
674
726
  /**
675
727
  * Build the pending queue: every action key with a live `approval.requested`.
676
728
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tagging.js","sourceRoot":"","sources":["../../../src/channels/tagging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagging.js","sourceRoot":"","sources":["../../../src/channels/tagging.ts"],"names":[],"mappings":"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"}