trolley.ai × concept by crescō
Partnerships · operating model

Whose turn is it?

A Reel for Hone is one row with a status. Andrew moves it, Gaby edits it, the status moves again. Eighteen days later it ships — and the row cannot tell you who had it on July 16th, how long it actually took, or what anyone owes anyone else. Nothing here is broken. The status is just doing three jobs at once: describing the work, handing it over, and approving it. Split those three and the rest falls into place.

source Read from the live workspace on Jul 27, 2026: Partnerships & Agreements Tracker (25 properties) and Deliverables & Content Assets (17 properties).
01

One row, two people, nine moves

This is Reel 1 of the Hone campaign, exactly as it is tracked today: a single row in Deliverables & Content Assets. Watch the status carry the whole conversation.

Trolley / Partnerships & Agreements / Deliverables & Content Assets
🎬 Reel 1 · Morning protocol
Type
Reel
Partnership
Hone
Lead
GP select, not a person
Status
Not Started
Due / Publish Date
July 24, 2026
Platform
Instagram
Assignee
— the property does not exist
Reviewer
— the property does not exist
Estimate
— the property does not exist
0
status
changes
0
days
elapsed
0
people
involved
?
hours of
work
What actually happened from comments & edit history
On July 16th, whose turn was it?

The row said Draft. Draft means Andrew is cutting — and it also means Gaby sent it back. Same status, opposite meanings, and the only way to tell them apart is to open the page and read the comments. Multiply that by every deliverable in every partnership: the tracker is honest about things, and silent about work.

02

What the two databases are made of

Not an opinion — a read of the schema as it stands today. Green is doing its job. Amber is text where a person or a date belongs. Red is a status carrying a handoff.

Partnerships & Agreements Tracker25 properties
Agreement StatusUpcoming · In Conversations · Scope Drafting · In Negotiation · Near Signing · Signed · Active · Completed · On Hold · Declined
10 steps
Scope Statusruns in parallel with the two others
4 steps
Legal Statusruns in parallel with the two others
5 steps
Current Ownerwho has it right now
text
Waiting Onwho we need something from
text
Next Actionthe thing somebody must do
text
Main Signera named human being
text
Deliverablesalso exists as a relation, below
duplicate
Deliverable Items→ Deliverables & Content Assets
relation
Customer · Projectsyou already added these two
relation
Exclusivity · Budget · Contract Linkthe legal spine of the deal
keep
Deliverables & Content Assets17 properties
StatusNot Started · In Production · Draft · In Review (KV) · Approved (GP) · Scheduled · Published
7 steps
LeadGP · goop · Kinship · Hone — an entity, not a worker
select
Sub-items→ itself
self-relation
Sub-item→ itself
self-relation
Parent→ itself
self-relation
Parent item→ itself
self-relation
Progress · Piecesrollups over the checkbox of the children
rollup
Donea checkbox that no status is tied to
duplicate
Type · Platform · Content Typewhat the piece is and where it goes
keep
Due / Publish Date · Asset Linkwhen it ships and where it lives
keep
Partnership→ Partnerships & Agreements Tracker
relation
Across 42 properties in two databases, there is not one Person property.

Current Owner is text. Waiting On is text. Main Signer is text. Lead is a select with four brand names in it. Which means Notion cannot notify anyone, cannot build a "my work" view, cannot count anyone's load, and cannot tell you who is late — because as far as the database is concerned, nobody works here. Everything else on this page follows from fixing that one thing.

Also worth naming: four self-relations on the same database (Sub-items, Sub-item, Parent, Parent item) are the open door to a subtask inside a subtask inside a subtask. The proposal below closes it: two levels, Project → Task, and nothing under a Task.

03

Four questions today's setup cannot answer

Every one of these is a question somebody asked in the last month. None of them is answerable from a view — each requires opening a page and reading comments.

Who has it right now?

The status says Draft. Draft is both "Andrew is cutting" and "Gaby sent it back". The row cannot distinguish them.

