1.9 KiB
1.9 KiB
GovOPlaN Calendar Codex Guide
Documentation Contract
- Treat documentation as part of every behavior change. Update this module's manifest-driven
DocumentationTopiccontributions for affected user and administrator behavior. - Keep feature content here;
govoplan-docsprojects it without importing Calendar internals. - Maintain a static user/admin baseline and run
/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.pyafter behavior or manifest changes.
Scope
This repository owns the calendar module: calendar collections, VEVENT storage, iCalendar import/export, availability primitives, backend module manifest, and @govoplan/calendar-webui.
Core owns auth, tenants, RBAC, database/session primitives, shared WebUI shell/components, and module discovery. Calendar integrations with tasks, mail, scheduling, appointments, workflow, DMS, notifications, and external groupware must stay optional and use core module metadata or capability boundaries.
Local Commands
Install and run through core:
cd /mnt/DATA/git/govoplan-core
./.venv/bin/python -m pip install -r requirements-dev.txt
Run focused calendar tests from the core environment:
cd /mnt/DATA/git/govoplan-core
PYTHONPATH=/mnt/DATA/git/govoplan-calendar/src:/mnt/DATA/git/govoplan-tenancy/src:/mnt/DATA/git/govoplan-access/src:/mnt/DATA/git/govoplan-core/src ./.venv/bin/python -m unittest discover -s /mnt/DATA/git/govoplan-calendar/tests
Working Rules
- Keep calendar semantics in this module, not core.
- Preserve unknown iCalendar properties and parameters unless a migration explicitly changes the storage model.
- Do not import optional modules directly from calendar. Use capabilities or API contracts for tasks, mail, scheduling, appointments, and external groupware.
- Treat recurrence expansion, free/busy, and CalDAV sync as calendar-owned primitives even when another module initiates them.