@codyswann/lisa 3.23.1 → 3.24.0

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 (109) hide show
  1. package/all/copy-overwrite/scripts/lisa-enforcement-fallback.sh +2 -1
  2. package/all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh +174 -0
  3. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  4. package/dist/core/lisa-owned-hash-ledger.js +4 -0
  5. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  6. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  7. package/dist/core/upstream-evidence-manifest.js +26 -68
  8. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  9. package/dist/migrations/ensure-quality-caller-scopes.d.ts.map +1 -1
  10. package/dist/migrations/ensure-quality-caller-scopes.js +1 -2
  11. package/dist/migrations/ensure-quality-caller-scopes.js.map +1 -1
  12. package/package.json +1 -1
  13. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  15. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +3 -5
  16. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  17. package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/SKILL.md +9 -16
  18. package/plugins/lisa/hooks/block-managed-file-edits.sh +171 -0
  19. package/plugins/lisa/rules/reference/config-resolution.md +2 -2
  20. package/plugins/lisa/skills/lisa-doctor/SKILL.md +3 -5
  21. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  22. package/plugins/lisa/skills/lisa-sync-down/SKILL.md +10 -17
  23. package/plugins/lisa-agy/plugin.json +1 -1
  24. package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +3 -5
  25. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  26. package/plugins/lisa-agy/skills/lisa-sync-down/SKILL.md +10 -17
  27. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  30. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-copilot/hooks/block-managed-file-edits.sh +171 -0
  34. package/plugins/lisa-copilot/rules/reference/config-resolution.md +2 -2
  35. package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +3 -5
  36. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  37. package/plugins/lisa-copilot/skills/lisa-sync-down/SKILL.md +10 -17
  38. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-cursor/hooks/block-managed-file-edits.sh +171 -0
  40. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +2 -2
  41. package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +3 -5
  42. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  43. package/plugins/lisa-cursor/skills/lisa-sync-down/SKILL.md +10 -17
  44. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  46. package/plugins/lisa-expo-agy/plugin.json +1 -1
  47. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  51. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  52. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  56. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  57. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  61. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  62. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  66. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  67. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  71. package/plugins/lisa-rails-agy/plugin.json +1 -1
  72. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  76. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  77. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  81. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  82. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  84. package/plugins/src/base/hooks/block-managed-file-edits.sh +171 -0
  85. package/plugins/src/base/rules/reference/config-resolution.md +2 -2
  86. package/plugins/src/base/skills/lisa-doctor/SKILL.md +3 -5
  87. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
  88. package/plugins/src/base/skills/lisa-sync-down/SKILL.md +10 -17
  89. package/rails/deletions.json +6 -1
  90. package/scripts/build-plugins.sh +2 -1
  91. package/scripts/detect-stale-workflow-inputs.mjs +7 -7
  92. package/scripts/generate-upstream-evidence-manifest.mjs +1 -0
  93. package/scripts/lisa-enforcement-fallback.sh +2 -1
  94. package/scripts/verify-health-deterministic-built.mjs +1 -1
  95. package/typescript/deletions.json +14 -1
  96. package/rails/create-only/.github/workflows/claude-code-review-response.yml +0 -31
  97. package/rails/create-only/.github/workflows/claude-nightly-code-complexity.yml +0 -22
  98. package/rails/create-only/.github/workflows/claude-nightly-test-coverage.yml +0 -30
  99. package/rails/create-only/.github/workflows/claude-nightly-test-improvement.yml +0 -33
  100. package/rails/create-only/.github/workflows/claude-sync-down-branches.yml +0 -46
  101. package/scripts/migrate-deploy-order.sh +0 -161
  102. package/typescript/create-only/.github/workflows/claude-ci-auto-fix.yml +0 -42
  103. package/typescript/create-only/.github/workflows/claude-code-review-response.yml +0 -31
  104. package/typescript/create-only/.github/workflows/claude-deploy-auto-fix.yml +0 -39
  105. package/typescript/create-only/.github/workflows/claude-nightly-code-complexity.yml +0 -24
  106. package/typescript/create-only/.github/workflows/claude-nightly-test-coverage.yml +0 -31
  107. package/typescript/create-only/.github/workflows/claude-nightly-test-improvement.yml +0 -34
  108. package/typescript/create-only/.github/workflows/claude-sync-down-branches.yml +0 -46
  109. package/typescript/create-only/.github/workflows/claude.yml +0 -37
@@ -70,7 +70,8 @@ repo_root="${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}"
70
70
  # `plugins/` directory to fall back on.
71
71
  status=0
72
72
  for guard in block-no-verify parity-safety-net block-shell-json-parsing \
73
- block-instruction-file-edits block-direct-issue-create; do
73
+ block-instruction-file-edits block-direct-issue-create \
74
+ block-managed-file-edits; do
74
75
  script=""
75
76
  for candidate in \
76
77
  "$repo_root/scripts/lisa-hooks/$guard.sh" \