cause · ownership lives in a text field that nobody updates on a handoff
How long will this take?

Two people share one row, so the elapsed time is Andrew's work plus Gaby's work plus every day it sat in between. That number is not an estimate of anything.

cause · no estimate property, and no single owner to hold one
What did the deal say before we changed it?

Three Reels became four; $250K became $300K. The row was edited in place, so the earlier terms exist only in someone's inbox.

cause · one row per company, rewritten each negotiation round
What do I have to review today?

Gaby reviews everything, and her queue is "whatever is sitting in In Review (KV) across two databases" — a filter she has to remember to run.

cause · review is a status on the work, not a task assigned to the reviewer
04

The whole proposal, in one sentence

A status describes a thing. A person does the work.

Today one field is asked to do both, so the status ladder grows a rung every time a new kind of handoff appears — that's how you get to ten stages on a deal and seven on a Reel. Give the work an owner, a reviewer and an estimate, and the status can go back to being short and honest.

05

Four levels, and nothing below a task

Same shape Linear uses, and the same shape crescō runs on. Each level answers one question, and a level never does the job of the one above it.

01 · database
Customer
Who they are.
HoneThe company. It exists before the first deal and survives every renegotiation. Status: lead, in conversation, active, dormant.
  • One row per company, forever
  • Phone, contact, CRM link
  • Never edited by a deal change
02 · database
Agreement
What we signed, and when it expires.
Hone × Kinship · 2026–27Jul 1, 2026 → Jul 1, 2027. Exclusivity, budget split, carve-outs, contract link, entity. Renegotiate and you get a new row, not an edit.
  • One row per signed version
  • The legal audit trail lives here
  • Expires — everything under it inherits the date
03 · database
Project
A block of work with a delivery date.
GP Content ProductionThe Deliverables text on the contract, turned into rows. A big one can hold sub-projects — one level deep, never two. Section 07 shows exactly where that line is.
  • Has an owner and a date range
  • % complete is computed, not typed
  • This is what the timeline shows
04 · database
Task
One person. One estimate.
Edit · Reel 1 Morning protocolAssignee Andrew, 2 days, due Aug 5. The task is the hand-off, not the deliverable — and nothing lives underneath it.
  • One assignee, always
  • Blocked by / blocks another task
  • Platform, publish date and asset link ride along as fields
naming

Call it Customer. "Partnerships & Agreements Tracker" is a name people have to memorize; put that in the database description, where it belongs. Anyone who joins next quarter should be able to read the sidebar and know where things are without being told.

06

Where one task ends and the next begins

This is the decision that makes or breaks the whole model, and it is the one thing to get right before anybody touches Notion. Cut the work in the wrong place and you get back exactly what you have today: a row that bounces.

One task per hand-off.
Not per step.
  1. Does the work change hands here? If it stays with the same person, it is the same task.
  2. Can the next person not start until this is finished? Then it is a dependency, not a checklist item.
  3. Would you ever want to know how long this part took, on its own? If yes, it deserves its own row.
🤝Advisory call · Q31 hand-off
task
GaPull the quarter's numbers
GaTake the call
GaWrite the recap into the agreement page
Gaby · 0.5d · due Oct 21
Three steps, one person, nobody waiting. One task with a checklist inside. Splitting this into three rows would be admin for its own sake.
📱Stories 1–4 · launch week3 hand-offs → sub-project
task 1
AnWrite the four frames
AnDesign them
Andrew · 1d · due Aug 10
hand-off → Gaby
task 2
GaReview the set, approve or send back
Gaby · 0.5d · due Aug 11blocked by task 1
hand-off → Daniela
task 3
DaSchedule the four, add the swipe-up
Daniela · 0.25d · due Aug 12blocked by task 2
Three people, two waits. Three tasks, two dependencies, and the whole thing becomes a sub-project — because a deliverable that changes hands more than once needs a page of its own to hold the asset, the caption and the comments.

Read the boxes again: the task boundary falls exactly where the avatar changes. That is the entire rule, and it is why "Stories 1–4" could never be one row — the row would have to be Andrew's and Gaby's and Daniela's at the same time, which is what a status ends up pretending to do.

07

A big deliverable, opened up

GP Content Production is too big to be one project — so it holds sub-projects, and holding sub-projects is what makes it an initiative. Not a new database, not a new word to memorize: a project with children, and a view that filters for them.

Trolley / Projects · sub-items view
🎬 GP Content Production Gaby approves:
The guard that keeps this from becoming ClickUp

A sub-project cannot have sub-projects, and a task cannot have subtasks. One formula on Projects makes the rule enforce itself instead of relying on everyone remembering it:

if(empty(prop("Parent project")), "ok", if(empty(prop("Parent project").map(current.prop("Parent project"))), "ok", "⚠ too deep — flatten this"))
Why the initiative isn't a database

A fifth level would mean a fifth place to look and a fifth word to teach. Parent project gives you the same hierarchy inside the database you already have — and it is optional, so small deliverables stay flat instead of being wrapped in ceremony they don't need.

Yes, this is a self-relation

The same kind this page complained about in section 02. The difference is the dose: one self-relation, on Projects only, capped at one level, with a formula that flags violations. Today's setup has four of them on the piece-level database with no cap at all — that is the door to a subtask inside a subtask inside a subtask.

What rolls up

Task done → sub-project % → initiative % weighted by task count → agreement % → customer health. Mark Schedule + swipe-up done and every number above it moves, including the one on the Hone page.

08

The chain: done → Slack → next

Dependencies are what replace the bouncing. A task that is blocked says so; when its blocker closes, Notion posts to the project's Slack channel, @-mentions whoever is next, and flips their task to To do. And when the reviewer sends something back, the rework becomes a task with hours — not a sigh in a comment thread. Play it through.

#hone-launch6
Nothing posted yet.
The channel fills itself as the chain moves.

Being precise about what Notion does by itself: the trigger (status becomes Done), the Slack post and the status change on the next task are native database automations — no code, no Zapier. What I would not promise without testing it in your workspace is dates moving on their own when a blocker slips; that is a timeline setting to decide during the pilot, not something to sell in a slide.

09

Where everything you have today ends up

Nothing is thrown away except the four self-relations and the fields that duplicate a relation. Read this as the migration checklist.

today
proposed
Partnership / Company title
Customer row + Agreement rowthe company and the contract stop being the same object
Agreement Status 10 steps
Agreement status5 steps — the rest become tasks
Scope Status 4 steps
Tasks on the Agreement"Draft scope" → Andrew · "Review scope" → Gaby
Legal Status 5 steps
Tasks on the Agreement, assigned to Lars"In Redlines" is not a state of a contract — it is something Lars owes you by Friday
Current Owner text
Assignee personon the one task that is open right now
Waiting On text
Reviewer person + status In reviewwhich is exactly what the To Review queue reads
Next Action text
A Task, with a due datean action item in a cell is invisible to every view you own
Deliverables text
Projects"4 Reels, 8 Stories, 1 interview, 1 production day" → 5 project rows
Deliverable Items relation
Tasks under a Projectthe pieces themselves, one assignee each
Deliverable Status 7 steps
Task status 5 steps + ReviewerIn Review (KV) and Approved (GP) stop being statuses and become one person's queue
Exclusivity · Budget · Carve-outs · Contract Link · Entity
Agreement, unchangedthis is the reason Agreements deserves its own database
Type · Platform · Publish Date · Asset Link
Fields on the Taskthe content calendar is a view of Tasks, filtered by publish date
Sub-items · Sub-item · Parent · Parent item 4 self-relations, uncapped
One self-relation, on Projects, one level deepParent project / Sub-projects — with a formula that flags anything deeper. See section 07.
Subtasks on a piece of content
Deleteda task is the floor — the only sibling it gets is a rework task
10

Twenty-six status options become fourteen

And no object carries more than one ladder at a time. Today a single deal row holds three statuses at once — 10 × 4 × 5 is two hundred possible combinations, of which maybe a dozen are real.

Today26 options · 4 ladders
Agreement Status · on the deal
UpcomingIn ConversationsScope DraftingIn NegotiationNear SigningSignedActiveCompletedOn HoldDeclined
Scope Status · on the same row
Not StartedDraftingIn ReviewFinalized
Legal Status · on the same row
Not StartedDraftingIn RedlinesReady to SignExecuted
Deliverable Status · on every piece
Not StartedIn ProductionDraftIn Review (KV)Approved (GP)ScheduledPublished
Three of these ladders sit on one row at the same time, and the fourth is doing the job of an assignee.

Where the nuance went, honestly: "In Redlines", "Near Signing" and "Scope Drafting" were real information. They become tasks with an assignee and a due date — richer, but you now read them one click deeper instead of at a glance on the board. That is the trade, stated plainly.

11

One partnership, end to end

The whole Hone deal drawn through the four databases, record by record. Every blue chip is a relation you click to travel down. Every violet chip is a rollup that computes itself on the way back up.

🏢
Customer
1 row · Hone
The company. Survives every renegotiation.
Agreements ▸ 2
📄
Agreement
2 rows · v1 expired, v2 active
One row per signed version. The legal spine.
Projects ▸ 6
🎬
Project
6 rows · one per block of work
The Deliverables paragraph, turned into rows with dates.
Tasks ▸ 8
Task
29 rows · 8 in this project
One person, one estimate. Nothing underneath.
↑ rollups

Tasks done → the project's % complete · project %, weighted by task count → the agreement's % complete · delivered vs contracted → the customer's health. Nobody types a number: mark a task done and it travels all the way up to the customer page.

🏢 Customers / Hone database · Customers
🏢 Hone
Status
Active
Type
Brand
Owner
GaGaby
First contact
Feb 2, 2026
CRM contact
👤 Marcus Hale · VP Brand
Agreements
📄Hone × Kinship · 2025 pilot📄Hone × Kinship · 2026–27
Delivered 3 / 12 Lifetime value $550K Open tasks 21 Exclusivity ends Jul 1, 2027
📄 Agreements / Hone × Kinship · 2026–27 database · Agreements
📄 Hone × Kinship · 2026–27
Customer
🏢Hone
Status
Active
Term
Jul 1, 2026 → Jul 1, 2027
Entity
KinshipGwyneth
Type
Brand Collaboration
Exclusivity
Men's hormone health · to Jul 1, 2027
Budget split
$300K · 70 / 30 KV–GP
Signer
LaLars
Contract
📎 hone-kinship-2026.pdf
Supersedes
📄 2025 pilot
Projects
📝Creative Brief🎬GP Content Production🎥Production Day+3
Complete 24% Tasks 29 Rework logged 14h Days to expiry 339
🎬 Projects / GP Content Production database · Projects
🎬 GP Content Production
Agreement
📄Hone × Kinship · 2026–27
Customer
🏢 Hone · rollup
Status
In progress
Owner
AnAndrew
Dates
Jul 20 → Oct 30
Contracted
4 Reels · 8 Stories
Parent project
— none. This one is the parent.
Sub-projects
🎬Reel 1 · Morning protocol📱Stories 1–4 · launch week+2
Tasks
✅ 1 direct · 18 through children
Complete 13% Estimated 11.5d Rework 9h Avg review rounds 2.3 Depth check ok
Tasks / Review · Reel 1 database · Tasks
✅ Review · Reel 1 Morning protocol
Project
🎬Reel 1 · Morning protocol
Initiative
🎬 GP Content Production · rollup
Blocked by
✅ Edit v1 · Done
Blocks
📅 Schedule + collab tag
Rework of
— this one is the original
Agreement
📄 Hone × Kinship · rollup
Assignee
AnAndrew
Reviewer
GaGaby
Status
In review
Estimate
2d
Due
Aug 5, 2026
Publish date
Aug 6, 2026
Platform
Instagram
Review round
3
Rework hours
6h
Asset
🔗 frame.io/hone-reel-1-v3
Nothing rolls up from here — a task is the floor
The four questions, answered from these four records

