Part X. Capstones · Chapter 86
Company Diligence Memo
A company roadmap is a sales document; a diligence memo is what you build after you stop believing it. This capstone turns a company thesis into source-labeled claims, proof gates, kill criteria, and a decision you can defend out loud.
In this chapter 9 sections
Use a claim ledger and scenario sensitivities rather than an aggregate score: identify the buyer, owned stack layer, technical gates, baseline, proof of use, unit economics, dependencies, financing needs, conflicts, kill criteria, and next evidence event.
Company diligence manages several uncertainty classes without blending them. Technical evidence asks whether a mechanism and system work. Product evidence asks whether a buyer repeatedly uses the owned layer. Market evidence asks how many such buyers and alternatives exist. Financing evidence asks whether the company can reach the next gate. One attractive class cannot fill another’s blank cells.
Capstone brief: a memo that can say no
The memo uses four ledgers: claim and source; stack and dependency; buyer and economics; scenario and financing. Facts, company representations, interview statements, and analyst inferences carry explicit labels. The decision names maximum exposure, two kill criteria, conflicts, and the next evidence event. No aggregate attractiveness score appears.
Four ledgers, one conditional decision
| Claim under review | Source chain |
|---|---|
| Quantum company evaluation requires stack and systems boundaries because device, software, application, and infrastructure claims are not comparable. | |
| Benchmark results support only the task, scale, comparator, and system boundary actually tested. | |
| Artifact records and official interfaces permit some technical claims to be rerun and dependency claims to be inspected. | |
| Government and consensus assessments provide context, not company-specific revenue or customer proof. |
Sensitivity table keeps uncertainty visible
| Ledger | Base evidence | Adverse test | Decision effect |
|---|---|---|---|
| Technical | 2 backend task passes | only 1 remains | wait |
| Buyer | 3/4 eligible renew | 2/4 renew | wait |
| Economics | delivery hours declining | hours increase | cap commitment |
| Financing | next gate funded | six-month delay | recompute exposure |
The anonymized tooling company passes a technical workflow test on two backends and reports three renewals among four eligible buyers. The conditional partner decision survives the base case. It automatically becomes wait if portability falls to one backend or renewal falls below three. Financing and conflicts remain separate fields and can independently constrain commitment.
METRICS = {"backends": "backends", "renewals": "buyers", "eligible": "buyers", "runway": "months"}
def valid_iso(value):
parts = value.split("-") if type(value) is str else []
return len(parts) == 3 and [len(part) for part in parts] == [4, 2, 2] and all(part.isdigit() for part in parts)
def memo_decision(memo, as_of):
errors = []
evidence = memo.get("evidence", [])
for index, row in enumerate(evidence):
if row.get("kind") not in {"fact", "company-claim", "analyst-inference"} or not row.get("source_id"):
errors.append(f"evidence_{index}_provenance")
if not valid_iso(row.get("date", "")) or row.get("date", "") > as_of:
errors.append(f"evidence_{index}_date")
age = row.get("age", {})
if type(age.get("value")) is not int or age.get("unit") != "days":
errors.append(f"evidence_{index}_age_schema")
elif age["value"] > row.get("max_age_days", -1):
errors.append(f"evidence_{index}_stale")
for name, unit in METRICS.items():
item = memo.get(name, {})
if type(item.get("value")) is not int or item.get("unit") != unit:
errors.append(name + "_schema")
if type(memo.get("funded")) is not bool or not memo.get("conflict_record"):
errors.append("funding_or_conflict_record")
failed = []
if not errors:
if memo["backends"]["value"] < 2:
failed.append("portability")
if memo["renewals"]["value"] < 3:
failed.append("renewals")
if not memo["funded"]:
failed.append("financing")
return {"decision": "invalid" if errors else ("wait" if failed else "partner"),
"errors": sorted(set(errors)), "failed_gates": failed}
memo = {"scenario": "anonymized tooling-company base case",
"evidence": [{"claim": "two backend runs passed", "kind": "fact",
"source_id": "scenario:portability-log", "date": "2026-08-10",
"age": {"value": 4, "unit": "days"}, "max_age_days": 90},
{"claim": "three of four eligible buyers renewed", "kind": "company-claim",
"source_id": "scenario:renewal-ledger", "date": "2026-08-01",
"age": {"value": 13, "unit": "days"}, "max_age_days": 90},
{"claim": "partnering is bounded", "kind": "analyst-inference",
"source_id": "scenario:memo-analysis", "date": "2026-08-14",
"age": {"value": 0, "unit": "days"}, "max_age_days": 90}],
"backends": {"value": 2, "unit": "backends"}, "renewals": {"value": 3, "unit": "buyers"},
"eligible": {"value": 4, "unit": "buyers"}, "runway": {"value": 18, "unit": "months"},
"funded": True, "conflict_record": "analyst has no financial interest"}
base_result = memo_decision(memo, "2026-08-14")
bad_evidence = [{key: value for key, value in memo["evidence"][0].items() if key != "source_id"}, *memo["evidence"][1:]]
bad_result = memo_decision({**memo, "evidence": bad_evidence}, "2026-08-14")
portability_result = memo_decision({**memo, "backends": {"value": 1, "unit": "backends"}}, "2026-08-14")
renewal_result = memo_decision({**memo, "renewals": {"value": 2, "unit": "buyers"}}, "2026-08-14")
assert base_result["decision"] == "partner"
assert bad_result["decision"] == "invalid" and "evidence_0_provenance" in bad_result["errors"]
assert portability_result["failed_gates"] == ["portability"] and renewal_result["failed_gates"] == ["renewals"]
print(f"PASS: 86 company memo base={base_result['decision']} invalid={bad_result['errors']} portability={portability_result['decision']} renewals={renewal_result['decision']}")
Artifact contract. A dated claim/evidence/dependency/scenario dataset with executable reversal tests and rubric. Facts, company claims, and analyst inferences remain distinct; stale or unsupported load-bearing claims fail; each kill criterion changes the decision without manual narrative editing.
Exact validation command: python3 tools/validate_briefs.py --briefs data/editorial_briefs_64_87.json --from 64 --through 87 --check-rewritten-sources --execute-artifacts
Interview evidence and conflicts belong in the record
Red-team the memo by removing the preferred partner, delaying the hardware dependency, increasing delivery labor, and interviewing a non-renewing buyer. Preserve the transcript status and conflicts. A committee should be able to disagree with a threshold and rerun the decision without reinterpreting prose or changing unrelated facts.
Execute the memo’s reversal tests
Prompt. Write and red-team a company-diligence memo from public primary materials and documented interviews.
Deliverable. Decision, claim ledger, stack map, technical gates, buyer proof, baseline, economics, dependencies, conflicts, three scenarios, two kill criteria, financing runway, cutoff, and review due date.
Pass condition. Facts and inferences are labeled, every load-bearing current claim is dated and sourced, aggregate scoring is absent, and both kill-criterion fixtures reverse the decision.
Model company memo and analytic rubric
Format. Conditional partner memo for an anonymized tooling company with 100-point rubric.
The model submission receives 15 points for scope and decision, 20 for claim-source discipline, 15 for stack dependencies, 15 for technical gates and baseline, 15 for buyer evidence, 10 for economics and financing, and 10 for counterevidence, conflicts and expiry. It recommends a capped partnership. Both declared kill fixtures return wait, satisfying the reversal test.
Verification. The evaluator returns partner under base evidence and wait when either buyer renewal or backend portability falls below its declared gate.
| Criterion | Points | Evidence rule |
|---|---|---|
| Scope and conditional decision | 15 | Show the inspectable scope and conditional decision record; an unsupported assertion receives no credit. |
| Claim and source discipline | 20 | Show the inspectable claim and source discipline record; an unsupported assertion receives no credit. |
| Stack and dependency map | 15 | Show the inspectable stack and dependency map record; an unsupported assertion receives no credit. |
| Technical gates and baseline | 15 | Show the inspectable technical gates and baseline record; an unsupported assertion receives no credit. |
| Buyer evidence | 15 | Show the inspectable buyer evidence record; an unsupported assertion receives no credit. |
| Economics and financing | 10 | Show the inspectable economics and financing record; an unsupported assertion receives no credit. |
| Counterevidence, conflicts, and expiry | 10 | Show the inspectable counterevidence, conflicts, and expiry record; an unsupported assertion receives no credit. |
| Total | 100 | All pass conditions remain mandatory regardless of point total. |
Companion work
Artifacts for this chapter
These entries resolve to checked-in local source. Commands are reproduced exactly from the chapter manifest, and source-embedded fixtures are exported as direct downloads.
capstone artifact
Quantum company diligence memo dataset
Reproduce or test
python3 tools/validate_briefs.py --briefs data/editorial_briefs_64_87.json --from 64 --through 87 --check-rewritten-sources --execute-artifacts
Provenance
Sources and review
- U.S. Government Accountability Office. Quantum Computing and Communications: Status and Prospects. GAO. 2021government technology assessment
- Association for Computing Machinery. Artifact Review and Badging. ACM Publications. 2026official reproducibility policy
- OpenQASM Technical Steering Committee. OpenQASM 3 specification. Linux Foundation Joint Development Foundation. 2026official technical specification
- IBM Quantum. Qiskit documentation. IBM. 2026official documentation
- Google Quantum AI. Cirq documentation. Google. 2026official documentation
- Easwar Magesan, J. M. Gambetta, and Joseph Emerson. Scalable and robust randomized benchmarking of quantum processes. Physical Review Letters. 2011primary paper
- Timothy Proctor et al.. Benchmarking quantum computers. Nature Reviews Physics. 2025peer-reviewed perspective
- National Academies of Sciences, Engineering, and Medicine. Quantum Computing: Progress and Prospects. National Academies Press. 2019consensus study report
- Lieven M. K. Vandersypen et al.. A look at the full stack. Nature Reviews Physics. 2021peer-reviewed perspective
The load-bearing claims in the chapter are mapped inline to this registered source set. A citation supports only the bounded claim beside it.