refactor: rename issue reporting module to tickets

This commit is contained in:
2026-07-29 15:50:18 +02:00
parent a6db06630c
commit 129cad410c
14 changed files with 326 additions and 111 deletions

View File

@@ -1,45 +1,56 @@
# GovOPlaN Issue Reporting
# GovOPlaN Tickets
<!-- govoplan-repository-type:start -->
**Repository type:** module (domain).
<!-- govoplan-repository-type:end -->
`govoplan-issue-reporting` is the GovOPlaN platform module seed for public or internal problem reporting for broken infrastructure, damaged rooms, IT outages, safety issues, accessibility issues, triage, and routing.
`govoplan-tickets` is the generic GovOPlaN work-intake and service-ticket
module. It covers public and internal reports, requests, incidents, problems,
queues, triage, routing, assignment, service-level state, and auditable
resolution.
Its runtime module ID is `issue_reporting`; the repository and Python distribution retain the hyphenated `govoplan-issue-reporting` name.
Its runtime module ID is `tickets`.
This repository is initialized as a discoverable module seed. It exposes a module manifest, initial permissions, role templates, documentation metadata, Gitea workflow templates, and a focused manifest test. It intentionally does not yet add HTTP routes, database models, migrations, or WebUI navigation.
## Initial Ownership
- issue intake
- problem category taxonomy
- triage and routing facts
- public reporter references
- handoff targets
- ticket identity, type, priority, state, and queue
- public and internal intake profiles
- reporter/requester and affected-object references
- triage, routing, assignment, and service-level facts
- resolution evidence and escalation links
## Boundaries
This module does not own:
Tickets are operational work items. They may be resolved entirely within a
queue or linked to a task, project, asset, facility, or formal case.
- internal service desk execution
- legal case handling
- asset lifecycle management
Cases are different: `govoplan-cases` owns the authoritative procedural record
for an administrative matter, including parties, evidence, decisions,
procedural deadlines, and retention. Escalating a ticket creates a stable link;
it does not rewrite the ticket as a case.
Detailed boundary notes are in [docs/ISSUE_REPORTING_DOMAIN_BOUNDARY.md](docs/ISSUE_REPORTING_DOMAIN_BOUNDARY.md).
Detailed boundary notes are in
[docs/TICKETS_DOMAIN_BOUNDARY.md](docs/TICKETS_DOMAIN_BOUNDARY.md).
## Integrations
Expected optional integrations:
- helpdesk
- cases
- projects
- wiki
- assets
- facilities
- forms_runtime
- portal
- files
- workflow
- tasks
- mail
- notifications
- search
## Development Install
@@ -47,23 +58,24 @@ From the core checkout:
```bash
cd /mnt/DATA/git/govoplan-core
./.venv/bin/python -m pip install -e ../govoplan-issue-reporting
./.venv/bin/python -m pip install -e ../govoplan-tickets
```
Focused manifest verification:
```bash
cd /mnt/DATA/git/govoplan-issue-reporting
cd /mnt/DATA/git/govoplan-tickets
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src /mnt/DATA/git/govoplan-core/.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/issue-reporting`.
Issue templates are installed under `.gitea/`, and the shared label taxonomy is
copied to `docs/gitea-labels.json` with the module label `module/tickets`.
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-issue-reporting --apply
/mnt/DATA/git/govoplan/tools/gitea/gitea-sync-labels.py --root /mnt/DATA/git/govoplan-tickets --apply
```