Who has it right now? → Reel 1, Assignee Andrew, Status In review, Reviewer Gaby. · How long will it take? → 2d estimated, 6h of rework already logged. · What did the deal say before? → the 2025 pilot row, untouched, linked as Supersedes. · What do I review today? → the Reviewer field, filtered. Same records, no extra work.

12

Review is a person, not a status

Every task has an Assignee — the one person doing it — and, when it needs approval, a Reviewer. To Review is one filter (Reviewer = me · Status = In review) laid out as a feed, so Gaby reads the work instead of hunting for it. Open a card to see the actual piece, then approve it, send it back, or log the rework it cost.

Trolley / Tasks
Ga Gaby
TableBoardFeedCalendarTimeline
Reviewer is me Status is In review Sort ••• New
✅ To review 4 waiting on you · 0h rework logged today
Queue clear
Nothing is waiting on you. Everything you approved moved on by itself, everything you sent back is with its owner, and every hour of rework is on the dashboard below.
What the three buttons do
Notion buttons on the Tasks database. No integration, no app.
1
Approve → Scheduled if it has a publish date, otherwise Done
2
Stamps Approved by = me and Approved on = today
3
Notifies the assignee — no Slack message to write
4
Rolls the project's % complete forward automatically
Request changes asks one question — what caused it — and then does four things: sends it back, ticks Review round up, creates the rework task as a sibling with those hours as its estimate, and posts it to Slack.
Add rework is the same log without sending the piece back — for when the fix happened on a call. Either way the hours exist as work, not as a number somebody remembered to type. That is what makes the dashboard below trustworthy: rework hours are the sum of rework tasks.
Actions will appear here.
13

The agreement, on a timeline

Once projects have dates, the whole Hone contract is one picture: what ships when, what overlaps, and what has not started with the clock running. Click any bar to open the project.

Trolley / Customers / Hone / Hone × Kinship · 2026–27
Agreement · Active
BoardTimelineTableBy owner
JulAugSepOctNovDecJan
DoneIn progressNot started Click a bar to open the project ↓
Hone × Kinship · 2026–27 / GP Content Production
Project
🎬GP Content Production
Status
Owner
Dates
Agreement
Hone × Kinship · 2026–27
Customer
Hone
Entity
Kinship Gwyneth
0%
TaskAssigneeReviewerStatusEst · Due
The % you were trying to write
Project % = done tasks / all tasks
Agreement % = sum(project % × its task count) / all tasks

Weighting the agreement by task count instead of averaging the projects means a five-task project doesn't count the same as a thirty-task one. Nobody types a percentage anywhere.

Why it couldn't be written before

A rollup can only count children that exist. Today a Reel has no tasks under it — its progress is a person's impression, typed into a field or read off a status. Once the pieces are tasks with an owner and a done state, the number computes itself and stops being a matter of opinion.

14

The numbers you have never been able to see

Every figure below is a rollup over the same 29 tasks — nothing is entered by hand, nothing is estimated after the fact. This is the report the current setup cannot produce at any price, because the data it would need (an owner, an estimate, a review round, an hour of rework) does not exist yet.

