Three ideas explain the whole system. One master file holds every number, and the website's database is a copy of it. Copying is not automatic — that step is called publishing. Only you rebuild the site from the master — two robots refresh a few live numbers on their own, but neither can move a rent.
Click any purple phrase to copy it, then paste it to Claude.
Your working copy. One file on your computer, data\properties.json, that holds every
number in the portfolio — every rent, every tenant, every square foot.
Robots update it. You edit it. Nobody else can see it.
What everyone else sees. portfolio.tuckerdevelopment.com — the dashboard Aaron,
Teresa and Lindsey open.
It is a copy of the master file. The parts that matter — tenants, rents, lease terms, abstracts — only change when you publish.
Two robots do write here on their own, and both are SYNCED-tier: the 7:50 job pushes Henry & District apartment lease-up, and the sync refreshes GL spend and redeploys the page. Neither can touch a rent, a lease term or an abstract.
Think of it like a document you are drafting. The master file is the draft open on your desk. The live site is the printed copy you handed to the room. Editing the draft changes nothing in their hands until you print a new one. Publishing is printing.
So if someone says “the site is wrong,” the first question is not what broke — it is has it been published since the change? The two disagreeing is normal, not a bug.
_INBOX, runs all six importers, checks the write-lock, publishes to the live site, re-pushes every lease abstract, then reports any new deal folder. If an importer tried to move a rent, a lease date, an option, a contact or a loan term, it stops and restores the master rather than publish._INBOX, imports, audits the write-lock, and keeps the fresh data in the master — but never touches the live site. This is exactly what the 8:15 and 12:15 syncs run, which is why the site can sit a few hours behind the master by design.Executed Deals folder that nobody has abstracted or added to the portfolio yet. This is how Intuit and Charles Schwab surfaced.--apply), then a publish. Run it after a folder move: 45 links broke silently when South Loop and 900 West moved.Inbox\Claude and works them with you. AR and sales spreadsheets are already filed; contact forms, COIs and estoppels wait for your approval.leasing_json. Only District and Henry have live LARs; for everything else, email me the leasing status or just tell me.sync_lods.py, run by hand. LODs never change, so publishing preserves them rather than regenerating them._INBOX\ or the property's folderInbox\Claude_INBOX\. LARs file to District/Henry. Instructions become tickets._INBOX, runs every importer, audits the write-lock, updates the master — and stops. Emails you what changed, what's broken, what's stale.| When | Who | What |
|---|---|---|
| 07:46 | robot | Back up the live database — before anything writes to it. |
| 07:50 | robot | Push Henry & District apartment lease-up straight to the live site — one of only two robots that can. SYNCED data only. |
| 08:15 | robot | Detect changes → update the master → email you what changed, what is broken, what is stale. Never rebuilds the site from the master. |
| 09:00 | robot | File the Asana payroll invoice. |
| 12:15 | robot | Second detection pass, for anything dropped after breakfast. |
| every 15 min | robot | Sweep Inbox\Claude. Runs 24/7 whenever the laptop is awake. |
| whenever | you | Refresh the portfolio. Everything staged goes live. |
Laptop asleep? Nothing runs, and nothing is lost — the mail waits on the server and missed jobs catch up on wake. The live site is never published unattended.
The test: could a wrong value here cause a mis-bill or a legal defect?
A stale AR number is embarrassing. It does not invalidate a lease or misroute a payment.
A source file exists, but the value must never apply itself. A wrong billing contact misroutes an ACH pull; a wrong notice address makes a default notice legally defective.
Judgment, not data. No source file exists — someone read a lease and formed a view.
All under C:\Users\KateLawson\Tucker Development Dropbox. A ● means the flow is live;
● means the folder exists but nothing recent is in it.
The copy button puts the full Windows path on your clipboard — paste it into Explorer. It opens nothing.
TUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Leasing - WMP\Executed DealsTUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Leasing - WMP\AR Analytics - CurrentTUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Leasing - WMP\Sales ReportsTUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Leasing - WMP\GL Analytics - CurrentTUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Leasing - WMP\Broker Agreements and Status ReportsTUCKER DEVELOPMENT\WHEATLAND MARKETPLACE\Accounting - WMP\Financial ReportingTUCKER ACQUISITIONS\- OWNED ASSETS\HUNTINGTON\Leasing\Executed DealsTUCKER ACQUISITIONS\- OWNED ASSETS\HUNTINGTON\Leasing\Current ARTUCKER ACQUISITIONS\- OWNED ASSETS\HUNTINGTON\Leasing\Sales ReportsTUCKER ACQUISITIONS\- OWNED ASSETS\HUNTINGTON\Leasing\Current GLTUCKER ACQUISITIONS\- OWNED ASSETS\HUNTINGTON\Leasing\Broker Status ReportsTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Leasing\AR Analytics - CurrentTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Leasing\GL Analytics - CurrentTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Leasing\Broker Status ReportsTUCKER ADVISORS\- MANAGED ASSETS\SOUTH LOOP\Accounting\Financial ReportingTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Leasing\AR Analytics - CurrentTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Leasing\GL Analytics - CurrentTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Leasing\Brokerage Agreements and Status Reports\Office Status ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\900 WEST\Accounting\Financial ReportingTUCKER DEVELOPMENT\THE HENRY\Leasing - The Henry\Executed DealsTUCKER DEVELOPMENT\THE HENRY\Leasing - The Henry\Broker Status ReportsTUCKER DEVELOPMENT\THE HENRY\Asset Management - The Henry\Weekly ReportsTUCKER DEVELOPMENT\DISTRICT 1860\Leasing - District 1860\Executed DealsTUCKER DEVELOPMENT\DISTRICT 1860\Leasing - District 1860\Broker Agreements and Status Reports\Status ReportsTUCKER DEVELOPMENT\DISTRICT 1860\Asset Management - District 1860\Weekly ReportsTUCKER ACQUISITIONS\- OWNED ASSETS\EOLA COMMONS\Leasing\Executed DealsTUCKER ACQUISITIONS\- OWNED ASSETS\EOLA COMMONS\Leasing\Current ARTUCKER ACQUISITIONS\- OWNED ASSETS\EOLA COMMONS\Leasing\Sales ReportsTUCKER ACQUISITIONS\- OWNED ASSETS\EOLA COMMONS\Leasing\Broker Status ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1035 W LAKE\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1035 W LAKE\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1035 W LAKE\Property Management\Onboarding\TenantsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1115 W FULTON MKT\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1115 W FULTON MKT\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1611-1617 N DAMEN\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1611-1617 N DAMEN\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1611-1617 N DAMEN\Property Management\Onboarding\TenantsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1627-1633 N DAMEN\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1627-1633 N DAMEN\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1627-1633 N DAMEN\Property Management\Onboarding\TenantsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1727-1731 N DAMEN\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1727-1731 N DAMEN\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1927-1941 N HALSTED\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1927-1941 N HALSTED\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1947 N HALSTED\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1947 N HALSTED\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1950-1954 N HALSTED\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1950-1954 N HALSTED\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1962 N HALSTED\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\1962 N HALSTED\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\312 N CARPENTER\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\312 N CARPENTER\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\936 W FULTON MKT\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\936 W FULTON MKT\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\936 W FULTON MKT\Property Management\Onboarding\TenantsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\939 W FULTON MKT\Leasing\Executed DealsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\939 W FULTON MKT\Leasing\Sales ReportsTUCKER ADVISORS\- MANAGED ASSETS\ASANA\939 W FULTON MKT\Property Management\Onboarding\TenantsClick a black box to copy the command. It is never executed — paste it into a terminal inside the Portfolio Map folder. Most of the time you can just say the phrase to Claude instead.
python refresh_portfolio.py
python refresh_portfolio.py --no-publish
python refresh_portfolio.py --dry-run
python refresh_portfolio.py --publish-only
python scripts\audit_portfolio.py
python scripts\resolve_tenant_folders.py
python scripts\resolve_tenant_folders.py --accept
python scripts\resolve_tenant_folders.py --apply python refresh_portfolio.py --publish-only
python cloudflare-infra\tucker_portfolio_cf\migration\generate_data_sql.py --dry
python scripts\build_source_paths.py python scripts\gen_portfolio_guide.py
cd cloudflare-infra\tucker_portfolio_cf\pages npx wrangler pages deploy . --project-name=tucker-portfolio-map --branch=main
Three things stand between a bad file and a broken site. The write-lock snapshots the master before the importers run and compares it afterwards — so even a brand-new importer nobody audited cannot quietly move a rent. The count gate refuses to publish if tenants or sales drop sharply. And after every publish the site reads back its own lease-abstract count and self-heals if any are missing.
If something does go wrong: every night's database snapshot sits in backups\\d1\\, and
the master file is backed up before every single refresh.
leasing_json, so the leasing pipeline you see on the site is whatever a human last typed in. Only District 1860 (29 reports) and The Henry (24) have a live LAR flow. For every other property, email the leasing status into Inbox\Claude or just tell Claude. Right now the site shows Henry at May 27, while The Henry LAR_06.24.26.pdf has been sitting in Dropbox for two weeks.propose_wmp_contacts.py only knows Wheatland. That is deliberate for now — a wrong billing contact misroutes an ACH pull — but it means a contact change is three separate steps.(property, suite) — a rule the database already enforces — would retire the whole class of bug.[[catchall]].js, and both must be edited together.Compiled Worker successfully and Uploading Functions bundle — without them the API is dead and the dashboard shows “No property data found.”