Skip to content

chore: sync agent standards: key code interfaces with end-to-end usage, example-first issues, interface and efficiency review - #714

Merged
zzylol merged 9 commits into
mainfrom
chore/sync-agent-standards-pr-interfaces
Oct 15, 2026
Merged

zzylol merged 9 commits into
mainfrom
chore/sync-agent-standards-pr-interfaces

Conversation

@zzylol

@zzylol zzylol commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Why

Reviewers need to see a change's API impact without reading the whole diff. PR descriptions currently explain why, what, and how, but they don't list which public interfaces were added, changed, or removed.

What

Every ASAPPlanner pull-request description gains a Key code interfaces added / modified section, placed right after How.

How

  • skills/asap-pr-authoring/SKILL.md: a new step 4 that says what to list (types, functions, methods, traits, fields, enum variants, module paths, CLI flags, wire/file/document formats) and how (a short signature excerpt with its crate or module path, copied from the diff, plus one line on what changed). It is "None" when nothing changes. Later steps are renumbered.
  • templates/github/PULL_REQUEST_TEMPLATE/projectasap.md: the matching section after How.
  • AGENTS.md: the policy bullet on PR descriptions names the section.

Also synced (later commits): the interfaces-section layout (#537 style with per-item explanations), the new asap-issue-authoring skill (issues start from a concrete example of the problem), and an ## Example section in every issue template.

Also synced (latest commit), two rules for the interfaces section that came out of the #715 review:

  • Usage is end to end. It starts from what the user writes (the workload entry or query with its requirements and data facts, or the CLI or devtool call). It shows which stage calls the PR's interfaces and with what values. It ends at what the user gets back: the selected plan, sizes, cost, and the accepted or rejected lines. Every variable is commented where it is defined, saying what it holds and what it is used for later. The numbers are checked by running the example.
  • No collapsed members. A type that is shown lists each of its variants or fields with a one-line /// and a // unchanged / // new / // was X / // removed marker, never // .... The type itself gets a /// saying whether it stays or is removed.

references/key-code-interfaces-example.md is now a verified excerpt from #715 that follows both rules.

Code review (asap-code-review) gains a required step, following a user request: for the interfaces in the PR, the reviewer asks whether they can be simpler or easier for a human to read, and gives the author choices. The checklist covers:

  • names that read without their comments, with builder and method names matching field names;
  • merged near-duplicate types or functions;
  • no reserved or unused fields;
  • items instead of indexes into another list;
  • integer counts;
  • display strings kept out of planner structs;
  • planner-internal helpers kept off public types;
  • one function instead of a general one plus a special case.

The findings go in an "Interface simplifications (author's choice)" section. Each option gives the current signature, the proposed one and the trade-off, and the author picks.

A second required review dimension is Efficiency: the performance complexity of the new code paths. The reviewer checks:

  • quadratic or exponential loops, subset enumeration, recomputation inside loops, needless clones of DAGs or roots, and eager enumeration that could be lazy or capped;
  • allocations on hot paths;
  • how the cost scales with the number of queries, candidates and series.

Each finding gives the complexity, an input size where it hurts, and a cheaper alternative, with choices when there is a trade-off. The review output has three sections: Findings, "Interface simplifications (author's choice)", and "Efficiency". The skill has worked examples from #712, #707 and #717.

Key code interfaces added / modified

None (documentation and templates only).

Before this PR

PR descriptions had no dedicated place for interface changes, so reviewers had to find them in the diff.

After this PR

Every PR description lists its public interface changes, or "None". This repository now carries the updated skill, template and policy (synced from ProjectASAP/agent-standards#9).

Verification

Documentation-only change. The rendered Markdown of every changed file was reviewed. The key-code-interfaces example's Usage was run at ASAPPlanner #715's merge commit (1b5d9577), and its numbers come from that run.

Limitations and follow-up

If agent-standards#9 changes during its review, re-sync the changed files.

Brings ProjectASAP/agent-standards#9 into this repository: the
asap-pr-authoring skill, the pull-request template and AGENTS.md now ask every PR
description for a Key code interfaces added / modified section.
@zzylol zzylol added the documentation Improvements or additions to documentation label Oct 15, 2026
@zzylol zzylol changed the title chore: sync the agent standards' key-code-interfaces PR section chore: sync agent standards: key code interfaces in PRs, example-first issues Oct 15, 2026
@zzylol zzylol changed the title chore: sync agent standards: key code interfaces in PRs, example-first issues chore: sync agent standards: key code interfaces with end-to-end usage, example-first issues, interface and efficiency review Oct 15, 2026
@zzylol
zzylol merged commit 818a48d into main Oct 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant