neo-agent-skills 0.1.0 → 0.1.3

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 (36) hide show
  1. package/.agents/skills/create-skill/SKILL.md +1 -1
  2. package/.agents/skills/create-skill/references/skill-authoring-guide.md +2 -2
  3. package/.agents/skills/document-references.v1.json +285 -0
  4. package/.agents/skills/epic-resolution/references/epic-resolution-workflow.md +2 -2
  5. package/.agents/skills/epic-review/references/epic-review-workflow.md +4 -4
  6. package/.agents/skills/ideation-sandbox/audits/tier-2-revalidation.md +1 -1
  7. package/.agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md +1 -1
  8. package/.agents/skills/industry-friction-radar/references/industry-friction-radar-workflow.md +2 -2
  9. package/.agents/skills/neo-identity-update/SKILL.md +1 -1
  10. package/.agents/skills/neo-identity-update/references/affected-areas-map.md +8 -8
  11. package/.agents/skills/neo-identity-update/references/facts-ledger.md +5 -5
  12. package/.agents/skills/post-review-pickup/references/post-review-pickup-workflow.md +2 -2
  13. package/.agents/skills/pr-review/assets/pr-review-template.md +1 -1
  14. package/.agents/skills/pr-review/references/measurement-methodology.md +2 -2
  15. package/.agents/skills/pr-review/references/pr-review-guide.md +4 -4
  16. package/.agents/skills/pull-request/SKILL.md +1 -1
  17. package/.agents/skills/pull-request/references/pull-request-workflow.md +9 -4
  18. package/.agents/skills/self-repair/references/self-repair-protocol.md +0 -1
  19. package/.agents/skills/session-sunset/references/session-sunset-workflow.md +1 -1
  20. package/.agents/skills/skills.manifest.json +1 -6
  21. package/.agents/skills/structural-pre-flight/references/structural-pre-flight-workflow.md +16 -16
  22. package/.agents/skills/tech-debt-radar/references/tech-debt-radar-guide.md +2 -2
  23. package/.agents/skills/ticket-create/references/decision-substrate-sweeps.md +70 -0
  24. package/.agents/skills/ticket-create/references/ticket-create-workflow.md +9 -5
  25. package/.agents/skills/ticket-intake/references/ticket-intake-workflow.md +2 -2
  26. package/.agents/skills/turn-memory-pre-flight/references/turn-memory-pre-flight-workflow.md +3 -3
  27. package/.agents/skills/unit-test/references/unit-test.md +2 -2
  28. package/.agents/skills/whitebox-e2e/references/whitebox-e2e-protocol.md +2 -2
  29. package/README.md +46 -0
  30. package/package.json +14 -4
  31. package/scripts/check-pr-body.mjs +255 -0
  32. package/scripts/check-substrate-size.mjs +316 -0
  33. package/scripts/check-ticket-archaeology.mjs +270 -0
  34. package/scripts/materialize-harness-skills.mjs +38 -0
  35. package/.agents/skills/debugging-antigravity/SKILL.md +0 -6
  36. package/.agents/skills/debugging-antigravity/references/debugging-guide.md +0 -73
@@ -5,4 +5,4 @@ description: "Authoritative guide on how to architect, format, and structure new
5
5
  # Skill Creation Framework
6
6
  If you are tasked with creating a new Agent Skill, you MUST immediately use the `view_file` tool to read and strictly adhere to `.agents/skills/create-skill/references/skill-authoring-guide.md` before creating any files. This prevents system prompt bloat and ensures future agents can parse your skill correctly.
7
7
 
8
- **Source of Authority:** [ADR 0008: SKILL.md Anatomy and Authoring Contract](../../../learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md) — the graph-queryable canonical decision substrate for skill-shape (frontmatter contract, Map/Atlas split, manifest contract, anti-patterns). This skill's `references/skill-authoring-guide.md` is the procedural HOW-TO companion.
8
+ **Source of Authority:** [ADR 0008: SKILL.md Anatomy and Authoring Contract](https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md) — the graph-queryable canonical decision substrate for skill-shape (frontmatter contract, Map/Atlas split, manifest contract, anti-patterns). This skill's `references/skill-authoring-guide.md` is the procedural HOW-TO companion.
@@ -68,7 +68,7 @@ The canonical worked example is `AGENTS.md` `Compaction Taxonomy` — every row
68
68
 
69
69
  ### Byte Budget for SKILL.md Routers
70
70
 
71
- Empirical floor for the `SKILL.md` router itself: **7-12 lines** (range across all 18 current skills, anchored in `learn/agentos/measurements/cognitive-load-baseline-2026-05.md` §7 *SKILL.md Router Byte-Budget Baseline*; routers exceeding 12 lines historically benefit from extracting content into payload).
71
+ Empirical floor for the `SKILL.md` router itself: **7-12 lines** (range across all 18 current skills, anchored in the Brain-owned [cognitive-load baseline](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/measurements/cognitive-load-baseline-2026-05.md) §7 *SKILL.md Router Byte-Budget Baseline*; routers exceeding 12 lines historically benefit from extracting content into payload).
72
72
 
73
73
  This is a *discriminator*, not a hard cap. A 14-line router can be justified if the additional lines are load-bearing trigger-language; an 8-line router lacking load-bearing trigger-language can be over-engineered. Use the 7-12 line floor as the *prompt* for "should this content live here, or in payload?"
74
74
 
@@ -185,7 +185,7 @@ Before pushing your new skill, check:
185
185
 
186
186
  Any PR that **creates OR modifies** `.agents/skills/**` substrate is an **agent-consumed governance-surface** change. Beyond the skill-shape checks above, the `pr-review` Contract-Completeness + load-effect audits require **two PR-open gates** — author both **up-front** (each is documentation-only: no diff, head, or CI impact):
187
187
 
188
- 1. **Contract Ledger on the SOURCE TICKET** — not just the PR body. Post the T3 matrix (`learn/agentos/process/contract-ledger.md`) as a comment on the ticket / epic; the Contract-Completeness audit checks the *originating ticket*, so a PR-body-only ledger does not satisfy it.
188
+ 1. **Contract Ledger on the SOURCE TICKET** — not just the PR body. Post the T3 matrix defined by the Brain-owned [contract-ledger protocol](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/contract-ledger.md) as a comment on the ticket / epic; the Contract-Completeness audit checks the *originating ticket*, so a PR-body-only ledger does not satisfy it.
189
189
  2. **`/turn-memory-pre-flight` load-effect audit in the PR body** — document the load-runtime-effect placement: which file is the always-loaded **Map** (SKILL.md router / hot workflow §) vs the conditional **World-Atlas** payload, and that the net always-loaded delta is minimal or negative (rule bodies belong in the conditional audit, never the always-loaded Map).
190
190
 
191
191
  Doing both up-front avoids the predictable single-cycle `CHANGES_REQUESTED` this gate otherwise fires.
@@ -0,0 +1,285 @@
1
+ {
2
+ "schemaVersion": "document-references.v1",
3
+ "selector": "learn/[A-Za-z0-9_./-]+\\.md",
4
+ "rows": [
5
+ {
6
+ "token": "learn/agentos/AGENTS_ATLAS.md",
7
+ "canonicalOwner": "neomjs/neo",
8
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/agentos/AGENTS_ATLAS.md",
9
+ "referencingSkills": [
10
+ "neo-identity-update",
11
+ "pull-request",
12
+ "turn-memory-pre-flight"
13
+ ],
14
+ "kinds": [
15
+ "target-write",
16
+ "prose"
17
+ ]
18
+ },
19
+ {
20
+ "token": "learn/agentos/decisions/0001-cross-process-cache-coherence.md",
21
+ "canonicalOwner": "neomjs/neo-agent-brain",
22
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/decisions/0001-cross-process-cache-coherence.md",
23
+ "referencingSkills": [
24
+ "structural-pre-flight"
25
+ ],
26
+ "kinds": [
27
+ "load"
28
+ ]
29
+ },
30
+ {
31
+ "token": "learn/agentos/decisions/0002-phase3-wake-substrate-standards-alignment.md",
32
+ "canonicalOwner": "neomjs/neo-agent-brain",
33
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/decisions/0002-phase3-wake-substrate-standards-alignment.md",
34
+ "referencingSkills": [
35
+ "structural-pre-flight"
36
+ ],
37
+ "kinds": [
38
+ "load"
39
+ ]
40
+ },
41
+ {
42
+ "token": "learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md",
43
+ "canonicalOwner": "neomjs/neo",
44
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0008-skill-anatomy-and-authoring-contract.md",
45
+ "referencingSkills": [
46
+ "create-skill"
47
+ ],
48
+ "kinds": [
49
+ "load"
50
+ ]
51
+ },
52
+ {
53
+ "token": "learn/agentos/decisions/0018-neo-identity-source-of-truth-model.md",
54
+ "canonicalOwner": "neomjs/neo",
55
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0018-neo-identity-source-of-truth-model.md",
56
+ "referencingSkills": [
57
+ "neo-identity-update"
58
+ ],
59
+ "kinds": [
60
+ "load"
61
+ ]
62
+ },
63
+ {
64
+ "token": "learn/agentos/DreamPipeline.md",
65
+ "canonicalOwner": "neomjs/neo-agent-brain",
66
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/DreamPipeline.md",
67
+ "referencingSkills": [
68
+ "industry-friction-radar",
69
+ "neo-identity-update"
70
+ ],
71
+ "kinds": [
72
+ "load",
73
+ "target-write"
74
+ ]
75
+ },
76
+ {
77
+ "token": "learn/agentos/measurements/cognitive-load-baseline-2026-05.md",
78
+ "canonicalOwner": "neomjs/neo-agent-brain",
79
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/measurements/cognitive-load-baseline-2026-05.md",
80
+ "referencingSkills": [
81
+ "create-skill"
82
+ ],
83
+ "kinds": [
84
+ "load"
85
+ ]
86
+ },
87
+ {
88
+ "token": "learn/agentos/measurements/pr-review-baseline-2026-04.md",
89
+ "canonicalOwner": "neomjs/neo-agent-brain",
90
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/measurements/pr-review-baseline-2026-04.md",
91
+ "referencingSkills": [
92
+ "pr-review"
93
+ ],
94
+ "kinds": [
95
+ "target-write"
96
+ ]
97
+ },
98
+ {
99
+ "token": "learn/agentos/ModelStats.md",
100
+ "canonicalOwner": "neomjs/neo-agent-brain",
101
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/ModelStats.md",
102
+ "referencingSkills": [
103
+ "neo-identity-update"
104
+ ],
105
+ "kinds": [
106
+ "load",
107
+ "target-write"
108
+ ]
109
+ },
110
+ {
111
+ "token": "learn/agentos/NeuralLink.md",
112
+ "canonicalOwner": "neomjs/neo",
113
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/agentos/NeuralLink.md",
114
+ "referencingSkills": [
115
+ "neo-identity-update"
116
+ ],
117
+ "kinds": [
118
+ "target-write"
119
+ ]
120
+ },
121
+ {
122
+ "token": "learn/agentos/process/contract-ledger.md",
123
+ "canonicalOwner": "neomjs/neo-agent-brain",
124
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/contract-ledger.md",
125
+ "referencingSkills": [
126
+ "create-skill",
127
+ "pr-review",
128
+ "ticket-create",
129
+ "ticket-intake"
130
+ ],
131
+ "kinds": [
132
+ "load"
133
+ ]
134
+ },
135
+ {
136
+ "token": "learn/agentos/process/correction-culture.md",
137
+ "canonicalOwner": "neomjs/neo-agent-brain",
138
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/correction-culture.md",
139
+ "referencingSkills": [
140
+ "pr-review"
141
+ ],
142
+ "kinds": [
143
+ "load"
144
+ ]
145
+ },
146
+ {
147
+ "token": "learn/agentos/process/evidence-ladder.md",
148
+ "canonicalOwner": "neomjs/neo-agent-brain",
149
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md",
150
+ "referencingSkills": [
151
+ "epic-resolution",
152
+ "epic-review",
153
+ "pr-review",
154
+ "pull-request"
155
+ ],
156
+ "kinds": [
157
+ "load"
158
+ ]
159
+ },
160
+ {
161
+ "token": "learn/agentos/process/reference-hygiene.md",
162
+ "canonicalOwner": "neomjs/neo-agent-brain",
163
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/reference-hygiene.md",
164
+ "referencingSkills": [
165
+ "ideation-sandbox",
166
+ "pr-review",
167
+ "pull-request",
168
+ "ticket-create"
169
+ ],
170
+ "kinds": [
171
+ "load"
172
+ ]
173
+ },
174
+ {
175
+ "token": "learn/agentos/process/SeatEvidenceCapabilities.md",
176
+ "canonicalOwner": "neomjs/neo",
177
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/agentos/process/SeatEvidenceCapabilities.md",
178
+ "referencingSkills": [
179
+ "pr-review",
180
+ "whitebox-e2e"
181
+ ],
182
+ "kinds": [
183
+ "load"
184
+ ]
185
+ },
186
+ {
187
+ "token": "learn/agentos/tooling/Tier2RevalidationSweep.md",
188
+ "canonicalOwner": "neomjs/neo-agent-brain",
189
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/tooling/Tier2RevalidationSweep.md",
190
+ "referencingSkills": [
191
+ "ideation-sandbox"
192
+ ],
193
+ "kinds": [
194
+ "load"
195
+ ]
196
+ },
197
+ {
198
+ "token": "learn/agentos/v13-path.md",
199
+ "canonicalOwner": "neomjs/neo-agent-brain",
200
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/v13-path.md",
201
+ "referencingSkills": [
202
+ "epic-review",
203
+ "session-sunset",
204
+ "structural-pre-flight"
205
+ ],
206
+ "kinds": [
207
+ "load",
208
+ "prose"
209
+ ]
210
+ },
211
+ {
212
+ "token": "learn/agentos/wake-substrate/NightShiftLeasedDriver.md",
213
+ "canonicalOwner": "neomjs/neo-agent-brain",
214
+ "resolution": "https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/wake-substrate/NightShiftLeasedDriver.md",
215
+ "referencingSkills": [
216
+ "post-review-pickup"
217
+ ],
218
+ "kinds": [
219
+ "load"
220
+ ]
221
+ },
222
+ {
223
+ "token": "learn/benefits/ArchitectureOverview.md",
224
+ "canonicalOwner": "neomjs/neo",
225
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/benefits/ArchitectureOverview.md",
226
+ "referencingSkills": [
227
+ "industry-friction-radar",
228
+ "neo-identity-update",
229
+ "structural-pre-flight",
230
+ "tech-debt-radar",
231
+ "unit-test"
232
+ ],
233
+ "kinds": [
234
+ "load",
235
+ "target-write",
236
+ "prose"
237
+ ]
238
+ },
239
+ {
240
+ "token": "learn/benefits/body/Speed.md",
241
+ "canonicalOwner": "neomjs/neo",
242
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/benefits/body/Speed.md",
243
+ "referencingSkills": [
244
+ "neo-identity-update"
245
+ ],
246
+ "kinds": [
247
+ "load"
248
+ ]
249
+ },
250
+ {
251
+ "token": "learn/guides/fundamentals/CodebaseOverview.md",
252
+ "canonicalOwner": "neomjs/neo",
253
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/guides/fundamentals/CodebaseOverview.md",
254
+ "referencingSkills": [
255
+ "neo-identity-update"
256
+ ],
257
+ "kinds": [
258
+ "load",
259
+ "target-write"
260
+ ]
261
+ },
262
+ {
263
+ "token": "learn/guides/testing/UnitTesting.md",
264
+ "canonicalOwner": "neomjs/neo",
265
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/guides/testing/UnitTesting.md",
266
+ "referencingSkills": [
267
+ "unit-test"
268
+ ],
269
+ "kinds": [
270
+ "load"
271
+ ]
272
+ },
273
+ {
274
+ "token": "learn/guides/testing/WhiteboxE2E.md",
275
+ "canonicalOwner": "neomjs/neo",
276
+ "resolution": "https://github.com/neomjs/neo/blob/dev/learn/guides/testing/WhiteboxE2E.md",
277
+ "referencingSkills": [
278
+ "whitebox-e2e"
279
+ ],
280
+ "kinds": [
281
+ "load"
282
+ ]
283
+ }
284
+ ]
285
+ }
@@ -41,7 +41,7 @@ The shared matrix shape (used by both `epic-review` entry-pass and `epic-resolut
41
41
  For each parent AC of the epic:
42
42
 
43
43
  1. **Parent AC** — quote or reference the AC text from the epic body.
44
- 2. **Required evidence** — L1 / L2 / L3 / L4 per the [Substrate Evidence Ladder](../../../../learn/agentos/process/evidence-ladder.md). The `epic-review` entry pass should have set this; if missing, derive from the AC text (does it require runtime / live / observable behavior?).
44
+ 2. **Required evidence** — L1 / L2 / L3 / L4 per the Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md). The `epic-review` entry pass should have set this; if missing, derive from the AC text (does it require runtime / live / observable behavior?).
45
45
  3. **Owning sub(s)** — the sub-issue(s) addressing this AC. From the epic's native sub-issue links (`update_issue_relationship` graph) or AC-explicit references.
46
46
  4. **Delivered PR(s)** — the merged PR(s) closing each sub. Use `gh pr list --search "linked-to:<sub-number>"` or check sub-issue's `closedByPullRequestsReferences`.
47
47
  5. **Achieved evidence** — read the merged PR body's `Evidence:` declaration. If two ceilings (sandbox vs achievable), report both: `L2 (sandbox) / L4 (achievable)`. If no Evidence declaration, mark as `L?? — declaration missing` and flag in residuals.
@@ -164,7 +164,7 @@ Per `feedback_a2a_commentid_pre_flight`: post the verdict comment FIRST, capture
164
164
 
165
165
  ## 7. Cross-references
166
166
 
167
- - `learn/agentos/process/evidence-ladder.md` — L1-L4 definitions + matrix schema authority
167
+ - Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md) — L1-L4 definitions + matrix schema authority
168
168
  - `.agents/skills/epic-review/` — entry-pass sibling (seeds matrix at sub-creation time + Source Discussion Criteria Mapping per Stage 2.5 #11349)
169
169
  - `.agents/skills/pr-review/` — sub-execution gate (audits Evidence declaration on each merging PR)
170
170
  - `.agents/skills/pull-request/` — author-side Evidence declaration template
@@ -93,11 +93,11 @@ Checks:
93
93
  - **Phase boundaries**: sub N's outputs feed sub N+1's inputs cleanly; no circular `blocked_by` dependencies
94
94
  - **Missing phases**: a prerequisite sub implied by the arc but not filed (e.g. a migration ticket, a schema ticket, a doc-update ticket)
95
95
  - **Scope creep risk**: subs whose titles or bodies exceed the parent epic's scope
96
- - **Structural Pre-Flight Sweep**: when subs prescribe new `.mjs` files (new daemon, new service, new script, new helper), validate each prescribed directory against `.agents/skills/structural-pre-flight/SKILL.md` Stage 0/1 BEFORE the sub is picked up. Each sub's PR will eventually have to satisfy this gate; surfacing mismatches at epic-review time is cheaper than at sub-PR-review time. Empirical anchor: M3 epic where sub PR #11008 misplaced `orchestrator-daemon.mjs` in `ai/scripts/` instead of v13-path.md M3 split (`ai/scripts/orchestrator-daemon.mjs` thin wrapper + `ai/daemons/Orchestrator.mjs` Neo-class + `ai/daemons/services/`); a Stage-3 sweep at epic-review would have caught the directory-choice mismatch in the prescription before sub pickup.
96
+ - **Structural Pre-Flight Sweep**: when subs prescribe new `.mjs` files (new daemon, new service, new script, new helper), validate each prescribed directory against `.agents/skills/structural-pre-flight/SKILL.md` Stage 0/1 BEFORE the sub is picked up. Each sub's PR will eventually have to satisfy this gate; surfacing mismatches at epic-review time is cheaper than at sub-PR-review time. Empirical anchor: M3 epic where sub PR #11008 misplaced `orchestrator-daemon.mjs` in `ai/scripts/` instead of the Brain-owned [v13 path M3 split](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/v13-path.md) (`ai/scripts/orchestrator-daemon.mjs` thin wrapper + `ai/daemons/Orchestrator.mjs` Neo-class + `ai/daemons/services/`); a Stage-3 sweep at epic-review would have caught the directory-choice mismatch in the prescription before sub pickup.
97
97
 
98
98
  #### Stage 3.1 — Evidence Matrix Producer Hook (entry side of the closeout contract)
99
99
 
100
- *(Required when any of the epic's acceptance criteria describe observable runtime effect on a surface the CI / agent sandbox cannot reach — i.e., when the [Substrate Evidence Ladder](../../../../learn/agentos/process/evidence-ladder.md) trigger applies. Mark N/A for epics where ACs are fully covered by unit tests / static contract.)*
100
+ *(Required when any of the epic's acceptance criteria describe observable runtime effect on a surface the CI / agent sandbox cannot reach — i.e., when the Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md) trigger applies. Mark N/A for epics where ACs are fully covered by unit tests / static contract.)*
101
101
 
102
102
  The `epic-review` skill is the *entry pass* of the closeout contract; `epic-resolution` is the *exit pass* (sibling skill, runs at sub-closure time). Both consume the same matrix shape on the parent epic body. **Stage 3.1 is where the entry pass SEEDS the matrix** so the exit pass has a contract to reconcile against.
103
103
 
@@ -114,7 +114,7 @@ For each parent AC of the epic, Stage 3 must produce columns 1–3 of the shared
114
114
 
115
115
  **Where the matrix lives:** post the Stage 3.1 matrix as a comment on the epic ticket, OR amend the epic body to include a `## Closeout Matrix (entry-seeded)` section. The closeout pass (`epic-resolution`) reads the most recent matrix-shaped artifact and reconciles columns 4–6 against the actual delivered PRs.
116
116
 
117
- **Cross-reference:** [`learn/agentos/process/evidence-ladder.md`](../../../../learn/agentos/process/evidence-ladder.md) for L1-L4 ladder + sandbox-vs-achievable ceiling distinction + complete schema definitions.
117
+ **Cross-reference:** the Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md) for L1-L4 ladder + sandbox-vs-achievable ceiling distinction + complete schema definitions.
118
118
 
