From 4a841c20d4a82eaae5201e4de191ecfffcf8fcf4 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Mon, 13 Jul 2026 15:23:18 +0000 Subject: [PATCH] docs(context): add Tag glossary entry (grill WIP) Flat, portfolio-owned, many-to-many label for grouping Properties for bulk actions. Captured during the tagging grill-with-docs session. Co-Authored-By: Claude Opus 4.8 (1M context) --- CONTEXT.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CONTEXT.md b/CONTEXT.md index 60fc3694..628c0c25 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -126,6 +126,12 @@ _Avoid_: programme, scheme, deal group, batch (a **Batch** is a separate per-dea An app-triggered, asynchronous assembly of a single ZIP of the documents held against a chosen set of Properties — picked as a row selection in the Documents tab, scoped by the tab's current Project/group — delivered as a time-limited link emailed to the requester (and, within the session, retrievable in-app). A selection that matches no documents produces no ZIP: it fails rather than emailing an empty archive. Properties are matched to their documents by **landlord property id**. See [ADR-0011](./docs/adr/0011-app-owned-task-marker-in-task-source.md). _Avoid_: bulk export, document export, zip download +### Tags + +**Tag**: +A user-created, coloured label owned by a Portfolio, used to form an arbitrary **group** of its Properties for bulk actions (e.g. running Scenarios over the group, or excluding it from a Reporting view). Flat (no hierarchy) and many-to-many: a Property carries zero or more Tags, and a Tag labels zero or more Properties. Distinct from a **Project** (a HubSpot-sourced grouping, at most one per Property) and from a **Scenario** (a modelling question): a Tag is an app-owned, hand-curated selection with no external source and no modelling semantics of its own. +_Avoid_: label, category, group (the group is the *effect* of a Tag, not a separate entity), segment, tag group + ## Lifecycle A **BulkUpload** moves through these statuses: