Skip to content

feat(doris-pr-description): show the problem with a concrete example - #17

Merged
morningman merged 1 commit into
apache:mainfrom
morningman:pr-description-concrete-example
Nov 14, 2026
Merged

morningman merged 1 commit into
apache:mainfrom
morningman:pr-description-concrete-example

Conversation

@morningman

Copy link
Copy Markdown
Contributor

Why

A Problem Summary that describes the problem only in words leaves reviewers who don't know the module to rebuild the case in their heads before they get the point. One small, real example does that for them: the statement, and what it gives before and after the change. In apache/doris#70366, for instance, "a credential after or inside supplementary characters stays partly or fully in clear text" lands much faster next to a CREATE CATALOG statement whose audit-log text keeps "secret" right after *XXX.

What changes

  • references/write.md: Problem Summary ends with one simple, concrete example whenever the problem fits in a few lines: the smallest case, with what it gives before and after the change. For a bug, that is the triggering statement and its wrong result, error, or log line; for a new or changed behavior, the statement or setting as users write it; for a slowdown, the query and its time. SQL goes in a fenced block and a before-and-after comparison in a table. Every output is copied from a run, cutting only what both sides share. An example that needs more than a few lines goes in the issue, with a pointer from Problem Summary; when nothing can be shown, as in most refactors, there is none.
  • references/issue.md: an issue's Current behavior shows the same kind of example, and Expected behavior is stated on it.
  • references/development.md: development records the example and its outputs in the handoff draft, while the code without the change is still at hand. develop-with-evidence reads only this file and the type file, so the rule is stated here as well.
  • references/types/bugfix.md: Problem Summary ends with the shortest reproduction, and Frequency may refer to it instead of repeating it. references/types/enhancement.md: Before and after doesn't repeat an example that Problem Summary already shows.
  • references/examples/bugfix.md: the worked example now has one.
  • scripts/check_pr.py: a table in Problem Summary no longer counts toward its 150-word warning, as code blocks already didn't. Without this, the example in [fix](nereids) Fix SQL masking and view rewrites after supplementary characters doris#70366 set off Problem Summary: 166 words.

Notes for reviewers

  • The other worked examples are unchanged. A Feature's Usage field already holds a complete example, and Refactor, Revert, and Release/Dependency PRs often have nothing to show, which the rule allows.

Testing

  • python3 skills/doris-pr-description/scripts/check_pr.py --self-test → Self-test: 11 examples in 10 files, 0 problems.
  • The checker before and after this change, on the description of [fix](nereids) Fix SQL masking and view rewrites after supplementary characters doris#70366 with its new example (--diff over that PR's commit): before, Problem Summary: 166 words plus a 765-word prose warning for the whole description; after, only the prose warning, which the description already had (737 words) without the example.

🤖 Generated with Claude Code

Reviewers who don't know the module get the point of a PR from one real
case faster than from a paragraph about it. Problem Summary now ends
with one simple, concrete example whenever the problem fits in a few
lines: the smallest statement that triggers it and what it gives before
and after the change, with SQL in a fenced block and the comparison in
a table. Every output is copied from a run; an example that needs more
than a few lines goes in the issue, and Problem Summary points to it.

The rule is in write.md, with the matching parts of issue.md (Current
and Expected behavior), development.md (development records the example
while the code without the change is at hand; develop-with-evidence
reads only this file and the type file), the Bugfix type (Problem
Summary and Frequency), the Enhancement type (Before and after does not
repeat the example), and the Bugfix example.

check_pr.py no longer counts a table in Problem Summary toward its
150-word warning, as it already left out code blocks; otherwise an
example table sets the warning off.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@morningman
morningman merged commit c353d71 into apache:main Nov 14, 2026
hello-stephen pushed a commit to apache/doris that referenced this pull request Nov 14, 2026
…0582)

### Background

`doris-skills` is a submodule that points at apache/doris-skills, the
Apache Doris repository of agent skills: instructions and scripts that
coding agents such as Claude Code and Codex load for Doris tasks.
Nothing builds from it; it is checked out on request (`git submodule
update --init doris-skills`) and by the CI jobs that clone every
submodule. This repository pins `c0aca2f` (apache/doris-skills#2, June),
which has three skills.

### What problem does this PR solve?

Issue Number: None
Related PR: #64240 (the previous update of this pointer), #70422 (moves
the same pointer to `0b36dcb` and adds the `AGENTS.md` guidance;
conflicts with this PR on that line), apache/doris-skills#17 (the commit
this PR pins)
PR Type: Build/CI/Chore

Problem Summary:

Since `c0aca2f`, doris-skills has merged 13 PRs that add four skills,
for debugging, local PR review, development, and PR descriptions, and a
checkout of this repository still gets none of them. This PR moves the
pointer to `c353d71`, the tip of doris-skills `main`, and changes
nothing else. Builds, tests, and Doris users see no change.

| | Skills in `doris-skills/skills/` |
|---|---|
| master (`c0aca2f`) | `doris-architecture-advisor`,
`doris-best-practices`, `doris-profile-reader` |
| this PR (`c353d71`) | `develop-with-evidence`,
`doris-architecture-advisor`, `doris-best-practices`, `doris-debug`,
`doris-pr-description`, `doris-profile-reader`, `doris-repo-review` |

### Details

- **Affected:** Only the `doris-skills` pointer. The CI jobs that clone
every submodule (`submodules: recursive` in `be-ut-mac.yml`,
`build-extension.yml`, `build-thirdparty.yml`, `build-ui.yml`, and
`checkstyle.yaml`, and `git submodule update --init --recursive --depth
1` in the performance pipeline's `compile.sh`) clone doris-skills at
`c353d71` without reading it; `build.sh` and `run-be-ut.sh` update only
the `contrib/` submodules they name.
- **Developer and release impact:** Developers who check out the
submodule get the seven skills at `c353d71`, about 2.3 MB; existing
checkouts keep their commit until the next `git submodule update`.
Release builds don't change, since no script in this repository reads
`doris-skills`.
- **License and third-party:** None. doris-skills is an Apache-2.0
repository of the ASF, and no file from it is added to this tree.
- **Rollback:** Revert this PR; local submodule checkouts made meanwhile
do no harm.

### Testing

- `git ls-remote https://github.com/apache/doris-skills refs/heads/main`
returns `c353d71bc50d6c0baf1831dec33cbfa0abc64ef2`, the commit this PR
pins: the squash merge of apache/doris-skills#17, not a PR-only commit.
`c0aca2f` is its ancestor.
- A fresh clone of the URL in `.gitmodules`, checked out at `c353d71` as
`git submodule update --init doris-skills` does, holds the seven skills
in the table above.
- `python3 skills/doris-pr-description/scripts/check_pr.py --self-test`
at `c353d71` reports `Self-test: 11 examples in 10 files, 0 problems`.

### Notes for Reviewers

- The pointer moves over 13 commits of apache/doris-skills (#3 to #17),
+10,047 −45 in 114 files, each reviewed and merged there; the three
skills pinned today don't change. In this repository's diff, only the
pin itself needs checking.
- #70422 changes the same line, to `0b36dcb` (apache/doris-skills#16).
Whichever of the two merges second keeps `c353d71`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant