Skip to content

Documentation and architecture

The PRD is the product authority: requirements, terminology, agreed behavior and remaining design decisions. It distinguishes target behavior from implemented slices. Local development owns setup, current commands/contracts, safe database operations, reproducible verification and public CI evidence. Demo data describes the versioned fictional seed, not the contents of every development database. Website describes the independent Astro site.

The domain-profile appendix owns detailed proposed starting fields, relationship pairs and per-profile acceptance for the PRD catalog. It distinguishes agreed product rules, new starter proposals and unresolved implementation contracts; it is not a second roadmap or a claim of delivered templates.

The root changelog records notable source changes; the roadmap is a curated product overview. OpenProject owns detailed work, priorities and publication evidence. Release or deployment status must not be inferred from a local ADR or passing source build.

Using xObject introduces the current UI workflows. Self-hosting and recovery owns installation/maintenance commands. Public documentation describes the generated Starlight source and checks.

API and MCP access describes user-owned tokens, management, transport/version/error contracts, the typed client and retained-history access.

ADRs record decisions and their evolution. A later refinement supersedes only the explicitly affected part, preserving unrelated earlier decisions. “Accepted” is a decision status; it does not by itself mean release delivery or passing current acceptance. Validation paragraphs record the slice’s checks, not a promise that the present working tree is green.

ADR Subject Current reading
0001 Readable physical names Implemented naming; installation/concurrency specified in 0022.
0002 Backend evaluation Stack/auth/application boundary; later ADRs extend the initial slice.
0003 Labels and physical order Language policy refined by 0012; optional standards by 0006.
0004 First frontend and routes Typed fields, roles, content grants and page behavior refined later.
0005 Astro site design Independent from application/release delivery.
0006 Keyword/Type/Status/Category Optional installation, dictionaries, requiredness and ordering.
0007 Typed fields/conversion Regional handling refined by 0014; applicability by 0023.
0008 Administrator/User/Designer Configuration roles; content rights remain separate.
0009 Definition lifecycle Implemented; record recycling/restoration is separate under ADR 0029.
0010 Own password/sessions Instance provisioning refined by 0015.
0011 Shared appearance Workspace tokens/previews; browser mode remains personal.
0012 Installed/available languages Interface and definition policy, retained preferences.
0013 Direct group membership/lifecycle Graded/nested membership extends this in 0027.
0014 Time zones/regions/input Exact values and guarded format transitions.
0015 Instance users/system journal Shared Journal presentation refined by 0023.
0016 Dashboard/tables/command menu Current content policy from 0027 applies to all projections.
0017 Record pages and seed Groups/order refined by 0025; linked source return by 0019.
0018 Relationship definitions Current pairs, cardinalities and editor; record edges in 0019, module scope in 0021 and conditions in 0024.
0019 Record edges and linked creation One custom pair, cardinality fields/tables and atomic creation.
0020 Primary tree/context Projects-only read model; General/custom links stay in Dossier.
0021 Scope and activation Fixed roles refined by 0024, catalog/base installation by 0025.
0022 Versions/locks/installation/roles Local storage safeguards; release packaging remains open.
0023 Journal/applicability Current-rights projections refined by 0026 and 0027.
0024 Fixed Primary roles/conditions Protected supplied UUID roles, conditional endpoints.
0025 Module catalog and forms Standard forms/base installation implemented; PRD defines the expanded V1 target, with shared contributions, retained lifecycle and one common object form implemented; released upgrades remain open.
0026 Object/field ceilings Current object/field grants; record policy in 0027.
0027 Ownership and foreign access Local graded ownership/membership, privacy, foreign paths, Create and record security UI; calendar/notifications later.
0028 Current unreleased installation One empty installation definition, explicit local reset, schema fingerprint and current contracts without compatibility paths.
0029 Record recycle bin Versioned recycling/restoration, retained edges and current-rights inspection; controlled permanent deletion retains Administrator-only history.
0030 Input rules and numbering Translated field explanations, typed creation defaults, scalar uniqueness and transactional record numbers.
0031 Standards-aligned groupware models Vendor-neutral profile direction; storage architecture in 0032, runtime and later DAV delivery remain open.
0032 Structured fields, time/series and edge attributes Staged architecture: nine typed contact codecs and locally accepted Contacts/Distribution lists; relationship attributes and both-endpoint rights/history implemented; shared temporal codec and lean Projects/Cases/Tasks templates implemented; calendar parties and sparse exceptions pending.
0033 Configurable navigation Module sections, repeated object entries, Contact filters, shared defaults/personal layouts and optional Resources; versioned API/MCP persistence.
0034 User-bound API/MCP access One-time tokens, current-rights enforcement, scopes/expiry/revocation, audit provenance and generated OpenAPI/typed client.
0035 Container delivery and maintenance Local Linux container candidate, atomic first setup, verified backup/restore and fail-closed upgrade direction.
0036 Browser identity/PWA/live updates Private previews, authorized commit signals, reconnect and draft reconciliation; public reading later.
0037 Selection trees and choice dialogs General hierarchical fields, Category modes, ancestor closure, atomic history and shared picker UI.

Requirements and permission precedence belong in the PRD, concrete implemented architecture in the applicable ADR, operation schemas/types in shared contracts, and operator commands in the self-hosting, development and website guides. Summaries should link those authorities rather than introduce competing rules. Tests and their code are evidence for behavior; source changes are not proof of a production release.

The full application, including Premium code, remains AGPL-3.0-only; licensing and LICENSE govern that statement. Planned documents, release images, email/upload facilities and hosted/native clients must not be presented as already delivered.