Appearance
Decided — what has been ruled, and why
Every entry here was once an open question. It was ruled on, the answer was written into the model, and the reasoning was kept so nobody has to reconstruct it later.
Keeping the reasoning is the point. A decision recorded as a bare rule gets re-argued the first time someone finds it inconvenient; a decision recorded with its reasoning can be disagreed with on the merits, which is a much shorter conversation.
Ruled at the consolidation round (17 August 2026)
The recommendation page is the one review surface. Why (his words): "its getting to be too many pages/places to look/review and understand what is supposed to be what." The shelves, the ruled-off list, the naming picks, the Retail & Commerce expansion, the Brand & Identity summary, and the digital-product answer all now sit on that single page, in reading order; depth pages are one click away and on the sidebar.
Every review page joins the sidebar, inside one collapsed group. Why (his words): "if you make a page but dont put it on the sidebar and it gets lost in the chat its like gone i cant find it." This amends the earlier two-entries rule on his own new words; the collapse keeps the sidebar from growing forever, and ratified pages still retire.
The pillar once called "Works & Groupings" is now "Groupings." Why (his words): "i still dont like works bc i never call anything really 'works'" — and the alternatives failed his own tests (three-kinds names grow a word per new kind; "Campaigns & Groupings" privileges one kind). Taken on his lean ("maybe Groupings"), flagged for his glance. The one-creative-many-appearances ruling is untouched; the page now says "one creative" where it said "one work."
Re-read everything, every round. Why: stale pages and dense walls kept surviving reviews. The writing standard now carries the loop rules: every round re-reads every page, every page is sidebar-reachable, and tables follow the short-cell rules on every surface.
Ruled at the second reconciliation round (16 August 2026, later the same day)
The identity shelf is named "Brand & Identity." Why (his words): "lets ensure we call it 'Brand & Identity'." The name matches the top level of his own brand-identity spreadsheet word for word. The shelf keeps its OPEN badge for depth — the visual / verbal / strategic carve-up is now in review, fed by the identity sources he named.
"Recruitment ad" is dropped from the ratified list. Why (his words): "recruitment ad just drop idk if we have any of those." The library was probed the same day: no piece carries any recruitment typing at all. The employer-brand meaning is not lost — it already lives with the employer-branding craft rulebook and the audience axes. This was also the one type that had no home under the five-worlds option. The ratified set is now 64.
"Offer" stays listed but leans remove — restated. Why (his words): "offer promotion feels like marketing intent or goal." The promotion-ness is a marketing intent, not a kind of piece; the pick confirms at the naming review. It is the only type left on the Still-Open shelf.
The identity vocabulary review is activated now, not after the carve closes. Why: he named the sources and asked for the extraction directly — his brand-identity spreadsheet, the GitHub Brand Guidelines 2025 book, the OpenAI guideline pages, the motion-identity framework, and a search for the rest. The review keeps two strata separate: kinds of piece (what the shelf holds) versus identity elements (what a piece shows or belongs to).
Ruled at the reconciliation walk (16 August 2026)
"Performance ad" leaves the content-type list. Whether a piece is paid or organic is a fact about its distribution — ownership, placement, ad format — never about what kind of piece it is. Why (his words): "performance ad, that's like organic vs paid, not a content type — wrong part of our ontology/schema/taxonomy." The industry's own mechanics agree: the same unchanged post runs organic and paid at once when boosted, so paid-ness cannot be a kind. The handful of pieces typed this way re-type to their real kind in the migration; paid-ness lands on the distribution facts.
"Public-service ad" is retired from the ratified list. Why (his words): "I don't know what a public service ad is — remove that." It was machine-proposed, never carried a live value, and no one could say what piece it names.
The "Advertising & Promotion" shelf is dissolved. Why (his words): "why advertising & promotion this to me is in campaign right?" An advertisement is not a separate family of work — it is campaign work, and the paid-or-organic part of it belongs to the distribution facts, which is the same reasoning that moved performance ad off the list. Its types re-shelve under Campaign and the other shelves his carve names; no piece changes.
Ruled at the reference review (11 August 2026)
Products get a model chapter of their own.Why: a product is an entity — that was already ruled — but the product layer carries enough structure of its own (detail records, a feature layer, direct links from content and campaigns, and the two-homes shape) that a passing mention on the entities page under-served it. The entities page keeps the ruling and points to the chapter; the chapter carries the full shape, including its honest gaps.
The top level of the craft tree is called a service; the rulebook level is called a craft.Why: the top-level lines — creative production, brand strategy, media strategy and buying — are what a client buys, and calling the whole tree "crafts" hid that. A craft is the specific, rulebook-carrying skill: the level where every entry says exactly when to tag it and when never to. The reference surfaces now say Services at the top; the middle level's name (group, discipline, or family) is the one part still open. Renaming anything stored in the database is separate build work.
Ruled at the second review walk (10 August 2026)
The follow-up packet came back answered. These bind; his exact words are in the banked response record. One packet item (the open detail level under moments) was not answered and stays open.
When a specification and this decision surface disagree, this surface wins. The questions ledger and this page are the single record of what is settled; any other document that says otherwise gets corrected to match.
A campaign is a container, not a lens. The lens list loses "campaign". The grouping kinds are now stated: a campaign · a brand-and-identity program · a project · an event or season. A project is the deliberately flexible one — a retail experience with fifty pieces across in-store displays, or a genuine one-off — so that nothing is forced into "campaign" just because no other box exists. A campaign can itself contain events and, in time, news articles. Why: the fear was a rigid two-box world (brand-identity or campaign). The project kind absorbs the honest mess.
Vendor work is first-class, not a side effect. Case studies and portfolio write-ups scraped from the studios', agencies' and production companies' own sites are as valuable as the brand-side collection — "if we only scraped every studio, agency, production company's website and organized it, it would be just as powerful." The model and the pipeline plan must carry vendor-side collection explicitly.
All three scope declarations: IN. Offline media placement is modeled (a news article showing an out-of-home ad, an airport photo someone takes, scraped trade publications). Geography and language are captured. Reception is captured as signal — views, comments, their tone — without competing on ad-platform metrics; sentiment is noted as a future model of its own.
The channel is a stack, not a word. Media type at the top (digital, broadcast, print, streaming, outdoor, retail, physical and digital experiences), then channel, then platform (a specific service — one of the video or social platforms), then touchpoint (in-feed, a profile page, an inbox, a store display), with ad format and placement as their own fields. "Social" is a channel; a short-video platform is a platform; in-feed is a touchpoint. The earlier taxonomy workbook is the starting inventory; the derived six-value list in use today maps into the stack rather than surviving as-is. The full vocabulary is a proposal to review, not yet canon.
A content type is the industry-recognizable kind of piece, at the piece grain. Not where it ran, not why the campaign exists, not its role in the campaign, not the craft that made it. A launch film, a testimonial, a tutorial, a key visual, a logo animation — yes. A social post, a pre-roll ad, a "product campaign", a "hero" — no; those live on other axes (platform, placement, grouping, role). A piece may carry several types with one primary — the same pattern moments already use. The full master list is a proposal to review, not yet canon.
The moments registry gets cleaned to one job. The browse level stays derived; the shelf list becomes browse shelves only, each with one group parent; whether something is offered as creative reference becomes a separate visibility label; the nested shelf is flattened. The vocabulary itself must serve two different readers — people who ask for narrative beats (logo animations, product interface moments, reveals) and production people who ask for shot types (establishing, close-up) — and typography needs sub-splitting (full-screen title animations, end cards with pricing or a call to action, opening titles).
Occasion is a first-class positioning axis, alongside audience and market.
A craft can have several parents. Character animation belongs under 2D and 3D animation at once — "maybe it's not as hierarchical, just relationship-based." One primary parent controls where it displays; the front-end flow is still to be worked out.
Content and Moments keep two pages. The combined page and its generator are retired. The distinction that settles it: is the whole piece this thing, or is there just a moment of it inside? A two-second title animation inside a film is a moment; a film that is title animation top-to-bottom carries it as its type.
The open detail level under moments stays open — harvest, then promote. The level keeps accepting new words (that is how a genuinely new technique gets named), but on a schedule the tail is reviewed: values used above a floor get promoted into a curated vocabulary with written definitions, and one-off spellings merge into their curated neighbor. The reviewer sees only the promotions, never the raw tail. Why: the open level did its job — the head of the list is genuinely useful — but 379 of its 577 values are used exactly once, and nobody should ever have to read that tail.
Entity identity, human-work survivability, and the taxonomy freeze are ruled as recommended: an entity is its kind plus its canonical name with aliases carrying variants, merges re-point rather than delete, and the pipeline stops minting entities without review · every classification records who said it, automation never overwrites a human row, and anything human work hangs on gets an identity that survives re-detection · the registry is the single governed surface, classifier instructions are generated from it, and every classification records the taxonomy version that produced it.
Ruled at the first review walk (4 August 2026)
Joe answered the open questions in one dictated pass. The rulings below are the ones that were clear enough to bind; his exact words are kept in the banked response record. Questions he asked to see more evidence for stay on the open list and get a follow-up packet.
A collection of work is a grouping, never a company. A campaign, a brand-identity program, a one-off project, an event or a season — each is a set of content items (and related facts) grouped together. It can have participants; that does not make it a company. Why (his reasoning): the whole idea of a content item is an atomic, singular piece that can be grouped many ways. The largest "company" in the system was really one of these groupings wearing the wrong label.
Owning a company and being someone's parent brand are two different facts, and the model must hold both. Microsoft owning GitHub is corporate ownership. Amazon over Amazon Prime, or iPhone over iPhone 16 Pro, is brand architecture — a house of brands with parent brands, sub-brands and product tiers. Depth is allowed in both; and a search for the parent must also find everything beneath it. Why: users want exactly that specificity — which tier is the premium one, what sits under what — and collapsing the two kinds of link into one destroys the distinction they are asking about.
A product does not "become" a brand — everything is an entity, and a product can carry its own brand identity while still belonging to its company. ChatGPT is a product with an identity of its own, distinct from how its company presents the whole family. The relationship map carries that nuance; no promotion rule is needed. Why: the question assumed a flip from one filing to another. The ruling is that both facts are true at once and the relationships express it.
Standing relationships between companies are part of the model. Who competes with whom, who is whose agency of record, who partners with whom — durable facts, recorded directly, across many kinds of relationship. Why (his words): "this entire product is a relationship map."
The empty buy-side is unbuilt pipeline, not a model flaw. The agencies and studios are missing because only one brand's content has ever been collected; filling them is part of how a brand gets onboarded, including a routing step for newly discovered partners (a new partner entity raises the question "should we onboard this one too?" — human-decided for now, automated later).
Research artifacts are content — captured, tagged, analyzable — but they are not creative work and never appear in creative browsing. Model cards, technical reports, white papers, press releases and third-party articles all belong to the record of a campaign or a company's output; none of them is what a person is looking for when they browse craft. Why: the product's promise is the brand-marketing creative. The ecosystem around it is context, kept close but never mixed into the shelf.
A moment is a video-only idea. Sections of a long page or regions of an image, if ever needed, will get their own word.
A company and a product position themselves differently, so they get separate positioning trees, both part of the entity's brand identity.
Time belongs on entities and their relationships. Ownership, type, name and standing relationships are dated facts, not single current values.
One piece of work, many appearances. The same film on the brand's site, on a video platform and in a press kit is one work; each appearance is kept with its own channel, engagement and surrounding information. Aspect-ratio variants are appearances of the same work too: the primary ratio leads, the vertical and square cuts are kept and findable, and the same file is never shown twice as if it were two works.
The model needs several pipelines, isolated from one another. Beyond the existing content pipeline: a brand-identity pipeline, an entity base-information pipeline (the URLs and links that define an entity's presence), and a campaign pipeline. A failure in one must not take down the others.
Live classification gets a daily recognition pass. On a backlog you can see a campaign cluster at once; day to day you cannot, so a recurring review looks at newly ingested content and asks whether it could belong to a campaign or another grouping that is only now becoming visible.
The timing layer serves the other pillars rather than standing alone. Publication time is captured on everything; shifts over years are the analysis the product exists to serve; signals and observations are derived from that record. Connect what makes sense — the architecture details are delegated.
The thin-but-canonical ownership chain is the real one. The link table the rules already name as canonical is right; its emptiness is unfinished work. Backfill it, and point every "this brand's work" surface at it.
The words we use
A thing in the world we track is an "entity". Not an actor, not a node — an entity, which is also what the data calls it. Why: one word, used by the product, the data and the people talking about it. Every extra synonym is a translation step that eventually gets translated wrong.
A "family" is what a thing IS. A "lens" is how the product slices it. The families are entities, works and groupings, content and moments, and concepts. Lenses are industry, audience, channel, occasion, craft. (Campaign was once listed here as a lens; ruled out 10 August 2026 — a campaign is a container you filter by, not a lens.) Why: these were being used interchangeably, which made it impossible to say where something belonged. The test is short: a family answers "what kind of thing is this?", a lens answers "how do I want to cut the shelf today?"
Audience, market position and channel are concepts, not containers. You classify a piece against them; you do not put it inside them. Why: a container is a thing that happened in the world and that you could point at — a campaign, an event, a project. "Instagram" is not a thing that happened. Treating it as a container invites a structure where the same piece has to live in several boxes at once.
Content
Where a piece appeared is derived from how it was collected, not judged by a model.Why: the source knows. A page pulled from a company's newsroom is newsroom content because of where it came from, and no amount of reading the text improves on that. This replaced a version where a model guessed, which was both less accurate and more expensive.
A content item is one piece of work a person could open and look at. A film is one. A landing page is one. A campaign is not. Why: it gives a single, checkable test at the boundary, which is what stopped the unit drifting between "a file", "a URL" and "a thing we published".
Moments
A moment is one beat inside a video, and belongs to exactly one video.Why: moments exist so a team can ask for the bit where the shoe turns in the light rather than for a whole film. Anchoring each one to a single parent keeps that promise simple.
Moments are described at three levels: eight groups for browsing, a fixed set of shelves for what the beat is doing, and an open level underneath for the specific craft.Why: the top two are fixed so that browsing is stable and so a classifier has a target that does not move. The bottom one is open so a genuinely new technique can be recorded rather than forced into an existing word. Whether the bottom level should stay open is now itself an open question, because the tail has grown long.
A moment may sit on several shelves, and exactly one is its main shelf.Why: a closing card that also contains an animated logo genuinely belongs to both, and forcing a single choice loses real information. The main shelf exists so there is always one answer to "what do we call this and where does it sort?"
Some shelves are catalogue rather than browse. They are kept and searchable, but not offered as creative reference. Why: nobody pulls up a talking head for inspiration. Nothing is ever thrown away; catalogue only means "do not put this on a shelf at the front."
The moments taxonomy is frozen between planned versions.Why: you cannot train a classifier toward a target that changes weekly. Changes go through a version bump and a planned re-run, never a live mid-week rewrite.
What the model is designed against
We design for the shape we are scaling to, not around the gaps in today's data.Why: almost everything that looks thin right now is thin because the pipeline that would fill it has not been built. Only one pipeline exists, and it handles content. "Hardly anything is tagged to a campaign" is a statement about missing machinery, not evidence that campaigns are the wrong idea. Designing around that would encode a temporary gap into the permanent structure — and the structure is the expensive thing to change later, while the data is the cheap thing to backfill.
This is the whole reason this documentation exists rather than another round of fixing rows. The conversations it replaces sounded like "careful, there are ghost rows, you'll break the wiring" and "well, campaigns are barely tagged" — both true, both about work we already know we have to redo. Getting the architecture right for a complex thing at scale matters more than patching something we have already decided to rebuild.
How to apply it: when a check on the conformance report fails, first ask which of three things it is — the model is wrong, the build is wrong, or the work simply has not been done. Only the first two are defects. The third is a to-do list, and it must never be used as an argument against the model.
How this documentation itself works
Model pages are written in plain language for someone who has never seen this project, and a linter blocks internal codes, raw database identifiers and file references on them. Why: the model has two audiences, a person and a machine, and shorthand fails both. It also removes the excuse that a page is "technically correct" while being unreadable.
Relationship maps are diagrams written in the page source, never components.Why: the machine-readable version of this site is generated from the page source. Anything rendered by a component would be invisible to half the audience.
Worked examples are generated from live rows, not written by hand.Why: an invented example is unfalsifiable. A real one can be looked at and called wrong, which is the only way an error gets found.
Measurements never appear in model prose. They live on the generated state page; the model pages carry only the vocabulary and the rules. Why: a number typed into prose starts lying the moment the pipeline runs, and nothing catches it. Separating them means a model page can only be wrong about meaning — which is the one thing a human review can actually catch.
Where the data disagrees with the model, that is a check, not a paragraph.Why: prose goes stale silently, reads as an opinion, and nobody remembers to delete it once the problem is fixed. A check turns green by itself.