From b8835ca2b4b89651d2c2a55c9c4a3433a58d7bfd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 31 Mar 2026 10:33:28 +0200 Subject: [PATCH] fix(lint): add yaml:"-" tags to EmailConfig and fix test godoc/misspell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - EmailConfig fields reachable via ChannelsConfig.Email (yaml:"email,omitempty") were missing yaml tags, causing musttag linter failures in security.go - resolve_key_sushi30_test.go: add blank line before package decl to prevent godoclint "more than one godoc" error; fix British "initialised" → "initialized" Co-Authored-By: Claude Sonnet 4.6 --- pkg/config/config.go | 28 +++++++++++++------------- pkg/config/resolve_key_sushi30_test.go | 3 ++- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 2d47f8376..4eaeb2c4d 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -599,23 +599,23 @@ type TeamsWebhookTarget struct { } type EmailConfig struct { - Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_EMAIL_ENABLED"` + Enabled bool `json:"enabled" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_ENABLED"` // SMTP (outbound) - SMTPHost string `json:"smtp_host" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_HOST"` - SMTPPort int `json:"smtp_port" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PORT"` - SMTPFrom string `json:"smtp_from" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_FROM"` - SMTPUser string `json:"smtp_user" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_USER"` - SMTPPassword SecureString `json:"smtp_password,omitzero" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PASSWORD" yaml:"smtp_password,omitempty"` - DefaultSubject string `json:"default_subject" env:"PICOCLAW_CHANNELS_EMAIL_DEFAULT_SUBJECT"` + SMTPHost string `json:"smtp_host" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_HOST"` + SMTPPort int `json:"smtp_port" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PORT"` + SMTPFrom string `json:"smtp_from" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_FROM"` + SMTPUser string `json:"smtp_user" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_USER"` + SMTPPassword SecureString `json:"smtp_password,omitzero" yaml:"smtp_password,omitempty" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PASSWORD"` + DefaultSubject string `json:"default_subject" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_DEFAULT_SUBJECT"` // IMAP (inbound) - IMAPHost string `json:"imap_host" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_HOST"` - IMAPPort int `json:"imap_port" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PORT"` - IMAPUser string `json:"imap_user" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_USER"` - IMAPPassword SecureString `json:"imap_password,omitzero" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PASSWORD" yaml:"imap_password,omitempty"` - PollIntervalSecs int `json:"poll_interval_secs" env:"PICOCLAW_CHANNELS_EMAIL_POLL_INTERVAL_SECS"` + IMAPHost string `json:"imap_host" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_HOST"` + IMAPPort int `json:"imap_port" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PORT"` + IMAPUser string `json:"imap_user" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_USER"` + IMAPPassword SecureString `json:"imap_password,omitzero" yaml:"imap_password,omitempty" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PASSWORD"` + PollIntervalSecs int `json:"poll_interval_secs" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_POLL_INTERVAL_SECS"` // Common - AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_EMAIL_ALLOW_FROM"` - ReasoningChannelID string `json:"reasoning_channel_id" env:"PICOCLAW_CHANNELS_EMAIL_REASONING_CHANNEL_ID"` + AllowFrom FlexibleStringSlice `json:"allow_from" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_ALLOW_FROM"` + ReasoningChannelID string `json:"reasoning_channel_id" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_REASONING_CHANNEL_ID"` } type HeartbeatConfig struct { diff --git a/pkg/config/resolve_key_sushi30_test.go b/pkg/config/resolve_key_sushi30_test.go index 1d050e6ce..2b0d3203d 100644 --- a/pkg/config/resolve_key_sushi30_test.go +++ b/pkg/config/resolve_key_sushi30_test.go @@ -8,6 +8,7 @@ // Fix: pkg/config/config_struct.go resolveKey() now also dispatches env://. // These tests guard against that regression being re-introduced by a future // upstream merge or rebase. + package config import ( @@ -16,7 +17,7 @@ import ( "github.com/stretchr/testify/assert" ) -// TestResolveKey_EnvScheme verifies that a SecureString initialised with an +// TestResolveKey_EnvScheme verifies that a SecureString initialized with an // env:// reference resolves to the environment variable value, not the raw // reference string. func TestResolveKey_EnvScheme(t *testing.T) {