⚠️ OpenSpec-managed issue — this content is automatically synced
from the openspec/ directory. Manual edits will be overwritten on next sync.
Artifacts
Summary
Add a stable UUID domain reference for a character's owning player —
character.ownerRef — so the shared portaliq external portal (hydra
ADR-046 + contract v2.1) can scope a player's own characters by a domain UUID
rather than by a Nextcloud user id. The property is added ALONGSIDE the
existing character.ownerUid (which stays untouched — internal flows and the
character-approved per-player notification depend on it). This is the first
link of a two-change ADR-032 chain:
portal-identity (this change, kind: config) — add the ownerRef
domain-ref property to the character schema via an ADR-037 register
fragment.
portal-contribution (kind: code, depends_on: portal-identity) —
ship the dependency-free PortalContributionProvider that scopes the
player audience EXCLUSIVELY by ownerRef.
Specs
Tasks
Design
See design.md for technical design details.
Synced from openspec/changes/portal-identity by OpenSpec workflow
App: larpinq
Artifacts
Summary
Add a stable UUID domain reference for a character's owning player —
character.ownerRef— so the shared portaliq external portal (hydraADR-046 + contract v2.1) can scope a player's own characters by a domain UUID
rather than by a Nextcloud user id. The property is added ALONGSIDE the
existing
character.ownerUid(which stays untouched — internal flows and thecharacter-approvedper-player notification depend on it). This is the firstlink of a two-change ADR-032 chain:
portal-identity(this change,kind: config) — add theownerRefdomain-ref property to the
characterschema via an ADR-037 registerfragment.
portal-contribution(kind: code,depends_on: portal-identity) —ship the dependency-free
PortalContributionProviderthat scopes theplayeraudience EXCLUSIVELY byownerRef.Specs
Tasks
characterscopes ownership byownerUid(a Nextcloud uid) and that internal flows depend on it.lib/Settings/register.d/portal-identity.json— an ADR-037 fragment addingownerRefto thecharacterschema ALONGSIDEownerUid(do not edit the monolith).characterschemaversion1.3.0→1.4.0in the fragment (scalar overwrite); leaveappinfo/info.xmluntouched (app version is release-owned perregister.d/README.md).ownerUidis retained,ownerRefis added, andrequiredis unchanged.openspec/changes/portal-identity/{proposal,design,tasks}.mdandspecs/portal-identity/spec.md(status: in-progress); reference Conduction/larpingapp#51 in the proposal.openspec validate portal-identity --strictuntil clean.feat/portal-contribution(conventional message, no Co-Authored-By); do not push, do not open a PR.Design
See design.md for technical design details.
Synced from
openspec/changes/portal-identityby OpenSpec workflowApp:
larpinq