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.
- package/CHANGELOG.md +96 -0
- package/README.md +105 -1
- package/bin/autopg-wrapper.cjs +16 -0
- package/bin/pgserve-wrapper.cjs +32 -6
- package/bin/postgres-server.js +56 -0
- package/console/README.md +131 -0
- package/console/api.js +173 -0
- package/console/app.jsx +483 -0
- package/console/colors_and_type.css +227 -0
- package/console/components.jsx +167 -0
- package/console/console.css +1666 -0
- package/console/data.jsx +350 -0
- package/console/index.html +31 -0
- package/console/screens/databases.jsx +5 -0
- package/console/screens/health.jsx +5 -0
- package/console/screens/ingress.jsx +5 -0
- package/console/screens/optimizer.jsx +5 -0
- package/console/screens/rlm-sim.jsx +5 -0
- package/console/screens/rlm-trace.jsx +5 -0
- package/console/screens/security.jsx +5 -0
- package/console/screens/settings.jsx +611 -0
- package/console/screens/sql.jsx +5 -0
- package/console/screens/sync.jsx +5 -0
- package/console/screens/tables.jsx +5 -0
- package/console/tweaks-panel.jsx +425 -0
- package/package.json +14 -2
- package/scripts/postinstall.cjs +60 -0
- package/src/cli-config.cjs +310 -0
- package/src/cli-install.cjs +112 -11
- package/src/cli-restart.cjs +228 -0
- package/src/cli-ui.cjs +580 -0
- package/src/cluster.js +43 -38
- package/src/postgres.js +141 -19
- package/src/settings-loader.cjs +235 -0
- package/src/settings-migrate.cjs +212 -0
- package/src/settings-pg-args.cjs +146 -0
- package/src/settings-schema.cjs +422 -0
- package/src/settings-validator.cjs +416 -0
- package/src/settings-writer.cjs +288 -0
- package/src/upgrade/index.js +65 -0
- package/src/upgrade/runner.js +23 -0
- package/src/upgrade/steps/binary-cache-flush.js +67 -0
- package/src/upgrade/steps/consumer-signal.js +40 -0
- package/src/upgrade/steps/env-refresh.js +89 -0
- package/src/upgrade/steps/health-validate.js +53 -0
- package/src/upgrade/steps/plpgsql-resolve.js +66 -0
- package/src/upgrade/steps/port-reconcile.js +52 -0
- package/.claude/context/windows-debug.md +0 -119
- package/.genie/AGENTS.md +0 -15
- package/.genie/agents/README.md +0 -110
- package/.genie/agents/analyze.md +0 -176
- package/.genie/agents/forge.md +0 -290
- package/.genie/agents/garbage-cleaner.md +0 -324
- package/.genie/agents/garbage-collector.md +0 -596
- package/.genie/agents/github-issue-gc.md +0 -618
- package/.genie/agents/review.md +0 -380
- package/.genie/agents/semantic-analyzer/find-duplicates.md +0 -90
- package/.genie/agents/semantic-analyzer/find-orphans.md +0 -99
- package/.genie/agents/semantic-analyzer.md +0 -101
- package/.genie/agents/update.md +0 -182
- package/.genie/agents/wish.md +0 -357
- package/.genie/brainstorms/pgserve-v2/DESIGN.md +0 -174
- package/.genie/code/AGENTS.md +0 -694
- package/.genie/code/agents/audit/risk.md +0 -173
- package/.genie/code/agents/audit/security.md +0 -189
- package/.genie/code/agents/audit.md +0 -145
- package/.genie/code/agents/challenge.md +0 -230
- package/.genie/code/agents/change-reviewer.md +0 -295
- package/.genie/code/agents/code-garbage-collector.md +0 -425
- package/.genie/code/agents/code-quality.md +0 -410
- package/.genie/code/agents/commit-suggester.md +0 -255
- package/.genie/code/agents/commit.md +0 -124
- package/.genie/code/agents/consensus.md +0 -204
- package/.genie/code/agents/daily-standup.md +0 -722
- package/.genie/code/agents/docgen.md +0 -48
- package/.genie/code/agents/explore.md +0 -79
- package/.genie/code/agents/fix.md +0 -100
- package/.genie/code/agents/git/commit-advisory.md +0 -219
- package/.genie/code/agents/git/workflows/issue.md +0 -244
- package/.genie/code/agents/git/workflows/pr.md +0 -179
- package/.genie/code/agents/git/workflows/release.md +0 -460
- package/.genie/code/agents/git/workflows/report.md +0 -342
- package/.genie/code/agents/git.md +0 -432
- package/.genie/code/agents/implementor.md +0 -161
- package/.genie/code/agents/install.md +0 -515
- package/.genie/code/agents/issue-creator.md +0 -344
- package/.genie/code/agents/polish.md +0 -116
- package/.genie/code/agents/qa.md +0 -653
- package/.genie/code/agents/refactor.md +0 -294
- package/.genie/code/agents/release.md +0 -1129
- package/.genie/code/agents/roadmap.md +0 -885
- package/.genie/code/agents/tests.md +0 -557
- package/.genie/code/agents/tracer.md +0 -50
- package/.genie/code/agents/update/upstream-update.md +0 -85
- package/.genie/code/agents/update/versions/generic-update.md +0 -305
- package/.genie/code/agents/vibe.md +0 -1317
- package/.genie/code/spells/agent-configuration.md +0 -58
- package/.genie/code/spells/automated-rc-publishing.md +0 -106
- package/.genie/code/spells/branch-tracker-guidance.md +0 -28
- package/.genie/code/spells/debug.md +0 -320
- package/.genie/code/spells/emoji-naming-convention.md +0 -303
- package/.genie/code/spells/evidence-storage.md +0 -26
- package/.genie/code/spells/file-naming-rules.md +0 -35
- package/.genie/code/spells/forge-code-blueprints.md +0 -195
- package/.genie/code/spells/genie-integration.md +0 -153
- package/.genie/code/spells/publishing-protocol.md +0 -61
- package/.genie/code/spells/team-consultation-protocol.md +0 -284
- package/.genie/code/spells/tool-requirements.md +0 -20
- package/.genie/code/spells/triad-maintenance-protocol.md +0 -154
- package/.genie/code/teams/tech-council/council.md +0 -328
- package/.genie/code/teams/tech-council/jt.md +0 -352
- package/.genie/code/teams/tech-council/nayr.md +0 -305
- package/.genie/code/teams/tech-council/oettam.md +0 -375
- package/.genie/neurons/README.md +0 -193
- package/.genie/neurons/forge.md +0 -106
- package/.genie/neurons/genie.md +0 -63
- package/.genie/neurons/review.md +0 -106
- package/.genie/neurons/wish.md +0 -104
- package/.genie/product/README.md +0 -20
- package/.genie/product/cli-automation.md +0 -359
- package/.genie/product/environment.md +0 -60
- package/.genie/product/mission.md +0 -60
- package/.genie/product/roadmap.md +0 -44
- package/.genie/product/tech-stack.md +0 -34
- package/.genie/product/templates/context-template.md +0 -218
- package/.genie/product/templates/qa-done-report-template.md +0 -68
- package/.genie/product/templates/review-report-template.md +0 -89
- package/.genie/product/templates/wish-template.md +0 -120
- package/.genie/scripts/helpers/analyze-commit.js +0 -195
- package/.genie/scripts/helpers/bullet-counter.js +0 -194
- package/.genie/scripts/helpers/bullet-find.js +0 -289
- package/.genie/scripts/helpers/bullet-id.js +0 -244
- package/.genie/scripts/helpers/check-secrets.js +0 -237
- package/.genie/scripts/helpers/count-tokens.js +0 -200
- package/.genie/scripts/helpers/create-frontmatter.js +0 -456
- package/.genie/scripts/helpers/detect-markers.js +0 -293
- package/.genie/scripts/helpers/detect-todos.js +0 -267
- package/.genie/scripts/helpers/detect-unlabeled-blocks.js +0 -135
- package/.genie/scripts/helpers/embeddings.js +0 -344
- package/.genie/scripts/helpers/find-empty-sections.js +0 -158
- package/.genie/scripts/helpers/index.js +0 -319
- package/.genie/scripts/helpers/validate-frontmatter.js +0 -578
- package/.genie/scripts/helpers/validate-links.js +0 -207
- package/.genie/scripts/helpers/validate-paths.js +0 -373
- package/.genie/spells/README.md +0 -9
- package/.genie/spells/ace-protocol.md +0 -118
- package/.genie/spells/ask-one-at-a-time.md +0 -175
- package/.genie/spells/backup-analyzer.md +0 -542
- package/.genie/spells/blocker.md +0 -12
- package/.genie/spells/break-things-move-fast.md +0 -56
- package/.genie/spells/context-candidates.md +0 -72
- package/.genie/spells/context-critic.md +0 -51
- package/.genie/spells/defer-to-expertise.md +0 -278
- package/.genie/spells/delegate-dont-do.md +0 -292
- package/.genie/spells/error-investigation-protocol.md +0 -328
- package/.genie/spells/evidence-based-completion.md +0 -273
- package/.genie/spells/experiment.md +0 -65
- package/.genie/spells/file-creation-protocol.md +0 -229
- package/.genie/spells/forge-integration.md +0 -281
- package/.genie/spells/forge-orchestration.md +0 -514
- package/.genie/spells/gather-context.md +0 -18
- package/.genie/spells/global-health-check.md +0 -34
- package/.genie/spells/global-noop-roundtrip.md +0 -25
- package/.genie/spells/install-genie.md +0 -1232
- package/.genie/spells/install.md +0 -82
- package/.genie/spells/investigate-before-commit.md +0 -112
- package/.genie/spells/know-yourself.md +0 -288
- package/.genie/spells/learn.md +0 -828
- package/.genie/spells/mcp-diagnostic-protocol.md +0 -246
- package/.genie/spells/mcp-first.md +0 -124
- package/.genie/spells/multi-step-execution.md +0 -67
- package/.genie/spells/orchestration-boundary-protocol.md +0 -256
- package/.genie/spells/orchestrator-not-implementor.md +0 -189
- package/.genie/spells/prompt.md +0 -746
- package/.genie/spells/reflect.md +0 -404
- package/.genie/spells/routing-decision-matrix.md +0 -368
- package/.genie/spells/run-in-parallel.md +0 -12
- package/.genie/spells/session-state-updater-example.md +0 -196
- package/.genie/spells/session-state-updater.md +0 -220
- package/.genie/spells/track-long-running-tasks.md +0 -133
- package/.genie/spells/troubleshoot-infrastructure.md +0 -176
- package/.genie/spells/upgrade-genie.md +0 -415
- package/.genie/spells/url-presentation-protocol.md +0 -301
- package/.genie/spells/wish-initiation.md +0 -158
- package/.genie/spells/wish-issue-linkage.md +0 -410
- package/.genie/spells/wish-lifecycle.md +0 -100
- package/.genie/state/provider-status.json +0 -3
- package/.genie/state/version.json +0 -16
- package/.genie/wishes/canonical-pgserve-pm2-supervision/WISH.md +0 -290
- package/.genie/wishes/pgserve-v2/BRIEF-from-genie-pgserve.md +0 -99
- package/.genie/wishes/pgserve-v2/WISH.md +0 -442
- package/.genie/wishes/release-system-genie-pattern/WISH.md +0 -268
- package/.genie/wishes/release-system-genie-pattern/validation.md +0 -205
- package/.gitguardian.yaml +0 -29
- package/.gitguardianignore +0 -16
- package/.github/workflows/ci.yml +0 -122
- package/.github/workflows/release.yml +0 -289
- package/.github/workflows/version.yml +0 -228
- package/.husky/pre-commit +0 -2
- package/AGENTS.md +0 -433
- package/CLAUDE.md +0 -1
- package/Makefile +0 -285
- package/assets/icon.ico +0 -0
- package/bun.lock +0 -435
- package/bunfig.toml +0 -28
- package/ecosystem.config.cjs +0 -23
- package/eslint.config.js +0 -63
- package/examples/multi-tenant-demo.js +0 -104
- package/install.sh +0 -123
- package/knip.json +0 -9
- package/tests/audit.test.js +0 -189
- package/tests/backpressure.test.js +0 -167
- package/tests/benchmarks/runner.js +0 -1197
- package/tests/benchmarks/vector-generator.js +0 -368
- package/tests/cli-install.test.js +0 -322
- package/tests/control-db.test.js +0 -285
- package/tests/daemon-args.test.js +0 -86
- package/tests/daemon-control.test.js +0 -171
- package/tests/daemon-fingerprint-integration.test.js +0 -111
- package/tests/daemon-pr24-regression.test.js +0 -198
- package/tests/fingerprint.test.js +0 -263
- package/tests/fixtures/240-orphan-seed.sql +0 -30
- package/tests/multi-tenant.test.js +0 -374
- package/tests/orphan-cleanup.test.js +0 -390
- package/tests/pg-version-regex.test.js +0 -129
- package/tests/quick-bench.js +0 -135
- package/tests/router-handshake-retry.test.js +0 -119
- package/tests/router-handshake-watchdog.test.js +0 -110
- package/tests/sdk.test.js +0 -71
- package/tests/stale-postmaster-pid.test.js +0 -85
- package/tests/stress-test.js +0 -439
- package/tests/sync-perf-test.js +0 -150
- package/tests/tcp-listen.test.js +0 -368
- package/tests/tenancy.test.js +0 -403
- 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
|