LearnNewsExamplesServices
Frontmatter
id13538
titleCompress pull-request workflow payload
stateClosed
labels
documentationenhancementaiarchitecturemodel-experience
assigneesneo-gpt
createdAtJun 19, 2026, 11:27 AM
updatedAtJun 19, 2026, 1:57 PM
githubUrlhttps://github.com/neomjs/neo/issues/13538
authorneo-gpt
commentsCount1
parentIssue10757
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 19, 2026, 1:57 PM

Compress pull-request workflow payload

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

Context

This is the second focused reduction target after #13535 and #13537.

Current measured evidence:

  • node ./ai/scripts/lint/lint-skill-manifest.mjs --report-sizes --top 20 ranks .agents/skills/pull-request/references/pull-request-workflow.md as a top remaining hotspot: 34,096 bytes, 387 lines, 148 signals, disposition compress-to-trigger.
  • .agents/skills/skills.manifest.json still carries a temporary migration-period per-file budget override for pull-request (perFilePayloadBudget: 38000).
  • Discussion #11598 recorded pull-request-workflow.md at 36,041 bytes as part of the skill-payload accretion loop.
  • The pull-request workflow is hot because every authored PR must load it; bloat here directly taxes delivery and review routing.

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

The Problem

The pull-request workflow has accumulated branch discipline, commit hygiene, PR body, cross-family review, A2A routing, evidence declaration, authorship, and edge-case governance into one large map.

Those contracts matter, but their current shape is too expensive. The workflow also contains multiple edge-case blocks that should either be compact pointers to existing sibling payloads or compressed into smaller canonical rules. Continuing to add paragraphs to this file makes every PR handoff more expensive and increases the chance that smaller-context agents cannot complete a lifecycle without compaction.

The Architectural Reality

Primary target:

  • .agents/skills/pull-request/references/pull-request-workflow.md

Adjacent surfaces that must be checked but should not grow by default:

  • .agents/skills/pull-request/references/review-response-protocol.md
  • .agents/skills/pull-request/references/*
  • .agents/skills/skills.manifest.json

The pull-request skill is already a map with several sibling payloads. The corrective move is not to add a new book; it is to compress the hot workflow and use existing sibling payloads only when they reduce total invocation load.

The Fix

Perform a focused compression pass on pull-request-workflow.md.

Preferred direction:

  • Merge duplicated PR-open / handoff / A2A language.
  • Compress historical rationale into short source anchors.
  • Keep the required PR-body gates and cross-family review mandate grep-visible.
  • Avoid adding new sibling Markdown unless aggregate .agents/skills/pull-request/**/*.md bytes go down.
  • If the file drops enough, lower the temporary pull-request per-file manifest override in the same PR or name the follow-up target.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
.agents/skills/pull-request/references/pull-request-workflow.md create-skill recursive Map/Atlas guidance; #10757 cognitive-load audit Reduce the hot PR-handoff payload while preserving required PR gates Stop if compression weakens merge-safety or provenance contracts Same workflow; PR body slot-rationale before/after wc -c, lint-skill-manifest --report-sizes --top 20, grep for retained anchors
.agents/skills/pull-request/references/** Existing sibling-payload model Keep aggregate pull-request Markdown negative; no relocation-only split Leave sibling payloads untouched if main-workflow compression is enough Existing refs aggregate `find .agents/skills/pull-request -name '*.md' -print0
.agents/skills/skills.manifest.json Skill Manifest Lint Lower temporary pull-request per-file override if the file safely fits a lower threshold Document follow-up target if scope would be too broad manifest lint-skill-manifest

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 .agents/skills/pull-request/references/pull-request-workflow.md.
  • Record before/after aggregate byte counts for .agents/skills/pull-request/**/*.md.
  • The PR has a net-negative .agents/skills/pull-request/**/*.md byte delta.
  • No new pull-request Markdown file is added unless aggregate pull-request Markdown remains negative and the PR explains why the split reduces invocation load.
  • Existing required PR contracts remain grep-verifiable: substrate-mutation pre-flight, ticket assignment gate, branch-before-code discipline, branch freshness, commit subject ticket ID, explicit --base dev, self-identification, Resolves-only PR body hygiene, Evidence declaration, cross-family mandate, A2A review routing, human-only merge, and authorship respect.
  • node ./ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev passes.
  • If the resulting workflow fits below a lower per-file threshold, either lower the manifest override in the same PR or document the follow-up threshold target.

Out of Scope

  • Changing PR policy semantics.
  • Adding another pull-request workflow book.
  • Compressing pr-review or ideation-sandbox; those are separate hotspots.
  • Rewriting PR body lint or GitHub workflow APIs.

Avoided Traps

  • Relocation-only split: rejected because pull-request invocation would still pay the same aggregate cost.
  • Weakening merge gates: rejected; compression must preserve the safety contracts.
  • Adding more examples: rejected unless larger same-PR deletions make the aggregate negative.

Related

Handoff Retrieval Hints

Search patterns:

  • pull-request-workflow skill bloat compression perFilePayloadBudget 38000
  • skill payloads accrete pull-request-workflow 36041
  • pull-request workflow net-negative map atlas