jonah-fleet 1.12.0 โ 1.14.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.
- package/CHANGELOG.md +16 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +356 -4
- package/dist/lib/installer.d.ts.map +1 -1
- package/dist/lib/labels.d.ts.map +1 -1
- package/dist/lib/loop-guard.d.ts +80 -0
- package/dist/lib/loop-guard.d.ts.map +1 -0
- package/dist/lib/presets.d.ts +5 -0
- package/dist/lib/presets.d.ts.map +1 -1
- package/dist/lib/runner.d.ts +10 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/package.json +1 -1
- package/schema.json +26 -0
- package/templates/docs/LESSONS.template.md +7 -0
- package/templates/prompts/ORCHESTRATION.md +26 -0
- package/templates/prompts/analytics-review.md +41 -0
- package/templates/prompts/autowork.md +26 -5
- package/templates/prompts/issues-housekeeping.md +11 -1
- package/templates/prompts/optimizer.md +3 -0
- package/templates/prompts/peer-review.md +1 -0
- package/templates/scripts/run-with-loop-guard.js +439 -0
- package/templates/skills/triage/SKILL.md +19 -14
- package/templates/workflows/analytics-review-cron.yml +313 -0
- package/templates/workflows/autowork-cron.yml +59 -4
- package/templates/workflows/dependency-check-cron.yml +64 -1
- package/templates/workflows/design-review-cron.yml +59 -4
- package/templates/workflows/issues-housekeeping-cron.yml +64 -1
- package/templates/workflows/prompt-optimizer-cron.yml +59 -4
- package/templates/workflows/trigger-autowork-manual.yml +59 -4
- package/templates/workflows/trigger-autowork-on-bug.yml +59 -4
- package/templates/workflows/trigger-autowork-on-merge.yml +59 -4
- package/templates/workflows/trigger-review-routine.yml +68 -4
package/dist/lib/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -163,6 +163,32 @@
|
|
|
163
163
|
},
|
|
164
164
|
"additionalProperties": false,
|
|
165
165
|
"description": "Configuration for label management and protection shields"
|
|
166
|
+
},
|
|
167
|
+
"lessons": {
|
|
168
|
+
"oneOf": [
|
|
169
|
+
{
|
|
170
|
+
"type": "boolean",
|
|
171
|
+
"description": "Enable or disable opt-in LESSONS.md operational memory tier"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"type": "object",
|
|
175
|
+
"properties": {
|
|
176
|
+
"enabled": {
|
|
177
|
+
"type": "boolean",
|
|
178
|
+
"default": true,
|
|
179
|
+
"description": "Enable opt-in LESSONS.md operational memory tier"
|
|
180
|
+
},
|
|
181
|
+
"maxEntries": {
|
|
182
|
+
"type": "number",
|
|
183
|
+
"default": 25,
|
|
184
|
+
"description": "Maximum number of active operational lesson entries (hard cap: 25)"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"additionalProperties": false,
|
|
188
|
+
"description": "Configuration for opt-in operational memory tier (LESSONS.md)"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"description": "Configuration for opt-in operational memory tier (LESSONS.md)"
|
|
166
192
|
}
|
|
167
193
|
},
|
|
168
194
|
"required": ["version", "preset", "routines", "skills"],
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Operational Lessons & Repository Heuristics
|
|
2
|
+
<!-- Invariants: Max 25 entries. Hard cap. Older entries graduate or demote to LESSONS_ARCHIVE.md -->
|
|
3
|
+
|
|
4
|
+
### [subsystem] Title
|
|
5
|
+
- **Symptom:** <Symptom description or error message>
|
|
6
|
+
- **Root Cause:** <Brief explanation of the underlying cause>
|
|
7
|
+
- **Rule:** <Actionable rule or constraint to follow>
|
|
@@ -272,3 +272,29 @@ In headless CLI environments (`agy -p` / GitHub Actions), agent sessions termina
|
|
|
272
272
|
1. **Zero-Yield Waiting Invariant**: Agents MUST NEVER call `schedule` or emit a terminal turn with plain text to "wait" for background commands, timers, or long-running checks. In headless mode, yielding the turn halts the process immediately with exit code 0 before reaching the Definition of Done.
|
|
273
273
|
2. **Active Task Supervision**: If a verification command (`npm test`, `npm run type-check`) is sent to the background by `run_command`, the agent must actively poll `manage_task(Action='status')` or inspect code while waiting within the continuous tool-calling loop.
|
|
274
274
|
3. **CI Trust Bar & Test Discipline**: Peer review routines should trust green passing remote CI checks (GitHub Actions or Vercel preview deployments) on the PR's head commit rather than initiating slow, background-prone full test runs. Run repository verification locally ONLY if CI status is unconfirmed, missing, or failing.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Structured Human Escalation Card Protocol ("Why I believe this")
|
|
279
|
+
|
|
280
|
+
How autonomous routines escalate decisions, ambiguities, and blockers to human maintainers without unbounded back-and-forth or vague questions:
|
|
281
|
+
|
|
282
|
+
1. **Mandatory 4-Part Escalation Schema**: Whenever a routine cannot proceed autonomously due to ambiguity, conflicting requirements, unobservable acceptance criteria, or repeated review ping-pongโand applies `needs-human` or `needs-info`โit MUST post a comment structured as the mandatory 4-part escalation card (inspired by Orbital's Workbench Provenance format):
|
|
283
|
+
```markdown
|
|
284
|
+
## ๐ Escalation: Human Decision Required
|
|
285
|
+
- **Decision Needed**: [1 focused question or choice]
|
|
286
|
+
- **Evidence ("Why I believe this")**: [Specific files, lines, test outputs, or conflicting docs]
|
|
287
|
+
- **Evaluated Options & Trade-offs**:
|
|
288
|
+
- *Option A*: [Pros / Cons]
|
|
289
|
+
- *Option B*: [Pros / Cons]
|
|
290
|
+
- **Recommended Path**: [Agent recommendation]
|
|
291
|
+
```
|
|
292
|
+
2. **Card Invariants**:
|
|
293
|
+
- **Decision Needed**: Exactly 1 high-leverage question or choice required from the maintainer or reporter. Prohibit question dumps or vague "please provide more details".
|
|
294
|
+
- **Evidence ("Why I believe this")**: Concrete artifacts, specific file paths, line numbers, test outputs, or contradicting specification documents justifying why the routine cannot proceed without human guidance.
|
|
295
|
+
- **Evaluated Options & Trade-offs**: At least two distinct, viable options with concrete pros and cons. Never ask maintainers to solve problems from scratch without agent-evaluated trade-offs.
|
|
296
|
+
- **Recommended Path**: The agent's recommended decision and reasoning, allowing maintainers to unblock execution with a simple confirmation.
|
|
297
|
+
3. **Cross-Routine Enforcement**:
|
|
298
|
+
- `autowork.md`: Required when tripping the Ambiguity Gate (Step 12), encountering a 2nd-strike permanent blocker (`needs-human`), or hitting the review Ping-Pong Cap (Step 3b).
|
|
299
|
+
- `triage/SKILL.md`: Required when transitioning issues or PRs to `needs-info` or `ready-for-human`.
|
|
300
|
+
- `issues-housekeeping.md`: Required when auditing and escalating ambiguous, stale, or infeasible issues with `needs-human` or `needs-info`.
|
|
@@ -38,6 +38,16 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
38
38
|
1. List all open issues tagged `measurement/*`, `telemetry/*`, or tracking feature adoption experiments.
|
|
39
39
|
2. Read the baseline metric targets, hypothesis, and evaluation criteria defined in each tracker.
|
|
40
40
|
3. Fetch or query relevant telemetry events, conversion funnels, and failure rates from logs or telemetry endpoints.
|
|
41
|
+
4. **Milestone 1 (Intake & Measurement Scan)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
42
|
+
```bash
|
|
43
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### ๐งญ Milestone: Intake & Measurement Scan
|
|
44
|
+
- **Routine**: \`analytics-review\`
|
|
45
|
+
- **Active Trackers**: Evaluated open measurement issues and telemetry datasets
|
|
46
|
+
- **Status**: Telemetry queried, beginning feature adoption & guardrail evaluation
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
50
|
+
```
|
|
41
51
|
|
|
42
52
|
### Step 2: Evaluate adoption and intent metrics
|
|
43
53
|
|
|
@@ -56,6 +66,17 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
56
66
|
2. **Nudge & Banner Fatigue Rule**:
|
|
57
67
|
- Audit persistent promotional banners, cards, and nudges across active screens.
|
|
58
68
|
- Alert (P2) and mandate `RECOMMENDATION: DEPRECATE` or `RECOMMENDATION: PIVOT` if any persistent promotional banner/card exceeds 500 impressions in a 14-day window with an impression-to-action CTR < 2.0%, flagging it for consolidation, throttling, or clean removal to prevent visual crowding.
|
|
69
|
+
3. **Milestone 2 (Evaluation & UI Friction Audit)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
70
|
+
```bash
|
|
71
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### ๐ Milestone: Evaluation & UI Friction Audit
|
|
72
|
+
- **Adoption & Conversion**: Target vs actual computed across active trackers
|
|
73
|
+
- **UI Friction**: Rage clicks analyzed by component & URL
|
|
74
|
+
- **Nudge Fatigue**: Persistent promotional banners/cards audited against 500 impressions / 2% CTR rule
|
|
75
|
+
- **Status**: Formulating post-measurement action directives
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
79
|
+
```
|
|
59
80
|
|
|
60
81
|
### Step 3: Emit mandatory Post-Measurement Action Directive
|
|
61
82
|
|
|
@@ -79,6 +100,16 @@ When a measurement tracker is conclusive or reaches sub-threshold adoption (<2%
|
|
|
79
100
|
- Reference to the staged product planning item (`Staged to #M`)
|
|
80
101
|
- Antigravity run footer
|
|
81
102
|
2. Close the issue as completed.
|
|
103
|
+
3. **Milestone 3 (Directives & Staging Updates)**: If `$ROUTINE_ISSUE_NUMBER` is set, emit milestone card to the routine issue thread:
|
|
104
|
+
```bash
|
|
105
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### ๐ฏ Milestone: Directives & Staging Updates
|
|
106
|
+
- **Directives Staged**: Action directives staged into Product Plan / roadmap
|
|
107
|
+
- **Closed Trackers**: Conclusive measurement issues closed
|
|
108
|
+
- **Standing Guardrails**: Updated health baselines
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
112
|
+
```
|
|
82
113
|
|
|
83
114
|
## Logging
|
|
84
115
|
|
|
@@ -91,3 +122,13 @@ After completing (SUCCESS or FAILURE), record run execution details to `.jonah-f
|
|
|
91
122
|
**Issue Logging Protocol**:
|
|
92
123
|
- Record run execution details to `.jonah-fleet/run-report.md` (or update `$ROUTINE_ISSUE_NUMBER`).
|
|
93
124
|
- Follow the Routine Issue Logging & Telemetry Protocol in `ORCHESTRATION.md`. Never commit run logs to git branches.
|
|
125
|
+
- **Milestone 4 (Run Completed)**: If `$ROUTINE_ISSUE_NUMBER` is set in the environment, append the concluding compact milestone card to close out the comment stream:
|
|
126
|
+
```bash
|
|
127
|
+
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### ๐ Milestone: Run Completed
|
|
128
|
+
- **Verdict**: \`SUCCESS\`
|
|
129
|
+
- **Trackers Evaluated**: \`$EVALUATED_COUNT\`
|
|
130
|
+
- **Directives Staged**: \`$DIRECTIVES_SUMMARY\`
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
_Generated by [Antigravity](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})_" || true
|
|
134
|
+
```
|
|
@@ -45,7 +45,7 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
45
45
|
- Do not start implementing an issue before claiming it (both assignment AND claim comment).
|
|
46
46
|
- Do not mark a PR ready while its `mergeable_state` is `dirty` โ resolve merge conflicts first.
|
|
47
47
|
- Do not fall into the **Telemetry Rabbit Hole**: do not spend cycles instrumenting elaborate fallback telemetry or defensive error handling for features that suffer from lack of user intent rather than software bugs.
|
|
48
|
-
- Do not guess or invent arbitrary specifications for ambiguous issues โ post
|
|
48
|
+
- Do not guess or invent arbitrary specifications for ambiguous issues โ post the 4-part escalation card ('Why I believe this'), label `needs-info`, and release the claim instead of blindly writing code.
|
|
49
49
|
- Do not call `schedule` or yield the turn with plain text while waiting for background verification tasks โ stay in the tool loop until the Definition of Done is met.
|
|
50
50
|
|
|
51
51
|
## Instructions
|
|
@@ -90,8 +90,17 @@ a. **Read the target issue and check eligibility.** Eligible = open, unassigned
|
|
|
90
90
|
- **Build & type-check verification**: run the repository's test, type-check, and lint commands from `AGENTS.md` (e.g. `npm test`, `npm run type-check`, `npm run lint`, `pytest`, `cargo test`). Confirm zero errors and zero test failures.
|
|
91
91
|
- **Active Origin Sync & Clean-Merge Gate**: Run `git fetch origin main && git merge origin/main --no-edit` to absorb any newly merged pull requests and resolve any conflicts locally. Verify `git merge-tree origin/main HEAD` reports no conflicts before marking ready.
|
|
92
92
|
- **Release claim on ready**: mark the PR ready (`gh pr ready <PR>`) and unassign yourself (`gh pr edit <PR> --remove-assignee <login>`) so Peer Review can evaluate without holding stale agent reservation locks.
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
Only mark the PR ready after passing every check above.
|
|
94
|
+
3b. **Ping-pong cap**: If this same PR has bounced between draft and ready 3 or more times over the same substantive finding, stop re-marking it ready. Post the mandatory 4-part escalation card summarizing the disagreement for human resolution and leave the PR in draft:
|
|
95
|
+
```markdown
|
|
96
|
+
## ๐ Escalation: Human Decision Required
|
|
97
|
+
- **Decision Needed**: [1 focused question or choice]
|
|
98
|
+
- **Evidence ("Why I believe this")**: [Specific files, lines, test outputs, or conflicting docs]
|
|
99
|
+
- **Evaluated Options & Trade-offs**:
|
|
100
|
+
- *Option A*: [Pros / Cons]
|
|
101
|
+
- *Option B*: [Pros / Cons]
|
|
102
|
+
- **Recommended Path**: [Agent recommendation]
|
|
103
|
+
```
|
|
95
104
|
3c. **Orphaned Ready PR Recovery**: If an open PR authored by this routine is `ready_for_review`, has passing CI, no unaddressed review comments, and has received no review activity for over 2 hours (e.g. because peer review crashed or encountered quota limits), kickstart the review routine by posting `/review` comment or toggling draft and ready (`gh pr ready <PR> --undo && gh pr ready <PR>`).
|
|
96
105
|
- **Passing CI Verification Gate**: Verify via `gh pr view <PR> --json statusCheckRollup,mergeStateStatus` that all required and existing checks have completed with `conclusion: "SUCCESS"` and `mergeStateStatus` is `CLEAN` (neither `UNSTABLE`, `BLOCKED`, nor `DIRTY`).
|
|
97
106
|
- **Unapproved/Pending Workflow Invariant**: NEVER post `/review` or toggle draft state if checks are in-progress, failing, or awaiting approval (`conclusion: "ACTION_REQUIRED"`). Doing so creates an infinite comment storm while workflows remain paused awaiting human permissions.
|
|
@@ -130,13 +139,23 @@ a. **Read the target issue and check eligibility.** Eligible = open, unassigned
|
|
|
130
139
|
- Read the issue description, linked code, and comment thread.
|
|
131
140
|
- If bug: use `/diagnosing-bugs` to establish reproduction test before fixing.
|
|
132
141
|
- If large/complex: use `/domain-modeling` and `/codebase-design`.
|
|
142
|
+
- **Pre-Flight Memory Scan**: If `LESSONS.md` exists, grep matching subsystem tags (`grep -E "^### \[(subsystem)\]" LESSONS.md -A 4`) to incorporate known landmines into implementation plans before writing code.
|
|
133
143
|
- **Ambiguity & Missing Acceptance Criteria Gate**: Challenge underspecified or incomplete requests before writing any code. If the issue lacks observable acceptance criteria, relies on unverified assumptions, or leaves critical technical/UX decisions ambiguous:
|
|
134
144
|
- Do NOT guess or invent arbitrary requirements to force completion.
|
|
135
|
-
- Post
|
|
145
|
+
- Post the mandatory 4-part escalation card on the issue:
|
|
146
|
+
```markdown
|
|
147
|
+
## ๐ Escalation: Human Decision Required
|
|
148
|
+
- **Decision Needed**: [1 focused question or choice]
|
|
149
|
+
- **Evidence ("Why I believe this")**: [Specific files, lines, test outputs, or conflicting docs]
|
|
150
|
+
- **Evaluated Options & Trade-offs**:
|
|
151
|
+
- *Option A*: [Pros / Cons]
|
|
152
|
+
- *Option B*: [Pros / Cons]
|
|
153
|
+
- **Recommended Path**: [Agent recommendation]
|
|
154
|
+
```
|
|
136
155
|
- Apply the `needs-info` label and release the claim (unassign).
|
|
137
156
|
- Select the next candidate (evaluating ambiguous issues counts toward step 12's infeasible-continuation cap).
|
|
138
157
|
- **Intent vs. Defect Guardrail**: When investigating issues related to low conversion, zero-click events, or underperforming features: verify whether the issue is a software defect or a lack of user intent. If data indicates the root cause is **lack of user intent** (e.g. button is rendered above fold and functions correctly when clicked, but user interaction rate is <2%) rather than a software defect, do NOT fall into the **telemetry rabbit hole** (adding elaborate fallback telemetry, downstream error handling, or defensive rendering). Categorize the issue as a **product/UX question** (`needs-design` / `roadmap/*`), comment explaining the lack of user intent, release the claim (unassign), and select the next candidate.
|
|
139
|
-
- If infeasible: comment explaining blocker, release claim (unassign), and select next candidate (up to 3 infeasible evaluations per run). If permanent blocker on 2nd strike, apply `needs-human` label and tag repo owner.
|
|
158
|
+
- If infeasible: comment explaining blocker, release claim (unassign), and select next candidate (up to 3 infeasible evaluations per run). If permanent blocker on 2nd strike, post the mandatory 4-part escalation card (`## ๐ Escalation: Human Decision Required`), apply `needs-human` label, and tag repo owner.
|
|
140
159
|
12a. **Umbrella-issue handoff + batching:** If candidate is an umbrella epic:
|
|
141
160
|
- Read `๐งญ Decomposition plan` comment (or create if first run).
|
|
142
161
|
- Pick next slice(s), batching up to 3 same-recipe slices into one child issue + PR.
|
|
@@ -153,7 +172,9 @@ a. **Read the target issue and check eligibility.** Eligible = open, unassigned
|
|
|
153
172
|
13. **Implementation & PR creation:**
|
|
154
173
|
- Branch from freshly fetched `origin/main` with descriptive name (e.g. `feat/...` or `fix/...`).
|
|
155
174
|
- Drive implementation via `/tdd` (red-green-refactor).
|
|
175
|
+
- **Diagnostic Reflex**: On unexpected test/build failure during TDD, grep symptom text in `LESSONS.md` before making speculative code edits.
|
|
156
176
|
- Run repository tests and verification.
|
|
177
|
+
- **Pre-PR Lessons Capture Gate**: If solving the issue required overcoming a non-obvious quirk not caught by tests/linters, append a 3-line structured entry on the active PR branch adhering to the 25-entry hard cap. Never write to `LESSONS.md` directly on `main`.
|
|
157
178
|
- **Milestone 2 (Verification & Tests)**: Once implementation passes tests and type checks, emit milestone card if `$ROUTINE_ISSUE_NUMBER` is set:
|
|
158
179
|
```bash
|
|
159
180
|
gh issue comment "$ROUTINE_ISSUE_NUMBER" --body "### ๐งช Milestone: Verification & Tests
|
|
@@ -39,7 +39,17 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
39
39
|
3. **Priority review**: Check open P1/P2/P3 issues. Promote critical bugs or unblocked items; demote items that lack immediate priority.
|
|
40
40
|
4. **Duplicate & consolidation check**: Identify duplicate issues; close duplicates with cross-references. Consolidate small, related micro-tasks into batch issues.
|
|
41
41
|
5. **Premise-obsolete & stale check**: If an issue's premise was resolved by already-merged PRs or recent refactors, close as completed with evidence.
|
|
42
|
-
6. **Label audit & safe prune**: Ensure open issues carry standard role labels (`needs-triage`, `ready-for-agent`, `needs-human`, etc.). Use `/triage` if classifying incoming issues.
|
|
42
|
+
6. **Label audit & safe prune**: Ensure open issues carry standard role labels (`needs-triage`, `ready-for-agent`, `needs-human`, etc.). Use `/triage` if classifying incoming issues. Whenever applying `needs-human` or `needs-info` to escalate an ambiguous, stale, or infeasible issue, mandate formatting the escalation comment with the 4-part card:
|
|
43
|
+
```markdown
|
|
44
|
+
## ๐ Escalation: Human Decision Required
|
|
45
|
+
- **Decision Needed**: [1 focused question or choice]
|
|
46
|
+
- **Evidence ("Why I believe this")**: [Specific files, lines, test outputs, or conflicting docs]
|
|
47
|
+
- **Evaluated Options & Trade-offs**:
|
|
48
|
+
- *Option A*: [Pros / Cons]
|
|
49
|
+
- *Option B*: [Pros / Cons]
|
|
50
|
+
- **Recommended Path**: [Agent recommendation]
|
|
51
|
+
```
|
|
52
|
+
Run `npx --yes jonah-fleet labels prune --yes` (or `jonah-fleet labels prune --yes`) to safely prune strictly unused boilerplate labels (`issues: 0`, `pullRequests: 0`, non-protected taxonomy) without deleting historical or fleet taxonomy labels.
|
|
43
53
|
7. **Closed-loop verification check**: For projects running impact or verification loops, audit recently closed roadmap/feature issues against tracking issues to ensure shipped levers do not remain untracked.
|
|
44
54
|
|
|
45
55
|
### Phase 3: Summary
|
|
@@ -71,6 +71,8 @@ If any criterion cannot be met, stop immediately and log FAILURE with the reason
|
|
|
71
71
|
- **Passive Order-Taking Anomaly ("Yes-Man Blindspot")**: The Ambiguity Gate trigger rate across intake runs in `autowork` or `triage` is <5% despite elevated PR review bounces ($\ge 2$) or high iteration usage ($\ge 35$), indicating agents are silently guessing requirements and building flawed implementations rather than interrogating underspecified issues.
|
|
72
72
|
- **Speculative Runaway Waste**: An agent run consumed >50k tokens on an underspecified issue with 0 clarifying questions asked, and subsequently failed, bounced, or required post-merge rework.
|
|
73
73
|
6. **Analyze resolved bugs & review comments**: Examine closed bug issues, merged bug-fix PRs, and review feedback for missing checks in authoring (`autowork.md`) or review (`peer-review.md`).
|
|
74
|
+
7. **Scan & Audit Operational Lessons (`LESSONS.md`)**:
|
|
75
|
+
- Scan `LESSONS.md` during routine optimization sweeps, graduating stable rules to automated linter/CI checks or archiving stale entries to `LESSONS_ARCHIVE.md`.
|
|
74
76
|
|
|
75
77
|
### 2. Formulate preventative improvements
|
|
76
78
|
|
|
@@ -81,6 +83,7 @@ Translate findings into concrete preventative improvements and remediation trigg
|
|
|
81
83
|
- **Ping-Pong Convergence**: For Review Loop Burn, tighten reviewer trust & noise filtering, enforce clean-merge gates, and apply ping-pong caps to prevent endless bounce cycles.
|
|
82
84
|
- **Loop Discovery Mechanical Audits**: For Feedback Loop Stagnation, tighten discovery sweeps by mandating deterministic per-issue matching tables and itemized reconciliation against upstream closed issues/PRs rather than allowing un-itemized generic summary assertions.
|
|
83
85
|
- **Ambiguity Gate & Benchmark Eval Feeding**: For Passive Order-Taking and Speculative Runaway Waste, tighten Step 12 criteria in `autowork.md` and `triage.md` to mandate clarifying questions, and automatically extract the problem issue into a `BenchmarkIssue` test case to feed the automated ambiguity benchmark eval suite (`tests/evals.test.ts`), ensuring future agent prompts are continuously tested against real failure cases.
|
|
86
|
+
- **Operational Memory Graduation & Archiving**: Scan `LESSONS.md` to identify recurring, stable rules for graduation into automated linter rules or CI workflow checks. Move obsolete or overflow entries (>25 cap) to `LESSONS_ARCHIVE.md`.
|
|
84
87
|
- **Verification & Invariant Tests**: Add automated test cases in `tests/` verifying prompt invariant preservation and schema conformity.
|
|
85
88
|
|
|
86
89
|
### 3. Open Fix PR (Local or Upstream Bridge)
|
|
@@ -105,6 +105,7 @@ Check if `$PR_NUMBER` is set:
|
|
|
105
105
|
1. Run `/code-review` over the diff (or delta commits if re-review) evaluating:
|
|
106
106
|
- **Standards**: Conformance to `AGENTS.md` (or `CLAUDE.md`/`GEMINI.md`), conventions, and architecture.
|
|
107
107
|
- **Spec Compliance**: Verification against the linked issue's deliverables (`## Tasks`), or against the PR description's summary/changes if no tracking issue is linked.
|
|
108
|
+
- **Operational Memory & Lessons Invariant**: Inspect `LESSONS.md` diffs in PRs to verify the lesson is accurate, non-trivial, follows the 3-line structured schema, and the file adheres to the 25-entry hard cap.
|
|
108
109
|
2. Run Security Pass: auth gates, permission checks, injection risks, sensitive credentials.
|
|
109
110
|
3. **Design System & Viewport Density Pass** (if PR modifies frontend/rendered UI):
|
|
110
111
|
- **Token Purity**: Check for arbitrary CSS/Tailwind sizing overrides (e.g. `text-[...px]`, `w-[...px]`) or bespoke button styling bypassing standard design system tokens.
|