Trolley / Reports / Operations dashboard
Hone × Kinship · last 4 weeks
This agreementAll partnershipsBy personBy quarter
Rework hours
14h
18% of everything logged. At your blended rate, $1,190 in four weeks.
Median cycle time
18d
Ask to published. 3.5 days of that is somebody working.
Avg review rounds
2.3
Worst: Reel 1 at 3 rounds and counting.
On time
71%
5 of 7 finished tasks hit their due date.
Where the 18 days actually go
Median calendar time of a published deliverable, split by what was happening. Hands-on work is the smallest slice.
Someone workingWaiting for reviewBlocked on someone else
3.5d
6.2d
8.3d
day 0day 18 · published
Rework hours by cause
Logged by the reviewer at the moment of sending something back. Four weeks, one agreement.
Deliverables by review rounds
How many rounds it took before approval. Anything past two rounds is a brief that wasn't clear enough.
Committed work · next two weeks
Sum of the estimates on each person's open tasks, against a 10-day capacity.
Contract burn
The 12 deliverables this agreement owes, one square each. 339 days left on the term.
······
3 published1 scheduled2 in review 6 not started
What this dashboard is actually telling you

Only 19% of a deliverable's life is production. The other 81% is waiting — and 14 of those hours were paid for twice, mostly because the copy direction arrived after the edit instead of before it. The fix is not "work faster": it is approve the caption at brief stage, which this data lets you argue for with a number instead of a feeling. Run it monthly and the same chart tells you whether the fix worked.

15

What it costs, not just what it gives

If this is going to be proposed to the team, it should be proposed with the bill attached.

What you gain
  • Real estimates. One person owns a task and says how long it takes. Two days means two days — not two days plus half of Gaby plus four days of waiting.
  • A queue per person. "My work" and "To review" are filters, not habits. Nobody has to remember to check anything.
  • Contract history survives. Renegotiate and the old agreement stays intact, signed and dated. Lars gets his audit trail for free.
  • A timeline of the whole deal. Projects have dates, so the year is a picture instead of a spreadsheet.
  • Progress computes itself. The rollups finally have children to count.
  • The contract can be read by a skill. Fixed fields mean Claude can turn a signed PDF into projects and tasks — which is the experiment you already ran.
What it costs
  • Migration is manual. Every existing deal has to be re-keyed into four databases. Budget two focused sessions per active partnership, or run the contract-reading skill and correct what it gets wrong.
  • More rows per deal. Hone goes from 1 row to roughly 1 customer + 1 agreement + 6 projects + ~25 tasks. Creating work takes more clicks than typing into a cell.
  • It requires discipline. One assignee per task only works if people actually split shared work and fill in estimates. The model can't enforce it.
  • You lose glanceability. "In Redlines" was visible on the board; now it's a task one click deeper.
  • Permissions get real. A single Tasks database means everyone sees everything. If partnership legal work has to stay private, that's a separate database or a locked view — decide before, not after.
  • Views have to be rebuilt. Pipeline, Exclusivity, Financial, Legal and GP Solo all point at the old tracker. They come back, but they come back by hand.
16

How to test it without betting the workspace

Nothing here requires turning anything off. Build the four databases beside the current ones and run one agreement through them.

1
Build it empty

Four databases with the properties above, and the three views that matter: My work, To review, Timeline. Nothing migrated yet.

half a day
2
Load Hone only

One customer, one agreement, six projects, the tasks for the next four weeks. The current tracker keeps running untouched.

two hours
3
Run both for two weeks

Andrew works out of Tasks, Gaby reviews out of To review. Nobody is asked to abandon anything yet.

2 weeks
4
Ask the four questions

Who has it? How long did it take? What did the deal say before? What do I review today? If the new setup answers them and the old one doesn't, migrate the rest.

one conversation
Then the contract writes the plan itself

The live test already worked halfway: pointed at the Hone contract with no context, Claude proposed GP Content Production and Campaign Launch as projects — both right — and also proposed Partnership Spend, which is a number, not a project. It missed because it had no schema to aim at. Give it these four databases and their fields, and the next signed PDF arrives as a customer, an agreement, its projects and their tasks — with dates, owners and reviewers already filled in. That's the payoff of doing the structure first.