The full product, data organism, architecture, custody model, opportunity engine, operating loop, migration history, defect history, and present-state assessment.
Internal founder / investor diligence edition. Current-source cutoff: 2026-09-13T16:38Z. Prepared 14 September 2026. Source document: DEEDSONAR_FORENSIC_SYSTEM_DOSSIER_2026-09-14.pdf, transcribed faithfully below. Every figure from the source is labeled a source claim, not a verified fact. Synthetic sample data in the interactive tools is labeled synthetic.
Ownership note: DeedSonar is solely Jeramie Hicks's. This page does not frame it as a partnership.
This edition reconciles the August release dossiers, the September DeedSonar/Neuruh control material, current Notion canon, and the current GitHub main branch through the merge of PR #83. Where evidence is older than the current code or production target, it is labeled historical rather than silently promoted to present truth.
Arithmetic check done on this page: 20,734 NC + 1,609 MI = 22,343. 21,582 mapped + 761 unmapped = 22,343. Both reconcile exactly.
DeedSonar is no longer well described as a CRM with property data. It is a governed real-estate opportunity operating system: it can originate candidates from markets and datasets, resolve property and person identity, fuse evidence, preserve multi-recipe opportunity truth, rank and qualify opportunities, choose the next best evidence, resolve contact state, enforce action authority, match demand, and carry a surviving opportunity toward acquisition and transaction while preserving provenance. The remaining work is principally closure of the last production data/authority seams and empirical outcome-loop proof, not invention of a second architecture.
The important change is not cosmetic. The project has moved through several distinct classes of engineering problem, and each class left behind a reusable control law. The initial product problem was "make the CRM useful." The actual engineering problem became "make a multi-source opportunity system tell the truth, remain reproducible, preserve authority boundaries, and survive real production data and runtime constraints."
lvdimujkfheeyqchjzra to canonical target efxowqudmsfqjmbeidjc; the legacy project remains forensic/parity reference, not a write target.The defensible invention is the combination of opportunity origination, evidence fusion, many-to-many opportunity truth, explicit uncertainty, next-best-evidence planning, authority-aware contact progression, and auditable action boundaries around a single canonical property identity. It is a system for turning messy public/permissioned records into a decisionable opportunity, not a prettier lead list.
Evidence source: Notion Chapter 07 capability-topology correction and Chapter 16 recipe maturity; GitHub PRs #60, #61, #69, #71, #73, #74, #82, #83.
| Layer | System role | Boundary |
|---|---|---|
| DeedSonar | Customer-facing real-estate intelligence and operating product | Owns customer-facing property opportunities, cases, searches, watches, CRM linkage, acquisition workflow and evidence presentation. |
| Neuruh | Underlying intelligence, orchestration, governance and memory ecosystem | Supplies the broader execution model; DeedSonar is a hardened vertical proof, not the whole kernel. |
| LandOS / landos-engine | Source analysis, land/property intelligence and specialist producer logic | Produces or transforms source evidence and specialist facts; should not become a second DeedSonar UI or CRM. |
| landos-ingest | Source ingestion and canonical source identity | Creates source rows and property identity primitives with receipts. |
| Recipe Engine / Lead Recipe OS | Signal-to-opportunity kernel | Defines/evaluates strategy contracts and membership logic; not another CRM. |
| Neuruh public front door | Commercial distribution/projection | Turns bounded capabilities into scans, dossiers and custom intelligence engagements without exposing the internal kernel. |
| Entry mode | What enters | What the system must produce |
|---|---|---|
| Market / territory hunt | Geography, asset class, buy box, acquisition thesis | A candidate universe with rankings, recipes and evidence coverage. |
| Dataset exploitation | County export, public-record corpus, CRM residue or other messy list | Normalized opportunities, provenance, deduplication and prioritized work. |
| Known target investigation | Parcel, owner, person, LLC, trust, estate, address or related entity | Resolved identity graph, ownership/authority state, contradictions and next evidence. |
| Dead-end recovery | A case another researcher could not resolve | Explicit known/unknown/conflict state plus the highest-value next route. |
| Independent underwriting | Existing deal or assumption set | Independent valuation/risk analysis and kill conditions, not confirmation theatre. |
Evidence source: Notion Chapter 07, 2026-09-07 capability-topology correction.
| Period | Stage | What changed | Why it mattered |
|---|---|---|---|
| Jul 2026 | CRM release qualification | 85+ migration chain, authenticated UAT, browser/E2E, release candidate discipline, Vercel promotion path. | Established the initial operating product and release/custody discipline. |
| Aug 7 | Release closure | Production DB through migration 110, canonical repo custody, staged Vercel production, operational release dossier. | Proved the system could be released as a controlled product rather than a local demo. |
| Aug 21 | Master control hub | 120 Willow became a manual golden workflow; acceptance specification expanded across source to outcome. | Revealed the real product contract: preserve the entire evidence and decision chain inside one case. |
| Sep 3-5 | Read-spine convergence | One canonical result-set membership pass, identity projection, async exports, resilience, phone parity. | Performance and data-projection problems were solved without rewriting product semantics. |
| Sep 7 | Recipe archaeology | Recovered 30 canonical opportunity recipes and formalized many-to-many membership. | Revealed that one primary_recipe column is insufficient for overlapping opportunity theses. |
| Sep 8-10 | Opportunity factory convergence | Identity, signal fusion, membership, qualification, NBE, demand matching, contact ladder. | Converted disparate donor logic into reusable, auditable opportunity machinery. |
| Sep 10 | Canonical DB cutover | Production authority moved to efxo; lvdi became legacy/parity source. | Separated current operational authority from historical database residue. |
| Sep 11-13 | Data-estate + authority closure | Facts-as-of, freshness honesty, action authority, customer tape repairs, class/action consistency. | Shifted the last work from "does the product function?" to "does every state and permission boundary tell the truth under real data?" |
The August 7 release dossier established the first hard baseline: source qualification, canonical Git custody, migration reconstruction and a production deployment route. It also codified the idea that the product is stronger than a working interface when the database, code, deployment and evidence all agree.
Evidence source: DeedSonar Release Closure Dossier 2026-08-07, pages 1-3: 95/95 test files, 638/638 tests, fresh Next.js build, migration reconstruction through 110, canonical Git root, staged Vercel deploy. All counts are source claims.
The 120 Willow work was not just client work. It was the clearest proof that the operator needed a single property case preserving evidence, title, authority, contact, underwriting, outreach and economics rather than a chain of disconnected scripts and files. The Master Control Hub lists the resulting evidence corpus: an 87-page underwriting dossier, a 54-row evidence ledger, 22 source families, a relationship graph, kinship ledger, bridge matrix, contact-resolution analysis, source-exhaustion matrix and outreach sequence. All counts are source claims.
Evidence source: DeedSonar Master Control Hub 2026-08-21, pages 1-3.
| Stage | Question | Do not confuse with |
|---|---|---|
| OPPORTUNITY | Does a sourced strategy or interesting signal exist? | QUALIFIED, CALLABLE |
| CANDIDATE | Is there a sourced membership worth working? | PHONE_FOUND, CRM-linked |
| QUALIFIED | Do the five qualification gates pass? | CALLABLE, AUTHORIZED, guaranteed deal |
| CONTACT_FOUND | Is accepted contact evidence present? | CONTACT_RESOLVED, DNC_CLEAR, CALLABLE |
| CONTACT_RESOLVED | Is a number plausibly associated with the correct seller-side party? | DNC_CLEAR, CONSENT |
| DNC_CLEAR | Is the specific number clear under the relevant scrub/opt-out rules? | CONSENT, ACTION_AUTHORITY |
| ACTION_AUTHORIZED | Has a legitimate authority decision been persisted? | PHONE_EXISTS |
| DEMAND_MATCHED | Does at least one buyer buy box match known facts? | QUALIFIED |
| NEXT_BEST_EVIDENCE | What research visit offers the best information gain? | NEXT_BEST_ACTION |
| NEXT_BEST_ACTION | What governed operational step should happen next? | Automatic permission to execute any action |
The read path is one of the clearest examples of capital-grade engineering inside the project. The system was not merely "slow." It was structurally performing broad work multiple times because the result-set predicate was duplicated and wide JSON documents were repeatedly decompressed.
normalized documents repeatedly.recipe_engine was a larger secondary document and could impose another large detoast cost.PR #41 introduced deedsonar_result_set_membership_v1 as the canonical skinny predicate. Counts, facets, map points, total, page ids and related result-set surfaces could derive from a single membership pass. Wide row hydration then occurred by primary key only for visible rows. The identity projection further moved the nine frequently accessed scalar fields out of TOASTed JSON.
| Path | Observed before (source claim) | Observed after (source claim) | Meaning | Improvement (computed from source figures) |
|---|---|---|---|---|
| 100-row page | ~804,550 shared blocks; up to 25s | ~141,852 one-pass plus hydration | Reduced repeated estate work by an order of magnitude. | - |
| Membership blank sort | 12,671 ms | 529 ms | Skinny projection eliminated broad JSON work. | - |
| Membership recipe-rank sort | 23,945 ms | 439 ms | Lazy/identity-projected recipe rank avoided large document scan. | - |
| Census by state | >8s / could not return | 8.7 ms | Grouped read became operationally cheap. | - |
| Map / facets | Multiple whole-estate scans | Same canonical pass | Eliminated predicate duplication. | Predicate deduplicated |
Evidence source: GitHub PR #41 summary; DeedSonar Master Control Hub acceptance matrix.
The estate is not one homogeneous data set. It contains ranking receipts, candidate projections, source rows, property/facts projections, CRM links, contact evidence, recipe memberships, watches, saved intent, and multiple temporal stamps. The architecture therefore treats the "estate" as a set of coordinated projections rather than one magic table. Counts are source claims.
PR #63 establishes one opportunity identity seam based on the existing landos-ingest property key. The core identity is {FIPS}|P|{APN} with conservative address fallbacks. The resolver refuses to merge when the evidence establishes different counties/properties and holds uncertain cases instead of guessing.
| Identity concern | Resolved rule | Failure mode prevented |
|---|---|---|
| County/jurisdiction | Exact FIPS/county resolution; ambiguous sources become CONFLICT or UNKNOWN | False joins across similarly named counties |
| APN formatting | Canonical APN normalization and geography binding | Duplicate parcel creation |
| Placeholder address | Known placeholder situs is not property identity | Vacant/unaddressed lots incorrectly merged |
| Owner name | Canonical owner kind from landos-engine vocabulary | Corporations/banks/trusts misclassified as people |
| Person identity | Separate case/person identity module; name alone does not join opportunities | Same-name owner collisions |
| Source row identity | Source row id joins only inside county/property boundaries | Cross-county collision and false merges |
On the real NC curative import, the identity court produced 20,734 opportunities with 0 false merges, 0 splits, and 0 unknown/conflict in that measured run. The court also exposed 481 Wake tax ACCOUNT ids incorrectly being used as parcel ids and placeholder situs values that could have caused vacant-lot merges. All counts are source claims.
Evidence source: GitHub PR #63.
PR #66 repaired the custody seam for the data-estate. Previously the stage append did not hash stored payloads and seal produced only a counts hash that was not stored as the batch head. The new custody model records raw and normalized payload hashes and produces a chained sealed receipt whose digest binds source row ids, payload digests and class. An already-sealed estate can be backfilled with a receipt without rewriting its rows.
PR #70 and #75 address a subtle but important distinction: a source observation date is not the same thing as the ingest date, batch creation date or processing date. Earlier code substituted a write clock when the source facts date was absent. That made "freshness" look newer than the evidence really was. The corrected model preserves NULL/UNKNOWN when the facts date is not source-observed, and the UI explicitly reports partial coverage.
Evidence source: GitHub PRs #70, #75, #76, #79, #81.
The signal-fusion work is where multiple upstream producer systems stopped being a pile of specialized facts and became a canonical evidence vocabulary that downstream opportunity logic can consume.
VALUATIONPARCELDEED_TENURECODE_VACANCYHAZARDTAX_YEARS_THRESHOLDPARCEL_GRAPHPROBATE_DEPTHESTATE_SALE_JOINTAX_SALE_CALENDAR
The fusion layer maps heterogeneous producer shapes onto the existing SignalObservation / registry / ledger semantics. Each fused signal has an explicit outcome: KNOWN, UNKNOWN or CONFLICTED.
| Signal semantics | Policy | Reason |
|---|---|---|
| General evidence | STRICT | Conflicts are preserved rather than hidden by "latest wins." |
| Tax state | LATEST | Tax state is explicitly temporal. |
| Transfer date | MAX | Later observed transfer supersedes earlier dates for this fact. |
| Tenure | MIN | Conservative tenure interpretation. |
| Derived facts | Computed only from fused signals | Prevents a recipe or ranking rule from becoming circular evidence. |
The fusion court over the Aug-27 NC raw import produced 20,734 fused properties, 0 unplaced, 0 unmapped, and reproduced the seven materialized recipe partitions exactly. The downstream recipe engine accepted 20,734/20,734 exported eligibility contexts. All counts are source claims.
nc_dps:vacancy_or_code source is one disjunctive fact, not vacancy AND code.primary_recipe is a projection/facet, not evidence.Evidence source: GitHub PR #64.
The Sep-8 recipe recovery established a more ambitious truth than the old product exposed. There are 30 canonical strategies in the recovered catalog, but the catalog should not be confused with 30 live runnable filters.
| Maturity class | Recovery count (source claim) | Interpretation |
|---|---|---|
| Runnable | 3 | Can be treated as actual executable recipe logic. |
| Partial | 10 | Some source path exists but not full estate SQL or full evidence. |
| Blocked | 33 | Registry/contract exists or is discoverable, but source/runtime conditions are insufficient. |
| Proxy-runnable | 8 | A bounded substitute evidence path exists but must be labeled proxy. |
| Contract-only | 15 | Strategy is specified without an equivalent live implementation. |
| No registry row | 5 | Recovered historically but not currently represented in the registry. |
Flag: the maturity counts sum to 74 (3 + 10 + 33 + 8 + 15 + 5), which exceeds both the 30-recipe catalog and the 46-entry live registry. The source does not reconcile this overlap on the page. Treat the classes as overlapping registry-level counts, not as a partition of the 30 recipes. See the Duplication and gaps section.
Evidence source: Notion Chapter 16 recipe recovery and GitHub PR #57.
PR #52 created the normalized candidate_recipe_membership seam; PR #57 added the bounded writer for the engine-provided many-to-many memberships. The writer preserves the engine's primary membership, imports independently proven secondary memberships, and refuses to manufacture overlaps.
| Population / result | Count (source claim) | Interpretation |
|---|---|---|
| Seeded primary memberships | 20,738 | 20,734 engine-receipted rows + 4 existing estate-sale research rows. |
| Recipe Engine input rows | 21,375 | Same 20,734 properties across the receipt feed. |
| Secondary ELIGIBLE | 641 | Independently supported secondary strategy memberships. |
| Secondary HELD | 148 | Potential membership held because a necessary fact is UNKNOWN, not treated as false. |
| Total memberships in rehearsal | 21,527 | Full-scale replica result after apply; no duplicates on re-apply. |
Arithmetic check done on this page: 20,738 + 641 + 148 = 21,527. Reconciles exactly.
This many-to-many layer is not merely an analytics convenience. It is necessary to avoid throwing away business context. One property can be simultaneously an heirship case, fractional title case, curative case, absentee opportunity and tax-distress case, each with a different research path and economics.
The qualification seam is intentionally separate from ranking and contactability. It converts evidence and membership into an explicit stage, but it does not manufacture authority or contact readiness.
| Gate | Pass condition |
|---|---|
| ASSET_IDENTITY | County/APN identity resolved with no hold/conflict. |
| RECIPE_MEMBERSHIP | At least one primary projection or eligible membership. |
| EVIDENCE_PROVENANCE | Membership carries a receipt/why-matched record citing sources. |
| DISQUALIFIERS | The same membership's receipt lists the disqualifier checks. |
| OPPORTUNITY_SCORE | Ranker score meets the canonical threshold (55 in the current candidate semantics). |
The Sep-13 customer tape found that data_estate_revise_v1 could change candidate_class without changing recommended_action. The live check caught the mismatch, and the full 1,000-row chunk rolled back. PR #83 fixes the producer so a class change derives and records the corresponding action transition. This is a strong example of the system catching a semantic inconsistency in production rather than allowing a silent state split.
Evidence source: GitHub PR #83.
The NBE layer converts an opportunity's open facts into a ranked research plan. It is pure, deterministic and receipt-producing. It does not contact a seller, make an offer or underwrite merely because a source is available.
| Observation | Result |
|---|---|
| Properties projected | 20,734 |
| Next-state for every property | CONTINUE |
| Free county tax-roll route | 19,227 properties |
| Free tax-collector route | 1,505 properties |
| Operator-only eCourts route | 2 properties |
| Memberships resting on unresolved published-tax-distress facts | 19,057 |
| Heir/fractional/foreclosure memberships corroborated by their own evidence | 2,318 |
Arithmetic check done on this page: 19,227 + 1,505 + 2 = 20,734. Reconciles exactly.
Evidence source: GitHub PR #62.
The contact ladder is one of the most important governance innovations in the system because ordinary lead software collapses these states into a single field. DeedSonar treats each rung as independent and fails closed when a rung cannot be read.
| Rung | Meaning | Example blocker |
|---|---|---|
| PHONE | An accepted phone evidence point exists. | No high-confidence seller-side evidence. |
| CONTACT_RESOLVED | The number is linked to the right seller-side party. | Party linkage uncertain or read failed. |
| DNC_CLEAR | The exact number is clear under scrub rules. | No scrub, stale scrub or opt-out. |
| NOT_OPTED_OUT | No number-level opt-out is present. | Specific number is suppressed. |
| CONSENT | Channel-specific permission requirements satisfied. | SMS has no opt-in. |
| ACTION_AUTHORITY | A persisted authority decision exists for the candidate/number/channel. | No authority row, expired or revoked decision. |
PR #71 adds a persisted action-authority ledger with owner_admin/tenant_admin authorization for positive grants, desk-seat denial/revocation, a basis tied to the relationship class, attestation and a maximum 180-day expiry. It explicitly does not turn the dialer on. The architecture therefore allows a future action cutover without weakening the evidence model.
Evidence source: GitHub PR #71.
The export/convergence work proved that 941 current candidates had accepted phone evidence from party_phones under the product's strict rule. The same work kept callability and authorization separate. A phone can be valid evidence while DNC is unknown, consent is absent, or authority is not granted.
Flag: section 16 separately reports 947 live phone rows in Sep-11/12 evidence. The source does not merge 941 and 947 into one number; they are different read surfaces/counts. See Duplication and gaps.
PR #59 moves buyer matching earlier in the funnel. A property need not be under contract before the system can ask which buyers might want it.
| State | Definition |
|---|---|
| MATCH | All buyer criteria satisfied by known property facts. |
| POSSIBLE | No known fact fails, but one or more property facts remain UNKNOWN. |
| NO_MATCH | A known fact fails the buyer box. |
| BUY_BOX_INCOMPLETE | The buyer's box itself is insufficiently specified. |
| DEMAND_UNKNOWN | The buyer read/evaluation is unavailable or incomplete; never report NO_DEMAND just because the read failed. |
This is a major commercial improvement because a customer can be told not only "this parcel looks interesting" but also "these buyer theses fit it, this is why, these facts remain unresolved, and these are the dimensions that determine disposition."
Evidence source: GitHub PR #59.
The system treats saved intent and export artifacts as first-class state rather than UI conveniences. That required its own engineering work because long-running reads outgrew synchronous HTTP requests.
A measured full-estate CSV was approximately 114 MB. A naive full-estate path involved many long hydrations. The system therefore had to turn export into a durable workflow with bounded progress rather than pretending a large document was a "download button." Size is a source claim.
PR #67 found three different migration bodies sharing the same 20260910120000 version. The old apply tool used ON CONFLICT (version) DO UPDATE, which could leave one ledger row while multiple schema mutations had actually occurred. The new guard refuses a different migration under an already recorded version and adds uniqueness tests. This is one of the most important "boring" discoveries in the project because it protects the integrity of the migration ledger itself.
Evidence source: GitHub PR #67.
| Reference | Role now | Rule |
|---|---|---|
| efxowqudmsfqjmbeidjc | Canonical DeedSonar production target | Current operational authority; production writes/migrations remain founder-gated. |
| lvdimujkfheeyqchjzra | Legacy / forensic / parity source | Never a DeedSonar write target after the cutover. |
The migration program explicitly rejected a "copy the rows" shortcut. The target must reproduce the canonical migration chain, estate, facts overlays, identity, ranking/recipe state, contact/party graph, result-set predicates, saved-object state and RLS/grants. Otherwise the product could have identical rows and still be a different system.
Evidence source: GitHub PR #74; Notion Chapter 16 current target correction; Notion "Finish DeedSonar product/data convergence."
This section uses the latest retrievable evidence, with a strict distinction between current GitHub main and live production facts observed on Sep-13. Where the current post-#83 production schema was not re-read after the merge in the available evidence, that is explicitly disclosed.
| Layer | Current evidence | Confidence / caveat |
|---|---|---|
| GitHub main | 06cbb841...; merge of PR #83 on 2026-09-13 16:38Z | VERIFIED CURRENT source custody. |
| Vercel / application | Recent production proofs show main-branch deployment path; merge-to-deploy is canonical | Deployment should be re-proven after the latest merge for a final investor-grade release receipt. |
| Production DB target | efxowqudmsfqjmbeidjc | VERIFIED CURRENT authority designation. |
| Legacy DB | lvdimujkfheeyqchjzra | VERIFIED legacy/forensic posture. |
| Current estate | 22,343 rows | Observed repeatedly in Sep-13 production tape/current-state UI logic. |
| NC estate | 20,734 rows | Observed production. |
| MI estate | 1,609 rows | Observed production; earlier ranking completeness was incomplete. |
| Facts freshness | Only 4 of 22,343 rows had known source facts date in Sep-12 UI proof | VERIFIED for that snapshot; not evidence that all future rows remain that way. |
| Phone evidence | 947 live phone rows in Sep-11/12 evidence; 941 accepted candidate phone population in export path | Different read surfaces/counts; not merged into a single invented number. |
| Action authority | 0 authorized numbers in pre-apply evidence because DNC scrub evidence was absent | Architecture exists; exact current production population needs post-apply reproof. |
| Customer tape | Blocked at CONTACT_LADDER in the Sep-13 run; repair PRs #82 and #83 landed | The system is honest about the human step instead of inventing a seller. |
| Outcome learning | Architecture exists but economic loop is not empirically closed | Known remaining research/proof gap. |
PR #83 is an important marker because it shows the project is still doing semantic convergence, not cosmetic cleanup. A real production estate revision demoted one candidate while leaving its recommended action stale. The check caught it and caused the entire chunk to roll back. The code was then repaired and merged with a 17/17 local court plus 25/25 facts-as-of court. Counts are source claims.
Each defect became a system law, test, or architecture seam.
| Defect / discovery | Why it mattered | Permanent control introduced |
|---|---|---|
| Wide estate scans / TOAST detoast | Made ordinary list pages and exports intermittently exceed runtime ceilings. | Canonical membership pass + identity projection + lazy wide hydration. |
| Async export returned a structurally valid but unusable CSV | 22,343 rows and 60 columns could pass row-count checks while 56 columns were empty. | Canonical serializer parity court, synchronous/async equivalence. |
| Async export lost phone_1 | Phone evidence existed but disappeared in worker exports. | Shared sourced-phone hydration seam + parity regression. |
| Transient export failure killed completed work | A timeout was treated as permanent failure. | RUNNING + retry same batch + failure streak. |
| Watch evaluator lost grant after rename | Permission error was misreported as owner authority loss. | Grant restoration + error-source preservation. |
| Primary recipe only | Multi-trigger opportunity truth was discarded. | candidate_recipe_membership many-to-many seam. |
| Identity false merges | Cross-county/name/address heuristics merged different properties. | Canonical property key + hold/unknown semantics. |
| Signal semantics drift | Producer-specific facts were not consumable by canonical evaluator. | Signal registry + adapters + strict/temporal merge rules. |
| Facts dates fabricated from processing clocks | Freshness looked newer than evidence. | source_as_of NULL/UNKNOWN; facts-coverage-aware UI. |
| Phone evidence presented as callability | Operators could confuse "has a number" with permission. | Contact ladder + action authority boundary. |
| Migration timestamp collision | Three different migrations could occupy one ledger version. | Refuse collision + uniqueness court. |
| Production target drift | Docs still pointed to legacy DB after cutover. | Canonical ref guard + merge/deploy authority rule. |
| Customer tape caller mismatch | Contact ladder required a missing authority input. | Tape fixed to count authority rows and fail closed. |
| Candidate class/action divergence | State changed while recommended action remained stale. | Class-change derives action and records revision history. |
The project has evolved a layered proof model rather than relying on one giant test command.
| Proof layer | Purpose | Example |
|---|---|---|
| Unit / component tests | Local deterministic semantics | Freshness, identity, qualification, operator-answer and contact-rung tests. |
| Mutation testing | Demonstrate that the tests detect broken invariants | Targeted mutants for identity, freshness, authority, serializer semantics. |
| Disposable PostgreSQL courts | Prove SQL function/migration behavior without risking prod | Signal fusion, identity SQL, recipe membership, action authority. |
| Production read-only proofs | Validate real counts, fingerprints and runtime paths | Convergence harness, tracer candidate, phone and freshness measurements. |
| Customer tape | Run one real opportunity through the actual production stack | Sep-10/13 PROPERTY to CONTACT_LADDER. |
| Migration custody / parity | Prevent code/ledger drift | Hash comparison and version uniqueness. |
| UI semantic courts | Ensure the UI does not overclaim state | Freshness chip, candidate id, proxy labeling. |
The Sep-12 convergence proof harness reported 70 PASS / 0 FAIL on its tested production evidence set, with 73/73 Python unit tests in the convergence package and 2,292 Vitest tests passed at the corresponding head. This is strong infrastructure proof, but it should be read as "the harness passed its scope," not "every downstream production migration and workflow is closed forever." All counts are source claims.
Evidence source: GitHub PR #73.
Traditional lead systems store a record plus fields. DeedSonar increasingly stores a structured opportunity genome: property identity, ownership context, evidence, signal families, recipe memberships, ranking, open questions, contact state, demand and action authority. This lets one property participate in multiple economic theses without copying or mutating the underlying truth.
Most "AI research" systems answer questions. DeedSonar adds a planning layer: which source visit should happen next, what fact will it settle, what is the expected information value, what is the cost/latency, and when should research stop? This turns research itself into an optimizable economic process.
The repeated treatment of UNKNOWN, CONFLICT, SOURCE_FAILED, PROXY and NOT_AUTHORIZED is not defensive UX. It makes the system composable because downstream automation can reason from uncertainty without guessing. The same rule appears in ranking, freshness, export, contactability, buyer demand and authority.
The architecture refuses the common shortcut "we found the owner, so we can contact them." It distinguishes identity, ownership, family relationship, legal authority, DNC, consent and action authorization. That makes the system more suitable for regulated or high-consequence workflows.
The system increasingly binds decisions to receipts, hashes, source IDs, migration fingerprints and canonical JSON. The commercial value is reproducibility: another operator or machine can inspect not only the conclusion but the state of the evidence and the exact transformation that produced it.
The DeedSonar architecture was deliberately designed to be the first hardened vertical proof of a broader opportunity factory. The deeper kernel is "lawful signal environment to evidence substrate to identity to signal fusion to opportunity genome to recipe compiler to strategy/economics to information gain to qualification to governance to outcomes to attribution." A second vertical would be the decisive proof that this is a reusable kernel rather than a sophisticated property app.
Evidence source: Notion Chapter 16, Chapter 07; signal/recipe recovery material.
The internal architecture is too complex to sell directly. The public product should expose bounded outcomes while preserving the proprietary decision machinery underneath.
| Surface | Customer promise | Underlying machinery |
|---|---|---|
| $100 Property Opportunity Scan | Fast answer: what is interesting about this property? | Identity + evidence + opportunity genome + bounded underwriting. |
| $499 Property Intelligence Dossier | A source-backed decision case with why matched, risks, economics and next actions. | Full evidence, recipe, NBE, underwriting and provenance stack. |
| Custom deep case | Resolve a difficult land/title/ownership/acquisition situation. | Dead-end recovery + specialist evidence + relationship graph + professional handoff. |
| Market / dataset exploitation | Turn a territory or file into ranked opportunities. | Ingest + identity + multi-recipe + ranking + export. |
| Custom intelligence system | Deploy the same machinery for a buyer's proprietary acquisition workflow. | Opportunity kernel + connectors + workflow + governance. |
Price flag: the $100 Scan and $499 Dossier are source prices from this 14 Sep 2026 dossier. They are source claims, not current verified prices. Verify the current price list before quoting to a customer.
These are the important remaining gaps visible in the retrieved evidence. They are not reasons to restart the architecture; they are closure items or deliberate product boundaries.
| Gap | Severity | What is actually missing | Recommended interpretation |
|---|---|---|---|
| Final production migration closure after latest merged PRs | P0 operational | Post-merge production schema/ledger proof for every recent migration still needs a current exact-head receipt. | Do a bounded production court, not another archaeology pass. |
| Contact projection / research writeback downstream path | P0 for autonomous seller workflow | Customer tape exposed the human estate-research step and the need for current contact projection on the canonical DB. | Finish the already-designed writeback and projection path; do not create a new contact system. |
| Action authority empirical population | P0 compliance gate | Architecture is merged, but numbers cannot be authorized without current scrub/attestation evidence. | Measure and populate only with explicit founder/legal policy. |
| Michigan ranking completeness | P1 product quality | Earlier evidence showed 1,609 MI rows without global rank/opportunity score. | Run a current live census and fix via existing producer path. |
| Outcome learning | P1 strategic moat | Prediction/outcome attribution loop is architected but not empirically closed. | Start persisting outcome receipts once live transactions occur. |
| 30-recipe full runnable coverage | P1 expansion | Catalog is recovered but many recipes remain partial/proxy/blocked. | Prioritize source families that unlock several recipes at once. |
| Professional authority boundaries | P1 commercial scale | Certain decisions ultimately belong to title/attorney/appraiser/engineer/etc. | Treat professional review as a partner-routing layer, not an AI conclusion. |
| Public commercialization proof | P1 revenue | Public front door exists conceptually; repeatable paid delivery needs customer tapes and payment/fulfillment evidence. | Sell bounded scans/dossiers before expanding the platform surface. |
These tools run entirely in this page. Sample records are synthetic illustrations built from the dossier's published counts, not real property or owner data. Source figures are labeled source claims.
Source section 8. The source lists recipes by domain but does not map individual recipes to maturity classes, so maturity is shown as a separate table, not per recipe.
| Recipe | Domain |
|---|
Source Appendix A. Two entries are open/draft (#54, #61); the rest are merged. PRs #51 and #53 do not appear in the source chronology.
| PR | Subject | State | Contribution |
|---|
Click each rung to set it. The ladder fails closed: a candidate is callable only when every rung is satisfied. Synthetic demonstration only.
Result: NOT CALLABLE. No rungs satisfied.
Source fact: 941 candidates had accepted phone evidence, but 0 authorized numbers existed in pre-apply evidence because DNC scrub evidence was absent. Phone present is not callable.
Source section 10. QUALIFIED requires all five gates. CANDIDATE means sourced membership exists but another gate is open.
Stage: OPPORTUNITY. No sourced membership gate passed yet.
Three synthetic sample records built from the dossier's published counts. No real property, owner, or contact data is included.
No sample loaded. Choose a loader above.
Tick what this dossier proves with current evidence. Unticked items are the honest gaps.
Follows the section 22 customer tape path. Each step names the seam and the failure mode it prevents.
Encodes the current explorer state (recipe filter, sample, gates, ladder) into a URL hash. Opening the link restores it.
All entries are source claims from Appendix A. Use the PR explorer above to filter. PRs #51 and #53 are absent from the source chronology; that is a gap, not an omission by this page.
| PR | Subject | State | Contribution |
|---|---|---|---|
| #41 | Canonical result-set membership / one-pass read spine | Merged | Reduced repeated scans; one predicate drives counts/list/map/facets/export. |
| #42 | Restore watch evaluator membership grant | Merged | Fixed permission refusal and truthful error classification. |
| #43 | Identity projection / stop decompressing estate JSON | Merged | Major block/time reduction; scalar projection. |
| #44 | Phone state agrees with phone evidence | Merged | 941 accepted phone candidates reflected in state. |
| #45 | Export summary budget + truthful manifest | Merged | Summary gets explicit budget; export counts match actual export mode. |
| #46 | Async full-estate exports | Merged | Durable artifact job with frozen membership and bounded progress. |
| #47 | Export worker reads estate as requesting seat | Merged | Service-role job re-proves seat authority. |
| #48 | Export transient retry / batch resilience | Merged | Transient failure no longer destroys completed work. |
| #49 | Canonical async serializer + worker-side freeze | Merged | Eliminated empty 56-column async export defect. |
| #50 | Async export phone parity | Merged | Worker exports preserve sourced phone evidence. |
| #52 | Normalized candidate_recipe_membership seam | Merged | Introduced normalized many-to-many membership table. |
| #54 | Cutover control / dual-DB safety | Open / draft | Founder-gated cutover custody; not a production deployment by itself. |
| #55 | Performance/rankability/proxy honesty | Merged | No fake score, rankability semantics, proxy disclosure. |
| #56 | Protected-tag quarantine + multi-recipe product view | Merged | Compliance quarantine and membership display. |
| #57 | Recipe membership writer | Merged | 641 secondary ELIGIBLE + 148 HELD in rehearsal; gated production apply. |
| #58 | From-zero e2e stack replay | Merged | Local migration chain can replay through A2 correction. |
| #59 | Demand/buyer court | Merged | Buyer matching before contract. |
| #60 | Qualification seam | Merged | Five-gate OPPORTUNITY to CANDIDATE to QUALIFIED model. |
| #61 | Contact intelligence ladder | Open / draft | Main branch convergence state needs fresh exact-head closure; several child fixes merged separately. |
| #62 | Next Best Evidence | Merged | Deterministic information-gain research planner + receipts. |
| #63 | Canonical property identity | Merged | One opportunity per property; jurisdiction/owner/dedup fixes. |
| #64 | Signal fusion | Merged | Ten source families normalized into canonical signals. |
| #65 | Customer tape + operator research writeback | Merged | Real production opportunity exposed first-missing research writeback capability. |
| #66 | INGEST custody receipts | Merged | Stored payload hashes and sealed estate receipts. |
| #67 | Migration version collision guard | Merged | Prevents timestamp collisions from masking schema mutations. |
| #68 | Current estate freshness | Merged | Facts vs snapshot semantics repaired. |
| #69 | Contact export bound to live phone evidence | Merged | No ephemeral overlay dependency. |
| #70 | Facts-as-of on estate revise | Merged | Source facts date carries through the continuous inflow path. |
| #71 | Persisted ACTION_AUTHORITY ledger | Merged | Explicit authority state separate from DNC/consent. |
| #72 | Cutover guard + parity | Merged | efxo/legacy authority split, migration parity, guards. |
| #73 | Autonomous convergence proof harness | Merged | Read-only 70/0 final proof gate at tested head. |
| #74 | Canonical production guidance | Merged | efxo current; lvdi legacy; merge=deploy; migrations founder-gated. |
| #75 | Missing facts date = UNKNOWN | Merged | No more clock substitution in freshness. |
| #76 | Facts coverage in freshness chip | Merged | Partial dates cannot masquerade as estate-wide facts date. |
| #77 | Operational currentness presentation | Merged | Current operational state precedes historical snapshot detail. |
| #78 | Partial source-facts date out of face | Merged | Aug-19 partial date moved to provenance/detail. |
| #79 | Restore required freshness face | Merged | FACTS UNKNOWN + coverage + snapshot window shown explicitly. |
| #80 | Fix current estate face build | Merged | Build correction only. |
| #81 | Operational state / facts coverage chip precedence | Merged | Current operational stamp leads; facts coverage follows. |
| #82 | Customer tape authority input repair | Merged | Tape now evaluates action-authority state correctly. |
| #83 | Class change carries recommended action | Merged | Production semantic mismatch fixed with rollback-safe migration. |
| Source | Date | Role in this dossier |
|---|---|---|
| DeedSonar Release Closure Dossier | 2026-08-07 | Historical release/custody baseline, initial proof model. |
| DeedSonar Master Control Hub | 2026-08-21 | Golden product workflow, acceptance matrix, 120 Willow case proof. |
| Notion Chapter 07 - DeedSonar, LandOS and Signal-to-Revenue Organ | 2026-09-07 | Capability topology and product/kernel boundaries. |
| Notion Chapter 16 - DeedSonar Opportunity Intelligence | 2026-09-08 | 30-recipe catalog and maturity, membership thesis. |
| Notion Finish DeedSonar Product/Data Convergence | 2026-09-11 | Cutover authority, current production target, remaining P0 sequence. |
| GitHub NeuruhAI/deedsonar main | 2026-09-13 | Current source head 06cbb841... |
| GitHub PRs #41-83 | Sep 3-13 | Detailed implementation history and production/court evidence. |
| DeedSonar canonical operational audit | 2026-08-08 | Earlier estate/CRM baseline and data-quality discoveries. |
| Term | Canonical meaning |
|---|---|
| Opportunity | A sourced or inferred-within-contract state worth evaluation; not automatically qualified. |
| Candidate | An opportunity with sourced recipe membership and/or canonical work state. |
| Property identity | A canonical parcel/asset identity, distinct from person/owner/contact identity. |
| Recipe | A strategy contract describing an opportunity thesis. |
| Membership | A candidate's relationship to a recipe, preserved many-to-many. |
| Evidence | Source-backed observation or receipt. |
| Freshness | Age of source facts or a clearly labeled snapshot, never a fabricated date. |
| Contact evidence | Accepted evidence that a number belongs to a relevant party. |
| Callable | Operational contactability state; not synonymous with phone present. |
| Action authority | Explicit persisted permission/decision for a candidate/number/channel action. |
| Next Best Evidence | Highest-value research visit under cost, access and stop rules. |
| Outcome receipt | A durable record connecting prediction/action to actual result and realized economics. |
The historical engineering record supports a stronger statement: the project has already demonstrated release engineering, high-scale read optimization, canonical property identity, multi-source evidence fusion, many-to-many opportunity membership, qualification, information-gain planning, buyer matching, contact-state governance, data custody receipts, and migration/cutover controls. The remaining challenge is to close the final production seams, repeatedly run the live workflow, and capture economic outcomes. That is a much smaller problem than inventing the machine from scratch.
A buyer is not acquiring a list of parcels. The defensible asset is a governed decision pipeline: data enters through controlled source paths, is normalized and reconciled to canonical property identity, is evaluated against multiple opportunity strategies, is ranked, researched, challenged, and progressively cleared for action. The same architecture can produce a one-property dossier, a county-scale acquisition hunt, a portfolio triage, or a custom intelligence workflow.
The product also reduces institutional memory loss. Source attempts, evidence, contradictions, facts-as-of dates, recipe memberships, authority decisions, export artifacts and research receipts become durable system state. A second operator can inspect why a decision exists without reconstructing the original researcher's terminal session or spreadsheet.
The next defensible moat is the outcome layer. Once predicted opportunity states, actual actions, costs, contacts, contracts, dispositions and realized economics are persisted, the system can calibrate which recipes, evidence routes and research actions actually produce profitable outcomes. That is where a sophisticated rules-and-evidence engine can become a compounding economic system rather than a static intelligence product.
DeedSonar has crossed the difficult architectural threshold. It is now possible to point to distinct, tested seams for identity, evidence, recipes, membership, qualification, research planning, contact governance, demand matching, export, custody and production convergence. The remaining work should be treated as a finite closure program with live receipts, not a mandate to redesign the organism.
The strongest immediate business move is to put the machine in front of customers through the bounded scan/dossier entry points, use the resulting work as the first live outcome data, and let actual paid cases determine which deeper capabilities deserve the next engineering dollar.
These are plainly stated on the page, as required. Nothing here was silently reconciled or invented away.
| Item | What the source shows | Reading on this page |
|---|---|---|
| Phone counts | 941 accepted phone candidates (export path, sections 12.1 and 16) vs 947 live phone rows (Sep-11/12 evidence, section 16). | Different read surfaces/counts. Not merged into one number. Gap, not error. |
| Recipe maturity arithmetic | Maturity classes sum to 74 (3 + 10 + 33 + 8 + 15 + 5) against a 30-recipe catalog and a 46-entry live registry. | Classes overlap at registry level; the source does not partition the 30 recipes. Do not read 74 as 74 recipes. |
| PRs #51 and #53 missing | Appendix A runs #41-50, then #52, then #54. #51 and #53 are absent with no explanation. | Gap in the source chronology. No subject recorded for #51 or #53. |
| PR #54 and #61 open | Both listed Open / draft while the dossier treats the convergence as largely complete. | Cutover control and contact ladder closure were still draft at cutoff. |
| Dossier price vs later list | Source lists the Dossier at $499 (section 20). Later published list prices differ. | Source price is dated 14 Sep 2026. Verify current pricing before quoting. |
| Post-#83 production schema | Section 16 discloses the post-#83 production schema was not re-read after the merge in the available evidence. | Explicitly undisclosed in the source. P0 closure item. |
| Freshness coverage | Only 4 of 22,343 rows have a known source facts date. | Not a defect in the page; the system reports it honestly. It is a data gap, not a UI gap. |
| Outcome loop | Architecture exists; no verified economic outcome data feeds calibration yet. | Known P1 gap. No outcome figures are claimed anywhere on this page. |
| Recipe-to-maturity mapping | The source names 30 recipes by domain and gives maturity counts, but never maps a named recipe to a maturity class. | This page does not invent that mapping. The explorer filters by domain only. |
| Repeated headline figures | 22,343, 20,734, 1,609, 941 and 70/0 recur across sections 1, 5, 6, 9, 11, 16 and 18. | Deliberate repetition in the source (same estate, restated per seam), not conflicting data. Arithmetic checks on this page reconcile the counts. |
{FIPS}|P|{APN} seam resolves property identity and refuses to merge on weak evidence.Source document: DEEDSONAR_FORENSIC_SYSTEM_DOSSIER_2026-09-14.pdf. Transcription prepared 4 November 2026. Layout was not eyeballed in a real browser; that is an accepted limit of this build.