Skip to content

Promote develop to main: agent-comms + supported-platforms + C# test/logging rules - #271

Merged
ptr727 merged 3 commits into
mainfrom
develop
Jul 9, 2026
Merged

Promote develop to main: agent-comms + supported-platforms + C# test/logging rules#271
ptr727 merged 3 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Promotion of develop -> main, batching the docs/governance PRs since the last promotion:

Diff is only AGENTS.md + CODESTYLE.md; no code. spec/validate.py green.

🤖 Generated with Claude Code

ptr727 and others added 3 commits July 9, 2026 14:39
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>
Encodes the last unincorporated piece of the #228 retrospective — **§0,
the cross-platform decision framework** — as a new `## Supported
Development Platforms` section in AGENTS.md (before `## Devcontainer`):

- **Cross-platform by default** — Windows + macOS + Linux, via
WSL2/devcontainer for a consistent Linux toolchain; editing is
cross-platform through the GUI regardless.
- **Narrow only for a hard runtime ceiling** set by dependencies
(decided per repo, before writing dev tooling) — e.g. a Home Assistant
integration is Linux-only because HA Core is POSIX-only. The narrowing
axis is where code *executes* for dev/testing, not where editing
happens.
- **Record a narrowed platform + reason in the repo** so it reads as
deliberate.

Additive only; CRLF preserved. Completes #228's incorporation; the
section→PR mapping will be posted on #228 at close.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…og for libraries (#270)

Two C# rule sharpenings in CODESTYLE.md, both from maintainer
directives.

**Testing Conventions** — was "xUnit with AwesomeAssertions"; now
explicit:
- **xUnit v3 or later** (the `xunit.v3` package, never the legacy v2
`xunit`).
- **AwesomeAssertions** for every assertion; native xUnit asserts
(`Assert.Equal`, `Assert.True`, ...) are not allowed.

**Error Handling and Logging** — clarified that Serilog is the
**application's** concrete backend, and strengthened the library rule:
- A NuGet **library** depends only on
`Microsoft.Extensions.Logging.Abstractions` and exposes an
`ILoggerFactory` seam (settable factory defaulting to
`NullLoggerFactory`, `SetFactory`/`TrySetFactory`); it **never**
references Serilog or a sink.
- The **application** owns the concrete logger and bridges it
(`SerilogLoggerFactory`), injecting it. Reference: `LanguageTags`
(`LogOptions` + `LanguageTagsCreate/LoggerFactory`).

Additive/sharpening only; markdownlint clean; CRLF preserved.

**Fleet audit (backlog to follow):** violators are **Utilities** (xUnit
v2 + native asserts; library ships Serilog) and **AudioCleaner** (xUnit
v2 + native asserts). LanguageTags, PlexCleaner, NxWitness,
PhotoCleaner, MediaTools already comply.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 9, 2026 23:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Promotes develop to main, bringing in the latest governance/documentation updates for agent-user communication conventions, supported platform guidance, and C# testing/logging rules.

Changes:

  • Add AGENTS.md guidance on linking PRs/issues/commits and asking multi-part questions as numbered lists.
  • Add AGENTS.md guidance on default cross-platform support and when/why to narrow it.
  • Update CODESTYLE.md C# guidance to emphasize Microsoft.Extensions.Logging/abstractions for libraries and require xUnit v3 + AwesomeAssertions.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
AGENTS.md Adds new sections for communication conventions and supported development platform guidance.
CODESTYLE.md Tightens .NET guidance for logging (abstractions-first for libraries) and testing (xUnit v3 + AwesomeAssertions).

Comment thread AGENTS.md
Comment thread CODESTYLE.md
@ptr727
ptr727 merged commit a1b14a4 into main Jul 9, 2026
7 checks passed
ptr727 added a commit that referenced this pull request Jul 9, 2026
…y.Instance) (#272)

Two one-line doc tweaks deferred from the #271 promotion review:

- **AGENTS.md** — clickable-PR-link example uses `OWNER/REPO` (no angle
brackets that render oddly) instead of `<owner>/<repo>`.
- **CODESTYLE.md** — the library logger seam defaults to
`NullLoggerFactory.Instance` (the singleton), matching the LanguageTags
`LogOptions` reference.

Docs-only; markdownlint clean; CRLF preserved.

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

Co-authored-by: Claude Opus 4.8 (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.

2 participants