@groundnuty/macf 0.2.36 → 0.2.38
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.
- package/dist/.build-info.json +2 -2
- package/dist/cli/claude-sh.d.ts +12 -10
- package/dist/cli/claude-sh.d.ts.map +1 -1
- package/dist/cli/claude-sh.js +13 -11
- package/dist/cli/claude-sh.js.map +1 -1
- package/dist/cli/commands/certs.d.ts.map +1 -1
- package/dist/cli/commands/certs.js +6 -2
- package/dist/cli/commands/certs.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +102 -3
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +349 -55
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts +24 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +81 -8
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/monitor.d.ts +16 -0
- package/dist/cli/commands/monitor.d.ts.map +1 -0
- package/dist/cli/commands/monitor.js +96 -0
- package/dist/cli/commands/monitor.js.map +1 -0
- package/dist/cli/commands/propose.d.ts +21 -0
- package/dist/cli/commands/propose.d.ts.map +1 -0
- package/dist/cli/commands/propose.js +128 -0
- package/dist/cli/commands/propose.js.map +1 -0
- package/dist/cli/commands/ps.d.ts +17 -0
- package/dist/cli/commands/ps.d.ts.map +1 -0
- package/dist/cli/commands/ps.js +69 -0
- package/dist/cli/commands/ps.js.map +1 -0
- package/dist/cli/commands/registry-prune.d.ts +44 -0
- package/dist/cli/commands/registry-prune.d.ts.map +1 -0
- package/dist/cli/commands/registry-prune.js +124 -0
- package/dist/cli/commands/registry-prune.js.map +1 -0
- package/dist/cli/commands/rules-refresh.d.ts +1 -0
- package/dist/cli/commands/rules-refresh.d.ts.map +1 -1
- package/dist/cli/commands/rules-refresh.js +22 -1
- package/dist/cli/commands/rules-refresh.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +23 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +16 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/env-files-update.d.ts.map +1 -1
- package/dist/cli/env-files-update.js +5 -1
- package/dist/cli/env-files-update.js.map +1 -1
- package/dist/cli/env-files.d.ts +38 -13
- package/dist/cli/env-files.d.ts.map +1 -1
- package/dist/cli/env-files.js +84 -14
- package/dist/cli/env-files.js.map +1 -1
- package/dist/cli/index.js +142 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/monitor/digest.d.ts +89 -0
- package/dist/cli/monitor/digest.d.ts.map +1 -0
- package/dist/cli/monitor/digest.js +232 -0
- package/dist/cli/monitor/digest.js.map +1 -0
- package/dist/cli/monitor/github-reader.d.ts +38 -0
- package/dist/cli/monitor/github-reader.d.ts.map +1 -0
- package/dist/cli/monitor/github-reader.js +65 -0
- package/dist/cli/monitor/github-reader.js.map +1 -0
- package/dist/cli/monitor/reflections.d.ts +18 -0
- package/dist/cli/monitor/reflections.d.ts.map +1 -0
- package/dist/cli/monitor/reflections.js +72 -0
- package/dist/cli/monitor/reflections.js.map +1 -0
- package/dist/cli/monitor/run.d.ts +30 -0
- package/dist/cli/monitor/run.d.ts.map +1 -0
- package/dist/cli/monitor/run.js +67 -0
- package/dist/cli/monitor/run.js.map +1 -0
- package/dist/cli/proc-scan.d.ts +81 -0
- package/dist/cli/proc-scan.d.ts.map +1 -0
- package/dist/cli/proc-scan.js +172 -0
- package/dist/cli/proc-scan.js.map +1 -0
- package/dist/cli/project-rules.d.ts +105 -0
- package/dist/cli/project-rules.d.ts.map +1 -0
- package/dist/cli/project-rules.js +305 -0
- package/dist/cli/project-rules.js.map +1 -0
- package/dist/cli/propose/candidates.d.ts +95 -0
- package/dist/cli/propose/candidates.d.ts.map +1 -0
- package/dist/cli/propose/candidates.js +117 -0
- package/dist/cli/propose/candidates.js.map +1 -0
- package/dist/cli/propose/invariants.d.ts +49 -0
- package/dist/cli/propose/invariants.d.ts.map +1 -0
- package/dist/cli/propose/invariants.js +154 -0
- package/dist/cli/propose/invariants.js.map +1 -0
- package/dist/cli/propose/proposal-writer.d.ts +33 -0
- package/dist/cli/propose/proposal-writer.d.ts.map +1 -0
- package/dist/cli/propose/proposal-writer.js +53 -0
- package/dist/cli/propose/proposal-writer.js.map +1 -0
- package/dist/cli/propose/report.d.ts +49 -0
- package/dist/cli/propose/report.d.ts.map +1 -0
- package/dist/cli/propose/report.js +227 -0
- package/dist/cli/propose/report.js.map +1 -0
- package/dist/cli/propose/run.d.ts +41 -0
- package/dist/cli/propose/run.d.ts.map +1 -0
- package/dist/cli/propose/run.js +62 -0
- package/dist/cli/propose/run.js.map +1 -0
- package/dist/cli/role-settings-model.d.ts +70 -0
- package/dist/cli/role-settings-model.d.ts.map +1 -0
- package/dist/cli/role-settings-model.js +90 -0
- package/dist/cli/role-settings-model.js.map +1 -0
- package/dist/cli/settings-writer.d.ts +103 -6
- package/dist/cli/settings-writer.d.ts.map +1 -1
- package/dist/cli/settings-writer.js +259 -8
- package/dist/cli/settings-writer.js.map +1 -1
- package/dist/reconciler/reconcile.d.ts +31 -0
- package/dist/reconciler/reconcile.d.ts.map +1 -1
- package/dist/reconciler/reconcile.js +47 -3
- package/dist/reconciler/reconcile.js.map +1 -1
- package/dist/reconciler/run.d.ts +21 -1
- package/dist/reconciler/run.d.ts.map +1 -1
- package/dist/reconciler/run.js +106 -17
- package/dist/reconciler/run.js.map +1 -1
- package/package.json +2 -2
- package/plugin/rules/gh-token-attribution-traps.md +4 -0
- package/plugin/rules/observability-wiring.md +3 -3
- package/plugin/rules/reflection-staging.md +65 -0
- package/plugin/rules/silent-fallback-hazards.md +21 -4
- package/scripts/check-auditor-never-acts.sh +167 -0
- package/scripts/check-gh-attribution.sh +254 -0
- package/scripts/emit-turn-receipt.sh +1 -1
- package/scripts/harvest-reflection.sh +125 -0
|
@@ -58,6 +58,22 @@ export declare const MACF_LGTM_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scrip
|
|
|
58
58
|
* `Closes #own` passes); override via MACF_SKIP_CLOSE_CHECK=1.
|
|
59
59
|
*/
|
|
60
60
|
export declare const MACF_CLOSE_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scripts/check-close-keyword.sh";
|
|
61
|
+
/**
|
|
62
|
+
* Auditor-never-acts hook command (groundnuty/macf#499 — DR-026 F1). Blocks
|
|
63
|
+
* state-mutating `gh` ops (`gh pr merge` / `gh issue close` / `gh pr close`)
|
|
64
|
+
* when the active identity is the auditor (`MACF_AGENT_ROLE=auditor`), while
|
|
65
|
+
* leaving the propose verbs (`gh issue/pr create|comment`) untouched. For every
|
|
66
|
+
* NON-auditor identity the hook is inert (`exit 0` before any parsing), so
|
|
67
|
+
* fleet-wide distribution via `macf init` / `macf update` is a no-op everywhere
|
|
68
|
+
* except the auditor.
|
|
69
|
+
*
|
|
70
|
+
* Why structural and not permission-based: a GitHub App's `pull_requests:write`
|
|
71
|
+
* grants merge+close TOGETHER with open-PR — there is no "open-a-PR-but-not-
|
|
72
|
+
* merge" scope to express the auditor's write-proposals-only boundary, so it
|
|
73
|
+
* must be enforced at tool-call time. Sister to the #140 / #244+#272 / #270 /
|
|
74
|
+
* #431 PreToolUse hooks; override via MACF_SKIP_AUDITOR_ACT_CHECK=1.
|
|
75
|
+
*/
|
|
76
|
+
export declare const MACF_AUDITOR_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scripts/check-auditor-never-acts.sh";
|
|
61
77
|
/**
|
|
62
78
|
* The UserPromptSubmit turn-ack receipt hook (groundnuty/macf#444 Option D,
|
|
63
79
|
* piece 2). When the router injects a prompt carrying the correlation marker
|
|
@@ -69,6 +85,42 @@ export declare const MACF_CLOSE_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scri
|
|
|
69
85
|
* `async: true` so it adds no turn latency. No-op on non-routed prompts.
|
|
70
86
|
*/
|
|
71
87
|
export declare const MACF_TURN_RECEIPT_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scripts/emit-turn-receipt.sh";
|
|
88
|
+
/**
|
|
89
|
+
* Attribution-result PostToolUse hook command (groundnuty/macf#489). After a
|
|
90
|
+
* `gh`-write Bash op (`gh issue/pr comment`, `gh issue/pr create`,
|
|
91
|
+
* `gh issue/pr close --comment`), this hook reads the just-written resource
|
|
92
|
+
* back from GitHub and warns LOUDLY (PostToolUse `exit 2`) if it was authored
|
|
93
|
+
* by the operator's USER account rather than the bot — the silent-fallback
|
|
94
|
+
* Instance-12 attribution trap. It is the result-invariant backstop to the
|
|
95
|
+
* #140 PreToolUse `check-gh-token.sh`: that one catches the missing-bot-token
|
|
96
|
+
* shape BEFORE the call; this one catches a slipped write AFTER the fact.
|
|
97
|
+
*
|
|
98
|
+
* PostToolUse CANNOT block (the tool already ran), so this is registered on
|
|
99
|
+
* the `PostToolUse` event (matcher `Bash`), NOT `PreToolUse`. Fail-open:
|
|
100
|
+
* every uncertain branch in the script exits 0; only a CONFIRMED
|
|
101
|
+
* user-authored write fires `exit 2`. Override: MACF_SKIP_ATTRIBUTION_CHECK=1.
|
|
102
|
+
*/
|
|
103
|
+
export declare const MACF_ATTRIBUTION_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scripts/check-gh-attribution.sh";
|
|
104
|
+
/**
|
|
105
|
+
* Reflection-harvest PreCompact hook command (groundnuty/macf#500 — DR-026 F2).
|
|
106
|
+
* At compaction (auto OR manual `/compact`), this hook harvests the agent's
|
|
107
|
+
* *staged* reflection (`.claude/.macf/reflections/pending.json`, maintained
|
|
108
|
+
* incrementally per `reflection-staging.md`), wraps it in the versioned
|
|
109
|
+
* reflection-schema envelope (`@groundnuty/macf-core` `ReflectionRecordSchema`),
|
|
110
|
+
* appends it as one line to a local per-session JSONL ledger, and clears the
|
|
111
|
+
* stage. F4's Monitor reads the ledger back.
|
|
112
|
+
*
|
|
113
|
+
* It runs on the `PreCompact` event (matcher-less, like SessionStart / Stop /
|
|
114
|
+
* UserPromptSubmit). Per DR-023 §UC-3 it is observational + NON-BLOCKING: the
|
|
115
|
+
* script ALWAYS `exit 0` (even on internal error) so it can never delay/block
|
|
116
|
+
* compaction. Fast + local; no network. Override: MACF_SKIP_REFLECTION_HARVEST=1.
|
|
117
|
+
*
|
|
118
|
+
* Distinct from the plugin's existing PreCompact `checkpoint_to_memory`
|
|
119
|
+
* mcp_tool entry (DR-023 §UC-3 session-checkpoint): that ships via the plugin
|
|
120
|
+
* `hooks.json` mcp_tool path; THIS is a bash command-type hook installed into
|
|
121
|
+
* settings.json — both can coexist on the PreCompact event.
|
|
122
|
+
*/
|
|
123
|
+
export declare const MACF_REFLECTION_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.claude/scripts/harvest-reflection.sh";
|
|
72
124
|
/**
|
|
73
125
|
* Permission patterns pre-approving the `macf-agent` plugin skills.
|
|
74
126
|
* Without these, every first invocation of a skill (e.g. `/macf-status`
|
|
@@ -91,6 +143,22 @@ export declare const MACF_TURN_RECEIPT_HOOK_COMMAND = "$CLAUDE_PROJECT_DIR/.clau
|
|
|
91
143
|
* a skill, add its pattern here + bump CLI version. macf#350 added
|
|
92
144
|
* `macf-notify-peer` (operator-driven cross-agent messaging slash-command).
|
|
93
145
|
*/
|
|
146
|
+
/**
|
|
147
|
+
* DR-028 universal floor `allow` tools (every role). Broad `Bash(*)` — narrow
|
|
148
|
+
* patterns are defeated by `$GH_TOKEN`/`$MACF_WORKSPACE_DIR` "simple_expansion";
|
|
149
|
+
* the real defense is the `deny` floor + the PreToolUse hooks, NOT
|
|
150
|
+
* allow-narrowing. `Write`/`Edit` close the memory-edit prompt. Defined here
|
|
151
|
+
* (zero deps) so `role-settings-model.ts` re-exports it without an import cycle
|
|
152
|
+
* (that module imports the hook constants FROM here). See
|
|
153
|
+
* `design/decisions/DR-028-expected-settings-per-role.md`.
|
|
154
|
+
*/
|
|
155
|
+
export declare const ROLE_FLOOR_ALLOW: readonly string[];
|
|
156
|
+
/**
|
|
157
|
+
* DR-028 universal floor `deny` — the real guardrail (seeded from devops's set,
|
|
158
|
+
* the most complete of the three working agents): credential/secret reads +
|
|
159
|
+
* config/dotfile writes + dangerous commands.
|
|
160
|
+
*/
|
|
161
|
+
export declare const ROLE_FLOOR_DENY: readonly string[];
|
|
94
162
|
export declare const PLUGIN_SKILL_PERMISSIONS: readonly string[];
|
|
95
163
|
/**
|
|
96
164
|
* Permission patterns pre-approving the MCP tools that
|
|
@@ -187,6 +255,17 @@ export declare function getPermissionsAllow(workspaceDir: string): readonly stri
|
|
|
187
255
|
* INFO-severity classification fires on the union.
|
|
188
256
|
*/
|
|
189
257
|
export declare function getPermissionsDeny(workspaceDir: string): readonly string[];
|
|
258
|
+
/**
|
|
259
|
+
* Read the workspace-effective set of hook command strings — the union of
|
|
260
|
+
* `.claude/settings.json` + `.claude/settings.local.json` across EVERY hook
|
|
261
|
+
* event (PreToolUse / PostToolUse / UserPromptSubmit / PreCompact / …). The
|
|
262
|
+
* order-/event-agnostic command list is what `macf doctor` (DR-028) validates
|
|
263
|
+
* against the role model: the model identifies a wired hook by its command
|
|
264
|
+
* string (the same identity `installGhTokenHook` writes), not by which event
|
|
265
|
+
* array it lives in, so a flat deduped command set is the right comparison
|
|
266
|
+
* surface. Throws on malformed JSON in either file (via `readSettings`).
|
|
267
|
+
*/
|
|
268
|
+
export declare function getHookCommands(workspaceDir: string): readonly string[];
|
|
190
269
|
/**
|
|
191
270
|
* Install (or refresh) the `/proc/self/fd` entry in
|
|
192
271
|
* `.claude/settings.json`'s `sandbox.filesystem.allowRead` array.
|
|
@@ -307,16 +386,34 @@ export declare function installPluginSkillPermissions(workspaceDir: string): voi
|
|
|
307
386
|
* - `check-close-keyword.sh` (groundnuty/macf#431 — blocks `gh pr
|
|
308
387
|
* create`/`edit` that would auto-close another agent's issue via a
|
|
309
388
|
* close-keyword adjacent to its ref)
|
|
389
|
+
* - `check-auditor-never-acts.sh` (groundnuty/macf#499 — DR-026 F1; when
|
|
390
|
+
* `MACF_AGENT_ROLE=auditor`, blocks state-mutating `gh pr merge` /
|
|
391
|
+
* `gh issue close` / `gh pr close`; inert for every non-auditor identity)
|
|
392
|
+
*
|
|
393
|
+
* Plus, on the PostToolUse event:
|
|
394
|
+
* - `check-gh-attribution.sh` (groundnuty/macf#489 — after a `gh`-write
|
|
395
|
+
* op, reads the resource back from GitHub and warns (`exit 2`) if it
|
|
396
|
+
* was authored by the operator's user account instead of the bot;
|
|
397
|
+
* the result-invariant backstop to the #140 PreToolUse token check)
|
|
398
|
+
*
|
|
399
|
+
* And, on the UserPromptSubmit event:
|
|
400
|
+
* - `emit-turn-receipt.sh` (groundnuty/macf#444 — async turn-ack span)
|
|
401
|
+
*
|
|
402
|
+
* And, on the PreCompact event:
|
|
403
|
+
* - `harvest-reflection.sh` (groundnuty/macf#500 — DR-026 F2; at compaction,
|
|
404
|
+
* harvests the agent's staged reflection into a local JSONL ledger. Matcher-
|
|
405
|
+
* less + NON-BLOCKING; operator-authored PreCompact hooks are preserved)
|
|
310
406
|
*
|
|
311
407
|
* Creates the `.claude/` directory and the file if either is missing.
|
|
312
408
|
* Idempotent: repeated calls don't duplicate entries.
|
|
313
409
|
*
|
|
314
|
-
*
|
|
315
|
-
* gates which tool fires the hook; the wrapped-command
|
|
316
|
-
* git-push for token, gh issue/pr comment for routing,
|
|
317
|
-
*
|
|
318
|
-
*
|
|
319
|
-
*
|
|
410
|
+
* The PreToolUse + PostToolUse hooks share `matcher: "Bash"` because Claude
|
|
411
|
+
* Code's matcher field gates which tool fires the hook; the wrapped-command
|
|
412
|
+
* detection (gh vs git-push for token, gh issue/pr comment for routing,
|
|
413
|
+
* gh pr merge for LGTM, close-keyword for auto-close, the auditor-role
|
|
414
|
+
* acting-verb gate, gh-write for attribution) happens INSIDE each script.
|
|
415
|
+
* Distinct entries per script keep them independently upgradeable +
|
|
416
|
+
* diagnosable in `gh issue list` style settings audits.
|
|
320
417
|
*/
|
|
321
418
|
export declare function installGhTokenHook(workspaceDir: string): void;
|
|
322
419
|
//# sourceMappingURL=settings-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-writer.d.ts","sourceRoot":"","sources":["../../src/cli/settings-writer.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,0DAA0D,CAAC;AAEzF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,iEAAiE,CAAC;AAExG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,2DAA2D,CAAC;AAE/F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,+DAA+D,CAAC;AAEpG;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"settings-writer.d.ts","sourceRoot":"","sources":["../../src/cli/settings-writer.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,0DAA0D,CAAC;AAEzF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,iEAAiE,CAAC;AAExG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,2DAA2D,CAAC;AAE/F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,+DAA+D,CAAC;AAEpG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,oEAAoE,CAAC;AAE3G;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,6DAA6D,CAAC;AAEzG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,6BAA6B,gEAAgE,CAAC;AAE3G;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,4BAA4B,8DAA8D,CAAC;AAwExG;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAU7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EA8D5C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAMrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAGxD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAS3E;AAmBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAM3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAM1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAkBvE;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CA+CpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EA0CtD,CAAC;AAWF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CA8CzE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAQlF;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAgExE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CA6G7D"}
|
|
@@ -80,6 +80,22 @@ export const MACF_LGTM_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/check
|
|
|
80
80
|
* `Closes #own` passes); override via MACF_SKIP_CLOSE_CHECK=1.
|
|
81
81
|
*/
|
|
82
82
|
export const MACF_CLOSE_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/check-close-keyword.sh';
|
|
83
|
+
/**
|
|
84
|
+
* Auditor-never-acts hook command (groundnuty/macf#499 — DR-026 F1). Blocks
|
|
85
|
+
* state-mutating `gh` ops (`gh pr merge` / `gh issue close` / `gh pr close`)
|
|
86
|
+
* when the active identity is the auditor (`MACF_AGENT_ROLE=auditor`), while
|
|
87
|
+
* leaving the propose verbs (`gh issue/pr create|comment`) untouched. For every
|
|
88
|
+
* NON-auditor identity the hook is inert (`exit 0` before any parsing), so
|
|
89
|
+
* fleet-wide distribution via `macf init` / `macf update` is a no-op everywhere
|
|
90
|
+
* except the auditor.
|
|
91
|
+
*
|
|
92
|
+
* Why structural and not permission-based: a GitHub App's `pull_requests:write`
|
|
93
|
+
* grants merge+close TOGETHER with open-PR — there is no "open-a-PR-but-not-
|
|
94
|
+
* merge" scope to express the auditor's write-proposals-only boundary, so it
|
|
95
|
+
* must be enforced at tool-call time. Sister to the #140 / #244+#272 / #270 /
|
|
96
|
+
* #431 PreToolUse hooks; override via MACF_SKIP_AUDITOR_ACT_CHECK=1.
|
|
97
|
+
*/
|
|
98
|
+
export const MACF_AUDITOR_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/check-auditor-never-acts.sh';
|
|
83
99
|
/**
|
|
84
100
|
* The UserPromptSubmit turn-ack receipt hook (groundnuty/macf#444 Option D,
|
|
85
101
|
* piece 2). When the router injects a prompt carrying the correlation marker
|
|
@@ -91,6 +107,42 @@ export const MACF_CLOSE_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/chec
|
|
|
91
107
|
* `async: true` so it adds no turn latency. No-op on non-routed prompts.
|
|
92
108
|
*/
|
|
93
109
|
export const MACF_TURN_RECEIPT_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/emit-turn-receipt.sh';
|
|
110
|
+
/**
|
|
111
|
+
* Attribution-result PostToolUse hook command (groundnuty/macf#489). After a
|
|
112
|
+
* `gh`-write Bash op (`gh issue/pr comment`, `gh issue/pr create`,
|
|
113
|
+
* `gh issue/pr close --comment`), this hook reads the just-written resource
|
|
114
|
+
* back from GitHub and warns LOUDLY (PostToolUse `exit 2`) if it was authored
|
|
115
|
+
* by the operator's USER account rather than the bot — the silent-fallback
|
|
116
|
+
* Instance-12 attribution trap. It is the result-invariant backstop to the
|
|
117
|
+
* #140 PreToolUse `check-gh-token.sh`: that one catches the missing-bot-token
|
|
118
|
+
* shape BEFORE the call; this one catches a slipped write AFTER the fact.
|
|
119
|
+
*
|
|
120
|
+
* PostToolUse CANNOT block (the tool already ran), so this is registered on
|
|
121
|
+
* the `PostToolUse` event (matcher `Bash`), NOT `PreToolUse`. Fail-open:
|
|
122
|
+
* every uncertain branch in the script exits 0; only a CONFIRMED
|
|
123
|
+
* user-authored write fires `exit 2`. Override: MACF_SKIP_ATTRIBUTION_CHECK=1.
|
|
124
|
+
*/
|
|
125
|
+
export const MACF_ATTRIBUTION_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/check-gh-attribution.sh';
|
|
126
|
+
/**
|
|
127
|
+
* Reflection-harvest PreCompact hook command (groundnuty/macf#500 — DR-026 F2).
|
|
128
|
+
* At compaction (auto OR manual `/compact`), this hook harvests the agent's
|
|
129
|
+
* *staged* reflection (`.claude/.macf/reflections/pending.json`, maintained
|
|
130
|
+
* incrementally per `reflection-staging.md`), wraps it in the versioned
|
|
131
|
+
* reflection-schema envelope (`@groundnuty/macf-core` `ReflectionRecordSchema`),
|
|
132
|
+
* appends it as one line to a local per-session JSONL ledger, and clears the
|
|
133
|
+
* stage. F4's Monitor reads the ledger back.
|
|
134
|
+
*
|
|
135
|
+
* It runs on the `PreCompact` event (matcher-less, like SessionStart / Stop /
|
|
136
|
+
* UserPromptSubmit). Per DR-023 §UC-3 it is observational + NON-BLOCKING: the
|
|
137
|
+
* script ALWAYS `exit 0` (even on internal error) so it can never delay/block
|
|
138
|
+
* compaction. Fast + local; no network. Override: MACF_SKIP_REFLECTION_HARVEST=1.
|
|
139
|
+
*
|
|
140
|
+
* Distinct from the plugin's existing PreCompact `checkpoint_to_memory`
|
|
141
|
+
* mcp_tool entry (DR-023 §UC-3 session-checkpoint): that ships via the plugin
|
|
142
|
+
* `hooks.json` mcp_tool path; THIS is a bash command-type hook installed into
|
|
143
|
+
* settings.json — both can coexist on the PreCompact event.
|
|
144
|
+
*/
|
|
145
|
+
export const MACF_REFLECTION_HOOK_COMMAND = '$CLAUDE_PROJECT_DIR/.claude/scripts/harvest-reflection.sh';
|
|
94
146
|
/**
|
|
95
147
|
* The hook filenames used to identify MACF-managed entries on refresh.
|
|
96
148
|
* Matched by path-end equality (see isMacfManagedCommand) so operator
|
|
@@ -101,7 +153,10 @@ const MACF_HOOK_FILENAMES = [
|
|
|
101
153
|
'check-mention-routing.sh',
|
|
102
154
|
'check-lgtm-gate.sh',
|
|
103
155
|
'check-close-keyword.sh',
|
|
156
|
+
'check-auditor-never-acts.sh',
|
|
104
157
|
'emit-turn-receipt.sh',
|
|
158
|
+
'check-gh-attribution.sh',
|
|
159
|
+
'harvest-reflection.sh',
|
|
105
160
|
];
|
|
106
161
|
/**
|
|
107
162
|
* True iff the command string represents one of our managed hooks — i.e.
|
|
@@ -152,6 +207,94 @@ function readSettings(path) {
|
|
|
152
207
|
* a skill, add its pattern here + bump CLI version. macf#350 added
|
|
153
208
|
* `macf-notify-peer` (operator-driven cross-agent messaging slash-command).
|
|
154
209
|
*/
|
|
210
|
+
/**
|
|
211
|
+
* DR-028 universal floor `allow` tools (every role). Broad `Bash(*)` — narrow
|
|
212
|
+
* patterns are defeated by `$GH_TOKEN`/`$MACF_WORKSPACE_DIR` "simple_expansion";
|
|
213
|
+
* the real defense is the `deny` floor + the PreToolUse hooks, NOT
|
|
214
|
+
* allow-narrowing. `Write`/`Edit` close the memory-edit prompt. Defined here
|
|
215
|
+
* (zero deps) so `role-settings-model.ts` re-exports it without an import cycle
|
|
216
|
+
* (that module imports the hook constants FROM here). See
|
|
217
|
+
* `design/decisions/DR-028-expected-settings-per-role.md`.
|
|
218
|
+
*/
|
|
219
|
+
export const ROLE_FLOOR_ALLOW = [
|
|
220
|
+
'Bash(*)',
|
|
221
|
+
'Read',
|
|
222
|
+
'Write',
|
|
223
|
+
'Edit',
|
|
224
|
+
'Glob',
|
|
225
|
+
'Grep',
|
|
226
|
+
'WebFetch',
|
|
227
|
+
'WebSearch',
|
|
228
|
+
'Agent',
|
|
229
|
+
];
|
|
230
|
+
/**
|
|
231
|
+
* DR-028 universal floor `deny` — the real guardrail (seeded from devops's set,
|
|
232
|
+
* the most complete of the three working agents): credential/secret reads +
|
|
233
|
+
* config/dotfile writes + dangerous commands.
|
|
234
|
+
*/
|
|
235
|
+
export const ROLE_FLOOR_DENY = [
|
|
236
|
+
// credential / secret reads
|
|
237
|
+
'Read(~/.ssh/id_*)',
|
|
238
|
+
'Read(~/.ssh/*.pem)',
|
|
239
|
+
'Read(~/.aws/**)',
|
|
240
|
+
'Read(~/.gnupg/**)',
|
|
241
|
+
'Read(~/.kube/**)',
|
|
242
|
+
'Read(~/.config/gcloud/**)',
|
|
243
|
+
'Read(~/.netrc)',
|
|
244
|
+
'Read(~/.config/gh/**)',
|
|
245
|
+
'Read(~/.bash_history)',
|
|
246
|
+
'Read(~/.zsh_history)',
|
|
247
|
+
// config / dotfile writes
|
|
248
|
+
'Write(~/.claude/settings.json)',
|
|
249
|
+
'Edit(~/.claude/settings.json)',
|
|
250
|
+
'Write(~/.claude.json)',
|
|
251
|
+
'Edit(~/.claude.json)',
|
|
252
|
+
'Write(~/.ssh/**)',
|
|
253
|
+
'Edit(~/.ssh/**)',
|
|
254
|
+
'Write(~/.aws/**)',
|
|
255
|
+
'Edit(~/.aws/**)',
|
|
256
|
+
'Write(~/.gnupg/**)',
|
|
257
|
+
'Edit(~/.gnupg/**)',
|
|
258
|
+
'Write(~/.kube/**)',
|
|
259
|
+
'Edit(~/.kube/**)',
|
|
260
|
+
'Write(~/.config/gcloud/**)',
|
|
261
|
+
'Edit(~/.config/gcloud/**)',
|
|
262
|
+
'Write(~/.gitconfig)',
|
|
263
|
+
'Edit(~/.gitconfig)',
|
|
264
|
+
'Write(~/.npmrc)',
|
|
265
|
+
'Edit(~/.npmrc)',
|
|
266
|
+
'Write(~/.pypirc)',
|
|
267
|
+
'Edit(~/.pypirc)',
|
|
268
|
+
'Write(~/.docker/config.json)',
|
|
269
|
+
'Edit(~/.docker/config.json)',
|
|
270
|
+
'Write(~/.netrc)',
|
|
271
|
+
'Edit(~/.netrc)',
|
|
272
|
+
'Write(~/.config/gh/**)',
|
|
273
|
+
'Edit(~/.config/gh/**)',
|
|
274
|
+
'Write(~/.bashrc)',
|
|
275
|
+
'Edit(~/.bashrc)',
|
|
276
|
+
'Write(~/.zshrc)',
|
|
277
|
+
'Edit(~/.zshrc)',
|
|
278
|
+
'Write(~/.profile)',
|
|
279
|
+
'Edit(~/.profile)',
|
|
280
|
+
'Write(~/.bash_profile)',
|
|
281
|
+
'Edit(~/.bash_profile)',
|
|
282
|
+
'Write(~/.zprofile)',
|
|
283
|
+
'Edit(~/.zprofile)',
|
|
284
|
+
'Write(~/.zshenv)',
|
|
285
|
+
'Edit(~/.zshenv)',
|
|
286
|
+
// dangerous commands
|
|
287
|
+
'Bash(sudo *)',
|
|
288
|
+
'Bash(rm -rf /)',
|
|
289
|
+
'Bash(git push --force*)',
|
|
290
|
+
'Bash(git push * --force*)',
|
|
291
|
+
'Bash(git push -f)',
|
|
292
|
+
'Bash(git push -f *)',
|
|
293
|
+
'Bash(git push * -f)',
|
|
294
|
+
'Bash(git push * -f *)',
|
|
295
|
+
'Bash(git commit --no-verify *)',
|
|
296
|
+
'Bash(git commit -n *)',
|
|
297
|
+
];
|
|
155
298
|
export const PLUGIN_SKILL_PERMISSIONS = [
|
|
156
299
|
'Skill(macf-agent:macf-status)',
|
|
157
300
|
'Skill(macf-agent:macf-issues)',
|
|
@@ -296,6 +439,37 @@ export function getPermissionsDeny(workspaceDir) {
|
|
|
296
439
|
const local = readPermissionsArray(join(claudeDir, 'settings.local.json'), 'deny');
|
|
297
440
|
return Array.from(new Set([...main, ...local]));
|
|
298
441
|
}
|
|
442
|
+
/**
|
|
443
|
+
* Read the workspace-effective set of hook command strings — the union of
|
|
444
|
+
* `.claude/settings.json` + `.claude/settings.local.json` across EVERY hook
|
|
445
|
+
* event (PreToolUse / PostToolUse / UserPromptSubmit / PreCompact / …). The
|
|
446
|
+
* order-/event-agnostic command list is what `macf doctor` (DR-028) validates
|
|
447
|
+
* against the role model: the model identifies a wired hook by its command
|
|
448
|
+
* string (the same identity `installGhTokenHook` writes), not by which event
|
|
449
|
+
* array it lives in, so a flat deduped command set is the right comparison
|
|
450
|
+
* surface. Throws on malformed JSON in either file (via `readSettings`).
|
|
451
|
+
*/
|
|
452
|
+
export function getHookCommands(workspaceDir) {
|
|
453
|
+
const absDir = resolve(workspaceDir);
|
|
454
|
+
const claudeDir = join(absDir, '.claude');
|
|
455
|
+
const commands = [];
|
|
456
|
+
for (const file of ['settings.json', 'settings.local.json']) {
|
|
457
|
+
const settings = readSettings(join(claudeDir, file));
|
|
458
|
+
const hooks = settings.hooks ?? {};
|
|
459
|
+
for (const event of Object.keys(hooks)) {
|
|
460
|
+
const entries = hooks[event];
|
|
461
|
+
if (!Array.isArray(entries))
|
|
462
|
+
continue;
|
|
463
|
+
for (const entry of entries) {
|
|
464
|
+
for (const h of entry.hooks ?? []) {
|
|
465
|
+
if (typeof h.command === 'string')
|
|
466
|
+
commands.push(h.command);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
return Array.from(new Set(commands));
|
|
472
|
+
}
|
|
299
473
|
/**
|
|
300
474
|
* Legacy MACF-managed patterns that earlier CLI versions wrote to
|
|
301
475
|
* `allowRead`. Dropped from the array before installing the current
|
|
@@ -586,17 +760,40 @@ export function installPluginSkillPermissions(workspaceDir) {
|
|
|
586
760
|
return false;
|
|
587
761
|
return true;
|
|
588
762
|
});
|
|
589
|
-
|
|
590
|
-
|
|
763
|
+
// DR-028 (macf#534): emit the role-aware floor — not just skill/mcp perms.
|
|
764
|
+
// `Bash(*)` + Read/Write/Edit/etc close the "pure-init agent prompts on every
|
|
765
|
+
// command" + the memory-edit gaps; `deny` is the real guardrail. Dedup so a
|
|
766
|
+
// workspace whose hand-wired settings already carry the floor (the substrate)
|
|
767
|
+
// doesn't double entries. Floor + plugin perms FIRST, then preserved operator
|
|
768
|
+
// extras (minus the stale macf-managed skill/mcp entries dropped above + any
|
|
769
|
+
// floor entry already present, to avoid duplicates).
|
|
770
|
+
const floorAndPlugin = [
|
|
771
|
+
...ROLE_FLOOR_ALLOW,
|
|
591
772
|
...PLUGIN_SKILL_PERMISSIONS,
|
|
592
773
|
...PLUGIN_MCP_TOOL_PERMISSIONS,
|
|
593
774
|
];
|
|
775
|
+
const floorSet = new Set(floorAndPlugin);
|
|
776
|
+
const allow = [
|
|
777
|
+
...floorAndPlugin,
|
|
778
|
+
...preserved.filter((e) => !(typeof e === 'string' && floorSet.has(e))),
|
|
779
|
+
];
|
|
780
|
+
// DR-028 deny floor — union with operator-authored deny entries (preserve
|
|
781
|
+
// extras, dedup, idempotent on re-run).
|
|
782
|
+
const existingDeny = Array.isArray(settings['permissions'] && settings['permissions']['deny'])
|
|
783
|
+
? settings['permissions'].deny
|
|
784
|
+
: [];
|
|
785
|
+
const denySet = new Set(ROLE_FLOOR_DENY);
|
|
786
|
+
const deny = [
|
|
787
|
+
...ROLE_FLOOR_DENY,
|
|
788
|
+
...existingDeny.filter((e) => !(typeof e === 'string' && denySet.has(e))),
|
|
789
|
+
];
|
|
594
790
|
const existingPermissions = settings['permissions'] ?? {};
|
|
595
791
|
const updated = {
|
|
596
792
|
...settings,
|
|
597
793
|
permissions: {
|
|
598
794
|
...existingPermissions,
|
|
599
795
|
allow,
|
|
796
|
+
deny,
|
|
600
797
|
},
|
|
601
798
|
};
|
|
602
799
|
writeFileSync(path, JSON.stringify(updated, null, 2) + '\n');
|
|
@@ -612,16 +809,34 @@ export function installPluginSkillPermissions(workspaceDir) {
|
|
|
612
809
|
* - `check-close-keyword.sh` (groundnuty/macf#431 — blocks `gh pr
|
|
613
810
|
* create`/`edit` that would auto-close another agent's issue via a
|
|
614
811
|
* close-keyword adjacent to its ref)
|
|
812
|
+
* - `check-auditor-never-acts.sh` (groundnuty/macf#499 — DR-026 F1; when
|
|
813
|
+
* `MACF_AGENT_ROLE=auditor`, blocks state-mutating `gh pr merge` /
|
|
814
|
+
* `gh issue close` / `gh pr close`; inert for every non-auditor identity)
|
|
815
|
+
*
|
|
816
|
+
* Plus, on the PostToolUse event:
|
|
817
|
+
* - `check-gh-attribution.sh` (groundnuty/macf#489 — after a `gh`-write
|
|
818
|
+
* op, reads the resource back from GitHub and warns (`exit 2`) if it
|
|
819
|
+
* was authored by the operator's user account instead of the bot;
|
|
820
|
+
* the result-invariant backstop to the #140 PreToolUse token check)
|
|
821
|
+
*
|
|
822
|
+
* And, on the UserPromptSubmit event:
|
|
823
|
+
* - `emit-turn-receipt.sh` (groundnuty/macf#444 — async turn-ack span)
|
|
824
|
+
*
|
|
825
|
+
* And, on the PreCompact event:
|
|
826
|
+
* - `harvest-reflection.sh` (groundnuty/macf#500 — DR-026 F2; at compaction,
|
|
827
|
+
* harvests the agent's staged reflection into a local JSONL ledger. Matcher-
|
|
828
|
+
* less + NON-BLOCKING; operator-authored PreCompact hooks are preserved)
|
|
615
829
|
*
|
|
616
830
|
* Creates the `.claude/` directory and the file if either is missing.
|
|
617
831
|
* Idempotent: repeated calls don't duplicate entries.
|
|
618
832
|
*
|
|
619
|
-
*
|
|
620
|
-
* gates which tool fires the hook; the wrapped-command
|
|
621
|
-
* git-push for token, gh issue/pr comment for routing,
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
833
|
+
* The PreToolUse + PostToolUse hooks share `matcher: "Bash"` because Claude
|
|
834
|
+
* Code's matcher field gates which tool fires the hook; the wrapped-command
|
|
835
|
+
* detection (gh vs git-push for token, gh issue/pr comment for routing,
|
|
836
|
+
* gh pr merge for LGTM, close-keyword for auto-close, the auditor-role
|
|
837
|
+
* acting-verb gate, gh-write for attribution) happens INSIDE each script.
|
|
838
|
+
* Distinct entries per script keep them independently upgradeable +
|
|
839
|
+
* diagnosable in `gh issue list` style settings audits.
|
|
625
840
|
*/
|
|
626
841
|
export function installGhTokenHook(workspaceDir) {
|
|
627
842
|
const absDir = resolve(workspaceDir);
|
|
@@ -631,7 +846,9 @@ export function installGhTokenHook(workspaceDir) {
|
|
|
631
846
|
const settings = readSettings(path);
|
|
632
847
|
const hooks = settings.hooks ?? {};
|
|
633
848
|
const preToolUse = hooks.PreToolUse ?? [];
|
|
849
|
+
const postToolUse = hooks.PostToolUse ?? [];
|
|
634
850
|
const userPromptSubmit = hooks.UserPromptSubmit ?? [];
|
|
851
|
+
const preCompact = hooks.PreCompact ?? [];
|
|
635
852
|
// Drop any prior MACF-managed entries (any hook file in
|
|
636
853
|
// MACF_HOOK_FILENAMES) so we can replace them cleanly — guards against
|
|
637
854
|
// stale flags from older CLI versions + handles renames/additions to
|
|
@@ -657,6 +874,24 @@ export function installGhTokenHook(workspaceDir) {
|
|
|
657
874
|
matcher: 'Bash',
|
|
658
875
|
hooks: [{ type: 'command', command: MACF_CLOSE_HOOK_COMMAND }],
|
|
659
876
|
},
|
|
877
|
+
{
|
|
878
|
+
matcher: 'Bash',
|
|
879
|
+
hooks: [{ type: 'command', command: MACF_AUDITOR_HOOK_COMMAND }],
|
|
880
|
+
},
|
|
881
|
+
];
|
|
882
|
+
// PostToolUse: the attribution-result hook (groundnuty/macf#489). Same
|
|
883
|
+
// preserve-then-replace discipline as PreToolUse above — drop any prior
|
|
884
|
+
// MACF-managed PostToolUse entry (by MACF_HOOK_FILENAMES basename) and
|
|
885
|
+
// re-add ours, leaving operator-authored PostToolUse hooks intact. It runs
|
|
886
|
+
// on the `PostToolUse` event (NOT PreToolUse) because it inspects the tool's
|
|
887
|
+
// OUTPUT — the resource is already written; the hook reads it back from
|
|
888
|
+
// GitHub and warns (`exit 2`) on a user-attributed write.
|
|
889
|
+
const preservedPost = postToolUse.filter((entry) => !entry.hooks.some((h) => isMacfManagedCommand(h.command)));
|
|
890
|
+
const macfPostEntries = [
|
|
891
|
+
{
|
|
892
|
+
matcher: 'Bash',
|
|
893
|
+
hooks: [{ type: 'command', command: MACF_ATTRIBUTION_HOOK_COMMAND }],
|
|
894
|
+
},
|
|
660
895
|
];
|
|
661
896
|
// UserPromptSubmit: the turn-ack receipt hook (groundnuty/macf#444). Same
|
|
662
897
|
// preserve-then-replace discipline as PreToolUse above — drop any prior
|
|
@@ -670,12 +905,28 @@ export function installGhTokenHook(workspaceDir) {
|
|
|
670
905
|
hooks: [{ type: 'command', command: MACF_TURN_RECEIPT_HOOK_COMMAND, async: true }],
|
|
671
906
|
},
|
|
672
907
|
];
|
|
908
|
+
// PreCompact: the reflection-harvest hook (groundnuty/macf#500, DR-026 F2).
|
|
909
|
+
// Same preserve-then-replace discipline — drop any prior MACF-managed
|
|
910
|
+
// PreCompact entry (by MACF_HOOK_FILENAMES basename) and re-add ours, leaving
|
|
911
|
+
// operator-authored PreCompact hooks intact (e.g. the plugin's
|
|
912
|
+
// checkpoint_to_memory mcp_tool entry lives in the plugin hooks.json, not
|
|
913
|
+
// here; an operator's own settings.json PreCompact bash hook is preserved).
|
|
914
|
+
// Matcher-less (PreCompact isn't tool-gated). NON-BLOCKING by script contract
|
|
915
|
+
// (always exit 0) — so no `async` flag is needed; it can't delay compaction.
|
|
916
|
+
const preservedCompact = preCompact.filter((entry) => !entry.hooks.some((h) => isMacfManagedCommand(h.command)));
|
|
917
|
+
const macfCompactEntries = [
|
|
918
|
+
{
|
|
919
|
+
hooks: [{ type: 'command', command: MACF_REFLECTION_HOOK_COMMAND }],
|
|
920
|
+
},
|
|
921
|
+
];
|
|
673
922
|
const updated = {
|
|
674
923
|
...settings,
|
|
675
924
|
hooks: {
|
|
676
925
|
...hooks,
|
|
677
926
|
PreToolUse: [...preserved, ...macfEntries],
|
|
927
|
+
PostToolUse: [...preservedPost, ...macfPostEntries],
|
|
678
928
|
UserPromptSubmit: [...preservedUps, ...macfUpsEntries],
|
|
929
|
+
PreCompact: [...preservedCompact, ...macfCompactEntries],
|
|
679
930
|
},
|
|
680
931
|
};
|
|
681
932
|
writeFileSync(path, JSON.stringify(updated, null, 2) + '\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-writer.js","sourceRoot":"","sources":["../../src/cli/settings-writer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-writer.js","sourceRoot":"","sources":["../../src/cli/settings-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,uDAAuD,CAAC;AAEzF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,8DAA8D,CAAC;AAExG;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,wDAAwD,CAAC;AAE/F;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,4DAA4D,CAAC;AAEpG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iEAAiE,CAAC;AAE3G;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,0DAA0D,CAAC;AAEzG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,6DAA6D,CAAC;AAE3G;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,2DAA2D,CAAC;AAExG;;;;GAIG;AACH,MAAM,mBAAmB,GAAsB;IAC7C,mBAAmB;IACnB,0BAA0B;IAC1B,oBAAoB;IACpB,wBAAwB;IACxB,6BAA6B;IAC7B,sBAAsB;IACtB,yBAAyB;IACzB,uBAAuB;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,iEAAiE;IACjE,6EAA6E;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AA0BD,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,KAAM,GAAa,CAAC,OAAO,IAAI;YAC7F,gDAAgD,EAClD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,OAAO;CACR,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,4BAA4B;IAC5B,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,2BAA2B;IAC3B,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,0BAA0B;IAC1B,gCAAgC;IAChC,+BAA+B;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,4BAA4B;IAC5B,2BAA2B;IAC3B,qBAAqB;IACrB,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;IAC7B,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,yBAAyB;IACzB,2BAA2B;IAC3B,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,gCAAgC;IAChC,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,+BAA+B;IAC/B,+BAA+B;IAC/B,8BAA8B;IAC9B,6BAA6B;IAC7B,oCAAoC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,gDAAgD;IAChD,yDAAyD;CAC1D,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAI,QAAQ,CAAC,SAAS,CAAyC,IAAI,EAAE,CAAC;IACtF,MAAM,aAAa,GAAI,UAAU,CAAC,YAAY,CAAyC,IAAI,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,QAAgB,EAAE,GAAqB;IACnE,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,cAAc,GAAI,QAAQ,CAAC,aAAa,CAAyC,IAAI,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAU,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBAClC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAsB;IACjD,kBAAkB;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAAoB;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,UAAU,GAAI,QAAQ,CAAC,SAAS,CAAyC,IAAI,EAAE,CAAC;IACtF,MAAM,aAAa,GAAI,UAAU,CAAC,YAAY,CAAyC,IAAI,EAAE,CAAC;IAC9F,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAE,aAAa,CAAC,WAAW,CAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACtG,CAAC,CAAC,EAAE,CAAC;IAEP,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpD,CAAC;IAEF,gEAAgE;IAChE,6DAA6D;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC3D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAa;QACxB,GAAG,QAAQ;QACX,OAAO,EAAE;YACP,GAAG,UAAU;YACb,UAAU,EAAE;gBACV,GAAG,aAAa;gBAChB,SAAS;aACV;SACF;KACF,CAAC;IAEF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,0BAA0B;IAC1B,OAAO;IACP,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,WAAW;IACX,uBAAuB;IACvB,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,0DAA0D;IAC1D,qDAAqD;IACrD,QAAQ;IACR,MAAM;IACN,SAAS;IACT,yDAAyD;IACzD,2DAA2D;IAC3D,SAAS;IACT,MAAM;IACN,SAAS;CACV,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAsB,EAAE,CAAC;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAAC,YAAoB;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAChE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,mEAAmE;IACnE,yDAAyD;IACzD,MAAM,UAAU,GAAI,QAAQ,CAAC,SAAS,CAAyC,IAAI,EAAE,CAAC;IACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5D,CAAC,CAAE,UAAU,CAAC,kBAAkB,CAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC1G,CAAC,CAAC,EAAE,CAAC;IAEP,6DAA6D;IAC7D,gEAAgE;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1D,CAAC;IAEF,4DAA4D;IAC5D,gEAAgE;IAChE,4CAA4C;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,yBAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,WAAW;QAAE,OAAO;IAExB,MAAM,OAAO,GAAa;QACxB,GAAG,QAAQ;QACX,OAAO,EAAE;YACP,GAAG,UAAU;YACb,gBAAgB,EAAE,MAAM;SACzB;KACF,CAAC;IAEF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAI,QAAQ,CAAC,SAAS,CAAyC,IAAI,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,4BAA4B,GAAG,qCAAqC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAAC,YAAoB;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAK,QAAQ,CAAC,aAAa,CAAyB,CAAC,OAAO,CAAC,CAAC;QACvH,CAAC,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAkC,CAAC,KAAK,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;IAEP,qEAAqE;IACrE,kEAAkE;IAClE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,KAAK,CAAC,UAAU,CAAC,4BAA4B,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,cAAc,GAAG;QACrB,GAAG,gBAAgB;QACnB,GAAG,wBAAwB;QAC3B,GAAG,2BAA2B;KAC/B,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;IACjD,MAAM,KAAK,GAAa;QACtB,GAAG,cAAc;QACjB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACxE,CAAC;IAEF,0EAA0E;IAC1E,wCAAwC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,QAAQ,CAAC,aAAa,CAAC,IAAK,QAAQ,CAAC,aAAa,CAAwB,CAAC,MAAM,CAAC,CACnF;QACC,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAiC,CAAC,IAAI;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,CAAC;IACjD,MAAM,IAAI,GAAa;QACrB,GAAG,eAAe;QAClB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E,CAAC;IAEF,MAAM,mBAAmB,GAAI,QAAQ,CAAC,aAAa,CAAyC,IAAI,EAAE,CAAC;IACnG,MAAM,OAAO,GAAa;QACxB,GAAG,QAAQ;QACX,WAAW,EAAE;YACX,GAAG,mBAAmB;YACtB,KAAK;YACL,IAAI;SACL;KACF,CAAC;IAEF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IAE1C,wDAAwD;IACxD,uEAAuE;IACvE,qEAAqE;IACrE,2DAA2D;IAC3D,0DAA0D;IAC1D,oEAAoE;IACpE,sCAAsC;IACtC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;IAEF,MAAM,WAAW,GAAyB;QACxC;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;SACzD;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;SACjE;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;SAC9D;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;SAC/D;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;SACjE;KACF,CAAC;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;IACF,MAAM,eAAe,GAAyB;QAC5C;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;SACrE;KACF,CAAC;IAEF,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,qBAAqB;IACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAC1C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;IACF,MAAM,cAAc,GAAyB;QAC3C;YACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACnF;KACF,CAAC;IAEF,4EAA4E;IAC5E,sEAAsE;IACtE,8EAA8E;IAC9E,+DAA+D;IAC/D,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;IACF,MAAM,kBAAkB,GAAyB;QAC/C;YACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;SACpE;KACF,CAAC;IAEF,MAAM,OAAO,GAAa;QACxB,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,GAAG,KAAK;YACR,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC;YAC1C,WAAW,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC;YACnD,gBAAgB,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;YACtD,UAAU,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;SACzD;KACF,CAAC;IAEF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -67,6 +67,31 @@ export interface ReconcileOptions {
|
|
|
67
67
|
* drop (groundnuty/macf#444). Undefined / 0 ⇒ no cutoff (judge all routes).
|
|
68
68
|
*/
|
|
69
69
|
readonly sinceMs?: number;
|
|
70
|
+
/**
|
|
71
|
+
* Coalesced-turn proximity window (epoch ms) for the macf#479 precision-floor
|
|
72
|
+
* gate. A would-be drop is SUPPRESSED (benign coalesce) when a *different*
|
|
73
|
+
* delivery to the same agent within ±this is receipted — proof the agent was
|
|
74
|
+
* alive and processing routed turns then, so this one coalesced/clobbered into
|
|
75
|
+
* a sibling's turn. Must be > the turn-batching window (~couple min) and <
|
|
76
|
+
* `openThresholdMs` (so a real lone/offline/RC-bound drop, which has no
|
|
77
|
+
* receipted sibling, still flags). Undefined / 0 ⇒ no suppression (pre-#479).
|
|
78
|
+
*/
|
|
79
|
+
readonly proximityMs?: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* A would-be drop suppressed by the macf#479 coalesced-turn gate: a sibling
|
|
83
|
+
* delivery to the same agent was receipted within the proximity window, so the
|
|
84
|
+
* agent demonstrably processed routed turns around this delivery. Reported
|
|
85
|
+
* separately (not in `drops`) so the caller can emit a LOUD, counted signal —
|
|
86
|
+
* the suppression is observable (never a silent mask), keeping the clobber rate
|
|
87
|
+
* visible for the source-side `C-u`-clobber follow-up.
|
|
88
|
+
*/
|
|
89
|
+
export interface SuppressedCoalesce {
|
|
90
|
+
readonly route: DeliveredRoute;
|
|
91
|
+
/** The receipted sibling delivery's run id that proves the agent was active. */
|
|
92
|
+
readonly siblingRunId: string;
|
|
93
|
+
/** `sibling.deliveredAtMs − route.deliveredAtMs` (signed), for the log. */
|
|
94
|
+
readonly deltaMs: number;
|
|
70
95
|
}
|
|
71
96
|
export interface ReconcileResult {
|
|
72
97
|
/**
|
|
@@ -84,6 +109,12 @@ export interface ReconcileResult {
|
|
|
84
109
|
* "in flight", reported for visibility but NOT alerted on.
|
|
85
110
|
*/
|
|
86
111
|
readonly inFlight: readonly DeliveredRoute[];
|
|
112
|
+
/**
|
|
113
|
+
* Would-be drops suppressed by the macf#479 coalesced-turn gate (a receipted
|
|
114
|
+
* sibling delivery to the same agent within the proximity window). NOT alerted
|
|
115
|
+
* on, but the caller logs + counts each so the suppression stays observable.
|
|
116
|
+
*/
|
|
117
|
+
readonly suppressed: readonly SuppressedCoalesce[];
|
|
87
118
|
}
|
|
88
119
|
/** Canonical join key for a `(runId, agent)` pair. */
|
|
89
120
|
export declare function receiptKey(p: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/reconciler/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/reconciler/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEtE;AAkCD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,SAAS,EAAE,SAAS,gBAAgB,EAAE,EACtC,IAAI,EAAE,gBAAgB,GACrB,eAAe,CA4CjB"}
|