@monoes/monomindcli 2.11.0 → 2.11.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 (151) hide show
  1. package/.claude/commands/coordination/agent-spawn.md +1 -1
  2. package/.claude/commands/mastermind/review.md +1 -1
  3. package/.claude/helpers/statusline.cjs +9 -4
  4. package/.claude/helpers/token-tracker.cjs +5 -2
  5. package/.claude/skills/mastermind-adapters/SKILL.md +6 -5
  6. package/.claude/skills/mastermind-agents/SKILL.md +7 -6
  7. package/.claude/skills/mastermind-createorg/SKILL.md +43 -16
  8. package/.claude/skills/mastermind-env/SKILL.md +1 -1
  9. package/.claude/skills/mastermind-invite-landing/SKILL.md +1 -1
  10. package/.claude/skills/mastermind-new-agent/SKILL.md +5 -5
  11. package/.claude/skills/mastermind-review/SKILL.md +1 -1
  12. package/.claude/skills/monomind/browse.md +1 -1
  13. package/bin/cli.js +60 -2
  14. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  15. package/dist/src/capabilities/cap-code.js +65 -3
  16. package/dist/src/capabilities/cap-code.js.map +1 -1
  17. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  18. package/dist/src/commands/analyze-diff.js +16 -6
  19. package/dist/src/commands/analyze-diff.js.map +1 -1
  20. package/dist/src/commands/autopilot.d.ts.map +1 -1
  21. package/dist/src/commands/autopilot.js +8 -1
  22. package/dist/src/commands/autopilot.js.map +1 -1
  23. package/dist/src/commands/config.d.ts.map +1 -1
  24. package/dist/src/commands/config.js +10 -4
  25. package/dist/src/commands/config.js.map +1 -1
  26. package/dist/src/commands/mcp.d.ts.map +1 -1
  27. package/dist/src/commands/mcp.js +7 -1
  28. package/dist/src/commands/mcp.js.map +1 -1
  29. package/dist/src/commands/monograph.d.ts.map +1 -1
  30. package/dist/src/commands/monograph.js +5 -3
  31. package/dist/src/commands/monograph.js.map +1 -1
  32. package/dist/src/commands/org-observe.d.ts.map +1 -1
  33. package/dist/src/commands/org-observe.js +8 -3
  34. package/dist/src/commands/org-observe.js.map +1 -1
  35. package/dist/src/commands/org.d.ts +37 -0
  36. package/dist/src/commands/org.d.ts.map +1 -1
  37. package/dist/src/commands/org.js +99 -42
  38. package/dist/src/commands/org.js.map +1 -1
  39. package/dist/src/commands/security-scan.d.ts +27 -0
  40. package/dist/src/commands/security-scan.d.ts.map +1 -1
  41. package/dist/src/commands/security-scan.js +192 -127
  42. package/dist/src/commands/security-scan.js.map +1 -1
  43. package/dist/src/init/codex-generator.d.ts.map +1 -1
  44. package/dist/src/init/codex-generator.js +7 -1
  45. package/dist/src/init/codex-generator.js.map +1 -1
  46. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  47. package/dist/src/init/kimi-generator.js +7 -1
  48. package/dist/src/init/kimi-generator.js.map +1 -1
  49. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  50. package/dist/src/init/opencode-generator.js +7 -1
  51. package/dist/src/init/opencode-generator.js.map +1 -1
  52. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  53. package/dist/src/init/statusline-generator.js +9 -4
  54. package/dist/src/init/statusline-generator.js.map +1 -1
  55. package/dist/src/knowledge/eval/model-presence.d.ts +3 -0
  56. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  57. package/dist/src/knowledge/eval/model-presence.js +25 -1
  58. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  59. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  60. package/dist/src/memory/embedding-operations.js +3 -3
  61. package/dist/src/memory/embedding-operations.js.map +1 -1
  62. package/dist/src/memory/entity-name-key.d.ts +28 -0
  63. package/dist/src/memory/entity-name-key.d.ts.map +1 -0
  64. package/dist/src/memory/entity-name-key.js +71 -0
  65. package/dist/src/memory/entity-name-key.js.map +1 -0
  66. package/dist/src/memory/memory-bridge.d.ts +7 -0
  67. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  68. package/dist/src/memory/memory-bridge.js +76 -33
  69. package/dist/src/memory/memory-bridge.js.map +1 -1
  70. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  71. package/dist/src/memory/memory-kg.js +61 -0
  72. package/dist/src/memory/memory-kg.js.map +1 -1
  73. package/dist/src/memory/reranker-head.d.ts +37 -0
  74. package/dist/src/memory/reranker-head.d.ts.map +1 -0
  75. package/dist/src/memory/reranker-head.js +105 -0
  76. package/dist/src/memory/reranker-head.js.map +1 -0
  77. package/dist/src/orgrt/agent-runner.d.ts +7 -0
  78. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  79. package/dist/src/orgrt/agent-runner.js +4 -0
  80. package/dist/src/orgrt/agent-runner.js.map +1 -1
  81. package/dist/src/orgrt/cli-sandbox.d.ts +61 -0
  82. package/dist/src/orgrt/cli-sandbox.d.ts.map +1 -0
  83. package/dist/src/orgrt/cli-sandbox.js +75 -0
  84. package/dist/src/orgrt/cli-sandbox.js.map +1 -0
  85. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  86. package/dist/src/orgrt/codex-runner.js +7 -3
  87. package/dist/src/orgrt/codex-runner.js.map +1 -1
  88. package/dist/src/orgrt/daemon.d.ts +3 -0
  89. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  90. package/dist/src/orgrt/daemon.js +27 -0
  91. package/dist/src/orgrt/daemon.js.map +1 -1
  92. package/dist/src/orgrt/git-guard.d.ts +63 -0
  93. package/dist/src/orgrt/git-guard.d.ts.map +1 -0
  94. package/dist/src/orgrt/git-guard.js +329 -0
  95. package/dist/src/orgrt/git-guard.js.map +1 -0
  96. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  97. package/dist/src/orgrt/grok-runner.js +7 -1
  98. package/dist/src/orgrt/grok-runner.js.map +1 -1
  99. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  100. package/dist/src/orgrt/opencode-runner.js +60 -11
  101. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  102. package/dist/src/orgrt/policy-git.d.ts +2 -0
  103. package/dist/src/orgrt/policy-git.d.ts.map +1 -0
  104. package/dist/src/orgrt/policy-git.js +216 -0
  105. package/dist/src/orgrt/policy-git.js.map +1 -0
  106. package/dist/src/orgrt/policy.d.ts.map +1 -1
  107. package/dist/src/orgrt/policy.js +15 -176
  108. package/dist/src/orgrt/policy.js.map +1 -1
  109. package/dist/src/orgrt/questions.d.ts +13 -0
  110. package/dist/src/orgrt/questions.d.ts.map +1 -1
  111. package/dist/src/orgrt/questions.js +21 -1
  112. package/dist/src/orgrt/questions.js.map +1 -1
  113. package/dist/src/orgrt/reporting.d.ts +4 -0
  114. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  115. package/dist/src/orgrt/reporting.js +11 -1
  116. package/dist/src/orgrt/reporting.js.map +1 -1
  117. package/dist/src/orgrt/role-sandbox.d.ts +87 -0
  118. package/dist/src/orgrt/role-sandbox.d.ts.map +1 -0
  119. package/dist/src/orgrt/role-sandbox.js +342 -0
  120. package/dist/src/orgrt/role-sandbox.js.map +1 -0
  121. package/dist/src/orgrt/session.d.ts +17 -6
  122. package/dist/src/orgrt/session.d.ts.map +1 -1
  123. package/dist/src/orgrt/session.js +75 -40
  124. package/dist/src/orgrt/session.js.map +1 -1
  125. package/dist/src/orgrt/shell-scan.d.ts +27 -0
  126. package/dist/src/orgrt/shell-scan.d.ts.map +1 -0
  127. package/dist/src/orgrt/shell-scan.js +453 -0
  128. package/dist/src/orgrt/shell-scan.js.map +1 -0
  129. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  130. package/dist/src/orgrt/task-dag.js +8 -0
  131. package/dist/src/orgrt/task-dag.js.map +1 -1
  132. package/dist/src/orgrt/templates.d.ts.map +1 -1
  133. package/dist/src/orgrt/templates.js +11 -5
  134. package/dist/src/orgrt/templates.js.map +1 -1
  135. package/dist/src/orgrt/types.d.ts +33 -0
  136. package/dist/src/orgrt/types.d.ts.map +1 -1
  137. package/dist/src/orgrt/types.js +17 -0
  138. package/dist/src/orgrt/types.js.map +1 -1
  139. package/dist/src/orgrt/vercel-providers.d.ts +5 -0
  140. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  141. package/dist/src/orgrt/vercel-providers.js +6 -1
  142. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  143. package/dist/src/pricing/model-pricing.d.ts +0 -12
  144. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  145. package/dist/src/pricing/model-pricing.js +19 -4
  146. package/dist/src/pricing/model-pricing.js.map +1 -1
  147. package/dist/src/ui/collector.mjs +7 -4
  148. package/dist/src/ui/routes-org.mjs +2 -1
  149. package/dist/src/ui/server.mjs +7 -4
  150. package/dist/tsconfig.tsbuildinfo +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,216 @@
1
+ // packages/@monomind/cli/src/orgrt/policy-git.ts
2
+ import { basename } from 'node:path';
3
+ import { shellSegments } from './shell-scan.js';
4
+ // Anchored: these are matched against a single extracted subcommand token, so
5
+ // an unanchored /\b…\b/ would classify `git push-mirror` as a read because the
6
+ // word `show` etc. could appear anywhere in a longer name. `remote` is
7
+ // deliberately read-level only for inspection — `remote add`/`set-url` mutate
8
+ // config, but redirecting a remote is inert unless push is also permitted.
9
+ const GIT_READ_CMDS = /^(status|log|diff|show|branch|tag|remote|rev-parse|ls-files|ls-tree|blame|shortlog|describe|cat-file|for-each-ref|rev-list|grep|worktree)$/;
10
+ const GIT_COMMIT_CMDS = /^(add|commit|rm|mv|restore|reset|stash|cherry-pick|rebase|merge|revert|apply|checkout|switch|clean|gc|prune)$/;
11
+ const GIT_PUSH_CMDS = /^(push|fetch|pull|clone|remote-add|submodule)$/;
12
+ /** `git config` writes change .git/config, which every worktree of the repo
13
+ * shares — `git config user.name x` rewrites the commit identity repo-wide
14
+ * (#250) — so they need policy.git 'push'. Reads stay inspection.
15
+ *
16
+ * The args are walked the way git parses them, because matching flags
17
+ * anywhere in the line let writes through: git stops option parsing at the
18
+ * first positional (`config user.name x -l` WRITES — `-l` is a value-pattern),
19
+ * value options swallow the next token (`--comment -l user.name x` writes),
20
+ * and git accepts abbreviations (`--unset-a`). So only an allowlist of
21
+ * read-safe options is trusted; any other option is a write. An expansion
22
+ * (`$V`, `user.{name,x}`, a glob) may split into more arguments than the
23
+ * tokenizer sees — fail closed. */
24
+ const GIT_CONFIG_READ_VERBS = /^(--(get|get-all|get-regexp|get-urlmatch|get-color|get-colorbool|list)|-l)$/;
25
+ const GIT_CONFIG_READ_OPTS = /^(--(global|local|system|worktree|includes|no-includes|null|name-only|show-origin|show-scope|bool|int|bool-or-int|path|expiry-date)|-z)$/;
26
+ const GIT_CONFIG_VALUE_OPTS = /^(-f|--(file|blob|type|default|url))$/;
27
+ function gitConfigIsWrite(args) {
28
+ if (args.some((a) => /[$`{}*?[]/.test(a)))
29
+ return true;
30
+ let readVerb = false;
31
+ let i = 0;
32
+ for (; i < args.length && args[i].startsWith('-'); i++) {
33
+ const a = args[i];
34
+ if (a === '--') {
35
+ i++;
36
+ break;
37
+ }
38
+ if (GIT_CONFIG_READ_VERBS.test(a))
39
+ readVerb = true;
40
+ else if (GIT_CONFIG_VALUE_OPTS.test(a))
41
+ i++; // `-f <file>` — skip the value
42
+ else if (!GIT_CONFIG_VALUE_OPTS.test(a.split('=')[0]) && !GIT_CONFIG_READ_OPTS.test(a))
43
+ return true;
44
+ }
45
+ const positional = args.slice(i);
46
+ // new-style `get`/`list` read; in legacy mode they are invalid keys (no write)
47
+ if (readVerb || /^(get|list)$/.test(positional[0] ?? ''))
48
+ return false;
49
+ if (/^(set|unset|rename-section|remove-section|edit)$/.test(positional[0] ?? ''))
50
+ return true;
51
+ return positional.length !== 1; // a bare `name` reads; `name value` (or nothing parseable) writes
52
+ }
53
+ /** git options that swallow the NEXT token as their value, so the token after
54
+ * them is never the subcommand. `--git-dir=x` style needs no entry — the value
55
+ * rides in the same token. */
56
+ const GIT_OPTS_WITH_VALUE = new Set([
57
+ '-C',
58
+ '-c',
59
+ '--git-dir',
60
+ '--work-tree',
61
+ '--namespace',
62
+ '--exec-path',
63
+ '--config-env',
64
+ ]);
65
+ /** Config keys that switch off the git guard a role session runs under (#258:
66
+ * core.hooksPath hooks, the transport allow list, and the credential/askpass/
67
+ * ssh settings that withhold push credentials). `include`/`includeIf` can pull
68
+ * a file that sets any of them. A `-c`/`--config-env` override of one of these
69
+ * IS the bypass, so the command cannot be classified as safe. */
70
+ const GIT_GUARD_CONFIG_KEY = /^(core\.(hookspath|sshcommand|askpass)|credential\.|protocol\.|include\.|includeif\.)/i;
71
+ /** Env the guard and its withheld credentials live in (#258). A command that
72
+ * sets, clears or wipes these is tampering with the guard, whether or not the
73
+ * same command mentions git. GIT_AUTHOR_NAME, GIT_DIR and friends are not here:
74
+ * `GIT_AUTHOR_NAME=x git commit` is ordinary work. */
75
+ const GIT_GUARD_ENV = /^(GIT_CONFIG_(COUNT|KEY_\d+|VALUE_\d+|PARAMETERS|GLOBAL|SYSTEM|NOSYSTEM)|GIT_SSH|GIT_SSH_COMMAND|GIT_ASKPASS|SSH_ASKPASS|GIT_TERMINAL_PROMPT|SSH_AUTH_SOCK|GH_TOKEN|GITHUB_TOKEN|GH_ENTERPRISE_TOKEN|GITHUB_ENTERPRISE_TOKEN)$/;
76
+ /** Words that change another command's environment: `env`, and the shell
77
+ * builtins that assign or clear variables. */
78
+ const ENV_SETTERS = /^(env|unset|export|declare|typeset|readonly|set)$/;
79
+ /** The guard variable a token touches, if any — covering `VAR=…` assignments,
80
+ * bare `unset VAR` names, and env's `-u VAR` / `-uVAR` / `--unset=VAR`. */
81
+ function guardEnvName(token) {
82
+ const name = token.replace(/^(--unset=|-u)/, '').split('=')[0];
83
+ return GIT_GUARD_ENV.test(name);
84
+ }
85
+ const CLEARS_ENV = /^(-i|--ignore-environment|-)$/;
86
+ /** `git`, `/usr/bin/git`, `git.exe` — but not `--foo=git` or `mygit`. */
87
+ const GIT_BIN = /(^|\/)git(\.exe)?$/;
88
+ /** A subcommand token the classifier can actually name. Anything else
89
+ * (`$SUB`, `$(echo push)`, `` `echo push` ``, `${x}`) is indirection. */
90
+ const GIT_SUBCOMMAND_SHAPE = /^[a-z][a-z0-9-]*$/;
91
+ /** Command words that run whatever their arguments say — a `git` inside
92
+ * their argument string is invisible to token classification. */
93
+ const INTERPRETERS = /^(sh|bash|zsh|dash|ksh|fish|eval|exec|python[0-9.]*|node|perl|ruby|php|xargs)$/;
94
+ /**
95
+ * Subcommands of every `git` invocation in a shell command — or, when the
96
+ * command hides git behind indirection the tokenizer can't see through, an
97
+ * `opaque` reason so checkGitPolicy can FAIL CLOSED instead of concluding
98
+ * "no git here". Each of these was once a live bypass:
99
+ *
100
+ * git -C /repo push → no regex match at all
101
+ * GIT_DIR=.git git push → matched "git git", read as subcommand "git"
102
+ * g=git; $g push → `$g` isn't `git`, so no git call found
103
+ * git pu""sh / git 'push' → subcommand token wasn't `push`
104
+ * sh -c "git push" / python -c … → git lives inside a quoted argument
105
+ * git -c alias.p=push p → `p` is an unknown (allowed) subcommand
106
+ * echo "$(git push)" / x=`git push` → git lives inside a quoted substitution (#257)
107
+ */
108
+ function gitSubcommands(cmd) {
109
+ const subs = [];
110
+ const { segments, opaque } = shellSegments(cmd);
111
+ if (opaque)
112
+ return { subs, opaque };
113
+ for (const tokens of segments) {
114
+ // leading VAR=value assignments aren't the command word
115
+ let k = 0;
116
+ while (k < tokens.length && /^[A-Za-z_][A-Za-z0-9_]*=/.test(tokens[k]))
117
+ k++;
118
+ if (tokens.slice(0, k).some(guardEnvName))
119
+ return { subs, opaque: "the command reassigns the role's git guard environment" };
120
+ const word = tokens[k];
121
+ if (word === undefined)
122
+ continue;
123
+ if (/^[$`]/.test(word))
124
+ return { subs, opaque: `command word is a shell expansion (${word})` };
125
+ if (ENV_SETTERS.test(basename(word))) {
126
+ const args = tokens.slice(k + 1);
127
+ if (args.some(guardEnvName))
128
+ return { subs, opaque: `${word} changes the role's git guard environment` };
129
+ if (basename(word) === 'env' && args.some((t) => CLEARS_ENV.test(t)))
130
+ return { subs, opaque: "env clears the environment the role's git guard lives in" };
131
+ }
132
+ if (INTERPRETERS.test(basename(word))) {
133
+ const args = tokens.slice(k + 1);
134
+ if (args.some((t) => /\bgit\b/.test(t)))
135
+ return { subs, opaque: `${word} invokes git through an argument string` };
136
+ if (args.some((t) => /[$`]/.test(t)))
137
+ return { subs, opaque: `${word} runs an expanded argument the policy cannot inspect` };
138
+ }
139
+ for (let i = k; i < tokens.length; i++) {
140
+ if (!GIT_BIN.test(tokens[i]))
141
+ continue;
142
+ let j = i + 1;
143
+ while (j < tokens.length) {
144
+ const t = tokens[j];
145
+ if (!t.startsWith('-'))
146
+ break; // found the subcommand
147
+ const override = t === '-c' || t === '--config-env'
148
+ ? tokens[j + 1]
149
+ : t.startsWith('--config-env=')
150
+ ? t.slice('--config-env='.length)
151
+ : undefined;
152
+ if (override !== undefined && GIT_GUARD_CONFIG_KEY.test(override.split('=')[0]))
153
+ return {
154
+ subs,
155
+ opaque: `git ${t} ${override.split('=')[0]} overrides the role's git guard`,
156
+ };
157
+ if (GIT_OPTS_WITH_VALUE.has(t)) {
158
+ j += 2;
159
+ continue;
160
+ } // `-C <path>`
161
+ j += 1; // `--bare`, `--git-dir=x`
162
+ }
163
+ // An alias definition anywhere in the call (`-c alias.p=push`, `config
164
+ // alias.p push`) makes some later subcommand unclassifiable.
165
+ if (tokens.slice(i + 1).some((t) => /(^|=)alias\./.test(t)))
166
+ return { subs, opaque: 'git alias definition' };
167
+ // A `git` with no subcommand at all (`git`, `git --version`) mutates nothing.
168
+ if (j >= tokens.length)
169
+ continue;
170
+ const sub = tokens[j];
171
+ if (!GIT_SUBCOMMAND_SHAPE.test(sub))
172
+ return { subs, opaque: `unparseable git subcommand (${sub})` };
173
+ if (sub === 'config') {
174
+ // `config:read` cannot collide with a real subcommand token (see GIT_SUBCOMMAND_SHAPE)
175
+ subs.push(gitConfigIsWrite(tokens.slice(j + 1)) ? 'config' : 'config:read');
176
+ continue;
177
+ }
178
+ subs.push(sub);
179
+ }
180
+ }
181
+ return { subs };
182
+ }
183
+ export function checkGitPolicy(cmd, level) {
184
+ if (level === 'push')
185
+ return null; // every git form is permitted — nothing to classify
186
+ const { subs: gitCalls, opaque } = gitSubcommands(cmd);
187
+ // SEC: fail closed. If the command reaches git in a way the tokenizer can't
188
+ // classify, the policy can't vouch for it — deny rather than let it through
189
+ // as "no git subcommand found".
190
+ if (opaque)
191
+ return `command denied: ${opaque} — policy.git: ${level} cannot verify git usage; write the git call out literally`;
192
+ if (gitCalls.length === 0)
193
+ return null; // no git subcommand in this command
194
+ if (level === 'none')
195
+ return `git commands are not allowed for this role (policy.git: none)`;
196
+ for (const sub of gitCalls) {
197
+ if (GIT_READ_CMDS.test(sub) || sub === 'config:read')
198
+ continue; // always allowed at 'read' and above
199
+ if (sub === 'config') {
200
+ return `git config write denied (policy.git: ${level} — .git/config is shared by every worktree; writes require policy.git: 'push'. Use \`git -c key=value <cmd>\` for a one-off setting)`;
201
+ }
202
+ if (GIT_PUSH_CMDS.test(sub)) {
203
+ return `git ${sub} denied (policy.git: ${level} — push-level commands require policy.git: 'push')`;
204
+ }
205
+ if (GIT_COMMIT_CMDS.test(sub)) {
206
+ if (level === 'read')
207
+ return `git ${sub} denied (policy.git: read — mutating commands require policy.git: 'commit' or 'push')`;
208
+ continue;
209
+ }
210
+ // Unknown git subcommand — allow at 'commit' and above, deny at 'read'
211
+ if (level === 'read')
212
+ return `git ${sub} denied (unrecognized git subcommand, policy.git: read)`;
213
+ }
214
+ return null;
215
+ }
216
+ //# sourceMappingURL=policy-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-git.js","sourceRoot":"","sources":["../../../src/orgrt/policy-git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAgD1C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6BjD;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC;kFAC8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC7D;AAID,qBAAa,YAAY;IAMrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACd,MAAM,EAAE,UAAU;IACzB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,IAAI,CAAK;IACjB,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAyB;IAC5C,YACW,IAAI,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACjB;IAEJ,4DAA4D;IAC5D,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAE3C;IAED;;4BAEwB;IACxB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAMnC;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjC;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjC;IACD;;wEAEoE;IACpE,IAAI,aAAa,IAAI,OAAO,CAE3B;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkI5E;CACF;AAED;;2EAE2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE;AAqMD;0CAC0C;AAC1C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1F"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAgD1C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6BjD;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC;kFAC8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC7D;AAID,qBAAa,YAAY;IAMrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACd,MAAM,EAAE,UAAU;IACzB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,IAAI,CAAK;IACjB,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAyB;IAC5C,YACW,IAAI,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACjB;IAEJ,4DAA4D;IAC5D,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAE3C;IAED;;4BAEwB;IACxB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAMnC;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IACD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjC;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjC;IACD;;wEAEoE;IACpE,IAAI,aAAa,IAAI,OAAO,CAE3B;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoJ5E;CACF;AAED;;2EAE2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE;AA4BD;0CAC0C;AAC1C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1F"}
@@ -1,6 +1,7 @@
1
1
  // packages/@monomind/cli/src/orgrt/policy.ts
2
2
  import { realpathSync } from 'node:fs';
3
3
  import { basename, dirname, join, relative, resolve, sep } from 'node:path';
4
+ import { checkGitPolicy } from './policy-git.js';
4
5
  const WRITE_TOOLS = new Set(['Write', 'Edit', 'NotebookEdit']);
5
6
  /** Harness messaging tools that bypass the org bus. Always denied: an agent
6
7
  * that picks one gets the SDK's misleading "no agent named X is reachable"
@@ -246,6 +247,20 @@ export class PolicyEngine {
246
247
  const relPosix = rel.split(sep).join('/');
247
248
  if (!globs.some((g) => globToRegExp(g).test(relPosix)))
248
249
  return deny(`path ${rel} outside ${WRITE_TOOLS.has(tool) ? 'write' : 'read'} scope`);
250
+ // #258: Write/Edit run in-process, so the OS sandbox never sees them —
251
+ // without this a 'read' role could write refs and objects straight into
252
+ // .git, and a 'commit' role could rewrite the shared identity (#250) or
253
+ // the hooks that enforce its own level.
254
+ if (WRITE_TOOLS.has(tool)) {
255
+ const gitLevel = this.policy.git ?? 'read';
256
+ const segments = realPath(resolve(this.cwd, p)).split(sep);
257
+ const at = segments.lastIndexOf('.git');
258
+ const inGit = segments[at + 1];
259
+ if (gitLevel !== 'push' &&
260
+ at !== -1 &&
261
+ (gitLevel !== 'commit' || inGit === 'config' || inGit === 'hooks'))
262
+ return deny(`writes into ${segments.slice(at).join('/')} are not allowed (policy.git: ${gitLevel})`);
263
+ }
249
264
  }
250
265
  }
251
266
  if (tool === 'Bash') {
@@ -280,182 +295,6 @@ export function webDomainMatches(pattern, host) {
280
295
  }
281
296
  return host === pattern || host.endsWith(`.${pattern}`);
282
297
  }
283
- // Anchored: these are matched against a single extracted subcommand token, so
284
- // an unanchored /\b…\b/ would classify `git push-mirror` as a read because the
285
- // word `show` etc. could appear anywhere in a longer name. `remote` is
286
- // deliberately read-level only for inspection — `remote add`/`set-url` mutate
287
- // config, but redirecting a remote is inert unless push is also permitted.
288
- const GIT_READ_CMDS = /^(status|log|diff|show|branch|tag|remote|rev-parse|ls-files|ls-tree|blame|shortlog|describe|cat-file|for-each-ref|rev-list|grep|worktree)$/;
289
- const GIT_COMMIT_CMDS = /^(add|commit|rm|mv|restore|reset|stash|cherry-pick|rebase|merge|revert|apply|checkout|switch|clean|gc|prune)$/;
290
- const GIT_PUSH_CMDS = /^(push|fetch|pull|clone|remote-add|submodule)$/;
291
- /** git options that swallow the NEXT token as their value, so the token after
292
- * them is never the subcommand. `--git-dir=x` style needs no entry — the value
293
- * rides in the same token. */
294
- const GIT_OPTS_WITH_VALUE = new Set([
295
- '-C',
296
- '-c',
297
- '--git-dir',
298
- '--work-tree',
299
- '--namespace',
300
- '--exec-path',
301
- '--config-env',
302
- ]);
303
- /** `git`, `/usr/bin/git`, `git.exe` — but not `--foo=git` or `mygit`. */
304
- const GIT_BIN = /(^|\/)git(\.exe)?$/;
305
- /** A subcommand token the classifier can actually name. Anything else
306
- * (`$SUB`, `$(echo push)`, `` `echo push` ``, `${x}`) is indirection. */
307
- const GIT_SUBCOMMAND_SHAPE = /^[a-z][a-z0-9-]*$/;
308
- /** Command words that run whatever their arguments say — a `git` inside
309
- * their argument string is invisible to token classification. */
310
- const INTERPRETERS = /^(sh|bash|zsh|dash|ksh|fish|eval|exec|python[0-9.]*|node|perl|ruby|php|xargs)$/;
311
- /**
312
- * Minimal quote-aware split of a shell command into segments (one per
313
- * `;`, `|`, `&`, `(`, `)` or newline) of whitespace-separated tokens, with
314
- * quotes and backslash escapes REMOVED from token text. Not a shell parser:
315
- * it exists only so the classifier sees `sh -c "git push"` as the tokens
316
- * `sh`, `-c`, `git push`, sees `git pu""sh` as `git push`, and does NOT see
317
- * `git commit -m "fix: git push hook"` as a second git call.
318
- */
319
- function shellSegments(cmd) {
320
- const segments = [];
321
- let seg = [];
322
- let cur = '';
323
- let has = false; // current token has content (so `""` yields an empty token)
324
- let quote = null;
325
- const flush = () => {
326
- if (has)
327
- seg.push(cur);
328
- cur = '';
329
- has = false;
330
- };
331
- const endSegment = () => {
332
- flush();
333
- if (seg.length)
334
- segments.push(seg);
335
- seg = [];
336
- };
337
- for (let i = 0; i < cmd.length; i++) {
338
- const c = cmd[i];
339
- if (quote) {
340
- if (c === quote)
341
- quote = null;
342
- else if (c === '\\' && quote === '"' && i + 1 < cmd.length)
343
- cur += cmd[++i];
344
- else
345
- cur += c;
346
- continue;
347
- }
348
- if (c === '"' || c === "'") {
349
- quote = c;
350
- has = true;
351
- }
352
- else if (c === '\\' && i + 1 < cmd.length) {
353
- cur += cmd[++i];
354
- has = true;
355
- }
356
- else if (c === '\n' || ';|&()'.includes(c))
357
- endSegment();
358
- else if (/\s/.test(c))
359
- flush();
360
- else {
361
- cur += c;
362
- has = true;
363
- }
364
- }
365
- endSegment();
366
- return segments;
367
- }
368
- /**
369
- * Subcommands of every `git` invocation in a shell command — or, when the
370
- * command hides git behind indirection the tokenizer can't see through, an
371
- * `opaque` reason so checkGitPolicy can FAIL CLOSED instead of concluding
372
- * "no git here". Each of these was once a live bypass:
373
- *
374
- * git -C /repo push → no regex match at all
375
- * GIT_DIR=.git git push → matched "git git", read as subcommand "git"
376
- * g=git; $g push → `$g` isn't `git`, so no git call found
377
- * git pu""sh / git 'push' → subcommand token wasn't `push`
378
- * sh -c "git push" / python -c … → git lives inside a quoted argument
379
- * git -c alias.p=push p → `p` is an unknown (allowed) subcommand
380
- */
381
- function gitSubcommands(cmd) {
382
- const subs = [];
383
- for (const tokens of shellSegments(cmd)) {
384
- // leading VAR=value assignments aren't the command word
385
- let k = 0;
386
- while (k < tokens.length && /^[A-Za-z_][A-Za-z0-9_]*=/.test(tokens[k]))
387
- k++;
388
- const word = tokens[k];
389
- if (word === undefined)
390
- continue;
391
- if (/^[$`]/.test(word))
392
- return { subs, opaque: `command word is a shell expansion (${word})` };
393
- if (INTERPRETERS.test(basename(word))) {
394
- const args = tokens.slice(k + 1);
395
- if (args.some((t) => /\bgit\b/.test(t)))
396
- return { subs, opaque: `${word} invokes git through an argument string` };
397
- if (args.some((t) => /[$`]/.test(t)))
398
- return { subs, opaque: `${word} runs an expanded argument the policy cannot inspect` };
399
- }
400
- for (let i = k; i < tokens.length; i++) {
401
- if (!GIT_BIN.test(tokens[i]))
402
- continue;
403
- let j = i + 1;
404
- while (j < tokens.length) {
405
- const t = tokens[j];
406
- if (!t.startsWith('-'))
407
- break; // found the subcommand
408
- if (GIT_OPTS_WITH_VALUE.has(t)) {
409
- j += 2;
410
- continue;
411
- } // `-C <path>`
412
- j += 1; // `--bare`, `--git-dir=x`
413
- }
414
- // An alias definition anywhere in the call (`-c alias.p=push`, `config
415
- // alias.p push`) makes some later subcommand unclassifiable.
416
- if (tokens.slice(i + 1).some((t) => /(^|=)alias\./.test(t)))
417
- return { subs, opaque: 'git alias definition' };
418
- // A `git` with no subcommand at all (`git`, `git --version`) mutates nothing.
419
- if (j >= tokens.length)
420
- continue;
421
- const sub = tokens[j];
422
- if (!GIT_SUBCOMMAND_SHAPE.test(sub))
423
- return { subs, opaque: `unparseable git subcommand (${sub})` };
424
- subs.push(sub);
425
- }
426
- }
427
- return { subs };
428
- }
429
- function checkGitPolicy(cmd, level) {
430
- if (level === 'push')
431
- return null; // every git form is permitted — nothing to classify
432
- const { subs: gitCalls, opaque } = gitSubcommands(cmd);
433
- // SEC: fail closed. If the command reaches git in a way the tokenizer can't
434
- // classify, the policy can't vouch for it — deny rather than let it through
435
- // as "no git subcommand found".
436
- if (opaque)
437
- return `command denied: ${opaque} — policy.git: ${level} cannot verify git usage; write the git call out literally`;
438
- if (gitCalls.length === 0)
439
- return null; // no git subcommand in this command
440
- if (level === 'none')
441
- return `git commands are not allowed for this role (policy.git: none)`;
442
- for (const sub of gitCalls) {
443
- if (GIT_READ_CMDS.test(sub))
444
- continue; // always allowed at 'read' and above
445
- if (GIT_PUSH_CMDS.test(sub)) {
446
- return `git ${sub} denied (policy.git: ${level} — push-level commands require policy.git: 'push')`;
447
- }
448
- if (GIT_COMMIT_CMDS.test(sub)) {
449
- if (level === 'read')
450
- return `git ${sub} denied (policy.git: read — mutating commands require policy.git: 'commit' or 'push')`;
451
- continue;
452
- }
453
- // Unknown git subcommand — allow at 'commit' and above, deny at 'read'
454
- if (level === 'read')
455
- return `git ${sub} denied (unrecognized git subcommand, policy.git: read)`;
456
- }
457
- return null;
458
- }
459
298
  /** realpath of `p`, resolving through the nearest EXISTING ancestor when the
460
299
  * target itself doesn't exist yet (a Write into a symlinked directory), and
461
300
  * falling back to the lexical path when nothing on it exists. */
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,19 @@ export declare function readQuestions(root: string, org: string): {
13
13
  }>;
