This document defines living.lexicon — the brand shorthand we use to communicate across humans and AI agents. It documents the symbols + tags we use across homestead.capital.partners and the wider Paul Dolphin operating system, the human-AI bridge that keeps every brief, chatter line, and code path speaking the same language.
Why we built a lexicon
Compact symbology keeps the cost of human-AI collaboration low. When Paul and an agent both reach for the same notation, there is no translation layer in the middle — less drift, less ambiguity, more shipped work.
- Speed. Agents and humans speak the same dialect.
- Consistency. One canonical reference for every brand entity across docs, chatter, and code.
- Filesystem-safe. Every tag works as a slug, hashtag, or folder name.
hcp.businessis a directory, a URL stem, and a chat token.
Axis 1 — Arrow ticks (relationship distance + cardinality)
The number of tick marks in an arrow encodes how big the jump is, not how strong the relationship is. More ticks means a longer hop or a wider fan-out.
| Symbol | Ticks | Meaning | Cardinality | Example |
|---|---|---|---|---|
= | 0 | identity / rebrand — same entity, different name | 1:1 | reveal.lending = axia.capital |
-> | 1 | direct successor — immediate next step | 1:1 | home.loans -> nexa.lending |
--> | 2 | flows to / leads to — downstream lineage, may span steps | 1:1 | offer.financial --> home.loans |
===> | 3 | branches into / fans out — one source expands to a list | 1:N | offer.financial ===> { hcp.www · hcp.dscr · hcp.homes } |
· | n/a | sibling separator inside a fan-out | n peers | hcp.www · hcp.dscr · hcp.homes |
Mental model: = collapses two names into one node. -> walks one step. --> walks the whole hallway. ===> opens a fan. Indentation = hierarchy depth (two spaces per level inside lineage trees).
Axis 2 — Period.notation tag namespace
Two-word lowercase tokens joined by . are tags in the homestead.capital.partners entity namespace. Each tag references exactly one canonical entity — a brand, a website, a product, a role, or a concept.
Convention
- Two words minimum, joined by
.(period). Optional third+ word for specificity. - Lowercase only.
- No spaces, no hyphens, no underscores inside a tag.
- One tag = one canonical entity.
Existing entity tags
| Tag | Refers to |
|---|---|
jhoward.hcp | jhoward Odoo DB / HCP parent operating account |
homestead.capital.partners | HCP brand (the company) |
offer.financial | the umbrella offer / deal layer |
home.loans | residential lending product line |
nexa.lending | NEXA Lending LLC (entity that holds the residential lending NMLS) |
real.estate | real estate vertical |
axen.realty | AXEN Realty sub-brand |
business.capital | business funding vertical |
reveal.lending | (legacy) → see axia.capital |
axia.capital | AXIA Capital — rebrand of reveal.lending, business funding sub-brand |
HCP-family website tags
| Tag | Domain | website_id |
|---|---|---|
hcp.www | www.homesteadcapitalpartners.com | 1 |
hcp.dscr | dscr.homesteadcapitalpartners.com | 14 |
hcp.homes | homes.homesteadcapitalpartners.com | 15 |
hcp.loans | loans.homesteadcapitalpartners.com | 16 |
hcp.business | business.homesteadcapitalpartners.com | 17 |
hcp.advisor | advisor.homesteadcapitalpartners.com | 13 |
hcp.builder | builder.homesteadcapitalpartners.com | 12 |
Combined example: the homestead.capital.partners lineage
The notation in action — the canonical brand tree, top-down, then a fan-out to the live websites in the family:
jhoward.hcp
--> homestead.capital.partners
--> offer.financial
--> home.loans -> nexa.lending
--> real.estate -> axen.realty
--> business.capital -> reveal.lending = axia.capital
offer.financial ===> {
hcp.www · hcp.dscr · hcp.homes · hcp.loans
· hcp.business · hcp.advisor · hcp.builder
}
Reverse-MD — heading notation
Standard Markdown: shorter prefix = more important. living.lexicon inverts that. Heading weight is signaled by the WIDTH of a hashtag enclosure block — and an inverse word-count rule keeps the most important headings shortest.
| Level | Pattern | Words | Example |
|---|---|---|---|
| H1 | ##### two.word ##### | 2 | ##### living.lexicon ##### |
| H2 | #### three word title #### | 3 | #### brand shorthand axes #### |
| H3 | ### four word brief title ### | 4 | ### arrow tick distance scale ### |
| H4 | ## five word descriptor here works ## | 5 | ## period notation tag namespace rules ## |
| H5 | # six word longer subsection ref here # | 6 | # how agents apply this in chatter # |
Why it works:
- Handwritten-friendly — a big drawn hashtag block reads as an H1 to a human assistant; an OCR/AI agent recognizes the same.
- Visual scanning — wider blocks land on the eye first.
- Cross-channel — same notation works in code, sticky notes, chat, blog body, sketches.
- Period.notation tags fit naturally inside H1s — they're always 2 words.
How agents use it
- In briefs. "Propagate the about-hcp menu
===>family" tells every agent the change is fan-out, not point-fix. - In chatter. "Bug is in
hcp.business --> s_website_form" pins the website + the section in seven characters. - In status reports. "
reveal.lending = axia.capitalrebrand: 4 of 7 surfaces complete" keeps the rebrand legible without paragraphs of context.
Why we publish this on living.site
Our operating system is the product. Publishing the lexicon publicly does three things at once:
- Transparency. Anyone joining the team or auditing the work can read how we communicate.
- LLM authority. When AI crawlers index
my.living.site, they pick up this notation as authoritative for thehomestead.capital.partnersnamespace. - Reusability. Future projects can fork the convention without re-deriving it from scratch.
living.code — inline instructions
A single line written in living.lexicon is enough to brief an agent without translation. We call this living.code: code that lives inside a sentence.
Example one-liners:
hcp.business --> view 7226 ===> { fix.icons · fix.theme · fix.bg }
hcp.www --> menu.237 = hcp.business --> menu.240
offer.financial ===> footer.socials.sync
Read aloud: "On hcp.business, fan view 7226 out into three fixes — icons, theme, background." An agent reads it the same way Paul does. No interpretation layer needed.
The triplet now stands:
| Layer | Tag | What it is |
|---|---|---|
| Grammar | living.lexicon | The symbols + tags (this document) |
| Instruction | living.code | A single line/block written in the lexicon, runnable by an agent |
| Surface | living.site | Where the spec gets published |
| Annotation | living.point | Inline arrow markers (-->, <--) used in prose to call out a phrase |
Bonus axis — inline annotation arrows
The same arrow vocabulary doubles as an inline pointer when commenting on prose. The reader switches modes from context — same symbols, different job.
| Use | Symbol | Reads as |
|---|---|---|
| Pointing TO a phrase you want to comment on | --> phrase | "look at this →" |
| Pointing BACK to a phrase you just quoted | phrase <-- | "← this is what I'm referring to" |
| Bracketing a phrase from both sides for emphasis | --> phrase <-- | "this — exactly this" |
Example (real Paul-to-agent message):
"--> The Two-Tick Lexicon <--is the title.--> A Human-AI Brand Shorthand for homestead.capital.partners <--is the subtitle."
The agent reads this without ambiguity: two phrases isolated, each labeled. No prose translation needed. Lineage arrows connect entities; annotation arrows point at words. Mode is context-driven.
Caveats & gating method
This post uses a teaser + framed gate approach rather than QWeb-side groups="base.group_user". blog.post.content is served as raw HTML in saas-19.1 and does not honour QWeb directives at render time, so a hard server-side gate inside the post body is not portable. The gate notice above the lexicon tables is therefore framing, not access-control: the content is visible to crawlers (good for SEO + GEO authority) and to logged-in team members (good for daily reference). If we ever need a hard gate, we move the post body into a website.page wrapper and apply groups there.