Skip to content

Record settled design decisions for contributors - #24

Merged
Sekers merged 2 commits into
developfrom
feature/record-design-decisions
Oct 5, 2026
Merged

Sekers merged 2 commits into
developfrom
feature/record-design-decisions

Conversation

@Sekers

@Sekers Sekers commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Summary

Nothing changes for someone using the module. This writes down decisions that are settled but recorded nowhere in the repository, so contributors and AI assistants stop rediscovering or reopening them:

  • AGENTS.md, new Design decisions section: public parameters and output change only with the maintainer's approval; messaging services stay in this repository; what adding a service takes; why generic settings resolve in the core; and the Mg prefix that shows which layer owns a setting.
  • AGENTS.md, Code: why boolean settings have no typed parameters.
  • AGENTS.md, CHANGELOG.md: how to describe a placeholder that never worked, input the documented format never supported, and result values that depend on the service's response.
  • AGENTS.md, new wiki section: what the wiki describes, how a service's page is named, and its formatting conventions.
  • RELEASING.md: why develop doesn't allow GitHub's rebase merge (it drops commit signatures), and how to get a clean history instead. Also, pull requests stay required for main, but the maintainer may commit straight to develop when a test run before merging wouldn't help, such as for documentation.
  • ScriptMessage.psm1: a comment at enum MessagingService saying why it's an enum rather than a string parameter with an argument completer. The code itself is unchanged.

The wiki section mentions the wiki's .markdownlint.json and its Microsoft-Graph.md page, which arrive with the wiki update that follows the next release.

No live testing: nothing here touches Microsoft Graph.

Release classification

  • Major: breaks the public contract (an existing script or configuration file can stop working)
  • Minor: adds backward-compatible functionality
  • Patch: a backward-compatible fix
  • None: no user-visible change (tests, CI, or contributor documentation only)

Checklist

  • Targets develop, or main for a hotfix
  • CHANGELOG.md has an entry in the right section under [Unreleased] (added if missing), or the change is not user-visible
  • .\Tests\Invoke-Tests.ps1 passes
  • Contains no real tenant names, email domains, secrets, or configuration files
  • Any live Microsoft Graph testing is described above, and sent messages and files only to accounts you control

🤖 Generated with Claude Code

Sekers added 2 commits October 5, 2026 13:45
Several settled decisions are written down nowhere in the repository,
so a contributor or an AI assistant working here has to rediscover them
or reopens them.

- Add a Design decisions section to AGENTS.md: who approves public
  changes, services staying in this repository, what adding a service
  takes, why generic settings resolve in the core, and the Mg prefix
  convention. Record why boolean settings have no typed parameters.
- Add three changelog conventions: placeholders that never worked,
  input the documented format never supported, and result values that
  depend on the service's response.
- Add a section on the wiki's conventions.
- Explain in RELEASING.md why develop does not allow GitHub's rebase
  merge, and how to get a clean history instead.
- Explain at enum MessagingService why it is an enum rather than a
  string parameter with an argument completer.

Contributor documentation only, so there is no changelog entry.
Every change has to reach develop through a pull request, even a
documentation edit whose tests already passed locally, so the
maintainer waits on a test run before merging that adds little.

Keep pull requests required for main and for contributors. Let the
maintainer's own changes that a test run before merging wouldn't
benefit go straight to develop after a local test run; the Tests
workflow still runs on the push. Keep pull requests for squashing a
branch.

Contributor documentation only, so there is no changelog entry.
@Sekers
Sekers force-pushed the feature/record-design-decisions branch from c9110c2 to 4b4c5c2 Compare October 5, 2026 18:45
@Sekers
Sekers merged commit 4d71b2a into develop Oct 5, 2026
4 checks passed
@Sekers
Sekers deleted the feature/record-design-decisions branch October 5, 2026 18:55
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