14
14
  };
15
15
  export declare function writeQuestions(root: string, org: string, data: ReturnType<typeof readQuestions>): void;
16
+ /** Discard every still-pending question left over from a previous run. Call on
17
+ * a fresh (non-resume) startOrg — same rule as clearApprovalsForFreshStart
18
+ * (#165), for the same reason (#248).
19
+ *
20
+ * questions.json is keyed per-org, not per-run. A question a role asked in a
21
+ * PREVIOUS run that was never answered before that run ended otherwise stays
22
+ * `answer: null` forever: `org questions` and the dashboard list it as
23
+ * pending, the idle watchdog treats it as a legitimate human wait and never
24
+ * nudges or stops the new run, and answering it pushes context into a role
25
+ * that never asked. Answered entries have no effect on a new run, so they are
26
+ * kept as history; the dropped question's text is still in its own run's
27
+ * bus.jsonl ('question' event). */
28
+ export declare function clearQuestionsForFreshStart(daemon: OrgDaemon, org: string): void;
16
29
  /** Agent-initiated human question (ask_human tool). Persists to questions.json (survives
17
30
  * process/dashboard restarts) and emits a 'question' BusEvent so the dashboard's SSE
18
31
  * stream and global inbox pick it up in real time. Returns a receipt string for the tool call.
@@ -1 +1 @@
1
- {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/orgrt/questions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV;IACD,SAAS,EAAE,KAAK,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,6CAA6C;QAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAMA;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACrC,IAAI,CAMN;AAgBD;;;qFAGqF;AACrF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;;;;;;;;;wEAawE;AACxE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,SAAU,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsGtD"}
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/orgrt/questions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV;IACD,SAAS,EAAE,KAAK,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,6CAA6C;QAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAMA;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACrC,IAAI,CAMN;AAED;;;;;;;;;;;oCAWoC;AACpC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMhF;AAgBD;;;qFAGqF;AACrF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;;;;;;;;;wEAawE;AACxE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,SAAU,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsGtD"}
@@ -1,6 +1,6 @@
1
1
  // packages/@monomind/cli/src/orgrt/questions.ts
2
2
  // Extracted from daemon.ts — ask_human / answerQuestion flow.
3
- import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
3
+ import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { queueMessage } from './inbox.js';
6
6
  import { ORG_DIR } from './types.js';
@@ -22,6 +22,26 @@ export function writeQuestions(root, org, data) {
22
22
  writeFileSync(tmp, JSON.stringify(data, null, 2));
23
23
  renameSync(tmp, dest);
24
24
  }
25
+ /** Discard every still-pending question left over from a previous run. Call on
26
+ * a fresh (non-resume) startOrg — same rule as clearApprovalsForFreshStart
27
+ * (#165), for the same reason (#248).
28
+ *
29
+ * questions.json is keyed per-org, not per-run. A question a role asked in a
30
+ * PREVIOUS run that was never answered before that run ended otherwise stays
31
+ * `answer: null` forever: `org questions` and the dashboard list it as
32
+ * pending, the idle watchdog treats it as a legitimate human wait and never
33
+ * nudges or stops the new run, and answering it pushes context into a role
34
+ * that never asked. Answered entries have no effect on a new run, so they are
35
+ * kept as history; the dropped question's text is still in its own run's
36
+ * bus.jsonl ('question' event). */
37
+ export function clearQuestionsForFreshStart(daemon, org) {
38
+ if (!existsSync(questionsPath(daemon.root, org)))
39
+ return;
40
+ const data = readQuestions(daemon.root, org);
41
+ const answered = data.questions.filter((q) => q.answer !== null);
42
+ if (answered.length !== data.questions.length)
43
+ writeQuestions(daemon.root, org, { ...data, questions: answered });
44
+ }
25
45
  /** Serialize question mutations per org (same pattern as withApprovalLock).
26
46
  * askHuman and answerQuestion race on questions.json without this. */
27
47
  function withQuestionsLock(daemon, org, fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../src/orgrt/questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../src/orgrt/questions.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@ export declare function readRunEvents(cwd: string, org: string, run: string): Bu
37
37
  /** history.jsonl — one RunSummary line per completed run, appended by the daemon at stopOrg. */
38
38
  export declare function historyFile(cwd: string, org: string): string;
39
39
  export declare function readHistory(cwd: string, org: string): RunSummary[];
40
+ /** `HH:MM:SSZ` */
41
+ export declare function utcTime(ts: number): string;
42
+ /** `YYYY-MM-DD HH:MMZ` */
43
+ export declare function utcDateMinute(ts: number): string;
40
44
  /** One bus event as a compact human-readable log line. */
41
45
  export declare function formatEvent(e: BusEvent): string;
42
46
  //# sourceMappingURL=reporting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../src/orgrt/reporting.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAsE3D;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAO9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAc/E;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAclE;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAsB/C"}
1
+ {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../src/orgrt/reporting.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAsE3D;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAO9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAc/E;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAclE;AAID,kBAAkB;AAClB,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAsB/C"}