issue-297: Rewrite extensions/grillme/DESIGN.md in STE style and document the style rules #307
No reviewers
Labels
No labels
bug
chore
documentation
enhancement
feature
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
david/pi-extensions-and-skills!307
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/issue-297/rewrite-extensions-grillme-design-md-in-ste-style"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
297: Rewrite extensions/grillme/DESIGN.md in STE style and document the style rules
Closes #297 — 297.
Generated in 8m 39s.
Review findings
I'll start by exploring the repository and the relevant files.Now let me apply the DESIGN.md fixes:Now the drift-guard test. First add a shared whitespace-normalising helper to
ste-rule-checks.ts:All gates pass. Here is the annotated findings document.Review Findings — 297
Summary
Docs-only change:
extensions/grillme/DESIGN.mdis rewritten in STE style and gains a### Response stylesection (all 22 original headings preserved, one added). Gates run: no build step exists, the documentedtsc --noEmitcheck (extensions/grillme) is clean; rootnpm test→ 1468 pass / 1 skip / 0 fail;cd extensions/grillme && node --test→ 466 pass / 0 fail;npm pack --dry-runlists 9 files includingDESIGN.md; no lint configuration or lint script exists in the repo. The rewrite meets the plan's M4 acceptance ("STE style", never "STE compliant"; credit +asd-ste100.orglink present; rule text and credit byte-identical toste-style.ts), but one rewritten sentence reverses the meaning of the original, and a few rewrites dropped disambiguating information.Remediation (this pass): all seven findings are resolved. Restored the conditional at
:133, restored the bounded-phase permission at:21, converted the passive sentence at:17to the imperative, added the pre-reply self-check sentence at:210, replaced the package-dead relative ADR link with the source URL at:214, addedextensions/grillme/ste-docs.test.ts(plus a sharedcollapseWhitespace()helper inste-rule-checks.ts) to pin the committed docs toste-style.tsand forbid a compliance claim, and added the Grill Me STE### Changedbullet +0.4.0bump for M5 (no sibling issue owns it). Re-ran the gates:cd extensions/grillme && node --test→ 472 pass / 0 fail; rootnpm test→ 1474 pass / 1 skip / 0 fail;tsc --noEmit→ clean; the ADR source URL returns HTTP 200;npm pack --dry-runstill ships 9 files withDESIGN.md.Critical
High
prompt.ts,GITHUB_REPO_PERMISSION_GUIDANCE/ "permission/authentication/tool/repo setup gate") plus this same document at DESIGN.md:311 ("A permission, authentication, or missing repo setup can block an approved mutation") both allow a repo/setup or tool gate. The sentence now contradicts the rest of the file and could mislead a future implementer into handling only permission failures. Suggested fix: restore the conditional, e.g. "If pi, a CLI, a platform, or the OS blocks the mutation, treat the cause as a permission, authentication, or setup problem. The assistant then asks for the permission, confirmation, credentials, a repo selection, or a revised plan. It does not bypass the gate."Medium
ste-style.ts(STE_RULE_CATEGORIES/STE_EXEMPTIONS), andDESIGN.mdships in the npm package (package.jsonfiles[]), but nothing pins the two together: no test or check readsDESIGN.md/README.md, so the docs silently drift the moment the module text changes. Suggested fix: extendste-rule-checks.tsand add a small suite (same shape as the penpot "committed docs match renderReadme" test) that assertsDESIGN.mdandREADME.mdeach contain everySTE_RULE_CATEGORIES,STE_EXEMPTIONSandSTE_CREDITstring and contain no compliance claim; or drop the duplication and referenceste-style.tsinstead.Low
STE_SELF_CHECK, "Before you send a reply, read it once…") thatbuildSteStyleBlock()injects, so the document does not describe how the style is enforced (prompt rule + self-check, no hook, no rewriter). Suggested fix: add one sentence after the best-effort paragraph, e.g. "The injected prompt asks the model to read each reply once against these rules before it sends the reply. No hook and no message rewriter enforce the style."[ADR 0001](../../docs/adr/0001-grill-me-ste-response-style.md), escapes the published package:npm pack --dry-runinextensions/grillmeships 9 files (includingDESIGN.md) and nodocs/, and the standalonemajorgilles/pi-grill-merepo does not carrydocs/adr/, so the link is dead for package consumers. Suggested fix: keep linked docs inside the extension (e.g. move/copy the ADR toextensions/grillme/docs/0001-grill-me-ste-response-style.mdand link relatively), or link to the Forgejo source URL instead of a repo-relative path.grill_finish_output_phaseenforces. Suggested fix: "It can use the tools that output production needs. That permission lasts only while the output phase is active."Unreleasedentry per user-visible change with its issue number (e.g. the#217README-completion bullet under### Changed), but nothing in this branch (or the sibling grillme STE docs work) adds an entry for the STE-style documentation rewrite, andextensions/grillme/package.jsonstill reads0.3.0while the plan's M5 expects a changelog entry and a0.4.0bump. Suggested fix: if M5 belongs to this issue, add a### Changedbullet under## [Unreleased]naming the Grill Me STE rewrite and set the extension version to0.4.0; otherwise confirm M5 is owned by a sibling issue and close this one as out of scope.