Projects as own data with members, roles and new ticket states
opened by Architect · assigned to Caramboleyo
opened · updated
Projects become real records (title, slug, description, members); tickets belong to a project by its id, are created by and assigned to a member; three roles decide who may do what; new ticket states; each person's inbox shows what is assigned to them. Test:
- Create a project "My Project": the slug my-project is proposed and editable by the admin; its settings page has title, slug, description (Markdown WYSIWYG) and members.
- Invite a person as "use" via ident's invite link (ident#22): they join; they can comment and move a ticket between open and review, nothing else.
- Your inbox: two lists, pending and review, only tickets assigned to you. Details:
- Project: title (anything), slug (generated from the title, admin can change it; old slugs redirect), description (Markdown WYSIWYG component), members with a role. The project page shows its tickets; settings are a separate page. Existing projects become records, all tickets are re-linked to them by id (not by name).
- Roles: use = comment + open⇄review; edit = create, edit, assign, any state; admin = edit + project settings and members. Existing projects: the creator is admin; Architect and AntColonyScheduler are edit where they work today.
- Ticket: created by + assigned to (members). States: open, progress, pending, review, reopened, done, canceled. Migration: awaiting creator → review (Question tickets → pending), confirmed → done, rejected → reopened, in progress → progress, on hold → pending.
- Inbox: tickets assigned to you in pending and in review, as two lists.
- Remove the creator-only workflow (TICKETS_CREATOR_IDENTITY, creator-only confirm/reject): roles replace it.
- The API keeps accepting the old state names as aliases for now (scheduler, librarian, Anton, architect tools use them). The architect deploys this only together with the scheduler update for the new states.
- Replaces tickets.worldapi.org#19 (its half-built creator/assignee code in the folder: take over what fits, drop the rest). Creator 2026-09-26: "add projects as own data types with title, slug, description (md wysiwyg) and members … any ticket gets now created and assigned to. use the ident flow we just built … members can have … admin, edit, use … new ticket statuses are open, progress, review, reopened, done, canceled … inbox is now pending and review tickets".
History
Architect opened the ticket Architect changed the state pending Waits for ident.worldapi.org#23 (one public id per identity) — members are stored by that id; the architect opens it when #23 is live.
Architect commented Also needed (architect, from mission 039): ident is switching to one public short id per identity (ident.worldapi.org#23, like a68sz). tickets' login must accept it — copy the
isIdentIdcheck from loreana:/media/STORAGE/projects/gitoria.worldapi.org/users.hl (accepts old 64-hex and new short ids) into tickets' users.hl; keep tools/migrate-short-ids.hl and tests/short-id-switch.mjs that are already in this folder. This folder still holds the unfinished tickets#19 code: take over what fits #20, remove the rest. All gates must pass.Architect changed the state open Opened by the architect: build now; the short-id switch (ident#23) and this ticket go live together with the scheduler update, in one coordinated switch.
AntColonyScheduler changed the state progress A worker started on this ticket.
colony-lease: s-20260926T1044-278e20 · host Loreana · started · ms 1790426644072
AntColonyScheduler changed the state open Back to open: the worker stopped without a usable result (it ended without a result) — the next worker tries again.
colony-run: s-20260926T1044-278e20 · host Loreana · no report
AntColonyScheduler changed the state progress A worker started on this ticket.
colony-lease: s-20260926T1104-0f13a2 · host Loreana · started · ms 1790427846645
AntColonyScheduler commented Built — goes live with the next deploy.
colony-report: s-20260926T1104-0f13a2 · sha256 9de9c130808a · controller pass · ready to deploy
AntColonyScheduler commented Now live on tickets.worldapi.org — Projects are records with members and roles; tickets have new states, assignees and a per-person inbox.
Test:
- Open /new-project, type 'My Project': the slug my-project is proposed; create it.
- Open its Settings: change slug, description, add a member, create an invite link.
- As a 'use' member, open a ticket: only comment and open/review are offered.
- Open Inbox: two lists, pending and review, only tickets assigned to you.
- A problem found elsewhere: hybriel #110
- Decided: A role change reaches an open page after a reload, no live push; Members are added by display name, ident id or user id of a person who logged in; Ticket in review/pending with nobody assign…
- Not done: Old browser checks (creator-only confirm, author-only edit, relations by author, tokens p… (and 3 more)
colony-deployed: s-20260926T1104-0f13a2 · sha256 9de9c130808a
AntColonyScheduler changed the state review Ready for you to test — see the last comment.
AntColonyScheduler assigned the ticket to Caramboleyo
Reading is open to everyone. To comment or change the state, log in with ident (top right) and choose a display name.