Files
Charon/docs/issues
GitHub Actions 032d475fba chore: remediate 61 Go linting issues and tighten pre-commit config
Complete lint remediation addressing errcheck, gosec, and staticcheck
violations across backend test files. Tighten pre-commit configuration
to prevent future blind spots.

Key Changes:
- Fix 61 Go linting issues (errcheck, gosec G115/G301/G304/G306, bodyclose)
- Add proper error handling for json.Unmarshal, os.Setenv, db.Close(), w.Write()
- Fix gosec G115 integer overflow with strconv.FormatUint
- Add #nosec annotations with justifications for test fixtures
- Fix SecurityService goroutine leaks (add Close() calls)
- Fix CrowdSec tar.gz non-deterministic ordering with sorted keys

Pre-commit Hardening:
- Remove test file exclusion from golangci-lint hook
- Add gosec to .golangci-fast.yml with critical checks (G101, G110, G305)
- Replace broad .golangci.yml exclusions with targeted path-specific rules
- Test files now linted on every commit

Test Fixes:
- Fix emergency route count assertions (1→2 for dual-port setup)
- Fix DNS provider service tests with proper mock setup
- Fix certificate service tests with deterministic behavior

Backend: 27 packages pass, 83.5% coverage
Frontend: 0 lint warnings, 0 TypeScript errors
Pre-commit: All 14 hooks pass (~37s)
2026-02-02 06:17:48 +00:00
..
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00

docs/issues - Issue Specification Files

This directory contains markdown files that are automatically converted to GitHub Issues when merged to main or development.

How It Works

  1. Create a markdown file in this directory using the template format
  2. Add YAML frontmatter with issue metadata (title, labels, priority, etc.)
  3. Merge to main/development - the docs-to-issues.yml workflow runs
  4. GitHub Issue is created with your specified metadata
  5. File is moved to docs/issues/created/ to prevent duplicates

Quick Start

Copy _TEMPLATE.md and fill in your issue details:

---
title: "My New Issue"
labels:
  - feature
  - backend
priority: medium
---

# My New Issue

Description of the issue...

Frontmatter Fields

Field Required Description
title Yes* Issue title (*or uses first H1 as fallback)
labels No Array of labels to apply
priority No critical, high, medium, low
milestone No Milestone name
assignees No Array of GitHub usernames
parent_issue No Parent issue number for linking
create_sub_issues No If true, each ## Section becomes a sub-issue

Sub-Issues

To create multiple related issues from one file, set create_sub_issues: true:

---
title: "Main Testing Issue"
labels: [testing]
create_sub_issues: true
---

# Main Testing Issue

Overview content for the parent issue.

## Unit Testing

This section becomes a separate issue.

## Integration Testing

This section becomes another separate issue.

Manual Trigger

You can manually run the workflow with:

# Dry run (no issues created)
gh workflow run docs-to-issues.yml -f dry_run=true

# Process specific file
gh workflow run docs-to-issues.yml -f file_path=docs/issues/my-issue.md

Labels

Labels are automatically created if they don't exist. Common labels:

  • Priority: critical, high, medium, low
  • Type: feature, bug, enhancement, testing, documentation
  • Component: backend, frontend, ui, security, caddy, database