119
119
  ### Stage 4 — Prescription Layer
120
120
 
@@ -192,7 +192,7 @@ These citations belong in the `ticket-intake` reflection step for the sub, not a
192
192
  | `ticket-intake` | Sub pickup | Sub-scope | Epic-review runs *before* ticket-intake the first time your identity picks up any sub from this epic. After epic-review, ticket-intake proceeds per its own protocol. |
193
193
  | `pull-request` | PR creation | PR-scope | Orthogonal — epic-review does not interact with the PR layer. |
194
194
  | `pr-review` | PR validation | Post-work | Complementary — epic-review catches scope/approach drift *before* work; pr-review catches execution drift *after*. Different blast radius, different timing. |
195
- | `epic-resolution` | Epic closeout | At sub-closure time | Sibling exit-pass to this entry-pass. Epic-review Stage 3.1 SEEDS the AC → required-evidence → owning-sub matrix; epic-resolution RECONCILES columns 4–6 (delivered PRs / achieved evidence / residual state) at closeout time. The two skills share the same matrix schema defined in [`learn/agentos/process/evidence-ladder.md`](../../../../learn/agentos/process/evidence-ladder.md). Different agents may run the two passes; the matrix-as-artifact is the contract between them. |
195
+ | `epic-resolution` | Epic closeout | At sub-closure time | Sibling exit-pass to this entry-pass. Epic-review Stage 3.1 SEEDS the AC → required-evidence → owning-sub matrix; epic-resolution RECONCILES columns 4–6 (delivered PRs / achieved evidence / residual state) at closeout time. The two skills share the same matrix schema defined in the Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md). Different agents may run the two passes; the matrix-as-artifact is the contract between them. |
196
196
 
