Connect a data source
Point the office at the real world — on your terms. Pick a source, see exactly what it would ask for before it runs a single call, and confirm the connection yourself. Everything here is a MOCK this beat: no live account, no real key. The one real-connector pass ahead is a swap, not a build.
Every source connects the same way: it enters DRY-RUN by default (it proposes; it does not write), it is capped and rate-limited so it can never run away, and every call it makes is on the record. You connect it; you confirm each absorption; nothing crosses your membrane on its own. No source is offered that would harvest a person — those are on the refused shelf below.
- Business facts — public business facts (name, address, hours, category) from a business directory APIcomputedcomputed · source-declared
- Web jsonld — a public web page's schema.org / JSON-LD markupcomputedcomputed · source-declared
- Entity resolution — an AI extraction + entity-resolution over an unstructured public pagemachine · ai-extracted
- Sovereign vault — a person's OWN store (Google Drive) over the s3-storage interpretercomputedcomputed · source-declared
- Telegram valet — a person's OWN Telegram, paired to their valet by a one-time codecomputedcomputed · source-declared
Needs an API key, entered as ${GOOGLE_PLACES_API_KEY} — a value the office holds in its own environment, never in the engine and never on the spine (zero custody). None is entered live this beat; the later Real Connectors & Keys pass places it.
- may read: document — the single lawful root it declared, read through the "rest" interpreterthe read surface is…the read surface is closed to its declaration
Its cap is 500 calls per source per day and 60 per minute — the blast radius is bounded before it runs. It enters DRY-RUN by default (it proposes what it WOULD absorb and writes nothing until you confirm), and every call it makes is on the record. Nothing runs without your say.
- Personal-data harvester (scrape people and build dossiers) — A connector whose purpose is to harvest personal data — to scrape people and assemble dossiers about who they are — is unwritable here. The graph is dark by default; total legibility is refused as a goal. No connector mints a person or enriches one; a human becomes a citizen only by walking their own door. There is no honest version to invert to.Resolution follows…Resolution follows consent
- Contact-list broker (pipe the customer list outward to be sold) — A connector whose purpose is to pipe a customer list OUT to be aggregated and sold is refused. Outside-records are enterprise-private, never cross-matched, never enriched, never sold — a connector cannot open a boundary the person never consented to open.Resolution follows…Resolution follows consent
- People-search enrichment (cross-match a name against the whole web) — A connector that takes a name and cross-matches it against everything the web knows — stitching an identity from what the person never gave — is refused. Resolution follows consent; an enterprise's outside-records are never joined to another's, and never enriched from outside.Resolution follows…Resolution follows consent
- Engagement-signal ingester (import attention data to rank for capture) — A connector that imports attention / engagement signals in order to rank a feed for capture — optimizing for time-on-screen instead of the person's own goal — has no shape here. Discovery works for the receiver, not against them; there is nothing to invert.The discovery law
Intent
point the office at the real world under a governed dry-run — pick a source, see the scopes or keys it would ask for before it runs, find its cap, and refuse the harvesters by name
Decisions this screen answers
- 1pickwhich source am I connecting, and what does it read?
- 2governwhat would it ask for, what is its cap, and does anything run without my say?
- 3refusewhat source will this world NOT connect for me, and why?
Layout — how the packer placed the top-level blocks
- row 112header
- row 212hero
- row 312kpi-row
- row 46+6panel · panel
- row 512panel
- row 612panel
A row is packed largest-first into a curated arity (12 · 8+4 · 6+6 · 4+4+4 …). A single 12 is a full-width block; a natural row is a fit-content control that refuses to inflate.
The blocks — what each serves, reads, and why
Empty / unresolved — what didn’t render with data
Every block resolved to a block and read data. Nothing empty, nothing unresolved.
Raw
Descriptor JSON — the recipe this screen was generated from
{
"id": "connector-setup",
"title": "Connect a data source — on your terms, nothing running without your say",
"skin": "real",
"template": "briefing",
"parti": "point the office at the real world under a governed dry-run — pick a source, see the scopes or keys it would ask for before it runs, find its cap, and refuse the harvesters by name",
"shell": "app",
"decisions": [
{
"id": "pick",
"question": "which source am I connecting, and what does it read?"
},
{
"id": "govern",
"question": "what would it ask for, what is its cap, and does anything run without my say?"
},
{
"id": "refuse",
"question": "what source will this world NOT connect for me, and why?"
}
],
"sections": [
{
"id": "cs-header",
"kind": "header",
"zone": "chrome",
"rank": "ambient",
"serves": [
"pick"
],
"children": [
{
"id": "cs-name",
"kind": "run-title",
"serves": [
"pick"
],
"query": {
"path": "connectorSetup.label"
},
"label": "Connect a data source"
},
{
"id": "cs-meta",
"kind": "meta-line",
"serves": [
"pick"
],
"items": [
{
"id": "cs-meta-sources",
"query": {
"path": "connectorSetup.counts.sources",
"format": "int"
},
"label": "sources"
}
]
}
]
},
{
"id": "cs-opening",
"kind": "hero",
"zone": "opening",
"rank": "hero",
"serves": [
"pick"
],
"children": [
{
"id": "cs-lede",
"kind": "plain-card",
"serves": [
"pick"
],
"source": {
"path": "connectorSetup.opening"
}
}
]
},
{
"id": "cs-glances",
"kind": "kpi-row",
"zone": "glances",
"rank": "support",
"serves": [
"pick",
"govern"
],
"children": [
{
"id": "cs-kpi-sources",
"kind": "kpi",
"serves": [
"pick"
],
"query": {
"path": "connectorSetup.counts.sources",
"format": "int"
},
"label": "sources you could connect"
},
{
"id": "cs-kpi-cap",
"kind": "kpi",
"serves": [
"govern"
],
"query": {
"path": "connectorSetup.counts.cap",
"format": "int"
},
"label": "calls per source, per day — the cap"
},
{
"id": "cs-kpi-refused",
"kind": "kpi",
"serves": [
"refuse"
],
"query": {
"path": "connectorSetup.counts.refused",
"format": "int"
},
"label": "refused, with reasons"
}
]
},
{
"id": "cs-posture-panel",
"kind": "panel",
"zone": "readings",
"rank": "support",
"spanMin": 6,
"spanMax": 6,
"serves": [
"govern"
],
"children": [
{
"id": "cs-posture",
"kind": "plain-card",
"serves": [
"govern"
],
"source": {
"path": "connectorSetup.posture"
}
}
],
"title": "How every source connects — the governed posture",
"caption": "The same rules bind every source, whatever it reads. Here they are in one breath:"
},
{
"id": "cs-sources-panel",
"kind": "panel",
"zone": "territory",
"rank": "support",
"spanMin": 6,
"spanMax": 6,
"serves": [
"pick"
],
"children": [
{
"id": "cs-sources",
"kind": "plain-rows",
"serves": [
"pick"
],
"source": {
"path": "connectorSetup.sources"
},
"emptyPlain": "no sources in the connector law yet"
}
],
"title": "The sources — each with its honest face",
"caption": "What each source is, the register it carries and the grade it wears, and — at a glance — what it would ask for to go live. Everything here is a MOCK this beat: no live account, no real key."
},
{
"id": "cs-selected-panel",
"kind": "panel",
"zone": "territory",
"rank": "support",
"serves": [
"govern"
],
"children": [
{
"id": "cs-connect-need",
"kind": "plain-card",
"serves": [
"govern"
],
"source": {
"path": "connectorSetup.selectedDetail.connectNeed"
}
},
{
"id": "cs-caps",
"kind": "plain-rows",
"serves": [
"pick"
],
"source": {
"path": "connectorSetup.selectedDetail.capabilities"
},
"emptyPlain": "this source reads nothing declared"
},
{
"id": "cs-governed",
"kind": "plain-card",
"serves": [
"govern"
],
"source": {
"path": "connectorSetup.selectedDetail.governed"
}
},
{
"id": "cs-confirm",
"kind": "act-button",
"act": "connect-source",
"strength": "primary",
"serves": [
"govern"
],
"label": "confirm the mock connection"
},
{
"id": "cs-later",
"kind": "cta-link",
"href": "#cs-sources-panel",
"strength": "decline",
"records": "nothing",
"serves": [
"govern"
],
"label": "not now — leave it disconnected; nothing is recorded"
}
],
"title": "This source, up close — what it would ask, and what it may read",
"caption": "The scopes or the key it would request (zero custody, none entered live this beat), what it is allowed to read, and its governed posture — its dry-run default and its cap. Confirm a mock connection; nothing runs after."
},
{
"id": "cs-refused-panel",
"kind": "panel",
"zone": "frontier",
"rank": "ambient",
"serves": [
"refuse"
],
"children": [
{
"id": "cs-refused",
"kind": "plain-rows",
"serves": [
"refuse"
],
"source": {
"path": "connectorSetup.refused"
},
"emptyPlain": "nothing is refused"
}
],
"title": "What we will NOT connect — and why",
"caption": "The sources this world refuses: the harvesters and the brokers, each named with the law it breaks in plain words. A source that would scrape a person isn't offered — it is refused, in the open."
}
]
}Engine page — the data this screen read (50 top-level keys)
{
"mode": "play-as-citizen",
"sim": "doors-staging",
"seed": 2027,
"day": 75,
"days": 120,
"people": 48,
"unitsAlive": 5,
"person": {
"node": "p0001",
"label": "Persona p0001",
"grade": "L⟨lock⟩",
"plainGrade": "a verified real person",
"goals": [
{
"commitment": "c-p0001",
"targetKind": "service-time",
"plainKind": "someone's time",
"targetAmount": 8,
"received": 36,
"windowDays": 60,
"arrived": true,
"firstSession": null
},
{
"commitment": "kd-c-spanish",
"targetKind": "knowledge",
"plainKind": "know-how",
"targetAmount": 1,
"received": 0,
"windowDays": 90,
"arrived": false,
"firstSession": null
}
],
"tastes": [
"service-time",
"goods"
],
"plainTastes": [
"someone's time",
"stuff"
],
"boundaries": []
},
"holdings": {
"money": 873200,
"available": 873200,
"kinds": [
{
"kind": "goods",
"plain": "stuff",
"amount": 1
},
{
"kind": "service-time",
"plain": "someone's time",
"amount": 36
}
]
},
"activity": {
"handoffs": [
{
"transfer": "t_ev_01MG2M1P00M62S4NQ4GWHYC9HH_pay",
"direction": "out",
"kind": "money",
"plainKind": "money",
"amount": 2500,
"state": "settled",
"plainState": "paid and confirmed",
"day": 46
},
{
"transfer": "t_ev_01MG2M1P00M62S4NQ4GWHYC9HH_del",
"direction": "in",
"kind": "service-time",
"plainKind": "someone's time",
"amount": 4,
"state": "settled",
"plainState": "paid and confirmed",
"day": 46
},
{
"transfer": "t_ev_01MGAB7V00ASCA3G641MSCJK7D_pay",
"direction": "out",
"kind": "money",
"plainKind": "money",
"amount": 2500,
"state": "settled",
"plainState": "paid and confirmed",
"day": 49
},
{
"transfer": "t_ev_01MGAB7V00ASCA3G641MSCJK7D_del",
"direction": "in",
"kind": "service-time",
"plainKind": "someone's time",
"amount": 4,
"state": "settled",
"plainState": "paid and confirmed",
"day": 49
},
{
"transfer": "t_ev_01MHV8SG00ZF4MABM3JG9THKPJ_pay",
"direction": "out",
"kind": "money",
"plainKind": "money",
"amount": 2500,
"state": "settled",
"plainState": "paid and confirmed",
"day": 68
},
{
"transfer": "t_ev_01MHV8SG00ZF4MABM3JG9THKPJ_del",
"direction": "in",
"kind": "service-time",
"plainKind": "someone's time",
"amount": 4,
"state": "settled",
"plainState": "paid and confirmed",
"day": 68
},
{
"transfer": "t_ev_01MHXV670035REH26A7Z4RWN31_pay",
"direction": "out",
"kind": "money",
"plainKind": "money",
"amount": 2500,
"state": "held",
"plainState": "held safely in the middle",
"day": 69
},
{
"transfer": "t_ev_01MHXV670035REH26A7Z4RWN31_del",
"direction": "in",
"kind": "service-time",
"plainKind": "someone's time",
"amount": 4,
"state": "promised",
"plainState": "promised",
"day": 69
}
],
"arrivals": 1,
"giftsGiven": 0
},
"take": {
"goalFrame": "doors that move you toward your goal: 1 know-how.",
"doors": [
{
"offer": "of_01MJ5JCC00GMS8TKXE7VJAVKN3",
"unit": "unit-1-subscription-service",
"unitLabel": "Fern & Frond Fitness",
"gives": {
"kind": "service-time",
"plain": "someone's time",
"amount": 4
},
"asks": {
"kind": "money",
"plain": "money",
"amount": 2500
},
"track": {
"arrivals": 20,
"effectiveCohort": 28,
"arrivalRate": 0.7857142857142857,
"gratitudeGifts": 0,
"gratitudeRatio": 0
},
"mirror": {
"status": "not-met",
"plain": "the honesty check has read this enterprise: not enough kept promises yet."
},
"score": 1.8246008744337938,
"fit": 1,
"varietyPick": false
},
{
"offer": "of_01MCC5RM00KKTQD22XH4ZE9QVG",
"unit": "unit-2-marketplace",
"unitLabel": "The Mycelium Market",
"gives": {
"kind": "goods",
"plain": "stuff",
"amount": 1
},
"asks": {
"kind": "money",
"plain": "money",
"amount": 1800
},
"track": {
"arrivals": 8,
"effectiveCohort": 11,
"arrivalRate": 0.8181818181818182,
"gratitudeGifts": 0,
"gratitudeRatio": 0
},
"mirror": {
"status": "not-met",
"plain": "the honesty check has read this enterprise: not enough kept promises yet."
},
"score": 1.5989256895412658,
"fit": 1,
"varietyPick": false
},
{
"offer": "of_01MCC5RM00KKTQD22XH4ZE9QVQ",
"unit": "unit-3-services-agency",
"unitLabel": "Hyphae Home Services",
"gives": {
"kind": "service-time",
"plain": "someone's time",
"amount": 6
},
"asks": {
"kind": "money",
"plain": "money",
"amount": 85000
},
"track": {
"arrivals": 0,
"effectiveCohort": 6,
"arrivalRate": 1,
"gratitudeGifts": 0,
"gratitudeRatio": 0
},
"mirror": {
"status": "not-met",
"plain": "the honesty check has read this enterprise: not enough kept promises yet."
},
"score": 1,
"fit": 1,
"varietyPick": false
},
{
"offer": "of_01MH437100Y0W0DH054Z6ZASK9",
"unit": "unit-4-school",
"unitLabel": "The Spore School",
"gives": {
"kind": "knowledge",
"plain": "know-how",
"amount": 3
},
"asks": {
"kind": "money",
"plain": "money",
"amount": 120000
},
"track": {
"arrivals": 7,
"effectiveCohort": 8,
"arrivalRate": 0.875,
"gratitudeGifts": 0,
"gratitudeRatio": 0
},
"mirror": {
"status": "not-met",
"plain": "the honesty check has read this enterprise: not enough kept promises yet."
},
"score": 0.41630093465448764,
"fit": 0.25,
"varietyPick": false
},
{
"offer": "of_01MESDP600N9B2AKGSPN707HDN",
"unit": "unit-c1-p0001",
"unitLabel": "gives 1 of know-how for 60000 money every 7 days — royalties to the root and the relief fund; joins through a cohort; honesty check: settled receipts toward the member's own committed goal",
"gives": {
"kind": "knowledge",
"plain": "know-how",
"amount": 1
},
"asks": {
"kind": "money",
"plain": "money",
"amount": 60000
},
"track": {
"arrivals": 0,
"effectiveCohort": 7,
"arrivalRate": 1,
"gratitudeGifts": 0,
"gratitudeRatio": 0
},
"mirror": {
"status": "not-met",
"plain": "the honesty check has read this enterprise: not enough kept promises yet."
},
"score": 0.25,
"fit": 0.25,
"varietyPick": false
}
],
"pageLimit": 6,
"totalEligible": 5,
"rankingInputs": [
{
"id": "verified-outcomes",
"plain": "how many promises this enterprise actually kept — verified, not claimed",
… truncated (187652 more chars)