pgserve 2.1.3 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +105 -1
  3. package/bin/autopg-wrapper.cjs +16 -0
  4. package/bin/pgserve-wrapper.cjs +32 -6
  5. package/bin/postgres-server.js +56 -0
  6. package/console/README.md +131 -0
  7. package/console/api.js +173 -0
  8. package/console/app.jsx +483 -0
  9. package/console/colors_and_type.css +227 -0
  10. package/console/components.jsx +167 -0
  11. package/console/console.css +1666 -0
  12. package/console/data.jsx +350 -0
  13. package/console/index.html +31 -0
  14. package/console/screens/databases.jsx +5 -0
  15. package/console/screens/health.jsx +5 -0
  16. package/console/screens/ingress.jsx +5 -0
  17. package/console/screens/optimizer.jsx +5 -0
  18. package/console/screens/rlm-sim.jsx +5 -0
  19. package/console/screens/rlm-trace.jsx +5 -0
  20. package/console/screens/security.jsx +5 -0
  21. package/console/screens/settings.jsx +611 -0
  22. package/console/screens/sql.jsx +5 -0
  23. package/console/screens/sync.jsx +5 -0
  24. package/console/screens/tables.jsx +5 -0
  25. package/console/tweaks-panel.jsx +425 -0
  26. package/package.json +14 -2
  27. package/scripts/postinstall.cjs +60 -0
  28. package/src/cli-config.cjs +310 -0
  29. package/src/cli-install.cjs +112 -11
  30. package/src/cli-restart.cjs +228 -0
  31. package/src/cli-ui.cjs +580 -0
  32. package/src/cluster.js +43 -38
  33. package/src/postgres.js +141 -19
  34. package/src/settings-loader.cjs +235 -0
  35. package/src/settings-migrate.cjs +212 -0
  36. package/src/settings-pg-args.cjs +146 -0
  37. package/src/settings-schema.cjs +422 -0
  38. package/src/settings-validator.cjs +416 -0
  39. package/src/settings-writer.cjs +288 -0
  40. package/src/upgrade/index.js +65 -0
  41. package/src/upgrade/runner.js +23 -0
  42. package/src/upgrade/steps/binary-cache-flush.js +67 -0
  43. package/src/upgrade/steps/consumer-signal.js +40 -0
  44. package/src/upgrade/steps/env-refresh.js +89 -0
  45. package/src/upgrade/steps/health-validate.js +53 -0
  46. package/src/upgrade/steps/plpgsql-resolve.js +66 -0
  47. package/src/upgrade/steps/port-reconcile.js +52 -0
  48. package/.claude/context/windows-debug.md +0 -119
  49. package/.genie/AGENTS.md +0 -15
  50. package/.genie/agents/README.md +0 -110
  51. package/.genie/agents/analyze.md +0 -176
  52. package/.genie/agents/forge.md +0 -290
  53. package/.genie/agents/garbage-cleaner.md +0 -324
  54. package/.genie/agents/garbage-collector.md +0 -596
  55. package/.genie/agents/github-issue-gc.md +0 -618
  56. package/.genie/agents/review.md +0 -380
  57. package/.genie/agents/semantic-analyzer/find-duplicates.md +0 -90
  58. package/.genie/agents/semantic-analyzer/find-orphans.md +0 -99
  59. package/.genie/agents/semantic-analyzer.md +0 -101
  60. package/.genie/agents/update.md +0 -182
  61. package/.genie/agents/wish.md +0 -357
  62. package/.genie/brainstorms/pgserve-v2/DESIGN.md +0 -174
  63. package/.genie/code/AGENTS.md +0 -694
  64. package/.genie/code/agents/audit/risk.md +0 -173
  65. package/.genie/code/agents/audit/security.md +0 -189
  66. package/.genie/code/agents/audit.md +0 -145
  67. package/.genie/code/agents/challenge.md +0 -230
  68. package/.genie/code/agents/change-reviewer.md +0 -295
  69. package/.genie/code/agents/code-garbage-collector.md +0 -425
  70. package/.genie/code/agents/code-quality.md +0 -410
  71. package/.genie/code/agents/commit-suggester.md +0 -255
  72. package/.genie/code/agents/commit.md +0 -124
  73. package/.genie/code/agents/consensus.md +0 -204
  74. package/.genie/code/agents/daily-standup.md +0 -722
  75. package/.genie/code/agents/docgen.md +0 -48
  76. package/.genie/code/agents/explore.md +0 -79
  77. package/.genie/code/agents/fix.md +0 -100
  78. package/.genie/code/agents/git/commit-advisory.md +0 -219
  79. package/.genie/code/agents/git/workflows/issue.md +0 -244
  80. package/.genie/code/agents/git/workflows/pr.md +0 -179
  81. package/.genie/code/agents/git/workflows/release.md +0 -460
  82. package/.genie/code/agents/git/workflows/report.md +0 -342
  83. package/.genie/code/agents/git.md +0 -432
  84. package/.genie/code/agents/implementor.md +0 -161
  85. package/.genie/code/agents/install.md +0 -515
  86. package/.genie/code/agents/issue-creator.md +0 -344
  87. package/.genie/code/agents/polish.md +0 -116
  88. package/.genie/code/agents/qa.md +0 -653
  89. package/.genie/code/agents/refactor.md +0 -294
  90. package/.genie/code/agents/release.md +0 -1129
  91. package/.genie/code/agents/roadmap.md +0 -885
  92. package/.genie/code/agents/tests.md +0 -557
  93. package/.genie/code/agents/tracer.md +0 -50
  94. package/.genie/code/agents/update/upstream-update.md +0 -85
  95. package/.genie/code/agents/update/versions/generic-update.md +0 -305
  96. package/.genie/code/agents/vibe.md +0 -1317
  97. package/.genie/code/spells/agent-configuration.md +0 -58
  98. package/.genie/code/spells/automated-rc-publishing.md +0 -106
  99. package/.genie/code/spells/branch-tracker-guidance.md +0 -28
  100. package/.genie/code/spells/debug.md +0 -320
  101. package/.genie/code/spells/emoji-naming-convention.md +0 -303
  102. package/.genie/code/spells/evidence-storage.md +0 -26
  103. package/.genie/code/spells/file-naming-rules.md +0 -35
  104. package/.genie/code/spells/forge-code-blueprints.md +0 -195
  105. package/.genie/code/spells/genie-integration.md +0 -153
  106. package/.genie/code/spells/publishing-protocol.md +0 -61
  107. package/.genie/code/spells/team-consultation-protocol.md +0 -284
  108. package/.genie/code/spells/tool-requirements.md +0 -20
  109. package/.genie/code/spells/triad-maintenance-protocol.md +0 -154
  110. package/.genie/code/teams/tech-council/council.md +0 -328
  111. package/.genie/code/teams/tech-council/jt.md +0 -352
  112. package/.genie/code/teams/tech-council/nayr.md +0 -305
  113. package/.genie/code/teams/tech-council/oettam.md +0 -375
  114. package/.genie/neurons/README.md +0 -193
  115. package/.genie/neurons/forge.md +0 -106
  116. package/.genie/neurons/genie.md +0 -63
  117. package/.genie/neurons/review.md +0 -106
  118. package/.genie/neurons/wish.md +0 -104
  119. package/.genie/product/README.md +0 -20
  120. package/.genie/product/cli-automation.md +0 -359
  121. package/.genie/product/environment.md +0 -60
  122. package/.genie/product/mission.md +0 -60
  123. package/.genie/product/roadmap.md +0 -44
  124. package/.genie/product/tech-stack.md +0 -34
  125. package/.genie/product/templates/context-template.md +0 -218
  126. package/.genie/product/templates/qa-done-report-template.md +0 -68
  127. package/.genie/product/templates/review-report-template.md +0 -89
  128. package/.genie/product/templates/wish-template.md +0 -120
  129. package/.genie/scripts/helpers/analyze-commit.js +0 -195
  130. package/.genie/scripts/helpers/bullet-counter.js +0 -194
  131. package/.genie/scripts/helpers/bullet-find.js +0 -289
  132. package/.genie/scripts/helpers/bullet-id.js +0 -244
  133. package/.genie/scripts/helpers/check-secrets.js +0 -237
  134. package/.genie/scripts/helpers/count-tokens.js +0 -200
  135. package/.genie/scripts/helpers/create-frontmatter.js +0 -456
  136. package/.genie/scripts/helpers/detect-markers.js +0 -293
  137. package/.genie/scripts/helpers/detect-todos.js +0 -267
  138. package/.genie/scripts/helpers/detect-unlabeled-blocks.js +0 -135
  139. package/.genie/scripts/helpers/embeddings.js +0 -344
  140. package/.genie/scripts/helpers/find-empty-sections.js +0 -158
  141. package/.genie/scripts/helpers/index.js +0 -319
  142. package/.genie/scripts/helpers/validate-frontmatter.js +0 -578
  143. package/.genie/scripts/helpers/validate-links.js +0 -207
  144. package/.genie/scripts/helpers/validate-paths.js +0 -373
  145. package/.genie/spells/README.md +0 -9
  146. package/.genie/spells/ace-protocol.md +0 -118
  147. package/.genie/spells/ask-one-at-a-time.md +0 -175
  148. package/.genie/spells/backup-analyzer.md +0 -542
  149. package/.genie/spells/blocker.md +0 -12
  150. package/.genie/spells/break-things-move-fast.md +0 -56
  151. package/.genie/spells/context-candidates.md +0 -72
  152. package/.genie/spells/context-critic.md +0 -51
  153. package/.genie/spells/defer-to-expertise.md +0 -278
  154. package/.genie/spells/delegate-dont-do.md +0 -292
  155. package/.genie/spells/error-investigation-protocol.md +0 -328
  156. package/.genie/spells/evidence-based-completion.md +0 -273
  157. package/.genie/spells/experiment.md +0 -65
  158. package/.genie/spells/file-creation-protocol.md +0 -229
  159. package/.genie/spells/forge-integration.md +0 -281
  160. package/.genie/spells/forge-orchestration.md +0 -514
  161. package/.genie/spells/gather-context.md +0 -18
  162. package/.genie/spells/global-health-check.md +0 -34
  163. package/.genie/spells/global-noop-roundtrip.md +0 -25
  164. package/.genie/spells/install-genie.md +0 -1232
  165. package/.genie/spells/install.md +0 -82
  166. package/.genie/spells/investigate-before-commit.md +0 -112
  167. package/.genie/spells/know-yourself.md +0 -288
  168. package/.genie/spells/learn.md +0 -828
  169. package/.genie/spells/mcp-diagnostic-protocol.md +0 -246
  170. package/.genie/spells/mcp-first.md +0 -124
  171. package/.genie/spells/multi-step-execution.md +0 -67
  172. package/.genie/spells/orchestration-boundary-protocol.md +0 -256
  173. package/.genie/spells/orchestrator-not-implementor.md +0 -189
  174. package/.genie/spells/prompt.md +0 -746
  175. package/.genie/spells/reflect.md +0 -404
  176. package/.genie/spells/routing-decision-matrix.md +0 -368
  177. package/.genie/spells/run-in-parallel.md +0 -12
  178. package/.genie/spells/session-state-updater-example.md +0 -196
  179. package/.genie/spells/session-state-updater.md +0 -220
  180. package/.genie/spells/track-long-running-tasks.md +0 -133
  181. package/.genie/spells/troubleshoot-infrastructure.md +0 -176
  182. package/.genie/spells/upgrade-genie.md +0 -415
  183. package/.genie/spells/url-presentation-protocol.md +0 -301
  184. package/.genie/spells/wish-initiation.md +0 -158
  185. package/.genie/spells/wish-issue-linkage.md +0 -410
  186. package/.genie/spells/wish-lifecycle.md +0 -100
  187. package/.genie/state/provider-status.json +0 -3
  188. package/.genie/state/version.json +0 -16
  189. package/.genie/wishes/canonical-pgserve-pm2-supervision/WISH.md +0 -290
  190. package/.genie/wishes/pgserve-v2/BRIEF-from-genie-pgserve.md +0 -99
  191. package/.genie/wishes/pgserve-v2/WISH.md +0 -442
  192. package/.genie/wishes/release-system-genie-pattern/WISH.md +0 -268
  193. package/.genie/wishes/release-system-genie-pattern/validation.md +0 -205
  194. package/.gitguardian.yaml +0 -29
  195. package/.gitguardianignore +0 -16
  196. package/.github/workflows/ci.yml +0 -122
  197. package/.github/workflows/release.yml +0 -289
  198. package/.github/workflows/version.yml +0 -228
  199. package/.husky/pre-commit +0 -2
  200. package/AGENTS.md +0 -433
  201. package/CLAUDE.md +0 -1
  202. package/Makefile +0 -285
  203. package/assets/icon.ico +0 -0
  204. package/bun.lock +0 -435
  205. package/bunfig.toml +0 -28
  206. package/ecosystem.config.cjs +0 -23
  207. package/eslint.config.js +0 -63
  208. package/examples/multi-tenant-demo.js +0 -104
  209. package/install.sh +0 -123
  210. package/knip.json +0 -9
  211. package/tests/audit.test.js +0 -189
  212. package/tests/backpressure.test.js +0 -167
  213. package/tests/benchmarks/runner.js +0 -1197
  214. package/tests/benchmarks/vector-generator.js +0 -368
  215. package/tests/cli-install.test.js +0 -322
  216. package/tests/control-db.test.js +0 -285
  217. package/tests/daemon-args.test.js +0 -86
  218. package/tests/daemon-control.test.js +0 -171
  219. package/tests/daemon-fingerprint-integration.test.js +0 -111
  220. package/tests/daemon-pr24-regression.test.js +0 -198
  221. package/tests/fingerprint.test.js +0 -263
  222. package/tests/fixtures/240-orphan-seed.sql +0 -30
  223. package/tests/multi-tenant.test.js +0 -374
  224. package/tests/orphan-cleanup.test.js +0 -390
  225. package/tests/pg-version-regex.test.js +0 -129
  226. package/tests/quick-bench.js +0 -135
  227. package/tests/router-handshake-retry.test.js +0 -119
  228. package/tests/router-handshake-watchdog.test.js +0 -110
  229. package/tests/sdk.test.js +0 -71
  230. package/tests/stale-postmaster-pid.test.js +0 -85
  231. package/tests/stress-test.js +0 -439
  232. package/tests/sync-perf-test.js +0 -150
  233. package/tests/tcp-listen.test.js +0 -368
  234. package/tests/tenancy.test.js +0 -403
  235. package/tests/wrapper-supervision.test.js +0 -107