@@ -0,0 +1,174 @@
1
+ #!/usr/bin/env bash
2
+ # This file is managed by Lisa and IS replaced on each `lisa` run.
3
+ # Do not edit directly — durable changes belong upstream in Lisa.
4
+
5
+ # PreToolUse hook: refuse agent writes to files Lisa overwrites on every apply.
6
+ #
7
+ # Lisa ships templates in three modes, and only one of them destroys host edits:
8
+ #
9
+ # copy-overwrite — replaced wholesale on every `lisa apply`. An edit here is
10
+ # gone at the next `bun install`, silently.
11
+ # copy-contents — Lisa APPENDS its lines; host content survives.
12
+ # create-only — skipped when the file exists; the host owns it outright.
13
+ #
14
+ # So this guard covers copy-overwrite and nothing else. Blocking the other two
15
+ # would stop agents editing files they are supposed to own, which is worse than
16
+ # the problem being solved.
17
+ #
18
+ # Measured, not hypothetical. Nothing enforced this, so downstream copies were
19
+ # edited and then silently diverged: `classify-maestro-failures.mjs` reached
20
+ # 36,061 bytes in one fleet repo against 29,586 shipped, and five gate files in
21
+ # another stopped receiving upstream fixes — one over roughly 138 bytes of
22
+ # cosmetic change. The edits were made in good faith; nothing told anyone the
23
+ # file was not theirs.
24
+ #
25
+ # ## Why the path, not a banner comment
26
+ #
27
+ # 103 of Lisa's 145 copy-overwrite files carry a "managed by Lisa" header, and
28
+ # the other 42 CANNOT: 30 are `.json` (no comment syntax), 8 are `.gitkeep` /
29
+ # `.keep` placeholders, and the rest are bare-value files like `.nvmrc`. A guard
30
+ # keyed on the banner would miss every one of them, so this resolves the path
31
+ # against the installed package instead and covers all 145 regardless of format.
32
+ #
33
+ # Blocked signatures:
34
+ # 1. Write / Edit / MultiEdit / NotebookEdit whose target resolves to a
35
+ # copy-overwrite template in the installed Lisa package;
36
+ # 2. Bash output redirection (`>`, `>>`, `>|`), `tee`, or `sed -i` aimed at
37
+ # one. Reads never fire.
38
+ #
39
+ # Exemptions (allowed):
40
+ # - `LISA_ALLOW_MANAGED_FILE_WRITE` set — the operator's explicit override,
41
+ # named in the refusal;
42
+ # - paths under `node_modules/` or `dist/` — vendored copies, not the host's;
43
+ # - the Lisa source repository itself, where these files are the originals and
44
+ # editing them is the entire point.
45
+ set -euo pipefail
46
+
47
+ input="$(cat)"
48
+
49
+ command -v jq >/dev/null 2>&1 || exit 0
50
+
51
+ # The operator's override, checked first so it is always the cheapest way out.
52
+ if [ -n "${LISA_ALLOW_MANAGED_FILE_WRITE:-}" ]; then
53
+ exit 0
54
+ fi
55
+
56
+ tool_name="$(printf '%s' "$input" | jq -r '.tool_name // empty')"
57
+ [ -n "$tool_name" ] || exit 0
58
+
59
+ project_root="${CLAUDE_PROJECT_DIR:-$PWD}"
60
+ package_root="$project_root/node_modules/@codyswann/lisa"
61
+
62
+ # No installed Lisa means nothing to classify against. Silent, because a project
63
+ # that has not installed Lisa is not doing anything wrong.
64
+ [ -d "$package_root" ] || exit 0
65
+
66
+ # In Lisa's own repository these files ARE the originals. Blocking here would
67
+ # make the templates uneditable by the only agents that should edit them.
68
+ if [ -f "$project_root/package.json" ] &&
69
+ grep -q '"name": *"@codyswann/lisa"' "$project_root/package.json" 2>/dev/null; then
70
+ exit 0
71
+ fi
72
+
73
+ # Whether a host-relative path is shipped as a copy-overwrite template.
74
+ #
75
+ # A few stat calls rather than an enumeration: the same relative path is probed
76
+ # under each stack's copy-overwrite tree, so cost does not grow with the 145
77
+ # templates.
78
+ managed_source() {
79
+ local candidate="$1"
80
+ case "$candidate" in
81
+ */node_modules/* | node_modules/* | */dist/* | dist/*) return 1 ;;
82
+ esac
83
+ # Normalise to a project-relative path so an absolute target still matches.
84
+ local rel="${candidate#"$project_root"/}"
85
+ rel="${rel#./}"
86
+ [ -n "$rel" ] || return 1
87
+ local stack
88
+ for stack in "$package_root"/*/copy-overwrite; do
89
+ [ -d "$stack" ] || continue
90
+ if [ -e "$stack/$rel" ]; then
91
+ printf '%s' "${stack#"$package_root"/}/$rel"
92
+ return 0
93
+ fi
94
+ done
95
+ return 1
96
+ }
97
+
98
+ refuse() {
99
+ local target="$1"
100
+ local source="$2"
101
+ cat >&2 <<EOF
102
+ BLOCKED: refusing to write \`$target\`.
103
+
104
+ WHY: this file is Lisa-managed. It is shipped as a **copy-overwrite** template
105
+ (\`$source\` in the installed package) and is replaced wholesale on every
106
+ \`lisa apply\` — which runs on every \`bun install\`. Your edit would survive
107
+ until the next install and then vanish, with nothing reporting that it had.
108
+
109
+ That is not hypothetical: downstream copies edited this way diverged silently
110
+ until they stopped receiving upstream fixes entirely.
111
+
112
+ WHERE IT GOES INSTEAD — take the first one that fits:
113
+
114
+ 1. The change should apply everywhere. Edit the template upstream in Lisa and
115
+ release it — \`/lisa:cross-pollinate\`, or an issue on CodySwannGT/lisa.
116
+ That is the only edit that survives an install.
117
+
118
+ 2. Only this project needs to differ. Look for the local escape hatch beside the
119
+ file — Lisa ships \`.local\` variants for the configs that support one
120
+ (\`eslint.config.local.ts\`, \`tsconfig.local.json\`, \`audit.ignore.local.json\`,
121
+ and others). Those are yours and are never overwritten.
122
+
123
+ 3. The behaviour is configurable rather than hardcoded. Check \`.lisa.config.json\`
124
+ — the \`gates\` block in particular decides which checks run and what command
125
+ proves each one, so a project can substitute its own task without touching a
126
+ shipped file.
127
+
128
+ 4. You believe this file should not be Lisa-managed at all. That is a real
129
+ argument and it belongs upstream, not in a local edit that will be erased.
130
+
131
+ If a human explicitly asked for this edit, they can re-run with
132
+ \`LISA_ALLOW_MANAGED_FILE_WRITE=1\` set, which bypasses this guard.
133
+ EOF
134
+ exit 2
135
+ }
136
+
137
+ case "$tool_name" in
138
+ Write | Edit | MultiEdit | NotebookEdit | Update)
139
+ paths="$(printf '%s' "$input" | jq -r '
140
+ [ .tool_input.file_path?,
141
+ .tool_input.path?,
142
+ .tool_input.notebook_path?,
143
+ (.tool_input.edits? // [] | .[].file_path?)
144
+ ] | map(select(. != null and . != "")) | .[]' 2>/dev/null || true)"
145
+ while IFS= read -r candidate; do
146
+ [ -n "$candidate" ] || continue
147
+ if source_path="$(managed_source "$candidate")"; then
148
+ refuse "$candidate" "$source_path"
149
+ fi
150
+ done <<EOF
151
+ $paths
152
+ EOF
153
+ ;;
154
+ Bash)
155
+ command_str="$(printf '%s' "$input" | jq -r '.tool_input.command // empty')"
156
+ [ -n "$command_str" ] || exit 0
157
+ # Write signatures only. A bare mention is a read and stays allowed — the
158
+ # path has to be the target of a redirection, a tee, or an in-place sed.
159
+ # `>>?\|?` covers `>`, `>>`, and the noclobber override `>|`.
160
+ while IFS= read -r token; do
161
+ [ -n "$token" ] || continue
162
+ if source_path="$(managed_source "$token")"; then
163
+ refuse "$token" "$source_path"
164
+ fi
165
+ done <<EOF
166
+ $(printf '%s' "$command_str" |
167
+ grep -Eo ">>?\|?[[:space:]]*['\"]?[^ |;&'\"]+|tee([[:space:]]+-[a-zA-Z]+)*[[:space:]]+['\"]?[^ |;&'\"]+|sed[[:space:]]+[^|;&]*-i[^|;&]*[[:space:]]['\"]?[^ |;&'\"]+" 2>/dev/null |
168
+ sed -E "s/^(>>?\|?|tee([[:space:]]+-[a-zA-Z]+)*|sed[[:space:]]+[^|;&]*-i[^|;&]*)[[:space:]]*//" |
169
+ tr -d "\"'" || true)
170
+ EOF
171
+ ;;
172
+ esac
173
+
174
+ exit 0
@@ -1 +1 @@
1
- {"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAsUjC,CAAC"}
1
+ {"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA0UjC,CAAC"}
@@ -174,6 +174,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
174
174
  "68e1b78d5d4471fadbe2eb575ae46221838217290123a9910d76dba0f1c34131",
175
175
  "8dc942ac4edc2017d6b8277296c8f80542e7c024eef1bb65de609979d0ca9a0e",
176
176
  "9cab71562d01421d57c6719318a4d03a6249a45c1aea434db3ff26e3065eeb66",
177
+ "aafd027c4b6092da15d0389f9e8dcedbd9105e9083057e2da39f78fd5f72e0df",
177
178
  "d7d88e44763694bed5eae998cd3663922c957e49f9f9621d9201f0417a4128ad",
178
179
  "e17c45f7cadf0fb55dd07270776caf211af99b7d4771a4fde75aafe5919e8dbe",
179
180
  ]),
@@ -214,6 +215,9 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
214
215
  "be1e77fb0ddb246eddae71ebac25e972c3c9e8079514e0dc78d0b73df919464c",
215
216
  "d47314b66d6ce85f77d6e058f861eede4462b2b0a33d54e82ff1c931167ec3f7",
216
217
  ]),
218
+ "scripts/lisa-hooks/block-managed-file-edits.sh": Object.freeze([
219
+ "18aebaef5ea9bf6af220dc9beef80a5cfb37282c6a53047783b4cc96d8daa4e3",
220
+ ]),
217
221
  "scripts/lisa-hooks/block-no-verify.sh": Object.freeze([
218
222
  "031ef7a53fc49cb18665105b834b7b50ad6a43317e0821949809e877e0562ce4",
219
223
  "18b7bb8867c5e6f719a9c503a38525f4c05e3d611717c3e1a503cf58dfb2832f",
@@ -1 +1 @@
1
- {"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAg2EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA6rOjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAw0EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA+pOjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -7,11 +7,12 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
7
7
  "all/copy-overwrite/scripts/lib/invoked-as-script.mjs": "fbb9b88fc85a3e22f21af39e1c17acf67ff83fc6b5a6cdc8081bde333c48faa7",
8
8
  "all/copy-overwrite/scripts/lisa-command-envelope.mjs": "014a94647efc636cbce961364a82f03c1f3c1e54a55e9d21508fded88dce49c4",
9
9
  "all/copy-overwrite/scripts/lisa-destructive-guard.mjs": "f0f3c43bbb6d1e389135b0205a051e64891e539d4272df2a87841ee82a8b7a55",
10
- "all/copy-overwrite/scripts/lisa-enforcement-fallback.sh": "68e1b78d5d4471fadbe2eb575ae46221838217290123a9910d76dba0f1c34131",
10
+ "all/copy-overwrite/scripts/lisa-enforcement-fallback.sh": "aafd027c4b6092da15d0389f9e8dcedbd9105e9083057e2da39f78fd5f72e0df",
11
11
  "all/copy-overwrite/scripts/lisa-floor-collisions.mjs": "2d11968f6852ab745cba939de03c6d6cb5f413975d2cfc8fc447bdd0b218e91a",
12
12
  "all/copy-overwrite/scripts/lisa-gates.mjs": "bba52f26e70e0dc399a8ed8ea9cbd3885a18f08401b28bd18871a1af4fbca375",
13
13
  "all/copy-overwrite/scripts/lisa-hooks/block-direct-issue-create.sh": "8d1f04ef5c5da9db9190e22b37a435e118e39d6e7deafc5402b4593c8e9db2b2",
14
14
  "all/copy-overwrite/scripts/lisa-hooks/block-instruction-file-edits.sh": "3e709e1ec8a5843c00684bc477ad32ddab2c5fdb11f71d5aeec0c49609eaf025",
15
+ "all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh": "18aebaef5ea9bf6af220dc9beef80a5cfb37282c6a53047783b4cc96d8daa4e3",
15
16
  "all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh": "83a8b8108654086afb6a6f23a8f09f9f041eb2cd4094c5531fa7ab1f75e873dc",
16
17
  "all/copy-overwrite/scripts/lisa-hooks/block-shell-json-parsing.sh": "234cb82cc9033bd04940a553d4ddc95b078e585e41777d6529d887676edc40b1",
17
18
  "all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh": "1d4fbe135f1bb4e861d286a6512ed201d4522250dfe3f9eba6584bc5ff166a95",
@@ -338,6 +339,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
338
339
  "plugins/src/base/hooks/block-direct-issue-create.sh": "22184f1dd1b96e818741bd4ae659446299535d7ce594817155edebac4172a7ba",
339
340
  "plugins/src/base/hooks/block-instruction-file-edits.agy.sh": "aa249cae53caeb3e0fb6d6af114e2756084f45a2896332fb063a9f20e4902125",
340
341
  "plugins/src/base/hooks/block-instruction-file-edits.sh": "d47314b66d6ce85f77d6e058f861eede4462b2b0a33d54e82ff1c931167ec3f7",
342
+ "plugins/src/base/hooks/block-managed-file-edits.sh": "abdbcd889925879aa43fe0420971cf1a79a7b9a534c06e681fe3f0fbb5475894",
341
343
  "plugins/src/base/hooks/block-no-verify.agy.sh": "81c51041f8cb47bf79692c485c4f42ac7ed0a5a830821dc514cb468bc7a06b83",
342
344
  "plugins/src/base/hooks/block-no-verify.sh": "3ff7255f395a9552366faaac34d383f4c95fecfb39882cd1d57854356422fe61",
343
345
  "plugins/src/base/hooks/block-shell-json-parsing.agy.sh": "dc688efe382e7b8fe6f6c88bb0fde851527128cae778599559f23a93f1c9ec86",
@@ -419,7 +421,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
419
421
  "plugins/src/base/rules/reference/claim-evidence-mapping.md": "49a3bbf4e8a9a8ca9e13eeafa672517d077060cfeb5d9710881ec9f5c3f3ec75",
420
422
  "plugins/src/base/rules/reference/claim-time-guards.md": "11573274387d31fb2c6fa4d07a2b5b81998c52881d70136cdf724e52d841090e",
421
423
  "plugins/src/base/rules/reference/coding-philosophy.md": "fed8381f16a5d6793a49d84d5813d62125808cb2f4981a558b119cf63e2586d9",
422
- "plugins/src/base/rules/reference/config-resolution.md": "c7dea3e5ad59da3b00993318c2f7f7351693d00207a2fbafb5f00f60fb47bf69",
424
+ "plugins/src/base/rules/reference/config-resolution.md": "83c46e2bb8c3f84aba013196a5e6a41104136e36e37b197e4d7a4e896f7d6aa9",
423
425
  "plugins/src/base/rules/reference/convergent-review.md": "788a9d4dc2af7a928c3ccbb4d53a92856bb3544941ce512cfe38068d6b35850d",
424
426
  "plugins/src/base/rules/reference/credential-substrate-precedence.md": "5420156ca98fff0d26d1537fbd54781e70cb801cdb8e770a6caa3cb8acd253c7",
425
427
  "plugins/src/base/rules/reference/dependency-decision-records.md": "84f9fb8fa0a606307e828ec355ccbf2258beeeb88795dd113abe9bb2c37db39f",
@@ -503,8 +505,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
503
505
  "plugins/src/base/skills/lisa-detect-tooling/SKILL.md": "4ef9b5004e13beb46cac5ae994c24d91c3715363771e3d89c32b0610408fc887",
504
506
  "plugins/src/base/skills/lisa-detect-tooling/scripts/commands.mjs": "e28bd61fdde4a336b56ae3395423026943a5816015719d31d04f0d5a0ab50eec",
505
507
  "plugins/src/base/skills/lisa-detect-tooling/scripts/detect-tooling.mjs": "9d06590e6b99cce33e5fb10bd5b9e7515318133e3635368ef47162abc123bdfa",
506
- "plugins/src/base/skills/lisa-doctor/SKILL.md": "3202e5ce094c499c401a0fe554ea02fb75f08ae9d0d7f3fca30b1df338b3fc40",
507
- "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "3919c6161900916090ee315df322938efc5b53bdfabf78efe8683432cf8ae488",
508
+ "plugins/src/base/skills/lisa-doctor/SKILL.md": "f015bd91a615fa22b8e9f2bcb89a8bbce4a3f7d4fd977bfe94970e8d21d640d8",
509
+ "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "bbf4f08502f0f860a18e1a374998ed276931708c7c092f078837c98f7e25ac9a",
508
510
  "plugins/src/base/skills/lisa-epic-triage/SKILL.md": "d02760411249bddbd396f283191fe3e82bb7b95bf9393a19a7025dc5a57c3ab7",
509
511
  "plugins/src/base/skills/lisa-evaluation-suite/SKILL.md": "96b5c2091ccd22a565935a7b0b917f67998881b81055ce3e4d518319472eac8b",
510
512
  "plugins/src/base/skills/lisa-exploratory-qa/SKILL.md": "7041419b9160e0370c9a2351a53235e57a997ef11dabc0b670f8873b1db48d08",
@@ -671,7 +673,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
671
673
  "plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs": "6ab19c08aa9db7643aa49133ba1d0febf1c1dbdc9a503026a01b1ce0a83f68ab",
672
674
  "plugins/src/base/skills/lisa-sonarcloud-access/SKILL.md": "b98aba73d367a671395a08433a47034fce7ea701d31ef89b6aa866efc4dd3fcb",
673
675
  "plugins/src/base/skills/lisa-spec-conformance/SKILL.md": "50e79afcfabf16d36273325aabb58571c9a0e1cafe7a2865e2da10c6d46571eb",
674
- "plugins/src/base/skills/lisa-sync-down/SKILL.md": "c32e6a4e3115ca32b7d335e90d0a73b243c6c631a2d192568423be0cb5944e84",
676
+ "plugins/src/base/skills/lisa-sync-down/SKILL.md": "15799079e2d64ba512fa492efea6a1a2f96a19f23935d85a7e91d9e115fbd9a4",
675
677
  "plugins/src/base/skills/lisa-task-decomposition/SKILL.md": "eb78838e1f121a7a619a841333b1adfce124dad8881853d14107512ead09d30f",
676
678
  "plugins/src/base/skills/lisa-task-triage/SKILL.md": "c6e11b6d195560e6bd7b51fede65c155567c35208801a700a26d95679b03484e",
677
679
  "plugins/src/base/skills/lisa-tdd-implementation/SKILL.md": "8684a31f1982ec3bcf9803ef028bf2aa7a24cefd324ca40b2ac09d07287ecacd",
@@ -1029,11 +1031,6 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1029
1031
  "rails/copy-overwrite/scripts/threshold-ratchet-families.mjs": "f50e35d11295a836bd5b6d818aed6daea68ff70bdffbbdf9f67b09984a2628da",
1030
1032
  "rails/copy-overwrite/sgconfig.yml": "ff5b62de42eb969a851fdc53ee6932a32ffe010b567ed2c62460ed454ad2a24f",
1031
1033
  "rails/create-only/.github/workflows/ci.yml": "924375bcfcb8c13f546a7e323cf5ad99cee1427d3ba90386680db16b981e5ab4",
1032
- "rails/create-only/.github/workflows/claude-code-review-response.yml": "def0d5fdbb3415f1531dcadfca9c357c637cf090d3a86017ae45cf94dba50087",
1033
- "rails/create-only/.github/workflows/claude-nightly-code-complexity.yml": "1dd8e4a790321d2de9aceb0d612bfa074ec4bddc604dac8d4146845cbf4526a1",
1034
- "rails/create-only/.github/workflows/claude-nightly-test-coverage.yml": "e136b4a96932a38d6ae6ff170b0caebef8277a33d49741162f554dd3457d524f",
1035
- "rails/create-only/.github/workflows/claude-nightly-test-improvement.yml": "7af881e5e79336d7cf3424c1031c0e3629de1ef8fdf9967f91b274975f5bd57e",
1036
- "rails/create-only/.github/workflows/claude-sync-down-branches.yml": "e63fa223b7f324c340635940c841d4872531d025129cbbddc1b7e55a89745c5e",
1037
1034
  "rails/create-only/.github/workflows/deploy.yml": "0c00b70e3ff0213f4ce80ce80123e7edeb6e0896aaa13e806d14693f6fcf6320",
1038
1035
  "rails/create-only/.mise.toml": "28be5746256a30ad2260da7d37244cc461f8963ce5d5a81ddce71b48f0ab6ef0",
1039
1036
  "rails/create-only/.mutant.yml": "9ee28ad14e4688e58827510eb9b7197d9a368fc670821145a08f7542e2e216d8",
@@ -1049,10 +1046,10 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1049
1046
  "rails/create-only/sonar-project.properties": "58f0618863149a49aa39dc96eca498e8338f24e7d0237fb654ac85920ba57e15",
1050
1047
  "rails/create-only/spec/rails_helper.rb": "5a96010d99c78f75713fc44fed6bba5f2631f94f5d1cc08d96f80601faeee843",
1051
1048
  "rails/create-only/spec/spec_helper.rb": "56ca48d2519ece7a856fe7941ea8acf2d9f1d53aee03321f230300907dc20712",
1052
- "rails/deletions.json": "eeadf9a2b1677913199a235091a8d6190477f3e2a5fd598d62cf658cb59a8099",
1049
+ "rails/deletions.json": "075810aadfbf131ca6a46fb73860e036447a3a9796f9371b7722ad18cc002522",
1053
1050
  "rails/github-rulesets/quality-checks.json": "0ec1c366589edbaa6b8f45f940cef3ada5ed7b1a956d98d3fa6034b0f78fbc7c",
1054
1051
  "rails/merge/.claude/settings.json": "9c49f8c7c453f8749c90def3e22d412c3345c533d24b30dc7745ffa052ad6fa1",
1055
- "scripts/build-plugins.sh": "a2d935155a71e61c927c4a83e4a4151248fc13961214d7a57f5021e7bc3a8779",
1052
+ "scripts/build-plugins.sh": "00a3207bb5a485bfee80fb71be6e9577979fd156b15a85517e88a2f9261bc9f4",
1056
1053
  "scripts/check-conflict-markers.mjs": "78c286ed6d7cce3a030fd7561fbe6285e2051d34540640f016b86ef89e3fb08b",
1057
1054
  "scripts/check-derived-artifacts.mjs": "1a35cc935515d29f0223a87d56dbfd5537aba19162d9d20e70fce8255688b76f",
1058
1055
  "scripts/check-duplicate-versions.mjs": "84d97e94eb834522848ddce951bb54ae9da1e4be252e2c51fed0c01c4f4d6b72",
@@ -1070,7 +1067,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1070
1067
  "scripts/cleanup-worktrees.sh": "5215cdecc7683e8501d23eec632d0c138bbf60f12c09b0a357451a557d8ec176",
1071
1068
  "scripts/copy-codex-scripts.mjs": "2d7082d5033088c85f66995aee9e3ee1e7751435e65bfde8e1cb002e6689d476",
1072
1069
  "scripts/copy-opencode-plugin-templates.mjs": "bef79103c293b73d7c37e8a8c9fa1b4f1f2e53367898a6326b12f8a0ba8ddc43",
1073
- "scripts/detect-stale-workflow-inputs.mjs": "5ecf75354fee8beff7e6d02a78c5742de3cb6cd6753669966714411dcb0611d7",
1070
+ "scripts/detect-stale-workflow-inputs.mjs": "2f398b3179724dea0d3b777ca459912aea3fc53349d4bee476d598eb3b3676c1",
1074
1071
  "scripts/fix-namespace-test-assertions.mjs": "bfed6f27753660b38457c3f0a032a6c866691666d2d5d61fc10c3fb2f4f4f412",
1075
1072
  "scripts/fix-test-assertions-pass2.mjs": "baca043a291120ff52ce61c06397206dc21ca3bef9c23a5975b9c1f896d963c7",
1076
1073
  "scripts/fix-test-assertions.mjs": "59b5e8cc31e7c7323d20bd180f2ae97c08a9685758483b6fe00ba77317a845f2",
@@ -1079,7 +1076,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1079
1076
  "scripts/generate-copilot-plugin-artifacts.mjs": "70d283eed7cb7c1351d13cf0497f06dec175562c5918921c404393a76f11278f",
1080
1077
  "scripts/generate-cursor-plugin-artifacts.mjs": "d8806197a723f0c2b50a8155ffc5b6f0abc30c68dc2385cb80b0dd066d061231",
1081
1078
  "scripts/generate-lisa-owned-hash-ledger.mjs": "4e7a6dd9325fff77faec49c1dcbf8a8cfeb987052eeed89885deb4f7b0a107bc",
1082
- "scripts/generate-upstream-evidence-manifest.mjs": "de1eb5adaa6252b4abe5859933bff0ab2a52e19cc5a3fc5a41018fbb57b766d1",
1079
+ "scripts/generate-upstream-evidence-manifest.mjs": "e1f0485918ab8a2206e8200f297acb495400f321bed5d31d3f60f8da11d8fdc6",
1083
1080
  "scripts/github-status-check.sh": "c6a4a13ff5cf689fcbd7a6aca718f9e7d46d54ccb6687f662b055c1ca20e792f",
1084
1081
  "scripts/install-claude-plugins.sh": "0e96ebbae1e59304bb432286eccba38900a6008b80f2c53a1ec2c95801d4087c",
1085
1082
  "scripts/internal-agy-skill-policy.json": "c2ce87d2eeebfdc9f24d6486425c010cf9289376f8a459f4767ca22d2bf8670d",
@@ -1095,7 +1092,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1095
1092
  "scripts/lib/reusable-workflow-contract.mjs": "134ee2a327290f066f1eb318b5ed53c711557c3e10ed462c00ff5c97cfb20863",
1096
1093
  "scripts/lisa-assert-eas-profile.mjs": "0e4143ed0569b7d5361d8d0f1b6ca0268d6189804dca11cf970121712d7b9577",
1097
1094
  "scripts/lisa-commit-and-pr-local.sh": "605409c3ce6ec38ad3275604291a1ceae98f7807a605654263bc14f811c03903",
1098
- "scripts/lisa-enforcement-fallback.sh": "3049c2f1051c7c02dd60b62355964651e1565ebe6bdcb5e37634cd686cf1deb1",
1095
+ "scripts/lisa-enforcement-fallback.sh": "e241a2c7c6aaeb17241adfc9ca4e4f900259e90dae7444fc01992936ea8bcfb4",
1099
1096
  "scripts/lisa-github-environments.sh": "0a76e92f108519abaf3e29991299ec3b0db20ea533e69e6d2a53d802dba9c370",
1100
1097
  "scripts/lisa-github-repo-settings.sh": "4afbccdfb08c62ba13afee42ec8561a28facf87c61f6f4b80000115328364d54",
1101
1098
  "scripts/lisa-github-repo-setup.sh": "dc2f1c9d718aa34ba57161120d9319b5f78fe6b0b496d8e3c77226a08795aa36",
@@ -1105,7 +1102,6 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1105
1102
  "scripts/lisa-update-local.sh": "c811f9e10dbcb38499a9791c1ae9051460b347051d04a1d2046925bab9a53c96",
1106
1103
  "scripts/lisa-work-item.mjs": "51081847e980f314a764c2e50a7a121b1ced9ef4b980f33898057de4c7b852e6",
1107
1104
  "scripts/materialize-copy-overwrite.mjs": "3f8dea8027087b83d0f985dc070a529b5e62755643d946684d780b86c498a411",
1108
- "scripts/migrate-deploy-order.sh": "77d909b4cbbfc05169a79168d7868600ea7f56f846feefb7d5121618c54800c3",
1109
1105
  "scripts/plugin-parity-drift.mjs": "d3aa919d721a5ab6f475133a49fd5b7ca86b6ae1dfd5b6443039ce04eb3d6f77",
1110
1106
  "scripts/plugin-routing-validate.mjs": "e4278b4fb12d33c2043dc9d987d8995dbff6efb23151f57a2b7423ae3c777bcc",
1111
1107
  "scripts/probes/wave3-verification.sh": "c341c3682f2401339a433a48efc8b8dd80c9c190f12ec6287139bebd1e47c049",
@@ -1117,7 +1113,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1117
1113
  "scripts/verify-health-agentic-built.mjs": "3c064ad162fa633efcaa91327746157bc046cabd1c030b8bfa17227fed077200",
1118
1114
  "scripts/verify-health-consumer-built.mjs": "8b65689a1fa38d9fc2e73b52433408ce19648b8504f80a174b7b7ac97ec42bae",
1119
1115
  "scripts/verify-health-contract-built.mjs": "5ebfec9b8a0e3004a5af65d2f2515526f7ff5817e61ae30042fb8be40d8f8d17",
1120
- "scripts/verify-health-deterministic-built.mjs": "ab19427ec4b1dfaa06037cc23b7fc06319b4c12d8c6b67808dddd77e5367fd12",
1116
+ "scripts/verify-health-deterministic-built.mjs": "1e5c5cfc56ca5177691da2f9c73e4151de7b232b603824f5041f0d5d690113fa",
1121
1117
  "scripts/verify-learner-frontmatter-built.mjs": "182e5e99f52257d3079ee1bc42b45c3dcca8b93a968205ddb3f3af26f2558b47",
1122
1118
  "tsconfig/base.json": "d04a105ec81aa9dc69d230d4a83406d920c305b6fc13c641ebafde0c41fc658f",
1123
1119
  "tsconfig/build.json": "a743350ea93b0e8d2151c974c5a8a4cbcf946cd7f06c40d83146079bde70afe1",
@@ -1173,14 +1169,6 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1173
1169
  "typescript/create-only/.github/workflows/auto-update-pr-branches-dispatch.yml": "504aa5a04ce88a01d5b0407efd240d691a0cf8fac208a6ecfbf931f43f1437c3",
1174
1170
  "typescript/create-only/.github/workflows/auto-update-pr-branches.yml": "4a379369c1dedd1751a24508cb1146e39beca6b92f4d31e0d32cb2e03eafe67e",
1175
1171
  "typescript/create-only/.github/workflows/ci.yml": "409799708fe51716f3c8228950db3bb26864f43a01a9e6186f6d3d1970e29f2d",
1176
- "typescript/create-only/.github/workflows/claude-ci-auto-fix.yml": "17e99a1b0b5afefa0f374c5ffd614bf35ee0f6dd68f21b1c97446a03d9cddd04",
1177
- "typescript/create-only/.github/workflows/claude-code-review-response.yml": "55853fbc3a072edec4bc3699cd45287b801e5299fbf33780a6f1ae8072a204ee",
1178
- "typescript/create-only/.github/workflows/claude-deploy-auto-fix.yml": "5d1a569cbb13abf39f8303a7102ad78850d487a9c6be53026df47119714f4332",
1179
- "typescript/create-only/.github/workflows/claude-nightly-code-complexity.yml": "813d409a4f431d46edf5a2937012dae83a65f5c0bb6c5008de3dec53aa674fdf",
1180
- "typescript/create-only/.github/workflows/claude-nightly-test-coverage.yml": "82fb935e0793f92727aac40f056e52c9996788d6329a2bbcc41837a72be28619",
1181
- "typescript/create-only/.github/workflows/claude-nightly-test-improvement.yml": "4ea64d78865e00dc575cfc62fc30ff53ca9e6c0b3fc32f45927781a0968d2095",
1182
- "typescript/create-only/.github/workflows/claude-sync-down-branches.yml": "e63fa223b7f324c340635940c841d4872531d025129cbbddc1b7e55a89745c5e",
1183
- "typescript/create-only/.github/workflows/claude.yml": "9db35bb1b803679284708a18e2eb5a9c8a33b55f93629c3ed2ab11217d76caed",
1184
1172
  "typescript/create-only/.github/workflows/required-checks-drift.yml": "c1a828f42c8ea6c3108f82b081d8a0999ae2c8ac9b556e7ebb2053b353838ce0",
1185
1173
  "typescript/create-only/.gitleaksignore": "6927d376648675331801c798a4390b652a22a3e5d350cd26f36d42c10af02d67",
1186
1174
  "typescript/create-only/audit.ignore.local.json": "096eba7c600446a2f906369a6ff747804a51b9ad3153ca10d9a1d673e416b337",
@@ -1193,7 +1181,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1193
1181
  "typescript/create-only/tsconfig.local.json": "727931ff950c5606b74040963429407c820743dfd20cb1732656eca963575208",
1194
1182
  "typescript/create-only/vitest.config.local.ts": "a70a6d2a4f210304cf84b8017b2c628c0ef689712c4f745ef45e1fcfffac4050",
1195
1183
  "typescript/create-only/vitest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
1196
- "typescript/deletions.json": "fe5f44b7a02148eacc429782e948b1c4aee302d1d56524cc16adec5489bbc308",
1184
+ "typescript/deletions.json": "f34c7e0a3cb6a8e19f0529a0141cd331d37162638204ede8d13cd49cb985823e",
1197
1185
  "typescript/github-rulesets/quality-checks.json": "cb544af6fb2e3c97b4eb59cca00a30e3dcb566b000d0496c01261f958b3c8295",
1198
1186
  "typescript/merge/.claude/settings.json": "834e6456cae81f45073bbbb08bf731fef043efb30cae2658cb4a59f17e66d165",
1199
1187
  "typescript/merge/.oxlintrc.json": "9504c20db80470c242c4ffe8cccad6951ed8141dfb5bf6503053e0b2712ab276",
@@ -1286,14 +1274,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1286
1274
  ".github/workflows/auto-update-pr-branches.yml": true,
1287
1275
  ".github/workflows/build.yml": true,
1288
1276
  ".github/workflows/ci.yml": true,
1289
- ".github/workflows/claude-ci-auto-fix.yml": true,
1290
- ".github/workflows/claude-code-review-response.yml": true,
1291
- ".github/workflows/claude-deploy-auto-fix.yml": true,
1292
- ".github/workflows/claude-nightly-code-complexity.yml": true,
1293
- ".github/workflows/claude-nightly-jira-triage.yml": true,
1294
- ".github/workflows/claude-nightly-test-coverage.yml": true,
1295
- ".github/workflows/claude-nightly-test-improvement.yml": true,
1296
- ".github/workflows/claude.yml": true,
1297
1277
  ".github/workflows/create-github-issue-on-failure.yml": true,
1298
1278
  ".github/workflows/create-issue-on-failure.yml": true,
1299
1279
  ".github/workflows/create-jira-issue-on-failure.yml": true,
@@ -1315,18 +1295,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1315
1295
  ".github/workflows/release.yml": true,
1316
1296
  ".github/workflows/reusable-auto-update-pr-branches-dispatch.yml": true,
1317
1297
  ".github/workflows/reusable-auto-update-pr-branches.yml": true,
1318
- ".github/workflows/reusable-claude-ci-auto-fix.yml": true,
1319
- ".github/workflows/reusable-claude-code-review-response.yml": true,
1320
- ".github/workflows/reusable-claude-deploy-auto-fix.yml": true,
1321
- ".github/workflows/reusable-claude-nightly-code-complexity-rails.yml": true,
1322
- ".github/workflows/reusable-claude-nightly-code-complexity.yml": true,
1323
- ".github/workflows/reusable-claude-nightly-jira-triage.yml": true,
1324
- ".github/workflows/reusable-claude-nightly-test-coverage-rails.yml": true,
1325
- ".github/workflows/reusable-claude-nightly-test-coverage.yml": true,
1326
- ".github/workflows/reusable-claude-nightly-test-improvement-rails.yml": true,
1327
- ".github/workflows/reusable-claude-nightly-test-improvement.yml": true,
1328
- ".github/workflows/reusable-claude-sync-down-branches.yml": true,
1329
- ".github/workflows/reusable-claude.yml": true,
1330
1298
  ".github/workflows/security-floors.yml": true,
1331
1299
  ".github/workflows/zap-baseline-expo.yml": true,
1332
1300
  ".github/workflows/zap-baseline-nestjs.yml": true,
@@ -1361,6 +1329,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1361
1329
  "all/copy-overwrite/scripts/lisa-gates.mjs": true,
1362
1330
  "all/copy-overwrite/scripts/lisa-hooks/block-direct-issue-create.sh": true,
1363
1331
  "all/copy-overwrite/scripts/lisa-hooks/block-instruction-file-edits.sh": true,
1332
+ "all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh": true,
1364
1333
  "all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh": true,
1365
1334
  "all/copy-overwrite/scripts/lisa-hooks/block-shell-json-parsing.sh": true,
1366
1335
  "all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh": true,
@@ -1638,13 +1607,13 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1638
1607
  "parity/fixtures/routing/invalid/bad-outcome@demo-marketplace.md": true,
1639
1608
  "parity/fixtures/routing/valid/has-manifest@demo-marketplace.json": true,
1640
1609
  "parity/fixtures/routing/valid/has-manifest@demo-marketplace.md": true,
1641
- "parity/fixtures/stale-workflow-inputs/contracts/reusable-claude.yml": true,
1642
- "parity/fixtures/stale-workflow-inputs/project-current/.github/workflows/claude.yml": true,
1643
- "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/claude-ci-auto-fix.yml": true,
1644
- "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/claude-unknown.yml": true,
1645
- "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/claude.yml": true,
1610
+ "parity/fixtures/stale-workflow-inputs/contracts/reusable-example.yml": true,
1611
+ "parity/fixtures/stale-workflow-inputs/project-current/.github/workflows/example-agent.yml": true,
1612
+ "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/example-agent.yml": true,
1613
+ "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/example-auto-fix.yml": true,
1614
+ "parity/fixtures/stale-workflow-inputs/project-mixed/.github/workflows/example-unknown.yml": true,
1646
1615
  "parity/fixtures/stale-workflow-inputs/project-no-caller/.github/workflows/ci.yml": true,
1647
- "parity/fixtures/stale-workflow-inputs/project-vintage/.github/workflows/claude.yml": true,
1616
+ "parity/fixtures/stale-workflow-inputs/project-vintage/.github/workflows/example-agent.yml": true,
1648
1617
  "parity/plugin-routing/.gitkeep": true,
1649
1618
  "parity/plugin-routing/code-review@claude-plugins-official.json": true,
1650
1619
  "parity/plugin-routing/code-review@claude-plugins-official.md": true,
@@ -2547,6 +2516,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2547
2516
  "plugins/lisa-copilot/commands/lisa/wiki/install.md": true,
2548
2517
  "plugins/lisa-copilot/hooks/block-direct-issue-create.sh": true,
2549
2518
  "plugins/lisa-copilot/hooks/block-instruction-file-edits.sh": true,
2519
+ "plugins/lisa-copilot/hooks/block-managed-file-edits.sh": true,
2550
2520
  "plugins/lisa-copilot/hooks/block-no-verify.sh": true,
2551
2521
  "plugins/lisa-copilot/hooks/block-shell-json-parsing.sh": true,
2552
2522
  "plugins/lisa-copilot/hooks/cleanup-stale-worktrees.sh": true,
@@ -3003,6 +2973,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
3003
2973
  "plugins/lisa-cursor/commands/lisa/wiki/install.md": true,
3004
2974
  "plugins/lisa-cursor/hooks/block-direct-issue-create.sh": true,
3005
2975
  "plugins/lisa-cursor/hooks/block-instruction-file-edits.sh": true,
2976
+ "plugins/lisa-cursor/hooks/block-managed-file-edits.sh": true,
3006
2977
  "plugins/lisa-cursor/hooks/block-no-verify.sh": true,
3007
2978
  "plugins/lisa-cursor/hooks/block-shell-json-parsing.sh": true,
3008
2979
  "plugins/lisa-cursor/hooks/cleanup-stale-worktrees.sh": true,
@@ -5552,6 +5523,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5552
5523
  "plugins/lisa/hooks/block-direct-issue-create.sh": true,
5553
5524
  "plugins/lisa/hooks/block-instruction-file-edits.agy.sh": true,
5554
5525
  "plugins/lisa/hooks/block-instruction-file-edits.sh": true,
5526
+ "plugins/lisa/hooks/block-managed-file-edits.sh": true,
5555
5527
  "plugins/lisa/hooks/block-no-verify.agy.sh": true,
5556
5528
  "plugins/lisa/hooks/block-no-verify.sh": true,
5557
5529
  "plugins/lisa/hooks/block-shell-json-parsing.agy.sh": true,
@@ -6191,6 +6163,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6191
6163
  "plugins/src/base/hooks/block-direct-issue-create.sh": true,
6192
6164
  "plugins/src/base/hooks/block-instruction-file-edits.agy.sh": true,
6193
6165
  "plugins/src/base/hooks/block-instruction-file-edits.sh": true,
6166
+ "plugins/src/base/hooks/block-managed-file-edits.sh": true,
6194
6167
  "plugins/src/base/hooks/block-no-verify.agy.sh": true,
6195
6168
  "plugins/src/base/hooks/block-no-verify.sh": true,
6196
6169
  "plugins/src/base/hooks/block-shell-json-parsing.agy.sh": true,
@@ -6952,11 +6925,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6952
6925
  "rails/copy-overwrite/scripts/threshold-ratchet-families.mjs": true,
6953
6926
  "rails/copy-overwrite/sgconfig.yml": true,
6954
6927
  "rails/create-only/.github/workflows/ci.yml": true,
6955
- "rails/create-only/.github/workflows/claude-code-review-response.yml": true,
6956
- "rails/create-only/.github/workflows/claude-nightly-code-complexity.yml": true,
6957
- "rails/create-only/.github/workflows/claude-nightly-test-coverage.yml": true,
6958
- "rails/create-only/.github/workflows/claude-nightly-test-improvement.yml": true,
6959
- "rails/create-only/.github/workflows/claude-sync-down-branches.yml": true,
6960
6928
  "rails/create-only/.github/workflows/deploy.yml": true,
6961
6929
  "rails/create-only/.mise.toml": true,
6962
6930
  "rails/create-only/.mutant.yml": true,
@@ -7029,7 +6997,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7029
6997
  "scripts/lisa-update-local.sh": true,
7030
6998
  "scripts/lisa-work-item.mjs": true,
7031
6999
  "scripts/materialize-copy-overwrite.mjs": true,
7032
- "scripts/migrate-deploy-order.sh": true,
7033
7000
  "scripts/plugin-parity-drift.mjs": true,
7034
7001
  "scripts/plugin-routing-validate.mjs": true,
7035
7002
  "scripts/probes/wave3-verification.sh": true,
@@ -7477,7 +7444,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7477
7444
  "tests/helpers/verification-gate-harness.ts": true,
7478
7445
  "tests/helpers/workflow-job-graph.ts": true,
7479
7446
  "tests/helpers/workflow-test-utils.ts": true,
7480
- "tests/integration/autofix-ownership-guards.test.ts": true,
7481
7447
  "tests/integration/bootstrap-keychain.test.ts": true,
7482
7448
  "tests/integration/cli-smoke.test.ts": true,
7483
7449
  "tests/integration/environment-facade-gates.test.ts": true,
@@ -7673,7 +7639,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7673
7639
  "tests/unit/config/postinstall-cloud-session-guard.test.ts": true,
7674
7640
  "tests/unit/config/rails-template.test.ts": true,
7675
7641
  "tests/unit/config/release-push-retry.test.ts": true,
7676
- "tests/unit/config/sync-down-single-env.test.ts": true,
7677
7642
  "tests/unit/config/tsconfig-no-unused-flags.test.ts": true,
7678
7643
  "tests/unit/config/tsconfig-template-references.test.ts": true,
7679
7644
  "tests/unit/config/vitest-base.test.ts": true,
@@ -7767,6 +7732,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7767
7732
  "tests/unit/hooks/enforcement-fallback.test.ts": true,
7768
7733
  "tests/unit/hooks/enforcement-gates-e2e.test.ts": true,
7769
7734
  "tests/unit/hooks/gate-coverage-handover.test.ts": true,
7735
+ "tests/unit/hooks/hook-scripts-parse.test.ts": true,
7770
7736
  "tests/unit/hooks/host-enforcement-fallback.test.ts": true,
7771
7737
  "tests/unit/hooks/husky-resolver-lookup.test.ts": true,
7772
7738
  "tests/unit/hooks/inject-rules.test.ts": true,
@@ -8277,14 +8243,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8277
8243
  "typescript/create-only/.github/workflows/auto-update-pr-branches-dispatch.yml": true,
8278
8244
  "typescript/create-only/.github/workflows/auto-update-pr-branches.yml": true,
8279
8245
  "typescript/create-only/.github/workflows/ci.yml": true,
8280
- "typescript/create-only/.github/workflows/claude-ci-auto-fix.yml": true,
8281
- "typescript/create-only/.github/workflows/claude-code-review-response.yml": true,
8282
- "typescript/create-only/.github/workflows/claude-deploy-auto-fix.yml": true,
8283
- "typescript/create-only/.github/workflows/claude-nightly-code-complexity.yml": true,
8284
- "typescript/create-only/.github/workflows/claude-nightly-test-coverage.yml": true,
8285
- "typescript/create-only/.github/workflows/claude-nightly-test-improvement.yml": true,
8286
- "typescript/create-only/.github/workflows/claude-sync-down-branches.yml": true,
8287
- "typescript/create-only/.github/workflows/claude.yml": true,
8288
8246
  "typescript/create-only/.github/workflows/required-checks-drift.yml": true,
8289
8247
  "typescript/create-only/.gitleaksignore": true,
8290
8248
  "typescript/create-only/audit.ignore.local.json": true,