197
197
  ## 7. Anti-Patterns
198
198
 
@@ -68,7 +68,7 @@ The mechanism is intentionally narrow:
68
68
  | Discussion [#11793 OQ5](https://github.com/neomjs/neo/discussions/11793) | Deferred-with-timeline that produced this mechanism |
69
69
  | `ai/graph/identityRoots.mjs` | `participationStatus` + `since` + `reactivationTrigger` source-of-truth |
70
70
  | `ai/scripts/revalidationSweep.mjs` | Implementation |
71
- | `learn/agentos/tooling/Tier2RevalidationSweep.md` | Operator runbook (when-to-invoke, mechanism, invocation, MVP scope boundaries) |
71
+ | Brain-owned [Tier-2 Revalidation Sweep operator runbook](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/tooling/Tier2RevalidationSweep.md) | When-to-invoke, mechanism, invocation, and MVP scope boundaries |
72
72
  | `.agents/skills/ideation-sandbox/audits/consensus-mandate.md` §quorum-rule | Tier-2 rule background |
73
73
 
74
74
  ## §empirical-anchor — Dogfooded Match
@@ -29,7 +29,7 @@ Before drafting a Discussion/proposal, run [`../audits/pre-authoring-adjacency-s
29
29
 
30
30
  ### 2.1 Reference Hygiene
31
31
 
32
- Before Discussion prose, read [`reference-hygiene.md`](../../../../learn/agentos/process/reference-hygiene.md): relationships stay bare; descriptive tokens use backticks.
32
+ Before Discussion prose, read the Brain-owned [reference-hygiene contract](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/reference-hygiene.md): relationships stay bare; descriptive tokens use backticks.
33
33
 
34
34
  ### 2.2 Provenance Signature
35
35
 
@@ -57,8 +57,8 @@ You must use the `ideation-sandbox` skill to post a GitHub Discussion proposing
57
57
 
58
58
  To understand the macro-architecture this skill serves (Neo as an Application Engine on the Left Hemisphere, and Agent OS on the Right Hemisphere), review the following:
59
59
 
60
- - `learn/benefits/ArchitectureOverview.md` (Left/Right Hemispheres)
61
- - `learn/agentos/DreamPipeline.md` (Sensory Input & DreamService)
60
+ - Engine-owned [Architecture Overview](https://github.com/neomjs/neo/blob/dev/learn/benefits/ArchitectureOverview.md) (Left/Right Hemispheres)
61
+ - Brain-owned [Dream Pipeline](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/DreamPipeline.md) (Sensory Input & DreamService)
62
62
  - `resources/content/discussions/discussion-10119.md` (Engine-category vs. Framework-category positioning)
63
63
  - `resources/content/discussions/discussion-10137.md` (Agent OS context)
64
64
  - `.agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md` (Pre-Filing Precedent Sweep): The radar targets *frontier friction* where standards are failing. The `ideation-sandbox` precedent sweep targets *established standards* to avoid reinventing them. They are complementary disciplines.
@@ -7,4 +7,4 @@ description: "Repeatable protocol for updating Neo's identity (what Neo IS) cohe
7
7
 
8
8
  Neo's identity is distributed across ~30+ surfaces; editing one (e.g. README) leaves machine-facing JSON, build-generated SEO files, external platform settings, and CTA targets drifting silently. Before changing ANY identity surface (tagline, description, keywords, pillar story, CTA / next-step door, or a drifted fact like version / MCP-server-count / Node-req), you MUST read `.agents/skills/neo-identity-update/references/update-protocol.md` and follow it — it routes to the surface inventory, facts ledger, framing-governance payload, and CTA-governance payload.
9
9
 
10
- **Non-negotiables:** FACTS converge to one source (derive/coherence-check the rest); FRAMING stays audience-segmented against the README apex (escalate contradictions, never find-replace); ACTIONS / CTAs keep pitches from dead-ending and surface proof without inventing business-owned offer content; never edit build-generated output (edit the generator `buildScripts/docs/seo/generate.mjs`); every identity-surface PR needs a cross-family review; never name a client/partner/customer. Foundation: [ADR 0018](../../../learn/agentos/decisions/0018-neo-identity-source-of-truth-model.md).
10
+ **Non-negotiables:** FACTS converge to one source (derive/coherence-check the rest); FRAMING stays audience-segmented against the README apex (escalate contradictions, never find-replace); ACTIONS / CTAs keep pitches from dead-ending and surface proof without inventing business-owned offer content; never edit build-generated output (edit the generator `buildScripts/docs/seo/generate.mjs`); every identity-surface PR needs a cross-family review; never name a client/partner/customer. Foundation: [ADR 0018](https://github.com/neomjs/neo/blob/dev/learn/agentos/decisions/0018-neo-identity-source-of-truth-model.md).
@@ -13,9 +13,9 @@ Markdown a human edits directly. Failure mode: generations drift apart (one doc
13
13
  | `CONTRIBUTING.md`, `.github/GETTING_STARTED.md`, `.github/AI_QUICK_START.md` | Contributor-facing identity; MCP-server count; Node requirement |
14
14
  | `.github/STORY.md` | **Public-era heritage SSOT**: origin narrative, 2015 worker POC, public GitHub start, JSON-first VDOM, worker-first architecture, multi-window line. |
15
15
  | `.github/NEOMJS_HISTORY.md` | Pre-public contributor credits / acknowledgements archive. Do **not** extend it with public-era milestones unless an explicit operator ruling changes its document kind. |
16
- | `learn/benefits/**` | Engineering-altitude identity (ArchitectureOverview "Two Hemispheres", Introduction, comparisons/NeoVs*); the **RIGHT-hemisphere AI-team doc lives here** |
17
- | `learn/agentos/*.md` | Mechanism-altitude (DreamPipeline, MX, MemoryCore, NeuralLink); the recurring motto |
18
- | `.claude/CLAUDE.md` (§neo_identity_anchor, §swarm_topology_anchor), `learn/agentos/AGENTS_ATLAS.md` | Agent-facing identity anchors; maintainer roster; pillar definitions |
16
+ | Engine-owned benefits corpus ([Architecture Overview](https://github.com/neomjs/neo/blob/dev/learn/benefits/ArchitectureOverview.md) entry point) | Engineering-altitude identity (Two Hemispheres, Introduction, comparisons/NeoVs*); the **RIGHT-hemisphere AI-team doc lives here** |
17
+ | Canonical mechanism guides in their owning repositories — Brain-owned [Dream Pipeline](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/DreamPipeline.md) and Engine-owned [Neural Link](https://github.com/neomjs/neo/blob/dev/learn/agentos/NeuralLink.md) entry points | Mechanism-altitude identity (Dream Pipeline, MX, Memory Core, Neural Link); the recurring motto |
18
+ | `.claude/CLAUDE.md` (§neo_identity_anchor, §swarm_topology_anchor), Engine-owned [Agent OS Atlas](https://github.com/neomjs/neo/blob/dev/learn/agentos/AGENTS_ATLAS.md) | Agent-facing identity anchors; maintainer roster; pillar definitions |
19
19
 
20
20
  ## Class 2 — generated-output-source (THE TRAP)
21
21
  A build script emits the surface. **Edit the generator, never the output.**
@@ -47,13 +47,13 @@ Correct as-of a date; ages silently. Refresh in lock-step.
47
47
 
48
48
  | Surface | Lock-step sibling |
49
49
  |---|---|
50
- | `README.md` "A Platform at Scale (State of <date>)" | `learn/guides/fundamentals/CodebaseOverview.md` (canonical numbers) |
51
- | `ROADMAP.md` velocity metrics; `learn/agentos/ModelStats.md` | their own as-of dates |
50
+ | `README.md` "A Platform at Scale (State of <date>)" | Engine-owned [Codebase Overview](https://github.com/neomjs/neo/blob/dev/learn/guides/fundamentals/CodebaseOverview.md) (canonical numbers) |
51
+ | `ROADMAP.md` velocity metrics; Brain-owned [Model Stats](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/ModelStats.md) | their own as-of dates |
52
52
 
53
53
  ## Coverage notes
54
54
  - Heritage facts live in `.github/STORY.md`; README + portal About Us reference that home without duplicating milestone lists. OS-Awards claims need an acceptable external public source before publication.
55
- - Identity handles are routed through `ai/graph/identityRoots.mjs`; handle de-versioning is operator-owned (account rename), the skill only propagates. Model-version stays in `ModelStats.md` per ADR 0012. Re-run a seam-keyed grep before claiming total coverage.
56
- - Not yet fully swept: `apps/portal/view/about` (`/about-us`), live neomjs.com `<meta>`/ld+json, `learn/comparisons/*`. Re-run a fan-out before claiming total coverage.
55
+ - Identity handles are routed through `ai/graph/identityRoots.mjs`; handle de-versioning is operator-owned (account rename), the skill only propagates. Model-version stays in the Brain-owned [Model Stats guide](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/ModelStats.md) per ADR 0012. Re-run a seam-keyed grep before claiming total coverage.
56
+ - Not yet fully swept: `apps/portal/view/about` (`/about-us`), live neomjs.com `<meta>`/ld+json, and the Engine-owned comparisons corpus. Re-run a fan-out before claiming total coverage.
57
57
 
58
58
  ## ACTIONS / CTA overlay
59
59
 
@@ -67,7 +67,7 @@ the business-owned content behind them.
67
67
  | `README.md` opening + v13 Agent OS pitch | Proof doors for public repo claims; product / deployment next-step door if the pitch asks the reader to act |
68
68
  | `README.md` Quickstart | Install door (`npx neo-app@latest`) plus getting-started docs |
69
69
  | `README.md` Community / Contributing | Community and contributor doors; channel liveness and retention must be checked before primary placement |
70
- | `learn/benefits/**`, `learn/agentos/**` | Learn / proof / contribute doors attached to identity claims and Agent OS mechanisms |
70
+ | Engine-owned benefits guides plus Agent OS guides in their canonical Engine or Brain repository | Learn / proof / contribute doors attached to identity claims and Agent OS mechanisms |
71
71
  | `apps/portal/view/home/parts/*.mjs` | Portal hero / home-page CTA doors; generated SEO siblings may also need generator updates |
72
72
  | `apps/portal/view/services/**`, `apps/portal/resources/data/seo.json` | Services / contact / training doors; content is business-owned and must not be invented by the skill |
73
73
  | `buildScripts/docs/seo/generate.mjs` | Generated `llms.txt` / sitemap route doors; edit the generator, never generated output directly |
@@ -4,12 +4,12 @@ Each identity FACT has ONE canonical source. Every other occurrence derives from
4
4
 
5
5
  | Fact | Canonical SSOT | Propagate by | Known stale-prone occurrences |
6
6
  |---|---|---|---|
7
- | **Package version** | `package.json` `version` | extend `buildScripts/release/prepare.mjs` to derive version-bearing structured surfaces + `learn/agentos/NeuralLink.md` version line; coherence-check the rest | `NeuralLink.md`; `FooterContainer.mjs` literal |
7
+ | **Package version** | `package.json` `version` | extend `buildScripts/release/prepare.mjs` to derive version-bearing structured surfaces + the Engine-owned [Neural Link guide](https://github.com/neomjs/neo/blob/dev/learn/agentos/NeuralLink.md) version line; coherence-check the rest | Engine-owned Neural Link guide; `FooterContainer.mjs` literal |
8
8
  | **MCP-server count / audience split** | `package.json` scripts matching `ai:mcp-server-*` — NOT `ls ai/mcp/server/` (that returns 7: it includes `shared/` infra + `gitlab-workflow/` PoC; functional = 5: knowledge-base, memory-core, github-workflow, neural-link, file-system). Frontier-harness defaults expose 4 because Codex, Claude, Gemini CLI, and Antigravity already provide native filesystem/tools; file-system is for `Neo.ai.Agent` / local harnessless loops. | derive into prose/JSON or lint coherence-check against the script manifest plus the audience split | README; AI_QUICK_START; ApplicationEngine.md; index.html FAQ; AiToolchain.mjs; llms.txt header |
9
9
  | **Node requirement** | `package.json` `engines.node` | derive doc mentions; lint | AI_QUICK_START; structured-data `softwareRequirements` if reintroduced |
10
- | **Identity handle** | `ai/graph/identityRoots.mjs` | route references through the seam. Account rename is operator-owned (Tier-4); the skill propagates. Model-version stays in `ModelStats.md` per ADR 0012 — do NOT de-version the prose | hand-maintained current surfaces can retain stale handles after a graph/code migration; re-run a seam-keyed grep |
11
- | **Recurring motto** | `learn/agentos/DreamPipeline.md` (origin of "the system evolves by predicting its own evolution") | reference a single quotable constant; don't re-type | DreamPipeline (2×), README, ROADMAP |
12
- | **Codebase-scale metrics** | `learn/guides/fundamentals/CodebaseOverview.md` | README "Platform at Scale" refreshes in lock-step; carry an explicit as-of date | README |
10
+ | **Identity handle** | `ai/graph/identityRoots.mjs` | route references through the seam. Account rename is operator-owned (Tier-4); the skill propagates. Model-version stays in the Brain-owned [Model Stats guide](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/ModelStats.md) per ADR 0012 — do NOT de-version the prose | hand-maintained current surfaces can retain stale handles after a graph/code migration; re-run a seam-keyed grep |
11
+ | **Recurring motto** | Brain-owned [Dream Pipeline guide](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/DreamPipeline.md) (origin of "the system evolves by predicting its own evolution") | reference a single quotable constant; don't re-type | Dream Pipeline (2×), README, ROADMAP |
12
+ | **Codebase-scale metrics** | Engine-owned [Codebase Overview](https://github.com/neomjs/neo/blob/dev/learn/guides/fundamentals/CodebaseOverview.md) | README "Platform at Scale" refreshes in lock-step; carry an explicit as-of date | README |
13
13
  | **GA / public repo start date** | first git commit (`git log --reverse`, = `2019-11-11`) | heritage = append-only; write once into `.github/STORY.md` | README / portal should reference the story, not duplicate the date |
14
14
 
15
15
  ## Propagation mechanism — preference order
@@ -22,7 +22,7 @@ When the right mechanism doesn't exist yet (e.g. no lint guard for server count)
22
22
 
23
23
  ## Verified anchors (re-verify before citing publicly)
24
24
  - GA / first commit: **November 2019** (`git log --reverse` → `2019-11-11`). "JSON-first since 2019" is correct.
25
- - Performance: `learn/benefits/Speed.md` — consistent **20,000+** DOM-updates/sec floor, observed peak **over 40,000**. Cite as observed-peak (+ floor), not a guaranteed benchmark.
25
+ - Performance: Engine-owned [Speed guide](https://github.com/neomjs/neo/blob/dev/learn/benefits/body/Speed.md) — consistent **20,000+** DOM-updates/sec floor, observed peak **over 40,000**. Cite as observed-peak (+ floor), not a guaranteed benchmark.
26
26
  - Velocity counts: publish as a **dated-window stat** with the inline range (e.g. "2026-04-30 → 2026-05-30"), regenerated from `git`/GitHub API — never an audited absolute.
27
27
  - Heritage home: `.github/STORY.md`. `.github/NEOMJS_HISTORY.md` is pre-public contributor credits / acknowledgements; do not expand it with public-era milestones.
28
28
  - OS-Awards 2021: **not repo-verifiable** — confirm exact name/category/placement from an external source before any public citation.
@@ -36,8 +36,8 @@ file or route the bug, then continue picking the next lane.
36
36
  role payloads must be read before lane choice, and when review-first is
37
37
  legitimate.
38
38
 
39
- <!-- trigger: watchdog/night-shift wake, operator driver command, or lane-driver handoff → read learn/agentos/wake-substrate/NightShiftLeasedDriver.md -->
40
- - `learn/agentos/wake-substrate/NightShiftLeasedDriver.md` — TTL, renewal, and
39
+ <!-- trigger: watchdog/night-shift wake, operator driver command, or lane-driver handoff → read https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/wake-substrate/NightShiftLeasedDriver.md -->
40
+ - Brain-owned [night-shift leased-driver runbook](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/wake-substrate/NightShiftLeasedDriver.md) — TTL, renewal, and
41
41
  direct-driver routing for autonomous windows. A lane-ownership contract, not a
42
42
  review-pickup variant.
43
43
 
@@ -124,7 +124,7 @@ For every issue named as close-target, verify it does NOT carry the `epic` label
124
124
 
125
125
  *(Required when the PR's close-target ACs include observable runtime effect on a surface the CI / agent sandbox cannot reach — substrate / harness / wake / restart / UI-with-visual-AC / CLI-with-host-behavior PRs. This is part of the 10% AC/audit sanity layer: binding on real evidence mismatch, not a replacement for architecture review. Mark N/A for PRs where ACs are fully covered by unit tests / static contract.)*
126
126
 
127
- Reference: [`learn/agentos/process/evidence-ladder.md`](../../../../learn/agentos/process/evidence-ladder.md) for L1-L4 ladder + sandbox-vs-achievable ceiling distinction.
127
+ Reference: the Brain-owned [Substrate Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md) for L1-L4 ladder + sandbox-vs-achievable ceiling distinction.
128
128
 
129
129
  The PR body must declare achieved evidence in 1-line greppable form:
130
130
 
@@ -26,10 +26,10 @@ For subsequent re-reviews (Cycle N), the measurement must capture the delta payl
26
26
 
27
27
  ## 3. Baseline Data Capture
28
28
  Before any pilot extraction (Sub-issue 2 of Epic #10537) can begin, we must capture a **minimum of 10 cycles** of baseline data. If statistical variance remains high at n=10, capture will extend to n=15 or n=20 before proceeding, to avoid extracting based on noisy or atypical cycle data.
29
- - The recorded data must be appended to the dedicated tracking file: `learn/agentos/measurements/pr-review-baseline-2026-04.md`.
29
+ - The recorded data must be appended to the dedicated [PR-review baseline measurement log](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/measurements/pr-review-baseline-2026-04.md) in the Brain repository. If the current checkout is not Brain, route the write to a Brain change instead of creating a consumer-local copy.
30
30
  - **Gating Mechanism:** Sub-issue 2 (Pilot extraction of review templates) is strictly blocked until the baseline (per §3 opening) is fully captured and validated.
31
31
 
32
32
  ## 4. Execution Procedure
33
33
  1. During a PR Review, calculate the `wc -c` of the relevant files and payloads (separating Static vs Dynamic).
34
34
  2. Log the cycle details, including PR number, Cycle number, Static `wc -c`, Dynamic `wc -c`, and Total `wc -c`.
35
- 3. Report the log natively in your PR Review comment as a `Measurement Payload` block. A dedicated aggregator or the author during session sunset will persist it to `learn/agentos/measurements/pr-review-baseline-2026-04.md` to avoid review-time merge conflicts.
35
+ 3. Report the log natively in your PR Review comment as a `Measurement Payload` block. A dedicated aggregator or the author during session sunset will persist it to the Brain repository's [PR-review baseline measurement log](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/measurements/pr-review-baseline-2026-04.md) to avoid review-time merge conflicts; a non-Brain checkout must route that write to Brain.
@@ -14,7 +14,7 @@ This protocol ensures that feedback is:
14
14
 
15
15
  Build — and write down — your premise of the change **before** reading the patch as the source of truth. You can reject a toaster-when-we-need-a-car before reading a line; a green checklist over a wrong premise is theater. Capture four fields. The snapshot is **patch-blind** — the *premise authority* is the substrate, not the patch ("I wrote this first" is itself theater).
16
16
 
17
- 1. **Inputs read before the patch** — the ticket/issue, the changed-file list, the current `dev` source of the touched files, sibling precedent, and the source-of-authority substrate (ADRs, `learn/`, the owning service). **NOT the PR's own self-description as the primary premise** — the PR body is a claim to verify, not the authority. Build the premise from the affected files (intent belongs in their JSDoc — `src/core/Base.mjs` is the bar), their neighbors, and their imports; use `memory-mining` / `ask_knowledge_base` when the code is thin. Intent you can't find anywhere is the finding: ticket the gap. **Intent authority:** PR claims to change / retire / amend / supersede / correct a prior position → mine the body's `Origin Session ID`: the premise is intent-vs-diff, not claims-vs-diff, and semantic search misses silently ([correction-culture](../../../../learn/agentos/process/correction-culture.md)).
17
+ 1. **Inputs read before the patch** — the ticket/issue, the changed-file list, the current `dev` source of the touched files, sibling precedent, and the source-of-authority substrate (ADRs, `learn/`, the owning service). **NOT the PR's own self-description as the primary premise** — the PR body is a claim to verify, not the authority. Build the premise from the affected files (intent belongs in their JSDoc — `src/core/Base.mjs` is the bar), their neighbors, and their imports; use `memory-mining` / `ask_knowledge_base` when the code is thin. Intent you can't find anywhere is the finding: ticket the gap. **Intent authority:** PR claims to change / retire / amend / supersede / correct a prior position → mine the body's `Origin Session ID`: the premise is intent-vs-diff, not claims-vs-diff, and semantic search misses silently (see the [correction-culture guide](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/correction-culture.md)).
18
18
  2. **Expected solution-shape** (1–3 sentences) — what *should* a correct change here look like? Explicitly include **"what boundary should this NOT hardcode?"** and **"what test-isolation should exist?"**, so the snapshot reaches the portability + test-isolation dimensions before the diff frames them away.
19
19
  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.
20
20
  4. **Premise-coherence** — the value-coherence verdict, or a scoped "N/A — no value-surface".
@@ -84,7 +84,7 @@ The Retrospective daemon explicitly regex-matches these tags during REM sleep:
84
84
 
85
85
  ### 4.1 Reference Hygiene
86
86
 
87
- Before review prose/tags, read [`reference-hygiene.md`](../../../../learn/agentos/process/reference-hygiene.md): structural tokens stay bare; descriptive tokens use backticks.
87
+ Before review prose/tags, read the [reference-hygiene guide](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/reference-hygiene.md): structural tokens stay bare; descriptive tokens use backticks.
88
88
 
89
89
  ## 5. Required Actions & Cross-Linking
90
90
  * **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.
@@ -129,7 +129,7 @@ For PRs that introduce or modify public/consumed surfaces (e.g., configs, MCP to
129
129
  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.
130
130
  2. **Missing Ledger:** If the PR modifies public surfaces but both the originating ticket and its parent epic lack a Contract Ledger, flag as a **Required Action**:
131
131
  > *"PR modifies public/consumed surfaces but the originating ticket (and parent epic) lacks a Contract Ledger matrix. Required: backfill the Contract Ledger on the ticket to establish the formal API contract."*
132
- 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 `learn/agentos/process/contract-ledger.md`, flag as a **Required Action**:
132
+ 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**:
133
133
  > *"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."*
134
134
 
135
135
  The PR cannot be approved if the implemented contract and the ticket's Contract Ledger are out of sync.
@@ -256,7 +256,7 @@ Demo/product-surface diffs touching rendered motion: load `audits/demo-surface-m
256
256
 
257
257
  ### 7.5.4 Seat Routing
258
258
 
259
- Before claiming/requesting visual-render, headed-harness, or native-matrix evidence: consult `learn/agentos/process/SeatEvidenceCapabilities.md` (check `observedAt`; stale = `unknown`).
259
+ Before claiming/requesting visual-render, headed-harness, or native-matrix evidence: consult the Engine's [Seat Evidence Capabilities guide](https://github.com/neomjs/neo/blob/dev/learn/agentos/process/SeatEvidenceCapabilities.md) (check `observedAt`; stale = `unknown`).
260
260
 
261
261
  ### 7.6 CI / Security Checks Audit
262
262
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pull-request
3
- description: "Standardized guidelines and procedural execution flow for opening a Pull Request. CRITICAL: Do NOT run default `npx playwright test` (use custom configs). MANDATORY ROI WARNING: Skipping the PR body template guarantees CI lint failure. Triggers: Code modifications complete; before opening PR — stepping-back reflection, commit format, cross-family review mandate, post-comment A2A commentId hand-off (author→reviewer) per review-response-protocol.md §14, Evidence declaration line for substrate/runtime-AC PRs per [evidence-ladder.md](learn/agentos/process/evidence-ladder.md)."
3
+ description: "Standardized guidelines and procedural execution flow for opening a Pull Request. CRITICAL: Do NOT run default `npx playwright test` (use custom configs). MANDATORY ROI WARNING: Skipping the PR body template guarantees CI lint failure. Triggers: Code modifications complete; before opening PR — stepping-back reflection, commit format, cross-family review mandate, post-comment A2A commentId hand-off (author→reviewer) per review-response-protocol.md §14, Evidence declaration line for substrate/runtime-AC PRs per the [Evidence Ladder](https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/process/evidence-ladder.md)."
4
4
  ---
5
5
  # Pull Request Skill
6
6