2.4 KiB
GovOPlaN Records
Repository type: module (domain).
govoplan-records owns GovOPlaN's native eAkte boundary: versioned file plans
and record classes, stable record identities, immutable record revisions,
volumes, exact filing references, and record chronology. Source modules retain
authority over their objects and bytes.
The first working vertical slice includes PostgreSQL/SQLite models and an Alembic migration, tenant-scoped APIs, optimistic concurrency and idempotent filing, temporal reads, search registration, a full-height Records workspace, and provider-neutral filing from Files and Cases.
Initial Ownership
- file plans
- records classification
- retention schedule application
- disposal holds
- archive handoff state
- legal record identity
Boundaries
This module does not own:
- document binary storage
- DMS editing workflows
- generic privacy policy engine
Detailed boundary notes are in docs/RECORDS_DOMAIN_BOUNDARY.md.
Integrations
Implemented optional integrations:
- files
- cases
- search
Planned optional integrations include:
- forms runtime and decisions
- Campaigns, Postbox, and Reporting
- DMS/archive providers
- policy
- audit
- transparency
Current Boundary
The current kernel supports planned and open records. Restricted per-record grants, closure, retention calculation, holds, appraisal, disposition, transfer, destruction, and external archive effects remain explicit later work packages. Enabling Records does not trigger destructive or external effects.
The detailed target and implementation sequence are documented in docs/EAKTE_ARCHITECTURE.md.
Development Install
From the workspace:
cd /mnt/DATA/git/govoplan-records
/mnt/DATA/git/govoplan/.venv/bin/python -m pip install -e .
Focused manifest verification:
cd /mnt/DATA/git/govoplan-records
PYTHONPATH=src /mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
Gitea Workflow
Issue templates are installed under .gitea/, and the shared label taxonomy is copied to docs/gitea-labels.json with the module label module/records.
From the core checkout, labels can be synced once a local GITEA_TOKEN is available:
cd /mnt/DATA/git/govoplan-core
/mnt/DATA/git/govoplan/tools/gitea/gitea-sync-labels.py --root /mnt/DATA/git/govoplan-records --apply