Files
govoplan-records/README.md
T
zemion 0bcbac6675
Module Package Release / publish-packages (push) Successful in 11s
fix(packaging): expose immutable WebUI Git package for v0.1.24
2026-09-08 02:06:11 +02:00

132 lines
4.8 KiB
Markdown

# GovOPlaN Records
<!-- govoplan-repository-type:start -->
**Repository type:** module (domain).
<!-- govoplan-repository-type:end -->
`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,
provider-neutral filing from Files, Cases, Forms Runtime, and Decisions, and a
governed close/retention/hold/appraisal/disposition/transfer lifecycle.
The `privacy.dsar.records` capability exports bounded record and lifecycle
metadata from an explicit record or authoritative source linkage. Canonical
account, identity, and membership selectors return minimized staff
accountability attribution; they do not turn a staff action into record-subject
ownership. Immutable eAkte evidence is retained, while the current record fact
is routed to manual lifecycle review. Source content, snapshots, opaque
contexts, payloads, hashes, replay keys, and archive manifests/receipts are not
exported by Records.
## 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](docs/RECORDS_DOMAIN_BOUNDARY.md).
## Integrations
Implemented optional integrations:
- files
- cases
- forms runtime
- decisions
- approvals
- audit
- search
Planned optional integrations include:
- Campaigns, Postbox, and Reporting
- target-tested DMS/archive providers
- policy
- transparency
## Current Boundary
The current kernel supports planned/open records, exact filing, closure,
retention calculation, holds, appraisal, independent disposition approval,
archive-neutral packaging, recovery evidence, and a clearly marked transfer
simulation. The simulation never claims archival custody. Restricted
per-record grants, real target conformance, destructive execution, and real
archive effects remain explicit later work packages.
## Reference Journey
The executable resident-parking-permit fixture proves equivalent assisted and
authenticated digital eAkten. It files the exact form, attachment, case and
representation, decision, delivery, and correction revisions; preserves
authority, purpose, policy, chronology, and custody evidence; exercises hold
and independent approval; and verifies search, temporal reconstruction, and
source/package integrity after a SQLite backup/restore round trip. The Records
workspace keeps the selected `recordId` in the URL so an authorized actor can
resume the same record and inspect the complete evidence chain.
The detailed target and implementation sequence are documented in
[docs/EAKTE_ARCHITECTURE.md](docs/EAKTE_ARCHITECTURE.md).
## Development Install
From the workspace:
```bash
cd /mnt/DATA/git/govoplan-records
/mnt/DATA/git/govoplan/.venv/bin/python -m pip install -e .
```
Focused manifest verification:
```bash
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:
```bash
cd /mnt/DATA/git/govoplan-core
/mnt/DATA/git/govoplan/tools/gitea/gitea-sync-labels.py --root /mnt/DATA/git/govoplan-records --apply
```
## Git-source WebUI package
The repository root exposes `@govoplan/records-webui` for Git-tagged release
dependencies. It mirrors the owning `webui/package.json` version, public
TypeScript/CSS exports and peer requirements, with entry paths under
`webui/src`. Consumers provide the shared Core/React peers; the facade runs no
development or install scripts. The source archive contains `webui/src`, this
README and any repository license file. Run module development checks from `webui/`; Python
installation remains governed by `pyproject.toml`.
Das Repository stellt `@govoplan/records-webui` am Wurzelpfad für versionierte
Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und
Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen
unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung
bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus.
Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in
`pyproject.toml` definiert.