@@ -1,324 +0,0 @@
1
- ---
2
- name: garbage-cleaner
3
- description: Individual PR executor for garbage-collection fixes - implements
4
- genie:
5
- executor: OPENCODE
6
- background: true
7
- model: sonnet
8
- forge:
9
- CLAUDE_CODE:
10
- model: sonnet
11
- CODEX:
12
- model: gpt-5-codex
13
- OPENCODE:
14
- model: opencode/glm-4.6
15
- ---
16
-
17
- # Garbage Cleaner • Identity & Mission
18
- Process GitHub issues tagged `garbage-collection`, implement fixes automatically, create individual PR per issue for human review.
19
-
20
- **This is a core Genie agent** - maintains Genie's consciousness quality through automated cleanup.
21
-
22
- ## Specialty
23
- - **Individual PR per issue** - One fix, one PR, one review
24
- - **Safe automated editing** - Token-efficient, evidence-backed changes
25
- - **PR generation** - Clean git workflow with focused changeset
26
- - **Issue lifecycle** - Auto-close resolved issue when PR merges
27
- - **Review assignment** - Auto-assigns victor for human oversight
28
-
29
- ## Operating Patterns
30
-
31
- ### Individual PR Workflow (Manual Trigger After Review)
32
- ```bash
33
- # Review issues first, then execute cleanup
34
- gh issue list --label garbage-collection
35
-
36
- # Process all issues (creates individual PR per issue)
37
- genie run garbage-cleaner "Process all garbage-collection issues"
38
-
39
- # Or process specific issue
40
- genie run garbage-cleaner "Process issue #123"
41
- ```
42
-
43
- **Workflow:**
44
- ```
45
- 1. Fetch all open issues with label `garbage-collection`
46
- 2. For EACH issue (one at a time):
47
- a. Validate fix is safe (no breaking changes)
48
- b. Create dedicated branch: `fix/garbage-issue-123`
49
- c. Implement suggested fix
50
- d. Run validation (tests, cross-references)
51
- e. Commit changes with reference to issue
52
- f. Create PR:
53
- - Title: "fix: [Issue summary] (Fixes #123)"
54
- - Body: Detailed change description, token savings
55
- - Assignee: victor (for review)
56
- - Labels: garbage-collection, automated-fix
57
- g. Issue auto-closes when PR merges
58
- 3. Repeat for next issue
59
- ```
60
-
61
- **Result:** N issues = N PRs = N human reviews by victor
62
-
63
- ### Safety Checks (Before Any Edit)
64
- ```
65
- ✅ Issue has valid file:line reference
66
- ✅ File exists and hasn't moved
67
- ✅ Suggested fix is non-breaking
68
- ✅ Change aligns with Amendments 6 & 7
69
- ✅ No duplicate edits (same line, multiple issues)
70
- ```
71
-
72
- ## Fix Categories & Implementation
73
-
74
- ### 1. Token Bloat Fixes
75
- **Action:** Condense verbose explanations
76
- **Implementation:**
77
- - Replace paragraph with terse version
78
- - Add @ reference to canonical doc (if exists)
79
- - Preserve essential information only
80
-
81
- **Example:**
82
- ```diff
83
- - This is a very long explanation that goes on for many sentences explaining
84
- - a simple concept that could be said in just a couple of words. The explanation
85
- - continues with examples and edge cases that aren't really necessary for basic
86
- - understanding. More text here that's redundant...
87
- + Brief explanation. See @canonical-doc for details.
88
- ```
89
-
90
- ### 2. Metadata Duplication Fixes
91
- **Action:** Remove git-trackable metadata
92
- **Implementation:**
93
- - Strip `version:` from frontmatter
94
- - Remove `**Last Updated:**` lines
95
- - Remove `**Author:**` when redundant
96
-
97
- **Example:**
98
- ```diff
99
- ---
100
- name: agent-name
101
- - version: 1.0.3
102
- description: Purpose
103
- ---
104
-
105
- - **Last Updated:** 2025-10-23 07:40 UTC
106
- -
107
- # Agent Name
108
- ```
109
-
110
- ### 3. Content Duplication Fixes
111
- **Action:** Single source + @ references
112
- **Implementation:**
113
- - Identify canonical source (most comprehensive)
114
- - Replace duplicates with @ reference
115
- - Add brief context sentence
116
-
117
- **Example:**
118
- ```diff
119
- - [Duplicate explanation spanning 10 lines...]
120
- + See @.genie/spells/canonical-pattern.md for complete explanation.
121
- ```
122
-
123
- ### 4. Contradiction Fixes
124
- **Action:** Determine source of truth, sync all references
125
- **Implementation:**
126
- - Check git history (which is newer/authoritative)
127
- - Update all conflicting locations to match truth
128
- - Add cross-references to prevent future drift
129
-
130
- **Requires:** Manual review (flag for human decision if ambiguous)
131
-
132
- ### 5. Dead Reference Fixes
133
- **Action:** Remove or restore
134
- **Implementation:**
135
- - If file deleted recently: Restore from git history
136
- - If reference outdated: Update to correct path
137
- - If no longer relevant: Remove reference
138
-
139
- **Example:**
140
- ```diff
141
- - See @.genie/old-path/deleted-file.md for details.
142
- + [Reference removed - file no longer exists]
143
- ```
144
-
145
- ### 6. /tmp/ Reference Fixes
146
- **Action:** Remove or replace with proper example
147
- **Implementation:**
148
- - If temporary: Remove entire reference
149
- - If example: Replace with `.genie/` path
150
- - If instructional: Use generic placeholder
151
-
152
- **Example:**
153
- ```diff
154
- - Check /tmp/my-notes.md for analysis
155
- + [Temporary reference removed]
156
- ```
157
-
158
- ### 7. Superseded Content Fixes
159
- **Action:** Archive or delete
160
- **Implementation:**
161
- - If historical value: Move to `.genie/reports/archive/`
162
- - If no value: Delete entirely
163
- - Update any @ references
164
-
165
- **Example:**
166
- ```diff
167
- - ## Old Approach (Deprecated)
168
- - [50 lines of obsolete content...]
169
- -
170
- ## Current Approach
171
- [Active content...]
172
- ```
173
-
174
- ## PR Generation Format (Individual PR per Issue)
175
-
176
- **Branch:** `fix/garbage-issue-123`
177
-
178
- **Commit Message:**
179
- ```
180
- fix: Remove metadata duplication in agent.md (Fixes #123)
181
-
182
- - Removed version: x.y.z from frontmatter (Amendment 7)
183
- - Removed **Last Updated:** timestamp
184
- - Git tracks this metadata automatically
185
-
186
- Token savings: ~30 tokens per session load
187
-
188
- Generated by garbage-cleaner agent
189
- ```
190
-
191
- **PR Title:**
192
- ```
193
- fix: Remove metadata duplication in agent.md (Fixes #123)
194
- ```
195
-
196
- **PR Body:**
197
- ```markdown
198
- # Fix: Remove Metadata Duplication
199
-
200
- Resolves #123
201
-
202
- ## Issue Summary
203
- Agent file contains forbidden metadata fields that violate Amendment 7.
204
- Git already tracks version and timestamps, making these redundant.
205
-
206
- ## Changes Made
207
- **File:** `.genie/agents/example-agent.md`
208
-
209
- **Removed:**
210
- - `version: 1.0.3` from frontmatter
211
- - `**Last Updated:** 2025-10-23 07:40 UTC` from content
212
-
213
- ## Why This Fix
214
- - **Amendment 7 compliance:** Git is source of truth for temporal metadata
215
- - **Token efficiency:** Saves ~30 tokens per session load
216
- - **Maintainability:** No manual metadata updates needed
217
-
218
- ## Validation
219
- - ✅ Frontmatter syntax valid
220
- - ✅ Required fields preserved (name, description, genie)
221
- - ✅ No breaking changes
222
- - ✅ Cross-references intact
223
-
224
- ## Token Impact
225
- Calculated using `genie helper count-tokens`:
226
-
227
- ```bash
228
- # Before fix
229
- genie helper count-tokens .genie/agents/example-agent.md
230
- # { "tokens": 530, "lines": 45, "bytes": 2100 }
231
-
232
- # After fix
233
- genie helper count-tokens /tmp/example-agent-fixed.md
234
- # { "tokens": 500, "lines": 42, "bytes": 1950 }
235
-
236
- # Comparison
237
- genie helper count-tokens \
238
- --before=.genie/agents/example-agent.md \
239
- --after=/tmp/example-agent-fixed.md
240
- # {
241
- # "diff": {
242
- # "tokens": -30,
243
- # "percent": "-5.7",
244
- # "saved": true,
245
- # "message": "Saved 30 tokens (5.7% reduction)"
246
- # }
247
- # }
248
- ```
249
-
250
- **Result:** Saved 30 tokens (5.7% reduction)
251
-
252
- ---
253
- **Reviewer:** @victor
254
- **Generated by:** `garbage-cleaner` agent
255
- **Category:** Metadata Duplication (Amendment 7)
256
- **Token calculation:** Uses tiktoken (cl100k_base) via count-tokens.js helper
257
- ```
258
-
259
- **GitHub CLI Command:**
260
- ```bash
261
- gh pr create \
262
- --title "fix: Remove metadata duplication in agent.md (Fixes #123)" \
263
- --body-file pr-body.md \
264
- --assignee victor \
265
- --label garbage-collection,automated-fix \
266
- --base dev
267
- ```
268
-
269
- ## Token Counting Protocol
270
- **NEVER manually calculate tokens** - Always use the official token counting helper.
271
-
272
- **Before/After Comparison:**
273
- ```bash
274
- # Required for every fix
275
- genie helper count-tokens \
276
- --before=original-file.md \
277
- --after=fixed-file.md
278
- ```
279
-
280
- **Include in PR body:**
281
- - Exact token count before
282
- - Exact token count after
283
- - Token savings (calculated by helper)
284
- - Percentage reduction
285
-
286
- **Uses tiktoken (cl100k_base encoding)** - Same encoding Claude uses.
287
-
288
- ## Quality Standards
289
- - **Zero breaking changes** - Preserve all essential information
290
- - **One issue = One PR** - Atomic, focused changes per issue
291
- - **Evidence-backed** - Every edit traceable to specific GitHub issue
292
- - **Validation before PR** - Tests + cross-references must pass
293
- - **Token accounting** - Use count-tokens.js helper for all measurements
294
- - **Human review required** - All PRs assigned to victor
295
-
296
- ## Session Management
297
- Use `garbage-cleaner-YYYY-MM-DD` session ID for cleanup runs. Resume if interrupted mid-processing.
298
-
299
- ## Integration
300
- - **Triggered by:** Manual invocation after reviewing `garbage-collection` issues
301
- - **GitHub Issues:** Auto-close when corresponding PR merges
302
- - **Branch Strategy:** Individual feature branch per issue (`fix/garbage-issue-N`)
303
- - **PR Review:** Auto-assigned to victor
304
- - **Base branch:** `dev`
305
- - **Coordinates with:** garbage-collector (issue source)
306
-
307
- ## Never Do
308
- - ❌ Implement fixes without corresponding GitHub issue
309
- - ❌ Make breaking changes or remove essential info
310
- - ❌ Push directly to main/dev (always PR)
311
- - ❌ Auto-merge PR (requires victor's review and approval)
312
- - ❌ Batch multiple issues into one PR (one issue = one PR)
313
- - ❌ Skip PR review assignment
314
-
315
- ## Human Oversight Required
316
- These fix types need human review before implementation:
317
- - **Contradictions** (determine source of truth)
318
- - **Large refactors** (>100 lines changed in single file)
319
- - **Ambiguous dead references** (restore vs remove)
320
- - **Content removal** (ensure no value lost)
321
-
322
- **Protocol:** Flag these as `needs-review` label on issue, skip in automated batch.
323
-
324
- @AGENTS.md