Skip to content

Update codegen files - #123

Merged
ptr727-codegen[bot] merged 1 commit into
developfrom
codegen-develop
Jun 8, 2026
Merged

Update codegen files#123
ptr727-codegen[bot] merged 1 commit into
developfrom
codegen-develop

Conversation

@ptr727-codegen

@ptr727-codegen ptr727-codegen Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

This PR updates the codegen files.

@ptr727-codegen
ptr727-codegen Bot enabled auto-merge (squash) June 8, 2026 05:46
@ptr727-codegen
ptr727-codegen Bot merged commit 97233ed into develop Jun 8, 2026
7 checks passed
ptr727 added a commit that referenced this pull request Jun 8, 2026
Promotes `develop` to `main`.

- **#124** - Propagate template contract to derived repos: shared
`.markdownlint-cli2.jsonc` (#116), explicit verbatim-copy contract +
line-ending mandate + upstream-defect-reporting contract (#117),
brownfield `required_signatures` migration (#111), and known-working
actionlint/markdownlint Docker linter guidance. Review-loop feedback
applied (modern re-sign, maintainer-only force-push).
- **#123 / #120 / #119** - Update codegen files.
ptr727 added a commit that referenced this pull request Jul 9, 2026
Adds a short **Communicating with the User** section to AGENTS.md with
two agent<->user interaction rules:

1. **Reference every pull request as a clickable link** — a markdown
link to the PR (`[#123](.../pull/123)`), never a bare `#123`; same for
issues and commits.
2. **Ask for input as a numbered list** — so the user can reply per
number; two or more questions are always numbered.

Additive only; no existing wording changed. Placed as a new H2 after `PR
Review Etiquette`, before `Workflow YAML Conventions`. CRLF preserved.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727 added a commit that referenced this pull request Aug 5, 2026
`GOVERNANCE.md` "Communicating with the User" governed the *form* of a
question (a numbered list) and said nothing about *where* it goes. So a
decision only the maintainer can make could satisfy the section while
sitting in the last paragraph of a summary, which is where it dies: a
summary reads as a report of finished work, the one line still waiting
on the user is the easiest in it to skim past, and the item ends up
owned by neither side while each believes the other has it.

## What lands

**One bullet in "Communicating with the User".** Work blocked on the
user is raised as a **direct interactive prompt with selectable
options**, at the point the work stops, never as prose in a summary. The
blocked item is the message rather than a closing remark on a message
about something else. It **narrows rather than replaces** the
numbered-list bullet above it: the list stays the form wherever the
interface offers no prompt mechanism, so an agent on a plain-text
surface is still covered.

**A second bullet-level clause: the options offered are the actions
themselves.** The first draft required the prompt and left its options
unspecified, which a prompt offering only ways to wait satisfies while
clearing nothing. The option that unblocks the work now names the action
it authorizes, so selecting it is the go-ahead, and where the agent may
not perform that action itself the option says who does.

**A third change, to the clickable-link bullet above them: the form
follows the surface.** That rule named one syntax, and a markdown link
is clickable only where markdown renders. An interactive prompt links
neither the markdown nor a bare URL, so following the rule as written
puts an unclickable string in front of the reader, which is the outcome
it exists to prevent. Its ban on a bare `#123` is now scoped to a
surface that renders markdown, and where none does, the reference is the
bare `#123` and the clickable link goes in the accompanying message.
Found by using the new prompt rule and watching the link fail in it.

**The closing-keyword rule moves from "Release Model" to "Branching
Model", unchanged.** That rule was queued for restatement in this PR,
and it was already law: closing keywords go on the `develop -> main`
promotion PR, because GitHub fires them only on a merge into the default
branch, with a hand-close citing the squash SHA as the fallback. Nothing
is added for it, since a second statement of a rule is the failure mode
rather than the fix. What was wrong was its address. It turns on
develop-versus-default-branch mechanics that "Branching Model" states
and "Release Model" does not, and an agent writing a feature PR body
reaches for the branch section, so it now follows the
promotion-execution traps beside the other `develop -> main` mechanics.
The move commit carries the line byte-identical, so it reads as a move
rather than as a rewrite. A later commit then formats its branch names
as code, matching the section it now sits in, which is a change to the
rule's text and is deliberately kept out of the move commit.

## For the reviewer

Both sections are `verbatim` fidelity in `spec/files.json`, so every
fleet repo carries the older copies until re-vendored, and an audit run
against a downstream repo before that reports both sections as
divergent.

A tree-wide grep for the moved rule's distinctive phrasing
(`issue-closing`, `closing keyword`, `Fixes #N`) finds no other site
restating or cross-referencing it, so no anchor or citation goes stale
with the move.

## Verification

`prose_lint` (both CI invocations), `repo_gate.py`, `spec/validate.py`,
`test_prose_lint.py`, markdownlint-cli2, and editorconfig-checker all
clean after each commit. The added line carries the file's CRLF endings.

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

0 participants