@codyswann/lisa 2.145.0 → 2.145.2

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 (60) hide show
  1. package/dist/configs/eslint/base.d.ts.map +1 -1
  2. package/dist/configs/eslint/base.js +1 -0
  3. package/dist/configs/eslint/base.js.map +1 -1
  4. package/package.json +1 -1
  5. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  6. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  7. package/plugins/lisa-agy/plugin.json +1 -1
  8. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  9. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  10. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  11. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  12. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  17. package/plugins/lisa-expo-agy/plugin.json +1 -1
  18. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  22. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  23. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  27. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  28. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  33. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  37. package/plugins/lisa-rails-agy/plugin.json +1 -1
  38. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  42. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  43. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-wiki/scripts/wiki-safety.mjs +76 -0
  48. package/plugins/lisa-wiki/skills/lisa-wiki-ingest/SKILL.md +12 -5
  49. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  50. package/plugins/lisa-wiki-agy/scripts/wiki-safety.mjs +76 -0
  51. package/plugins/lisa-wiki-agy/skills/lisa-wiki-ingest/SKILL.md +12 -5
  52. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-wiki-copilot/scripts/wiki-safety.mjs +76 -0
  54. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-ingest/SKILL.md +12 -5
  55. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-wiki-cursor/scripts/wiki-safety.mjs +76 -0
  57. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-ingest/SKILL.md +12 -5
  58. package/plugins/src/wiki/scripts/wiki-safety.mjs +76 -0
  59. package/plugins/src/wiki/skills/lisa-wiki-ingest/SKILL.md +12 -5
  60. package/typescript/copy-overwrite/eslint.ignore.config.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/configs/eslint/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/configs/eslint/base.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ export const defaultIgnores = [
74
74
  "lib/**/*.js",
75
75
  "cdk.out/**",
76
76
  "wiki/**",
77
+ ".lisa.config.json",
77
78
  ];
78
79
  /**
79
80
  * Default thresholds used when not specified in project config.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/configs/eslint/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/configs/eslint/base.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -84,7 +84,7 @@
84
84
  "lodash": ">=4.18.1"
85
85
  },
86
86
  "name": "@codyswann/lisa",
87
- "version": "2.145.0",
87
+ "version": "2.145.2",
88
88
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
89
89
  "main": "dist/index.js",
90
90
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,82 @@ export function serializeWikiSafetyFindings(result) {
236
236
  );
237
237
  }
238
238
 
239
+ function normalizeSafetyResults(results) {
240
+ if (Array.isArray(results)) return results;
241
+ if (!results) return [];
242
+ return [results];
243
+ }
244
+
245
+ function summarizeEntityTypes(results) {
246
+ const byType = new Map();
247
+ for (const result of results) {
248
+ for (const finding of result?.findings ?? []) {
249
+ const entityType = finding?.entityType ?? "unknown";
250
+ const current = byType.get(entityType) ?? {
251
+ entityType,
252
+ confidence: finding?.confidence ?? "unknown",
253
+ count: 0,
254
+ };
255
+ current.count += Number.isFinite(finding?.count) ? finding.count : 1;
256
+ if (current.confidence !== "high" && finding?.confidence === "high") {
257
+ current.confidence = "high";
258
+ }
259
+ byType.set(entityType, current);
260
+ }
261
+ }
262
+ return [...byType.values()].sort((a, b) =>
263
+ a.entityType.localeCompare(b.entityType)
264
+ );
265
+ }
266
+
267
+ export function createWikiIngestPublicationPolicy(options = {}) {
268
+ const safetyResults = normalizeSafetyResults(options.safetyResults);
269
+ const externalWrite = Boolean(options.externalWrite);
270
+ const entityTypes = summarizeEntityTypes(safetyResults);
271
+ const findingCount = entityTypes.reduce((sum, item) => sum + item.count, 0);
272
+ const reviewRequired =
273
+ externalWrite ||
274
+ findingCount > 0 ||
275
+ safetyResults.some(result => Boolean(result?.reviewRequired));
276
+ const reasons = [
277
+ ...(externalWrite ? ["external-write source"] : []),
278
+ ...(findingCount > 0 ? ["redacted or sensitive findings"] : []),
279
+ ...(!externalWrite &&
280
+ findingCount === 0 &&
281
+ safetyResults.some(result => Boolean(result?.reviewRequired))
282
+ ? ["source safety review requested"]
283
+ : []),
284
+ ];
285
+
286
+ const findingLines =
287
+ entityTypes.length > 0
288
+ ? entityTypes.map(
289
+ item =>
290
+ `- ${item.entityType}: ${item.count} ${item.count === 1 ? "finding" : "findings"} (${item.confidence})`
291
+ )
292
+ : ["- none"];
293
+
294
+ return {
295
+ autoMergeAllowed: !reviewRequired,
296
+ reviewRequired,
297
+ reasons,
298
+ findingCount,
299
+ entityTypes,
300
+ prSummaryMarkdown: [
301
+ "## Wiki Safety Review",
302
+ "",
303
+ `Auto-merge: ${reviewRequired ? "disabled" : "allowed"}`,
304
+ `Human review required: ${reviewRequired ? "yes" : "no"}`,
305
+ `Reason: ${reasons.length > 0 ? reasons.join("; ") : "no redactions or sensitive findings"}`,
306
+ "",
307
+ "Finding summary:",
308
+ ...findingLines,
309
+ "",
310
+ "Raw sensitive values are intentionally omitted from this summary.",
311
+ ].join("\n"),
312
+ };
313
+ }
314
+
239
315
  export function isWikiSafetyScanTarget(filePath, options = {}) {
240
316
  const pathModule = options.pathModule;
241
317
  if (!pathModule) {
@@ -50,11 +50,14 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
50
50
  7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
51
51
  the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
52
52
  the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
53
- PR mechanism — e.g. `gh pr create --base <default>`), then **enable auto-merge when possible**
54
- (`gh pr merge --auto`, or the host's equivalent). `external-write` runs and sensitive content are
55
- the exception open the PR **without** auto-merge so a human reviews them before it lands. If
56
- auto-merge cannot be enabled (the host doesn't support it, or branch protection forbids it), leave
57
- the PR open and note that a human must merge.
53
+ PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
54
+ scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
55
+ auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
56
+ with sensitive findings are the exception open the PR **without** auto-merge so a human reviews
57
+ them before it lands. The PR summary must include the policy's safe review summary: counts and
58
+ entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
59
+ auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
60
+ policy requires review), leave the PR open and note that a human must merge.
58
61
 
59
62
  ## Rules
60
63
  - **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
@@ -71,6 +74,10 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
71
74
  select `--scanner gitleaks` for local parity with Gitleaks, and may use
72
75
  `--scanner trufflehog` as a stricter optional verification pass when installed;
73
76
  if a selected scanner is unavailable, keep the ingest blocked for review.
77
+ - Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
78
+ `reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
79
+ generated PR summary text as-is or preserve its shape so reviewers see entity
80
+ types and counts without raw sensitive values.
74
81
  - Connector execution and the connector contract are detailed in the connector skills (M2+); this
75
82
  router defines and enforces the ordering and side-effect rules above.
76
83
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,82 @@ export function serializeWikiSafetyFindings(result) {
236
236
  );
237
237
  }
238
238
 
239
+ function normalizeSafetyResults(results) {
240
+ if (Array.isArray(results)) return results;
241
+ if (!results) return [];
242
+ return [results];
243
+ }
244
+
245
+ function summarizeEntityTypes(results) {
246
+ const byType = new Map();
247
+ for (const result of results) {
248
+ for (const finding of result?.findings ?? []) {
249
+ const entityType = finding?.entityType ?? "unknown";
250
+ const current = byType.get(entityType) ?? {
251
+ entityType,
252
+ confidence: finding?.confidence ?? "unknown",
253
+ count: 0,
254
+ };
255
+ current.count += Number.isFinite(finding?.count) ? finding.count : 1;
256
+ if (current.confidence !== "high" && finding?.confidence === "high") {
257
+ current.confidence = "high";
258
+ }
259
+ byType.set(entityType, current);
260
+ }
261
+ }
262
+ return [...byType.values()].sort((a, b) =>
263
+ a.entityType.localeCompare(b.entityType)
264
+ );
265
+ }
266
+
267
+ export function createWikiIngestPublicationPolicy(options = {}) {
268
+ const safetyResults = normalizeSafetyResults(options.safetyResults);
269
+ const externalWrite = Boolean(options.externalWrite);
270
+ const entityTypes = summarizeEntityTypes(safetyResults);
271
+ const findingCount = entityTypes.reduce((sum, item) => sum + item.count, 0);
272
+ const reviewRequired =
273
+ externalWrite ||
274
+ findingCount > 0 ||
275
+ safetyResults.some(result => Boolean(result?.reviewRequired));
276
+ const reasons = [
277
+ ...(externalWrite ? ["external-write source"] : []),
278
+ ...(findingCount > 0 ? ["redacted or sensitive findings"] : []),
279
+ ...(!externalWrite &&
280
+ findingCount === 0 &&
281
+ safetyResults.some(result => Boolean(result?.reviewRequired))
282
+ ? ["source safety review requested"]
283
+ : []),
284
+ ];
285
+
286
+ const findingLines =
287
+ entityTypes.length > 0
288
+ ? entityTypes.map(
289
+ item =>
290
+ `- ${item.entityType}: ${item.count} ${item.count === 1 ? "finding" : "findings"} (${item.confidence})`
291
+ )
292
+ : ["- none"];
293
+
294
+ return {
295
+ autoMergeAllowed: !reviewRequired,
296
+ reviewRequired,
297
+ reasons,
298
+ findingCount,
299
+ entityTypes,
300
+ prSummaryMarkdown: [
301
+ "## Wiki Safety Review",
302
+ "",
303
+ `Auto-merge: ${reviewRequired ? "disabled" : "allowed"}`,
304
+ `Human review required: ${reviewRequired ? "yes" : "no"}`,
305
+ `Reason: ${reasons.length > 0 ? reasons.join("; ") : "no redactions or sensitive findings"}`,
306
+ "",
307
+ "Finding summary:",
308
+ ...findingLines,
309
+ "",
310
+ "Raw sensitive values are intentionally omitted from this summary.",
311
+ ].join("\n"),
312
+ };
313
+ }
314
+
239
315
  export function isWikiSafetyScanTarget(filePath, options = {}) {
240
316
  const pathModule = options.pathModule;
241
317
  if (!pathModule) {
@@ -50,11 +50,14 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
50
50
  7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
51
51
  the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
52
52
  the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
53
- PR mechanism — e.g. `gh pr create --base <default>`), then **enable auto-merge when possible**
54
- (`gh pr merge --auto`, or the host's equivalent). `external-write` runs and sensitive content are
55
- the exception open the PR **without** auto-merge so a human reviews them before it lands. If
56
- auto-merge cannot be enabled (the host doesn't support it, or branch protection forbids it), leave
57
- the PR open and note that a human must merge.
53
+ PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
54
+ scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
55
+ auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
56
+ with sensitive findings are the exception open the PR **without** auto-merge so a human reviews
57
+ them before it lands. The PR summary must include the policy's safe review summary: counts and
58
+ entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
59
+ auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
60
+ policy requires review), leave the PR open and note that a human must merge.
58
61
 
59
62
  ## Rules
60
63
  - **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
@@ -71,6 +74,10 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
71
74
  select `--scanner gitleaks` for local parity with Gitleaks, and may use
72
75
  `--scanner trufflehog` as a stricter optional verification pass when installed;
73
76
  if a selected scanner is unavailable, keep the ingest blocked for review.
77
+ - Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
78
+ `reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
79
+ generated PR summary text as-is or preserve its shape so reviewers see entity
80
+ types and counts without raw sensitive values.
74
81
  - Connector execution and the connector contract are detailed in the connector skills (M2+); this
75
82
  router defines and enforces the ordering and side-effect rules above.
76
83
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,82 @@ export function serializeWikiSafetyFindings(result) {
236
236
  );
237
237
  }
238
238
 
239
+ function normalizeSafetyResults(results) {
240
+ if (Array.isArray(results)) return results;
241
+ if (!results) return [];
242
+ return [results];
243
+ }
244
+
245
+ function summarizeEntityTypes(results) {
246
+ const byType = new Map();
247
+ for (const result of results) {
248
+ for (const finding of result?.findings ?? []) {
249
+ const entityType = finding?.entityType ?? "unknown";
250
+ const current = byType.get(entityType) ?? {
251
+ entityType,
252
+ confidence: finding?.confidence ?? "unknown",
253
+ count: 0,
254
+ };
255
+ current.count += Number.isFinite(finding?.count) ? finding.count : 1;
256
+ if (current.confidence !== "high" && finding?.confidence === "high") {
257
+ current.confidence = "high";
258
+ }
259
+ byType.set(entityType, current);
260
+ }
261
+ }
262
+ return [...byType.values()].sort((a, b) =>
263
+ a.entityType.localeCompare(b.entityType)
264
+ );
265
+ }
266
+
267
+ export function createWikiIngestPublicationPolicy(options = {}) {
268
+ const safetyResults = normalizeSafetyResults(options.safetyResults);
269
+ const externalWrite = Boolean(options.externalWrite);
270
+ const entityTypes = summarizeEntityTypes(safetyResults);
271
+ const findingCount = entityTypes.reduce((sum, item) => sum + item.count, 0);
272
+ const reviewRequired =
273
+ externalWrite ||
274
+ findingCount > 0 ||
275
+ safetyResults.some(result => Boolean(result?.reviewRequired));
276
+ const reasons = [
277
+ ...(externalWrite ? ["external-write source"] : []),
278
+ ...(findingCount > 0 ? ["redacted or sensitive findings"] : []),
279
+ ...(!externalWrite &&
280
+ findingCount === 0 &&
281
+ safetyResults.some(result => Boolean(result?.reviewRequired))
282
+ ? ["source safety review requested"]
283
+ : []),
284
+ ];
285
+
286
+ const findingLines =
287
+ entityTypes.length > 0
288
+ ? entityTypes.map(
289
+ item =>
290
+ `- ${item.entityType}: ${item.count} ${item.count === 1 ? "finding" : "findings"} (${item.confidence})`
291
+ )
292
+ : ["- none"];
293
+
294
+ return {
295
+ autoMergeAllowed: !reviewRequired,
296
+ reviewRequired,
297
+ reasons,
298
+ findingCount,
299
+ entityTypes,
300
+ prSummaryMarkdown: [
301
+ "## Wiki Safety Review",
302
+ "",
303
+ `Auto-merge: ${reviewRequired ? "disabled" : "allowed"}`,
304
+ `Human review required: ${reviewRequired ? "yes" : "no"}`,
305
+ `Reason: ${reasons.length > 0 ? reasons.join("; ") : "no redactions or sensitive findings"}`,
306
+ "",
307
+ "Finding summary:",
308
+ ...findingLines,
309
+ "",
310
+ "Raw sensitive values are intentionally omitted from this summary.",
311
+ ].join("\n"),
312
+ };
313
+ }
314
+
239
315
  export function isWikiSafetyScanTarget(filePath, options = {}) {
240
316
  const pathModule = options.pathModule;
241
317
  if (!pathModule) {
@@ -50,11 +50,14 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
50
50
  7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
51
51
  the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
52
52
  the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
53
- PR mechanism — e.g. `gh pr create --base <default>`), then **enable auto-merge when possible**
54
- (`gh pr merge --auto`, or the host's equivalent). `external-write` runs and sensitive content are
55
- the exception open the PR **without** auto-merge so a human reviews them before it lands. If
56
- auto-merge cannot be enabled (the host doesn't support it, or branch protection forbids it), leave
57
- the PR open and note that a human must merge.
53
+ PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
54
+ scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
55
+ auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
56
+ with sensitive findings are the exception open the PR **without** auto-merge so a human reviews
57
+ them before it lands. The PR summary must include the policy's safe review summary: counts and
58
+ entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
59
+ auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
60
+ policy requires review), leave the PR open and note that a human must merge.
58
61
 
59
62
  ## Rules
60
63
  - **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
@@ -71,6 +74,10 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
71
74
  select `--scanner gitleaks` for local parity with Gitleaks, and may use
72
75
  `--scanner trufflehog` as a stricter optional verification pass when installed;
73
76
  if a selected scanner is unavailable, keep the ingest blocked for review.
77
+ - Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
78
+ `reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
79
+ generated PR summary text as-is or preserve its shape so reviewers see entity
80
+ types and counts without raw sensitive values.
74
81
  - Connector execution and the connector contract are detailed in the connector skills (M2+); this
75
82
  router defines and enforces the ordering and side-effect rules above.
76
83
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.145.0",
3
+ "version": "2.145.2",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,82 @@ export function serializeWikiSafetyFindings(result) {
236
236
  );
237
237
  }
238
238
 
239
+ function normalizeSafetyResults(results) {
240
+ if (Array.isArray(results)) return results;
241
+ if (!results) return [];
242
+ return [results];
243
+ }
244
+
245
+ function summarizeEntityTypes(results) {
246
+ const byType = new Map();
247
+ for (const result of results) {
248
+ for (const finding of result?.findings ?? []) {
249
+ const entityType = finding?.entityType ?? "unknown";
250
+ const current = byType.get(entityType) ?? {
251
+ entityType,
252
+ confidence: finding?.confidence ?? "unknown",
253
+ count: 0,
254
+ };
255
+ current.count += Number.isFinite(finding?.count) ? finding.count : 1;
256
+ if (current.confidence !== "high" && finding?.confidence === "high") {
257
+ current.confidence = "high";
258
+ }
259
+ byType.set(entityType, current);
260
+ }
261
+ }
262
+ return [...byType.values()].sort((a, b) =>
263
+ a.entityType.localeCompare(b.entityType)
264
+ );
265
+ }
266
+
267
+ export function createWikiIngestPublicationPolicy(options = {}) {
268
+ const safetyResults = normalizeSafetyResults(options.safetyResults);
269
+ const externalWrite = Boolean(options.externalWrite);
270
+ const entityTypes = summarizeEntityTypes(safetyResults);
271
+ const findingCount = entityTypes.reduce((sum, item) => sum + item.count, 0);
272
+ const reviewRequired =
273
+ externalWrite ||
274
+ findingCount > 0 ||
275
+ safetyResults.some(result => Boolean(result?.reviewRequired));
276
+ const reasons = [
277
+ ...(externalWrite ? ["external-write source"] : []),
278
+ ...(findingCount > 0 ? ["redacted or sensitive findings"] : []),
279
+ ...(!externalWrite &&
280
+ findingCount === 0 &&
281
+ safetyResults.some(result => Boolean(result?.reviewRequired))
282
+ ? ["source safety review requested"]
283
+ : []),
284
+ ];
285
+
286
+ const findingLines =
287
+ entityTypes.length > 0
288
+ ? entityTypes.map(
289
+ item =>
290
+ `- ${item.entityType}: ${item.count} ${item.count === 1 ? "finding" : "findings"} (${item.confidence})`
291
+ )
292
+ : ["- none"];
293
+
294
+ return {
295
+ autoMergeAllowed: !reviewRequired,
296
+ reviewRequired,
297
+ reasons,
298
+ findingCount,
299
+ entityTypes,
300
+ prSummaryMarkdown: [
301
+ "## Wiki Safety Review",
302
+ "",
303
+ `Auto-merge: ${reviewRequired ? "disabled" : "allowed"}`,
304
+ `Human review required: ${reviewRequired ? "yes" : "no"}`,
305
+ `Reason: ${reasons.length > 0 ? reasons.join("; ") : "no redactions or sensitive findings"}`,
306
+ "",
307
+ "Finding summary:",
308
+ ...findingLines,
309
+ "",
310
+ "Raw sensitive values are intentionally omitted from this summary.",
311
+ ].join("\n"),
312
+ };
313
+ }
314
+
239
315
  export function isWikiSafetyScanTarget(filePath, options = {}) {
240
316
  const pathModule = options.pathModule;
241
317
  if (!pathModule) {
@@ -50,11 +50,14 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
50
50
  7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
51
51
  the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
52
52
  the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
53
- PR mechanism — e.g. `gh pr create --base <default>`), then **enable auto-merge when possible**
54
- (`gh pr merge --auto`, or the host's equivalent). `external-write` runs and sensitive content are
55
- the exception open the PR **without** auto-merge so a human reviews them before it lands. If
56
- auto-merge cannot be enabled (the host doesn't support it, or branch protection forbids it), leave
57
- the PR open and note that a human must merge.
53
+ PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
54
+ scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
55
+ auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
56
+ with sensitive findings are the exception open the PR **without** auto-merge so a human reviews
57
+ them before it lands. The PR summary must include the policy's safe review summary: counts and
58
+ entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
59
+ auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
60
+ policy requires review), leave the PR open and note that a human must merge.
58
61
 
59
62
  ## Rules
60
63
  - **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
@@ -71,6 +74,10 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
71
74
  select `--scanner gitleaks` for local parity with Gitleaks, and may use
72
75
  `--scanner trufflehog` as a stricter optional verification pass when installed;
73
76
  if a selected scanner is unavailable, keep the ingest blocked for review.
77
+ - Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
78
+ `reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
79
+ generated PR summary text as-is or preserve its shape so reviewers see entity
80
+ types and counts without raw sensitive values.
74
81
  - Connector execution and the connector contract are detailed in the connector skills (M2+); this
75
82
  router defines and enforces the ordering and side-effect rules above.
76
83
 
@@ -236,6 +236,82 @@ export function serializeWikiSafetyFindings(result) {
236
236
  );
237
237
  }
238
238
 
239
+ function normalizeSafetyResults(results) {
240
+ if (Array.isArray(results)) return results;
241
+ if (!results) return [];
242
+ return [results];
243
+ }
244
+
245
+ function summarizeEntityTypes(results) {
246
+ const byType = new Map();
247
+ for (const result of results) {
248
+ for (const finding of result?.findings ?? []) {
249
+ const entityType = finding?.entityType ?? "unknown";
250
+ const current = byType.get(entityType) ?? {
251
+ entityType,
252
+ confidence: finding?.confidence ?? "unknown",
253
+ count: 0,
254
+ };
255
+ current.count += Number.isFinite(finding?.count) ? finding.count : 1;
256
+ if (current.confidence !== "high" && finding?.confidence === "high") {
257
+ current.confidence = "high";
258
+ }
259
+ byType.set(entityType, current);
260
+ }
261
+ }
262
+ return [...byType.values()].sort((a, b) =>
263
+ a.entityType.localeCompare(b.entityType)
264
+ );
265
+ }
266
+
267
+ export function createWikiIngestPublicationPolicy(options = {}) {
268
+ const safetyResults = normalizeSafetyResults(options.safetyResults);
269
+ const externalWrite = Boolean(options.externalWrite);
270
+ const entityTypes = summarizeEntityTypes(safetyResults);
271
+ const findingCount = entityTypes.reduce((sum, item) => sum + item.count, 0);
272
+ const reviewRequired =
273
+ externalWrite ||
274
+ findingCount > 0 ||
275
+ safetyResults.some(result => Boolean(result?.reviewRequired));
276
+ const reasons = [
277
+ ...(externalWrite ? ["external-write source"] : []),
278
+ ...(findingCount > 0 ? ["redacted or sensitive findings"] : []),
279
+ ...(!externalWrite &&
280
+ findingCount === 0 &&
281
+ safetyResults.some(result => Boolean(result?.reviewRequired))
282
+ ? ["source safety review requested"]
283
+ : []),
284
+ ];
285
+
286
+ const findingLines =
287
+ entityTypes.length > 0
288
+ ? entityTypes.map(
289
+ item =>
290
+ `- ${item.entityType}: ${item.count} ${item.count === 1 ? "finding" : "findings"} (${item.confidence})`
291
+ )
292
+ : ["- none"];
293
+
294
+ return {
295
+ autoMergeAllowed: !reviewRequired,
296
+ reviewRequired,
297
+ reasons,
298
+ findingCount,
299
+ entityTypes,
300
+ prSummaryMarkdown: [
301
+ "## Wiki Safety Review",
302
+ "",
303
+ `Auto-merge: ${reviewRequired ? "disabled" : "allowed"}`,
304
+ `Human review required: ${reviewRequired ? "yes" : "no"}`,
305
+ `Reason: ${reasons.length > 0 ? reasons.join("; ") : "no redactions or sensitive findings"}`,
306
+ "",
307
+ "Finding summary:",
308
+ ...findingLines,
309
+ "",
310
+ "Raw sensitive values are intentionally omitted from this summary.",
311
+ ].join("\n"),
312
+ };
313
+ }
314
+
239
315
  export function isWikiSafetyScanTarget(filePath, options = {}) {
240
316
  const pathModule = options.pathModule;
241
317
  if (!pathModule) {
@@ -50,11 +50,14 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
50
50
  7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
51
51
  the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
52
52
  the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
53
- PR mechanism — e.g. `gh pr create --base <default>`), then **enable auto-merge when possible**
54
- (`gh pr merge --auto`, or the host's equivalent). `external-write` runs and sensitive content are
55
- the exception open the PR **without** auto-merge so a human reviews them before it lands. If
56
- auto-merge cannot be enabled (the host doesn't support it, or branch protection forbids it), leave
57
- the PR open and note that a human must merge.
53
+ PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
54
+ scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
55
+ auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
56
+ with sensitive findings are the exception open the PR **without** auto-merge so a human reviews
57
+ them before it lands. The PR summary must include the policy's safe review summary: counts and
58
+ entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
59
+ auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
60
+ policy requires review), leave the PR open and note that a human must merge.
58
61
 
59
62
  ## Rules
60
63
  - **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
@@ -71,6 +74,10 @@ writes nothing). The point is to ingest on top of fresh state, never stale state
71
74
  select `--scanner gitleaks` for local parity with Gitleaks, and may use
72
75
  `--scanner trufflehog` as a stricter optional verification pass when installed;
73
76
  if a selected scanner is unavailable, keep the ingest blocked for review.
77
+ - Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
78
+ `reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
79
+ generated PR summary text as-is or preserve its shape so reviewers see entity
80
+ types and counts without raw sensitive values.
74
81
  - Connector execution and the connector contract are detailed in the connector skills (M2+); this
75
82
  router defines and enforces the ordering and side-effect rules above.
76
83
 
@@ -79,6 +79,7 @@
79
79
 
80
80
  "audit.ignore.config.json",
81
81
  "audit.ignore.local.json",
82
+ ".lisa.config.json",
82
83
 
83
84
  "amplify/**",
84
85