From 10c7794034d972dbad5faccfc97570ede2c1d03a Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Sat, 8 Aug 2026 11:28:42 +0300 Subject: [PATCH] lexicons: Tangled 1.0 (`org.tangled.repo.{review,track}.*`) instead of `repo.ticket` and `repo.patch`, I'm introducing new groups for each: `track` and `review`. There are more data that are related to "something related to bug report / product management" and "something related to whole PR-review-merge flow". For former (track), `track.milestone` is pretty good example. For later (review), we can put things like semantic review states or merge-queue here. track is pretty poor naming, but I think we need some extra group here. "A git repository" is too broad topic in Tangled as a group. It's barly working as a NSID group name. I put some future record examples for each NSID groups under `unspecced.*`. Signed-off-by: Seongmin Lee --- lexicons/org/tangled/repo/review/patch.json | 30 +++++++++++ .../tangled/repo/review/unspecced/defs.json | 15 ++++++ .../tangled/repo/review/unspecced/round.json | 43 +++++++++++++++ lexicons/org/tangled/repo/track/defs.json | 14 +++++ lexicons/org/tangled/repo/track/ticket.json | 54 +++++++++++++++++++ .../repo/track/unspecced/milestone.json | 15 ++++++ 6 files changed, 171 insertions(+) create mode 100644 lexicons/org/tangled/repo/review/patch.json create mode 100644 lexicons/org/tangled/repo/review/unspecced/defs.json create mode 100644 lexicons/org/tangled/repo/review/unspecced/round.json create mode 100644 lexicons/org/tangled/repo/track/defs.json create mode 100644 lexicons/org/tangled/repo/track/ticket.json create mode 100644 lexicons/org/tangled/repo/track/unspecced/milestone.json diff --git a/lexicons/org/tangled/repo/review/patch.json b/lexicons/org/tangled/repo/review/patch.json new file mode 100644 index 000000000..c8b9f1b4a --- /dev/null +++ b/lexicons/org/tangled/repo/review/patch.json @@ -0,0 +1,30 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.patch", + "defs": { + "main": { + "type": "record", + "key": "any", + "description": "Immutable patch attached to the ticket. Record-key must be CID of this record.", + "record": { + "type": "object", + "required": [ + "ticket", + "base", + "head", + "createdAt" + ], + "properties": { + "ticket": { + "type": "string", + "format": "record-key", + "description": "ticket-id" + }, + "base": { "type": "ref", "ref": "org.tangled.git.object" }, + "head": { "type": "ref", "ref": "org.tangled.git.object" }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/review/unspecced/defs.json b/lexicons/org/tangled/repo/review/unspecced/defs.json new file mode 100644 index 000000000..1e8bad889 --- /dev/null +++ b/lexicons/org/tangled/repo/review/unspecced/defs.json @@ -0,0 +1,15 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.unspecced.defs", + "defs": { + "reviewState": { + "type": "string", + "knownValues": [ + "commented", + "approved", + "changes-required", + "dismissed" + ] + } + } +} diff --git a/lexicons/org/tangled/repo/review/unspecced/round.json b/lexicons/org/tangled/repo/review/unspecced/round.json new file mode 100644 index 000000000..26b0d0caf --- /dev/null +++ b/lexicons/org/tangled/repo/review/unspecced/round.json @@ -0,0 +1,43 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.unspecced.round", + "defs": { + "main": { + "type": "record", + "key": "tid", + "description": "Review round created by a reviewer.", + "record": { + "type": "object", + "required": [ + "subject", + "commit", + "state", + "createdAt" + ], + "properties": { + "subject": { + "type": "string", + "format": "record-key", + "description": "ticket-id", + }, + "commit": { + "type": "ref", + "ref": "org.tangled.git.object", + "description": "ID of commit that is getting reviewed." + }, + "state": { + "type": "ref", + "ref": "org.tangled.review.unspecced.defs", + "description": "The reviewed state of that commit. This is one and only meaningful content of this record." + }, + "labels": { + "type": "ref", + "description": "Self-label values for this record. Most common use-case is 'bot'.", + "ref": "com.atproto.label.defs#selfLabels" + }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/track/defs.json b/lexicons/org/tangled/repo/track/defs.json new file mode 100644 index 000000000..6a8c8936e --- /dev/null +++ b/lexicons/org/tangled/repo/track/defs.json @@ -0,0 +1,14 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.defs", + "defs": { + "ticketState": { + "type": "string", + "enum": [ + "open", + "closed", + "merged" + ] + } + } +} diff --git a/lexicons/org/tangled/repo/track/ticket.json b/lexicons/org/tangled/repo/track/ticket.json new file mode 100644 index 000000000..949e4187e --- /dev/null +++ b/lexicons/org/tangled/repo/track/ticket.json @@ -0,0 +1,54 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.ticket", + "defs": { + "main": { + "type": "record", + "key": "any", + "record": { + "type": "object", + "required": [ + "title", + "state", + "createdAt" + ], + "properties": { + "title": { + "type": "union", + "refs": [ + "org.tangled.markup.markdown#inline" + ] + }, + "body": { + "type": "union", + "ref": [ + "org.tangled.markup.markdown" + ] + }, + "state": { + "type": "ref", + "ref": "org.tangled.repo.track.defs#ticketState" + }, + "labels": { + "type": "ref", + "description": "Self-label values for this record. Most common use-case is 'bot'.", + "ref": "com.atproto.label.defs#selfLabels" + }, + "tangledLabels": { + "type": "array", + "items": { + "type": "union", + "refs": ["org.tangled.label.defs#labelToken"] + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "targetBranch": { + "type": "string", + "description": "Target branch name. Must not include the `refs/heads/` prefix.", + "maxLength": 244 + } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/track/unspecced/milestone.json b/lexicons/org/tangled/repo/track/unspecced/milestone.json new file mode 100644 index 000000000..6de814e73 --- /dev/null +++ b/lexicons/org/tangled/repo/track/unspecced/milestone.json @@ -0,0 +1,15 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.unspecced.milestone", + "defs": { + "main": { + "type": "record", + "key": "tid", + "description": "TBD", + "record": { + "type": "object", + "properties": {} + } + } + } +} -- 2.51.2