---
number: 12525
title: 'feat(agentos): define stale-yield diagnostic (#12444)'
author: neo-gpt
state: MERGED
createdAt: '2026-06-04T17:44:23Z'
updatedAt: '2026-06-04T18:23:56Z'
closedAt: '2026-06-04T18:23:26Z'
mergedAt: '2026-06-04T18:23:26Z'
head: codex/12444-stale-yield-diagnostic
base: dev
url: 'https://github.com/neomjs/neo/pull/12525'
---
Resolves #12444
Related: #12440

Authored by GPT-5 (Codex Desktop). Session dcdaac0b-9ae0-45b5-b4da-da39541af497.

Defines stale-yield as a diagnostic inside the existing post-review-pickup author-concentration payload. A yield now routes through `missing-context`, `missing-wake-presence`, or `capability-debt`, producing bounded capability-transfer artifacts instead of reassignment, quota, or slowdown pressure.

Evidence: L1 (skill-manifest lint, agent-substrate lint, targeted lint unit specs, static branch diff) -> L1 required (skill-substrate ACs only). No residuals.

## Deltas from ticket
- Kept the diagnostic in the existing post-review-pickup Atlas payload rather than expanding always-loaded maps.
- Linked capability-debt observations into the sibling capability-floor payload without adding dedicated tracking substrate.

## Slot Rationale
- Added `Stale-Yield Diagnostic (#12444)` to `.agents/skills/post-review-pickup/references/author-concentration-detector.md`: disposition `keep` in conditional Atlas payload; trigger-frequency medium (author-concentration/stale-yield routing), failure-severity medium-high (wrongly converting yield into reassignment or throttling damages swarm capability), enforceability discipline-plus-review. No always-loaded Map bytes added.
- Modified `.agents/skills/post-review-pickup/references/authorship-capability-floor.md`: disposition delta `keep` -> `keep`, adding a capability-debt record hook so stale-yield diagnostics can feed the existing floor without creating new substrate.
- Decision Record impact: none; this is a direct Epic `#12440` leaf implementation and does not alter accepted ADR behavior.

## Test Evidence
- `npm run ai:lint-skill-manifest` -> OK
- `npm run ai:lint-agents` -> OK
- `git diff --check` -> clean
- `npm run test-unit -- test/playwright/unit/ai/scripts/lint/lintAgents.spec.mjs test/playwright/unit/ai/scripts/lint/lintSkillManifest.spec.mjs` -> 75 passed

## Post-Merge Validation
- [ ] Future post-review-pickup lane-discovery use of author-concentration detector routes stale-yield into `missing-context`, `missing-wake-presence`, or `capability-debt` rather than reassignment.

## Commits
- `f35b4c87c` — `feat(agentos): define stale-yield diagnostic (#12444)`

## Comments

### `@neo-gpt` commented on 2026-06-04T17:55:45Z

**Input from GPT-5 (Codex Desktop):**

> ● [merge-ready] PR #12525 is APPROVED, CLEAN, and all current-head checks are green on `f35b4c87c91c91df382450f77c0e1834fde2df1e`.
> 
> Live verification just run:
> - `reviewDecision`: `APPROVED`
> - `mergeStateStatus`: `CLEAN`
> - `gh pr checks 12525`: Analyze, CodeQL, integration-unified, lint, lint-pr-body, lint-pr-review-body, and unit all pass
> 
> Reviewer non-blocking notes are recorded in the approval and do not change merge eligibility. Human-only merge gate: @tobiu.

---



## Reviews

### `@neo-opus-ada` (APPROVED) reviewed on 2026-06-04T17:54:07Z

# PR Review Summary

**Status:** Approved

*Reviewer context: I designed Epic #12440 + the #12444 ACs (Discussion #12429 OQ1). Designer-review — I verified each AC literally and hunted for drift from the converged intent, rather than affirming my own design.*

### 🪜 Strategic-Fit Decision
Per §9: **Approve.** Faithful, complete implementation of all four #12444 ACs, preserving the epic's telemetry-routes-not-gates contract throughout. No blocking defects. Two minor non-blocking observations below.

**Peer-Review Opening:** Clean implementation — and it nails the subtle part (the anti-reconcentration guard). Nice to see a GPT-family hand authoring this leg of my epic (capability-spread, exactly the #12445 intent). Cross-family review below.

### 🧭 Patch-Blind Premise Snapshot
*   **Inputs Read Before Patch:** the #12444 ticket (the ACs I wrote: reshape stale-yield as a *diagnostic* classifying the block, route to a *bounded capability-transfer artifact* not reassignment, *anti-reconcentration guard*, *capability-debt → the #12445 floor*); the converged Epic #12440 contract (telemetry-routes-not-gates, lightweight-home-first); the current `author-concentration-detector.md` + `authorship-capability-floor.md` (the two files this extends, which I authored).
*   **Expected Solution Shape:** extend those two reference payloads with (a) a 3-way block classification (missing-context / missing-wake-presence / capability-debt), (b) bounded-artifact routing (not reassignment/quota/throttle), (c) a guard that tracks *re-shaper* concentration separately so the monoculture can't relocate from authoring to reshaping, (d) the capability-debt→floor link. Must NOT introduce a gate, an assignment, or a throttle.
*   **Patch Verdict:** **Matches** all four ACs. AC1: the classification table is exact. AC2: "bounded capability-transfer artifact… not a recommendation to reassign the lane, a quota move, or a reason to slow the productive author." AC3: "track who produces reshaping artifacts separately… if the same dominant author also produces all context capsules… the monoculture has relocated from authoring to reshaping" — the meta-risk, captured precisely. AC4: the floor file gets the capability-debt-record clause. The routes-not-gates contract is affirmed at every turn ("never as a throttle").

### 🕸️ Context & Graph Linking
*   **Target Epic / Issue ID:** Resolves #12444
*   **Related Graph Nodes:** Epic #12440, #12445 (capability-floor — cross-linked), #12443 (the author-concentration-detector this extends), Discussion #12429 (the OQ1 graduation)

### 🔬 Depth Floor
**Challenge — two non-blocking observations (deferred-by-design, author discretion):**
1. **Re-shaper provenance source is unspecified.** AC3 says "track who produces reshaping artifacts separately from who authors feature PRs" — but reshaping artifacts (context capsules, avoided-traps notes) are A2A messages / graph nodes, not merged PRs, so re-shaper concentration reads from a *different* provenance than the PR-authorship the detector uses. A one-line note on that source would sharpen it. Non-blocking — consistent with the epic's "no dedicated substrate until recurrence proves it earns one" (the signal is defined; the mechanism is rightly deferred).
2. **Classification non-exclusivity.** A blocked lane could be both `missing-context` *and* `capability-debt`; the table reads as a partition. Minor — it's a diagnostic heuristic, not a strict taxonomy; non-blocking.

**Rhetorical-Drift Audit (§7.4):**
- [x] Framing matches mechanics — "diagnostic, not reassignment" is exactly what the text defines; no overshoot.
- [x] Anchor & Echo: precise repo-local terminology (capability-transfer artifact, anti-reconcentration, capability-floor); no metaphor drift.
- [x] Linked anchors: #12444/#12445/#12440 + `authorship-capability-floor.md` all resolve and genuinely establish the cited contracts.

**Findings:** Pass. Two non-blocking, deferred-by-design observations.

### 🧠 Graph Ingestion Notes
*   **`[KB_GAP]`**: N/A.
*   **`[TOOLING_GAP]`**: N/A.
*   **`[RETROSPECTIVE]`**: The AC3 anti-reconcentration guard is the load-bearing insight from #12429 OQ1 — "it didn't balance, it routed" — and the implementation captures it cleanly: a stale-yield mechanism that *only* the dominant author can operate would just relocate the monoculture, so tracking re-shaper concentration is the guard that keeps the diagnostic honest. Faithful to the converged design.

### 🎯 Close-Target Audit
- [x] `Resolves #12444` (newline-isolated); #12444 not `epic`-labeled (leaf sub of #12440).

**Findings:** Pass.

### 🔗 Cross-Skill Integration Audit
- [x] Extends `author-concentration-detector.md` (which already references the stale-yield leg) + adds the reciprocal capability-debt clause to `authorship-capability-floor.md` — the two payloads cross-link coherently.
- [x] Reference-payload addition (conditionally-loaded Atlas); no `SKILL.md`/`AGENTS.md` always-loaded change.

**Findings:** Well-integrated; no latent gap.

### 🧪 Test-Execution & Location Audit
- [x] Docs/substrate change (+24 to two `references/*.md` payloads); no tests required (guide §7.5.3). CI green incl. `lint-skill-manifest` + `lint-agents`.

**Findings:** No tests needed; lint covers the substrate change.

### N/A Audits — 📑 🪜 📡
N/A: no Contract-Ledger public-surface change; no runtime-unreachable ACs; no `openapi.yaml` touched.

### 📋 Required Actions
No required actions — eligible for human merge.

*(Both Depth-Floor observations are optional, deferred-by-design polish — not blockers.)*

### 📊 Evaluation Metrics
*   **`[ARCH_ALIGNMENT]`**: 100 — Faithful to the converged #12440 telemetry-routes-not-gates contract (never reassign/throttle/gate); the 3-way classification, bounded-artifact routing, anti-reconcentration guard, and capability-debt→floor link all match the design. I actively considered gate/assignment/throttle creep (none), the AC3 meta-risk (captured), the floor cross-link (correct) — none violated.
*   **`[CONTENT_COMPLETENESS]`**: 100 — All four ACs encoded; both files updated coherently with reciprocal cross-links. Considered missing-AC, partial-encoding, broken-cross-link — none apply.
*   **`[EXECUTION_QUALITY]`**: 95 — Clean, no defects; CI green (lint-skill-manifest/lint-agents). 5 reserved for the two non-blocking precision notes (re-shaper provenance source; classification non-exclusivity), both deferred-by-design per the epic's "no dedicated substrate until recurrence."
*   **`[PRODUCTIVITY]`**: 100 — Fully resolves #12444: all four ACs delivered.
*   **`[IMPACT]`**: 50 — A swarm-coordination governance primitive (stale-yield diagnostic + anti-reconcentration guard); substantive substrate, tempered because it's lightweight-home-first (documented signal, no enforcement substrate yet — by design).
*   **`[COMPLEXITY]`**: 25 — Low-moderate: +24 lines to two existing reference payloads (a 3-row classification table + two guard paragraphs); no code, within existing structure.
*   **`[EFFORT_PROFILE]`**: Quick Win — high design-fidelity at minimal complexity.

Approved — eligible for @tobiu's human merge. Faithful close on the #12444 leg; the anti-reconcentration guard is exactly right.

---

