Skip to content

Latest commit

 

History

History
104 lines (74 loc) · 3.34 KB

File metadata and controls

104 lines (74 loc) · 3.34 KB

Session State - 2025-11-12

Current Status

Last Completed Work: Task status audit - discovered Tasks 1 and 4 were already implemented Status: ✅ COMPLETE - 3 of 4 tasks complete Next Task: Task 2 - Named Feeds (only remaining task, ~25-30 hours)

Task Organization

All task specifications have been moved to individual markdown files:

Implemented Tasks

Future Tasks

  1. Task 2: Named Feeds (~25-30 hours) - Only remaining task

See TASKS.md for task overview and priority order.

Project Context

Project: ReCal (Regex Calendar Filter)

  • Swedish Freemason calendar event filtering service
  • Go 1.24 application
  • Filters iCal feeds based on grad (degree), loge (lodge), and other criteria
  • Current endpoints: /, /query, /query/preview, /debug (redirect), /status, /health, /api/lodges

Important Design Decisions Made

Endpoint Structure (Modified REST Approach)

  • Resource-oriented URLs (nouns not verbs)
  • HTTP methods convey action (GET/POST/PUT/DELETE)
  • Path prefixes for access control: /admin/* for protected ops
  • Sub-resources: /feed/{uuid}/config, /feed/{uuid}/preview
  • Pragmatic: GET + POST on same path for HTML forms

Security Model (Task 2)

  • Feed access: UUID secrecy (security by obscurity)
  • Admin operations: All under /admin/* prefix
  • Authentication: Delegated to reverse proxy (nginx/Caddy)
  • No auth in ReCal: Service stays simple, upstream handles it

Development Workflow Tools

Located in project root:

  • test-local.sh - Run CI tests locally (85% faster than pushing to GitHub)
  • watch-ci.sh - Auto-monitor GitHub Actions and download logs on failure
  • test-server.sh - Quick local server testing
  • Makefile - Build commands (make test-ci-local, make watch-ci)

Documentation:

  • DEVELOPMENT.md - Full workflow guide
  • WORKFLOW_IMPROVEMENTS.md - Quick summary

Configuration Files

Main config: config.yaml (points to Swedish Freemason calendar) Test config: Used in CI, points to testdata/sample-feed.ics

Git Status

Modified files:

  • M .github/workflows/docker-publish.yml
  • M internal/server/integration_test.go
  • M internal/server/server.go
  • ?? SESSION_STATE.md
  • ?? TASKS.md
  • ?? tasks/

Important Notes

  1. User's commit preferences (from .claude/CLAUDE.md):

    • Never attribute commits to Claude
    • Do not add "🤖 Generated with Claude Code" or Co-Authored-By
    • User wants clean commit messages without AI attribution
  2. Test status:

    • All Go tests passing
    • Integration tests passing
    • CI workflow updated

Current Working Directory

/Users/linus/Documents/Code/ical-filter

Key Files to Reference

  • TASKS.md - Task overview and references
  • tasks/ - Individual task specifications
  • DEVELOPMENT.md - Development workflow
  • README.md - Project overview
  • config.yaml - Configuration
  • internal/server/server.go - Main server code
  • internal/filter/ - Filter logic

Session Updated: 2025-11-12 Ready to Continue: Yes - Documentation reorganized, ready for Task 4 implementation