Skip to content

Refresh AGENTS.md for current code; require AI attribution from contributors#5

Merged
buggerman merged 1 commit intomainfrom
agents-md-ai-attribution
Apr 24, 2026
Merged

Refresh AGENTS.md for current code; require AI attribution from contributors#5
buggerman merged 1 commit intomainfrom
agents-md-ai-attribution

Conversation

@buggerman
Copy link
Copy Markdown
Owner

@buggerman buggerman commented Apr 24, 2026

Summary

Changes

  • Layout section: add ChatFold, IRCFormatting to the core catalog; call out MessageBufferView explicitly in the executable target catalog.
  • Architecture invariants: document MessageBufferView: NSViewRepresentable and where per-view state lives, the LinkPreviewAttachmentCell rendering path, the presence-run fold + brygga-toggle-run:// click intercept, and a tightened @objc carve-out (private AppKit target-action selectors are OK, public Obj-C API is not).
  • Persistence: list channelPresenceCollapse: [String: Bool]? alongside the other ServerConfig fields with a note on its shape and inheritance rules.
  • SwiftUI gotchas: two new entries — .textSelection(.enabled) is per-Text and cannot cross rows, and how to observe @Observable stores from inside a Coordinator via withObservationTracking.
  • Commits/PRs section: flip the AI attribution rule. AI-assisted contributions are welcome and require a Co-Authored-By: trailer plus a verbatim prompt in the commit body or PR body.
  • Pull-request body template: add a mandatory ## AI assistance heading.
  • "What not to do" section: drop the old AI-attribution line; keep the @objc rule with a pointer to the carve-out.

Test plan

N/A, docs only.

Risk / rollback

None — pure documentation. Revert the commit to restore the previous policy.

…ibutors

Layout, architecture invariants, persistence, and "what not to do"
sections were written before the NSTextView-backed message buffer, the
inline link-preview attachment cells, and the presence-run collapse
engine landed on main. Update them to reflect the code as it stands
today:

- Layout: mention `ChatFold`, `IRCFormatting`, and `MessageBufferView`
  in the two targets' file catalogs.
- Architecture invariants: document the `MessageBufferView` /
  `NSTextView` hosting model, where per-view presentation state lives
  (on the Coordinator, never on `@Observable` models), the
  `LinkPreviewAttachmentCell` rendering path, and the presence-run
  fold + `brygga-toggle-run://` click intercept.
- Persistence: add `channelPresenceCollapse: [String: Bool]?` to the
  `ServerConfig` field list with a note on its shape and inheritance.
- SwiftUI gotchas: add two entries — `.textSelection(.enabled)` is
  per-Text and can't cross rows, and how to observe an @observable
  store from inside a Coordinator via `withObservationTracking`.
- Pure-Swift rule: clarify the `@objc` carve-out — private AppKit
  target-action selectors are acceptable, public Obj-C APIs are not.

Flip the AI attribution policy for external contributors: require a
`Co-Authored-By:` trailer naming the assistant and ask them to paste
the prompt verbatim in the commit body (or PR body if it evolved
across commits). Add a mandatory "## AI assistance" heading to the PR
body template.
@buggerman buggerman merged commit 66242f1 into main Apr 24, 2026
@buggerman buggerman deleted the agents-md-ai-attribution branch April 24, 2026 22:18
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