mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-03 23:37:53 +01:00
docs: say render prints one line on public repositories (GST-1160)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
d468ef847b
commit
a499bf80d6
3 files changed
+5
-3
No files matched your search
@@ -60,7 +60,8 @@ gstack-approvals render # the ## Approvals se
|
||||
Drive folder. `gstack-approvals path` prints the chosen mirror and `READ_ALSO:` roots, which reads still
|
||||
merge. `GSTACK_APPROVALS_MIRROR=0` turns the mirror off, and `gstack-approvals sync` restores the local copy.
|
||||
- **The durable copies** are the `## Approvals` sections in the thread's report and in the PR body. Paste
|
||||
`render` output into them; never type rows by hand.
|
||||
`render` output into them; never type rows by hand. On a public repository (or unknown visibility)
|
||||
`render` prints only `Approved: yes|no (record <id>)`; `gstack-approvals list` shows the full record.
|
||||
- **Secret-free.** Every field passes gstack's secret scanner before it is written. A hit refuses the row
|
||||
(`APPROVAL_RECORD_SECRET`, which names the field and rule, never the text). Write `[redacted]` in place of
|
||||
the secret, or ask the person to restate.
|
||||
|
||||
+2
-1
@@ -369,7 +369,8 @@ adopting this starts from
|
||||
|
||||
**A. The record.** Every lane keeps an `## Approvals` table in its report and PR body,
|
||||
rendered by `gstack-approvals render`: date, what was asked, the owner's exact words, who
|
||||
relayed them, what the answer covers, what is pending. Standing approvals are cited with
|
||||
relayed them, what the answer covers, what is pending. On a public repository (or unknown
|
||||
visibility) `render` prints only `Approved: yes|no (record <id>)` for the PR body. Standing approvals are cited with
|
||||
their rule; a fresh ask is always needed for a product or behaviour decision, spend over
|
||||
a cap, anything published outside the repository, a threshold, budget, trial-count or
|
||||
case-kind change, closing a contribution without landing it, and anything destructive.
|
||||
|
||||
+1
-1
@@ -755,7 +755,7 @@ A lot of branches die when the interesting work is done and only the boring rele
|
||||
1. **`## What changed`**: one to three captioned before/after images from `gstack-pr-shots` or a UI screenshot, highest-signal first, with a collapsed text version under each.
|
||||
2. **`## Why`**: two or three sentences. The first states the problem in the person's words (the issue, the message, the failing run), then the cause and the user-visible effect.
|
||||
3. **`## Blast radius`**: what else the change touches and the one fact that makes that safe, with the evidence-ladder rung that fact reached (a test that exercises the shared path, a grep over every caller, a measured run). A change to a shared helper, a generated file, a selection list or a policy default always has one; a leaf fix says so in one line.
|
||||
4. **`## Approvals`**: the table from `gstack-approvals render`, verbatim.
|
||||
4. **`## Approvals`**: the output of `gstack-approvals render`, verbatim. On a private repository that is the table; on a public repository, or one whose visibility gh cannot read, it is only `Approved: yes|no (record <id>)`, because GitHub keeps every earlier version of a PR description.
|
||||
|
||||
Before the body is composed, `gstack-prose-lint` reads the Why, Summary and Blast radius drafts (`--sections 'Why,Summary,Blast radius' --gate`) and the CHANGELOG entry (`--base origin/<base> --gate`), and a `PROSE_LINT_FOUND` line names the sentence to rewrite; the rest of the body is advisory. The Captain's merge-ask template (`captain/templates/merge-ask.md`) carries the same four sections, so a READY report and its PR say the same thing.
|
||||
|
||||
|
||||
Reference in new issue
Block a user