LearnNewsExamplesServices
Frontmatter
id13535
titleCompress post-review-pickup liveness workflow
stateClosed
labels
documentationenhancementaiarchitecturemodel-experience
assigneesneo-gpt
createdAtJun 19, 2026, 11:11 AM
updatedAtJun 19, 2026, 2:19 PM
githubUrlhttps://github.com/neomjs/neo/issues/13535
authorneo-gpt
commentsCount1
parentIssue10757
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 19, 2026, 2:19 PM

Compress post-review-pickup liveness workflow

Closed v13.1.0/archive-v13-1-0-chunk-4 documentationenhancementaiarchitecturemodel-experience
neo-gpt
neo-gpt commented on Jun 19, 2026, 11:11 AM

Context

This ticket exists because recent skill-work tried to repair valid Agent OS liveness friction by adding more prose to already-hot skill payloads.

Live evidence from this session:

  • PR #13530 was closed unmerged after the operator challenged its additive skill-work shape. Its diff added 30 lines and removed 1 line across .agents/skills/post-review-pickup/** and .agents/skills/ticket-intake/**.
  • node ./ai/scripts/lint/lint-skill-manifest.mjs --report-sizes --top 15 reports files=103 bytes=617311 lines=7353 for skill Markdown.
  • The hot workflow payloads are already large:
    • .agents/skills/pr-review/references/pr-review-guide.md = 50,230 bytes
    • .agents/skills/pull-request/references/pull-request-workflow.md = 34,096 bytes
    • .agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md = 25,000 bytes
    • .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md = 23,131 bytes

The smallest-context active peer still pays this substrate cost most sharply. Adding more "BOOKS" makes GPT/Codex lifecycle work less reliable, not more reliable.

Release classification: post-release hardening / Agent OS stability; boardless.

The Problem

The liveness problems behind #13523, #13529, and #13530 are real: agents should not silently idle out, duplicate stale work, or pile more author PRs onto a scarce review bottleneck. The failed shape is encoding each symptom as another local paragraph inside hot workflow payloads.

That creates a recurring negative loop:

  1. A workflow miss happens.
  2. We add another instruction paragraph.
  3. The workflow becomes heavier to load.
  4. Smaller-context agents lose more working room.
  5. Lifecycle completion gets harder, so more workflow misses happen.

This ticket is for the inverse move: compress the hot post-review-pickup liveness workflow and preserve the contracts through clearer consolidation, not accretion.

The Architectural Reality

The relevant substrate is .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md.

That file is a hot lifecycle payload. It repeats related concepts across heartbeat handling, reviewer handoff, lane-state:, lifecycle boundaries, authoring lanes, externally falsifiable terminals, broadcast-suppressed fallback, and examples.

The create-skill guide already states the governing rule: workflow files are maps, and edge-case sections should compress to one-line triggers or move only when the total substrate actually gets smaller. It also says to measure bloat against the smallest-context peer.

The Fix

Compress the post-review-pickup workflow by merging duplicated terminal/liveness wording and collapsing symptom-specific additions into existing general routing rules.

The implementation should:

  • Keep SKILL.md unchanged unless a one-line trigger correction is strictly required.
  • Prefer editing the existing workflow over adding new files.
  • Avoid "net-reduce by relocation" where the same text just moves into a sibling payload.
  • Preserve the actual liveness contracts from recent work:
    • Heartbeat/watchdog wakes run the lifecycle cycle.
    • Every lifecycle boundary emits an explicit lane-state:.
    • Valid terminals remain externally falsifiable.
    • Awareness wakes do not manufacture duplicate work when live state is already handled.
    • Reviewer scarcity routes toward coordination instead of reflexively adding another implementation PR.
    • Broadcast suppression is not a terminal.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
.agents/skills/post-review-pickup/references/post-review-pickup-workflow.md create-skill Progressive Disclosure guide; #10757 cognitive-load audit Net-reduce the hot workflow payload while preserving liveness contracts If compression would weaken semantics, stop and post a reviewable rationale instead of deleting Same workflow file; no new public docs required wc -c before/after and lint-skill-manifest --report-sizes --top 15
Skill Markdown aggregate #13533 guard intent Total .agents/skills/**/*.md delta must be negative for this PR No additive skill Markdown PR without larger same-PR deletion PR body byte table git diff --stat, wc -c, skill manifest lint

Decision Record impact

Aligned with ADR 0008 (SKILL.md anatomy / Progressive Disclosure) and the recursive workflow-map guidance in .agents/skills/create-skill/references/skill-authoring-guide.md.

Acceptance Criteria

  • Record before/after byte counts for the touched skill Markdown files.
  • The PR has a net-negative .agents/skills/**/*.md byte delta.
  • .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md is reduced by at least the additive footprint PR #13530 attempted to add, unless the PR body documents a stronger measured reduction elsewhere in the same skill payload.
  • No new skill Markdown file is added unless the aggregate skill Markdown delta remains negative and the PR explains why the new file is a true progressive-disclosure boundary rather than relocation.
  • Existing liveness contracts listed in The Fix remain present and grep-verifiable.
  • node ./ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev passes.

Out of Scope

  • Reopening or reworking PR #13530.
  • Changing the lifecycle policy itself.
  • Adding a new skill or another workflow book.
  • Compressing pr-review, pull-request, or ideation-sandbox; those are separate candidates after this first focused reduction.

Avoided Traps

  • Symptom paragraph per incident: rejected because it is the bloat loop this ticket exists to break.
  • Relocation-only extraction: rejected because smaller-context agents still pay the same aggregate substrate cost once the workflow is invoked.
  • Weakening liveness to save bytes: rejected; the point is consolidation, not behavioral retreat.

Related

Handoff Retrieval Hints

Search patterns:

  • skill bloat workflow markdown growth PR 13530 post-review-pickup
  • smallest-context peer 258k skill payload bloat
  • post-review-pickup externally falsifiable terminal lane-state heartbeat