neo-agent-skills 0.1.74 → 0.1.76
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/.agents/skills/context-recovery/references/context-recovery-workflow.md +6 -4
- package/.agents/skills/pr-review/assets/pr-review-template.md +2 -2
- package/.agents/skills/pr-review/audits/cycle-1-premise-preflight.md +3 -34
- package/.agents/skills/pr-review/references/pr-review-guide.md +17 -35
- package/.agents/skills/ticket-create/references/ticket-create-workflow.md +1 -1
- package/agents-md/sections/0600-verify-before-assert.md +2 -2
- package/agents-md/sections/1000-friction-to-gold.md +2 -2
- package/agents-md/sections/1100-contributions-over-commits.md +2 -6
- package/agents-md/sections/1600-edge-case-triggers.md +1 -0
- package/package.json +1 -1
|
@@ -64,9 +64,11 @@ message already redirects it.
|
|
|
64
64
|
review, branch, or CI state, verify the current live state before acting.
|
|
65
65
|
Summaries are recovery hints; GitHub and current source remain the work gate.
|
|
66
66
|
|
|
67
|
-
5a. **Direction check:** if the
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
5a. **Direction check:** if the recovered lane's target repository (including a
|
|
68
|
+
sibling checkout such as `../neo-stage` when the session is rooted in
|
|
69
|
+
`neomjs/neo`) carries a `VISION.md`, `ROADMAP.md`, or repo-local
|
|
70
|
+
`AGENTS.md`, read them before asserting lane state; a lane that contradicts
|
|
71
|
+
them is not resumed, it is re-planned against the roadmap.
|
|
70
72
|
|
|
71
73
|
Use `detail: 'full'` only when summaries are insufficient to identify the next
|
|
72
74
|
action. Summary detail is the cheap graph-first path; full detail joins Chroma
|
|
@@ -115,7 +117,7 @@ context-recovery:
|
|
|
115
117
|
- recency: <last ticket/PR/branch/action>
|
|
116
118
|
- semantic: <memory ids or clear miss>
|
|
117
119
|
- live-state: <issue/PR/branch verification>
|
|
118
|
-
- direction: <VISION.md read | none in
|
|
120
|
+
- direction: <VISION.md + ROADMAP.md + AGENTS.md read | none in target repository>
|
|
119
121
|
- confidence: recovered | degraded
|
|
120
122
|
lane-state: next-lane (<specific resumed lane or fresh claimable lane>)
|
|
121
123
|
```
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
**Status:** [Approved / Approve+Follow-Up / Request Changes / Drop+Supersede / Comment]
|
|
4
4
|
|
|
5
|
-
*Cycle-1 reviewers: run §
|
|
5
|
+
*Cycle-1 reviewers: run the §0 premise catalog BEFORE any defect audit. A firing row ends the review at one premise Required Action — **Drop+Supersede** by default — never an iteration list.*
|
|
6
6
|
|
|
7
7
|
### 🪜 Strategic-Fit Decision
|
|
8
8
|
|
|
9
9
|
Per §9 Strategic-Fit Step-Back:
|
|
10
10
|
- **Decision**: [Approve / Approve+Follow-Up / Request Changes / Drop+Supersede]
|
|
11
|
-
- **Rationale**: [
|
|
11
|
+
- **Rationale**: [The §0 catalog row that fired, or "no row fires"; then why this decision shape vs the others. Remember: Approve+Follow-Up is the worst normal outcome; debt-creating quick wins are Request Changes or Drop+Supersede, not follow-up-ticket fuel.]
|
|
12
12
|
|
|
13
13
|
**Required only when Decision is Drop+Supersede:**
|
|
14
14
|
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
# Cycle-1 Premise Pre-Flight Audit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Why This Exists
|
|
6
|
-
|
|
7
|
-
The four Strategic-Fit outcomes in `pr-review-guide.md` §9 were originally anchored on after-N-cycles failures such as PR #10610 -> #10611 and the PR #10607 eight-cycle pattern. Those anchors catch sunk-cost iteration after review churn has already happened.
|
|
8
|
-
|
|
9
|
-
PR #11083 exposed the missing Cycle-1 case: the wrong premise was visible before any iteration. The Cycle-1 review used Request Changes with five iterative Required Actions, even though the substrate-correct shape was a single Drop+Supersede close recommendation. RA1 ("upstream Discussion needs author-graduation") was structurally not-iterable on the PR; that self-contradiction is the diagnostic.
|
|
3
|
+
Run this catalog at the end of `pr-review-guide.md` §0, before the defect audit (§3–§8). A firing row ends the audit: the review carries one premise Required Action — Drop+Supersede by default (§9) — never a multi-item iteration list.
|
|
10
4
|
|
|
11
5
|
## Trigger Catalog
|
|
12
6
|
|
|
13
|
-
If any trigger below fires, default to Drop+Supersede framing: one close/restart Required Action, not a multi-item iteration list.
|
|
14
|
-
|
|
15
7
|
| Trigger | Diagnostic question |
|
|
16
8
|
|---|---|
|
|
17
9
|
| Premise-invalid | Is the PR's stated premise false, such as claiming to resolve a ticket or implement a feature whose substrate has a different shape? |
|
|
@@ -31,29 +23,6 @@ Age and exemption state are risk signals, not verdicts. For source-ticket stale/
|
|
|
31
23
|
|
|
32
24
|
If currency is unverified or contradicted, request source-ticket refresh or Drop+Supersede/restart instead of iterating implementation details. This is the reviewer-side companion to #10758; do not duplicate #10758's intake-side age-band procedure here.
|
|
33
25
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Velocity-Preservation Bias: preferring iterative paths that salvage work-already-done over decisive restart paths, even when restart is substrate-correct.
|
|
37
|
-
|
|
38
|
-
Amplifiers:
|
|
39
|
-
|
|
40
|
-
- Auto Mode "prefer action over planning" reads as "iterate now."
|
|
41
|
-
- `peer-role` pressure reads as "find things to fix."
|
|
42
|
-
- Green CI makes merge feel proximate.
|
|
43
|
-
- Partial correctness makes salvage feel efficient.
|
|
44
|
-
|
|
45
|
-
The cost is normalizing process violations as iteratable rather than abandonable.
|
|
46
|
-
|
|
47
|
-
## Empirical Anchor
|
|
48
|
-
|
|
49
|
-
PR #11083, closed unmerged on 2026-05-10, is the anchor. Review comment `IC_kwDODSospM8AAAABBxjTZw` documented five iterative Required Actions, while RA1 pointed at upstream Discussion graduation. That mismatch between RA shape and Request Changes framing is what this audit prevents.
|
|
50
|
-
|
|
51
|
-
Graduated-decision reversal is anchored on PR #16188. Nominally a config-default change, its 28-file surface amended an ADR to elect "No host-edge Orchestrator runs after the cut" — reversing a two-role authority model ratified the same day and merged at 13:08Z. It was approved at 21:15Z and merged at 21:16Z: one minute, by a review that validated diff internals and CI and never ran the premise against the authority the diff was reversing. A reviewer with a green checklist is exactly who this row is for.
|
|
52
|
-
|
|
53
|
-
## Disposition
|
|
54
|
-
|
|
55
|
-
- `pr-review-guide.md` §9.0: `compress-to-trigger`
|
|
56
|
-
- This file: `move`
|
|
57
|
-
- Tag: `DISCIPLINE-ONLY`
|
|
26
|
+
**Bias defended against:** salvaging work already done — green CI, partial correctness, review momentum — over a restart that is substrate-correct.
|
|
58
27
|
|
|
59
|
-
|
|
28
|
+
Provenance: PR #11083 (a Cycle-1 Request Changes listed five iterative actions while its RA1 needed an upstream graduation the PR could not supply) and PR #16188 (an ADR reversal approved and merged within a minute on a green checklist). Disposition: `move`, loaded from guide §0 · `DISCIPLINE-ONLY`.
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Pull Request Review Guide
|
|
2
2
|
|
|
3
|
-
This document outlines the authoritative protocol for structuring Pull Request Reviews within the Neo.mjs project.
|
|
4
|
-
Whether you are a human reviewer or an autonomous Agent evaluating code, you must adhere to this structure.
|
|
5
|
-
|
|
6
3
|
> **Measurement Trigger:** For review-density or skill-baggage work, use [Loaded-Surface Measurement Methodology](./measurement-methodology.md) and record `wc -c`; ordinary PR reviews do not load it.
|
|
7
4
|
|
|
8
5
|
## §0 — Patch-blind premise snapshot (BEFORE the diff)
|
|
@@ -14,12 +11,14 @@ Build — and write down — your premise of the change **before** reading the p
|
|
|
14
11
|
3. **Patch-verdict** — does the diff **match / improve / contradict** the expected shape? Name the specific evidence that changed (or confirmed) your mind. "Matches" with no evidence is not a verdict.
|
|
15
12
|
4. **Premise-coherence** — the value-coherence verdict, or a scoped "N/A — no value-surface".
|
|
16
13
|
|
|
14
|
+
**Then run the premise catalog** ([`../audits/cycle-1-premise-preflight.md`](../audits/cycle-1-premise-preflight.md)), before any defect audit. A firing row ends the review at one premise Required Action (§9.0); otherwise §3–§8 follow.
|
|
15
|
+
|
|
17
16
|
**Night-shift provisional marker:** when the approval is single-family / human-asleep (no cross-family reviewer awake), label it `single-family — calibration-deferred-to-merge-gate`; §12 reads the marker at the merge-gate.
|
|
18
17
|
|
|
19
18
|
## 1. Core Philosophy
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
19
|
+
- **Internal peers:** enforce the "Fat Ticket" protocol and strict JSDoc completeness.
|
|
20
|
+
- **External/first-time contributors:** same rigor, warmer register — discharge it in the template's opening slot: full form `Peer-Review Opening`, micro form `Opening` (`#97`).
|
|
21
|
+
- **Self-review (same session):** first person — rationale, trade-offs, known gaps. It is a **fallback** for intent capture and never substitutes for cross-family review (`pull-request §6.1`).
|
|
23
22
|
|
|
24
23
|
## 2. Agent Operational Mandates: The Reflection Phase
|
|
25
24
|
If you write a GitHub PR review, step out of Driver mode and follow this reviewer checklist:
|
|
@@ -30,9 +29,8 @@ If you write a GitHub PR review, step out of Driver mode and follow this reviewe
|
|
|
30
29
|
3. **Self-review detection:** extract `Resolves #N`; query current-session Memory Core for `#N`. If you authored it this session, use first-person clinical self-review; otherwise standard peer-review.
|
|
31
30
|
4. **Tech Debt Radar:** trigger `tech-debt-radar` for fundamental architecture shifts or `refactor(ai)` PRs.
|
|
32
31
|
5. **Scope discipline:** polish minor misses inside the PR. A wrong shape the patch introduces or deepens is this PR's Required Action. Verified inherited debt beyond a safe repair gets a real issue in this review, whatever the verdict: link the existing one or file it, with evidence and an owner. It never blocks the safe fix, and out of scope routes the debt rather than waiving it. An unverified suspicion stays tagged `hypothesis — needs V-B-A before implementation` and mints no ticket.
|
|
33
|
-
6. **
|
|
34
|
-
7. **
|
|
35
|
-
8. **Structure map:** before verdict, run `npm run ai:structure-map -- --files --loc` for PRs touching `ai/`, Agent OS, MCP, Memory Core, orchestration, `.agents/skills`, or placement; otherwise record N/A. Brain-hosted, so absent elsewhere — never add `--silent`, which hides npm's `Missing script` and leaves an empty exit-1 that reads as a pass.
|
|
32
|
+
6. **Execution:** `manage_pr_review` is the sole fail-closed pre-submit budget gate. Direct `gh pr review` / UI is bypass-with-telemetry: run the meter and add `[review-budget-bypass] reason: ...`; post-submit lint cannot undo it.
|
|
33
|
+
7. **Structure map:** before verdict, run `npm run ai:structure-map -- --files --loc` for PRs touching `ai/`, Agent OS, MCP, Memory Core, orchestration, `.agents/skills`, or placement; otherwise record N/A. Brain-hosted, so absent elsewhere — never add `--silent`, which hides npm's `Missing script` and leaves an empty exit-1 that reads as a pass.
|
|
36
34
|
|
|
37
35
|
## 3. Structural Evaluation Metrics
|
|
38
36
|
Every PR review MUST score the work across the following categories on a scale of `0` to `100`:
|
|
@@ -59,8 +57,6 @@ Every score needs a concrete, non-tautological reason.
|
|
|
59
57
|
- **Evaluative metrics** (`[ARCH_ALIGNMENT]`, `[CONTENT_COMPLETENESS]`, `[EXECUTION_QUALITY]`, `[PRODUCTIVITY]`, `[IMPACT]`): sub-100 scores name the deduction; 100 names what failure modes were actively checked and cleared.
|
|
60
58
|
- **Descriptive metrics** (`[COMPLEXITY]`, `[EFFORT_PROFILE]`): explain why the score/profile characterizes the work; do not frame it as praise or deduction.
|
|
61
59
|
|
|
62
|
-
Bad: "`[CONTENT_COMPLETENESS]`: 80 — documentation is thorough." Good: "`80 — 20 deducted because the template omitted §7.1/§8 coverage.`" Bad: "`[COMPLEXITY]`: 85 — deftly handles staging." Good: "`85 — five ordered stages create high reader load.`"
|
|
63
|
-
|
|
64
60
|
### 3.3 Metrics Are Scored Once
|
|
65
61
|
|
|
66
62
|
Round 1 scores every metric explicitly in the full template. **Round 2 does not restate them** — its disposition table carries no metrics section, because re-scoring a delta invites a reviewer to justify a new number, and a number that wants justifying wants a new finding to justify it.
|
|
@@ -83,10 +79,7 @@ Before review prose/tags, read the [reference-hygiene guide](https://github.com/
|
|
|
83
79
|
## 5. Required Actions & Cross-Linking
|
|
84
80
|
* **Related Graph Nodes:** Every PR review MUST list related graph nodes (e.g., `Target Epic ID`, `Issue ID`) to ensure the Native Edge Graph links the evaluation to the overarching goal.
|
|
85
81
|
* **Required Actions:** Clearly list a bulleted checklist of mandatory changes required before the PR can be accepted.
|
|
86
|
-
* **Zero-Issue PR Semantics:** If a PR has no required actions, replace the checkbox list with a single explicit sentence: *"No required actions — eligible for human merge."* (Note: this means eligibility, not an authorization for the reviewing agent to execute it).
|
|
87
|
-
|
|
88
|
-
### 5.1 Suggesting Empirical Isolation Tests
|
|
89
|
-
When you suspect a pattern (an unneeded retry loop, an over-complex state sync), ask for an **Empirical Isolation Test** instead of debating it: the author strips or disables the pattern and runs a binary test that proves or disproves its necessity.
|
|
82
|
+
* **Zero-Issue PR Semantics:** If a PR has no required actions, replace the checkbox list with a single explicit sentence: *"No required actions — eligible for human merge."* (Note: this means eligibility, not an authorization for the reviewing agent to execute it). Never pre-tick placeholder items.
|
|
90
83
|
|
|
91
84
|
### 5.2 Close-Target Audit
|
|
92
85
|
|
|
@@ -109,7 +102,7 @@ Out of scope: valid leaf targets, non-closing `Related:` / `Refs:` / `Part of`.
|
|
|
109
102
|
|
|
110
103
|
### 5.3 MCP-Tool-Description Budget Audit
|
|
111
104
|
|
|
112
|
-
When a PR touches `ai/mcp/server/*/openapi.yaml`, you MUST audit each modified or added tool description for budget compliance.
|
|
105
|
+
When a PR touches `ai/mcp/server/*/openapi.yaml`, you MUST audit each modified or added tool description for budget compliance.
|
|
113
106
|
|
|
114
107
|
**Audit Protocol:** See [`audits/mcp-tool-description-budget.md`](./audits/mcp-tool-description-budget.md) for the trigger conditions, verbosity budgets, and required action templates.
|
|
115
108
|
|
|
@@ -121,10 +114,8 @@ For PRs that introduce or modify public/consumed surfaces (e.g., configs, MCP to
|
|
|
121
114
|
|
|
122
115
|
**Audit Protocol:**
|
|
123
116
|
1. **Locate the Ledger:** Fetch the originating ticket (the close-target). Look for the "Contract Ledger" markdown table in the ticket body. If it is a sub-issue relying on a parent epic's ledger, fetch the parent epic to locate it.
|
|
124
|
-
2. **Missing Ledger:** If the PR modifies public surfaces but both the originating ticket and its parent epic lack a Contract Ledger,
|
|
125
|
-
|
|
126
|
-
3. **Drift Detection:** Compare the PR diff against the ticket's Contract Ledger. If the implemented contract drifts from the ledger (e.g., added fields, changed types, missing deprecation steps), or if a ledger row fails the Surface-Anchor V-B-A in the [Contract Ledger protocol](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/contract-ledger.md), flag as a **Required Action**:
|
|
127
|
-
> *"Contract drift detected: the implementation differs from the Contract Ledger defined in the ticket. Required: update the ticket's Contract Ledger to reflect the exact shipped reality."*
|
|
117
|
+
2. **Missing Ledger:** If the PR modifies public surfaces but both the originating ticket and its parent epic lack a Contract Ledger, the Required Action is to backfill it on the ticket.
|
|
118
|
+
3. **Drift Detection:** Compare the PR diff against the ticket's Contract Ledger. If the implemented contract drifts from the ledger (e.g., added fields, changed types, missing deprecation steps), or if a ledger row fails the Surface-Anchor V-B-A in the [Contract Ledger protocol](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/contract-ledger.md), the Required Action is to update the ledger to the shipped reality.
|
|
128
119
|
|
|
129
120
|
The PR cannot be approved if the implemented contract and the ticket's Contract Ledger are out of sync.
|
|
130
121
|
|
|
@@ -207,7 +198,7 @@ Structural compliance ≠ rigor. This floor is for **concept-bearing** changes;
|
|
|
207
198
|
|
|
208
199
|
### 7.1 Minimum-One-Challenge for Peer Reviews
|
|
209
200
|
|
|
210
|
-
Name at least one: a **weakness** (even non-blocking), an **unverified assumption**, an uncovered **edge case**, or a **follow-up concern**. If none exists, document the search — *"I actively looked for [thing 1], [thing 2], [thing 3] and found no concerns."* The documentation is the reviewer proving they looked; a peer-review with neither fails the Depth Floor regardless of structural compliance.
|
|
201
|
+
Name at least one: a **weakness** (even non-blocking), an **unverified assumption**, an uncovered **edge case**, or a **follow-up concern**. If none exists, document the search — *"I actively looked for [thing 1], [thing 2], [thing 3] and found no concerns."* The documentation is the reviewer proving they looked; a peer-review with neither fails the Depth Floor regardless of structural compliance. Settle architectural disputes with an isolation test — the author strips the pattern and reruns — not debate. Self-reviews meet the floor through §1's known gaps; Discussion reviews inherit it (`ideation-sandbox-workflow.md §4`).
|
|
211
202
|
|
|
212
203
|
### 7.2 Cross-Model Asymmetry Context
|
|
213
204
|
|
|
@@ -219,13 +210,7 @@ Triggers only for structural shifts, novel algorithms, or core subsystems (stand
|
|
|
219
210
|
|
|
220
211
|
### 7.4 Rhetorical-Drift Audit
|
|
221
212
|
|
|
222
|
-
Rhetorical drift is stated framing diverging from substrate truth
|
|
223
|
-
|
|
224
|
-
#### Required Action template
|
|
225
|
-
|
|
226
|
-
> *"Rhetorical drift detected: the [PR description / anchor summary / `[RETROSPECTIVE]` tag / linked-anchor citation] claims [specific framing], but the code [specific mechanical reality]. Tighten the framing to match the implementation, or scope the implementation to match the framing."*
|
|
227
|
-
|
|
228
|
-
Author options: tighten prose, expand implementation, or defend why the metaphor accurately bridges the implementation.
|
|
213
|
+
Rhetorical drift is stated framing diverging from substrate truth — in PR descriptions, Anchor & Echo summaries, docstrings, `[RETROSPECTIVE]` tags, linked-anchor claims, and new rules/thresholds/workflow claims. Verify the prose against the diff and cited authority; metaphor passes only when it preserves mechanical truth. The Required Action: tighten the framing to the implementation, or scope the implementation to the framing.
|
|
229
214
|
|
|
230
215
|
### 7.5 Test-Evidence & Location Audit
|
|
231
216
|
|
|
@@ -268,8 +253,6 @@ Formal reviews assume green current-head CI and active `review-admission/mergeab
|
|
|
268
253
|
|
|
269
254
|
<!-- trigger: a review smells wrong and you want the named failure -> read ../audits/review-anti-patterns.md -->
|
|
270
255
|
|
|
271
|
-
The catalogue moved to the Atlas; every row still points back at the § in this Map that owns the rule.
|
|
272
|
-
|
|
273
256
|
## 7.8 Audit Spec: Loading-Runtime-Effect Substitution
|
|
274
257
|
<!-- trigger: PR modifies turn-memory-pre-flight IN-SCOPE substrate -> read ../audits/loading-runtime-effect.md -->
|
|
275
258
|
|
|
@@ -300,7 +283,7 @@ If any check surfaces a miss, flag it in Required Actions. A PR that ships a new
|
|
|
300
283
|
|
|
301
284
|
## 9. Strategic-Fit Step-Back
|
|
302
285
|
|
|
303
|
-
After §3
|
|
286
|
+
After §3–§8 — or straight from §0 when a catalog row fires — choose exactly one row:
|
|
304
287
|
|
|
305
288
|
| Verdict | Contract |
|
|
306
289
|
|---|---|
|
|
@@ -309,7 +292,7 @@ After §3-§8, choose exactly one row:
|
|
|
309
292
|
| **Approve+Follow-Up** | Scope transfer only; worst normal outcome. Requires a merge-safe head, no unresolved correctness, explicit close-target AC ownership, and an independently valuable day-after-merge counterfactual. |
|
|
310
293
|
| **Drop+Supersede** | Dead/stale premise at any round, or no merge-safe slice once the family's round is spent; terminal `CHANGES_REQUESTED`, not repair. |
|
|
311
294
|
|
|
312
|
-
The
|
|
295
|
+
The RC2 `COMMENTED` closure packet is retired; the managed path refuses it.
|
|
313
296
|
|
|
314
297
|
**D+S completeness:** source-coordinate falsifiers; salvage map; disposition-shaped successor landing pad; successor citation to the map. `Disposition`: `implementation-off` (refile implementation) | `ticket-prescription-off` (amend ticket) | `ticket-premise-dead` (close ticket). One validated terminal D+S may exceed the ordinary budget.
|
|
315
298
|
|
|
@@ -317,7 +300,7 @@ This is architectural judgment after defects are identified; it is not another d
|
|
|
317
300
|
|
|
318
301
|
### 9.0 Cycle-1 Premise Pre-Flight (Decisiveness-Before-Iteration)
|
|
319
302
|
|
|
320
|
-
|
|
303
|
+
§0's premise catalog ([`../audits/cycle-1-premise-preflight.md`](../audits/cycle-1-premise-preflight.md)) runs this pre-flight before the defect audit: a firing row defaults to **Drop+Supersede** — one close/restart RA, never an iterative fix list. ADR conflict → run `ticket-intake/references/adr-successor-risk-audit.md`.
|
|
321
304
|
|
|
322
305
|
**The premise's handle**, when the close-target ticket calls an existing behavior wrong, is its `Design authority:` line (`ticket-create` §0). No line leaves the premise unverified; a line the diff contradicts is a false premise. Either → ONE RA (cite the record, or file the fork on it), never an approval on matching tests and green CI; file:line citations and receipts are not authority.
|
|
323
306
|
|
|
@@ -332,9 +315,8 @@ justified, else a hold token ([`merge-hold-tokens.md`](./merge-hold-tokens.md)).
|
|
|
332
315
|
|
|
333
316
|
## 10. A2A Comment-ID Hand-off (warm-cache review cycles)
|
|
334
317
|
|
|
335
|
-
For multi-cycle reviews, after posting a review comment **capture its `commentId` and A2A it to the next actor** (peer or author) with a one-line substance summary — so they fetch just that comment instead of re-reading the whole thread
|
|
318
|
+
For multi-cycle reviews, after posting a review comment **capture its `commentId` and A2A it to the next actor** (peer or author) with a one-line substance summary — so they fetch just that comment (scoped per the `get_conversation` tool description) instead of re-reading the whole thread.
|
|
336
319
|
|
|
337
|
-
- **Discipline, not mechanics:** *how* to scope a single-comment fetch is the `get_conversation` tool description's job (it documents the selectors) — don't restate its parameters here.
|
|
338
320
|
- **The dominant miss is forgetting the ping.** Pre-Flight after every `manage_issue_comment` create, before yielding: *"captured commentId `<ID>`; will A2A it to `<recipient>`."*
|
|
339
321
|
- **Cold cache** (fresh session / cycle-1 / cross-agent hand-off): full-thread fetch + memory query instead — a scoped fetch lands one isolated comment without the prior context it depends on.
|
|
340
322
|
|
|
@@ -6,7 +6,7 @@ Tickets are **A2A (Agent-to-Agent) memory bridges**, not just human tracking art
|
|
|
6
6
|
|
|
7
7
|
## §0 — Understand the intent before you write the ticket
|
|
8
8
|
|
|
9
|
-
Before the duplicate sweep or the Fat-Ticket body: is this the right work — does it fit the current architecture and
|
|
9
|
+
Before the duplicate sweep or the Fat-Ticket body: is this the right work — does it fit the current architecture and current delivery outcome (the active rows of this repository's roadmap; for Brain and Skills, the line table in `neomjs/neo`'s `ROADMAP.md`)? Understand what it's *for* (from the affected files and their neighbors / imports — intent belongs in their JSDoc, `src/core/Base.mjs` is the bar — plus `memory-mining` / `ask_knowledge_base`) before you structure it. A perfectly-formed ticket for the wrong work is still the wrong work. If the intent it relies on is documented nowhere, that gap is itself worth a ticket.
|
|
10
10
|
|
|
11
11
|
A ticket that calls an existing behavior wrong carries its `Design authority:` line before The Fix exists — the rule: [`design-authority.md`](design-authority.md).
|
|
12
12
|
|
|
@@ -6,8 +6,8 @@ repos: neo, neo-agent-brain, neo-agent-skills, neo-agent-institution, devindex
|
|
|
6
6
|
audiences: maintainer
|
|
7
7
|
---
|
|
8
8
|
## §verify_before_assert
|
|
9
|
-
Before asserting any factual claim, architectural premise, or framing in any public artifact (PR review, ticket body, Discussion, comment, commit, public memory entry), run the empirical tool that would falsify it. Tools are always available, always read-only, always cheap. **Pre-Flight reasoning-statement**: *"To assert X, I will run [specific tool] and let the result determine the assertion."* V-B-A is the
|
|
9
|
+
Before asserting any factual claim, architectural premise, or framing in any public artifact (PR review, ticket body, Discussion, comment, commit, public memory entry), run the empirical tool that would falsify it. Tools are always available, always read-only, always cheap. **Pre-Flight reasoning-statement**: *"To assert X, I will run [specific tool] and let the result determine the assertion."* V-B-A is the epistemic prerequisite for §friction_to_gold. Atlas + tool inventory: §anti_hallucination_policy.
|
|
10
10
|
|
|
11
|
-
**Prior-art sweep
|
|
11
|
+
**Prior-art sweep (pre-implementation / pre-PR-review V-B-A):** Before the first design sentence OR review verdict, run a 3–10-call `query_raw_memories` / `query_summaries` sweep of the decision space — the tool RESULT is the V-B-A; reasoning-from-priors is not diligence. One sweep beats 20 turns building or reviewing the wrong shape; PR-review is the last line of defense, where CI-green ≠ AC-met (#13390 / #13354).
|
|
12
12
|
|
|
13
13
|
**Step 2.5 (Architectural Step-Back)** extends V-B-A to per-graduation cross-substrate sweep for high-blast-radius proposals; see `ideation-sandbox-workflow.md` §5.2 + `peer-role-mode.md` §8 convergence-rate tripwire. Auto-fires before `[RESOLVED_TO_AC]` / `[GRADUATED_TO_TICKET]`.
|
|
@@ -6,6 +6,6 @@ repos: neo, neo-agent-brain, neo-agent-skills, neo-agent-institution, devindex
|
|
|
6
6
|
audiences: maintainer
|
|
7
7
|
---
|
|
8
8
|
## §friction_to_gold
|
|
9
|
-
Friction → gold is the **core value** governing
|
|
9
|
+
Friction → gold is the **core value** governing substrate evolution via the MX loop (Discussion #10137), converting §verify_before_assert-validated friction into substrate improvement. **With V-B-A, these 2 core values form the evolution flywheel**: V-B-A filters real friction from hallucinated; friction → gold converts validated friction to substrate.
|
|
10
10
|
|
|
11
|
-
**Tier hierarchy — core values > values > rules**:
|
|
11
|
+
**Tier hierarchy — core values > values > rules**: **Core values** (§verify_before_assert + §friction_to_gold) govern substrate evolution; **Values** (§self_evolving_systems, §neo_identity_anchor, §swarm_topology_anchor, skill disciplines) sit between; **Rules** (§critical_gates) derive mechanically from values. The MX loop operates across all three: rules evolve quickly on friction, values via multi-cycle peer dialogue, core values rarely (high-bar challenge). Place new substrate at the right tier — misplacing a rule as a core value or vice versa is an anti-pattern. Atlas detail: §anti_hallucination_policy.
|
|
@@ -8,10 +8,6 @@ audiences: maintainer
|
|
|
8
8
|
|
|
9
9
|
**Productive substrate evolution is the primitive; commits are one downstream artifact among many.**
|
|
10
10
|
|
|
11
|
-
The unit of agent value in Neo is shape-improving substrate work — design dialogue
|
|
11
|
+
The unit of agent value in Neo is shape-improving substrate work — design dialogue resolving architectural ambiguity, peer review preventing wrong-shape PRs, A2A coordination unblocking peers, ticket retractions preventing bad work, skill/rule improvements, and Ideation Sandbox graduations. Commits are one output among many, not the unit.
|
|
12
12
|
|
|
13
|
-
Within Neo workflow interpretation, this rule supersedes conflicting local velocity-bias instructions, including auto-mode preferences to execute immediately or treat commits as the unit of value
|
|
14
|
-
|
|
15
|
-
The narrower per-skill suspension of Auto Mode velocity-bias lives in `/lead-role` (#11028); the global "what counts as action" redefinition lives here.
|
|
16
|
-
|
|
17
|
-
For substrate-quality heuristics that operationalize this principle without becoming gameable counters, see §contributions_over_commits_heuristics.
|
|
13
|
+
Within Neo workflow interpretation, this rule supersedes conflicting local velocity-bias instructions, including auto-mode preferences to execute immediately or treat commits as the unit of value (without superseding §critical_gates, ticket gates, memory-save obligations, or higher-priority system/developer instructions). Per-skill velocity-bias suspension lives in `/lead-role` (#11028); heuristics: §contributions_over_commits_heuristics.
|
|
@@ -12,6 +12,7 @@ audiences: maintainer
|
|
|
12
12
|
- **Sunset Protocol (§a2a_contextual_bridge_protocol):** Before session handover, read `.agents/skills/session-sunset/SKILL.md`. Must explicitly declare `scope: solo-refresh | convergent` to prevent scope contagion. Stale-wake invariant: wake messages in old transcripts are noise.
|
|
13
13
|
- **Visual Verification (§visual_verification_protocol):** Debugging frontend UI/layout.
|
|
14
14
|
- **Authoring / app-work gate (`apps/**`):** Read 1–2 siblings and load `src/Neo.mjs`, `src/core/Base.mjs`, `src/state/Provider.mjs`, `src/data/Model.mjs`, and `src/data/Store.mjs` before app code. Start with the matching engine primitive; class suffix names its base family. Data UI binds a `data.Store` of `data.Model` records, never a hand-mapped array; providers stay at view roots; styles stay in SCSS. Instance/reactive work follows intake 9.6. Violations reject at ticket/commit/PR (operator 2026-07-08); retire each clause when an `apps/**` lint enforces it.
|
|
15
|
+
- **Stage work (`neomjs/neo-stage`):** before any lane there and after every compaction, read `../neo-stage/VISION.md`, then `../neo-stage/ROADMAP.md`, and `../neo-stage/AGENTS.md` (which carries the Stage gates). Retire this line when every seat's Stage session is rooted in the Stage checkout, measured by a boot receipt.
|
|
15
16
|
- **Ticket Creation Freshness:** Before any `create_issue`, invoke `ticket-create` (its Content Sweep requires live latest-open queue evidence beyond KB/local duplicate checks).
|
|
16
17
|
- **File Reading Efficiently:** Reading modified files; efficiency patterns.
|
|
17
18
|
- **Verify-Before-Assert:** stated in full in §verify_before_assert (this file); tool inventory + anchors in §anti_hallucination_policy.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neo-agent-skills",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.76",
|
|
4
4
|
"description": "Install the workflow substrate a cross-model AI team actually runs on: ticket intake, PR review gates, lane coordination and guards, versioned as a package. The skills Neo.mjs maintainers load every session — materialized into your repo, not copied.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|