Investment Plans workspace
Open raw ↗

V3 — INDEPENDENT DELIVERABLE VERIFICATION

Agent: V3, independent verifier (GOV-C3.2, GOV-E2.3). Did not build any artefact in this project. Date of verification: 2026-08-20 · Baseline verified: v1.0.0 · Project class: STANDARD Scope: the whole delivered set at /home/claude/ndis. Method: cold-start test first; then requirement-by-requirement verification against the recorded acceptance criteria; then adversarial cross-artefact and arithmetic checks; then validation against purpose. Nothing in this project was edited. The only file written is this one.


PART 1 — COLD-START TEST (GOV-F9.5)

Run before reading anything else, from the folder alone, time-boxed to ~15 minutes. Everything below was answerable from README.md and Dashboard.html without opening a deliverable.

#QuestionResultWhat answered it, and what was wrong
(a)PurposePASSREADME.md §1, first line: "Zaid can decide, on evidence rather than impression, whether to commit personal capital to starting an NDIS provider business in Victoria." Unambiguous, and it states what the project did not do.
(b)What is baselined, at what versionPASSREADME.md header table: baseline v1.0.0, class STANDARD, jurisdiction Victoria, governance v3.7, facts current at 2026-08-20 and stale after 2027-08-20. Confirmed against 03_Registers/REQ.csv (every row baselined v1.0.0) and the Dashboard.html subtitle.
(c)What is open, who owns it, what the NEXT ACTION isFAIL — documentation defectThe next action is clear and owned (README.md §5 and the dashboard banner: answer ACT-001 and ACT-002, owner Zaid, due 2026-08-27). But the count of what is open is stated three different ways and no two agree: README says 19, the dashboard's first tile says 28 and instructs the reader "the first number to read", and the published lineage formula in 03_Registers/METRIC_LINEAGE.csv ("count of rows whose status is not Closed, in RQ, ACT, CR, DEF, RSK, ISS and BKL") yields 25. A cold-start reader cannot state what is open. Root cause is diagnosed at ANOM-04.
(d)What you must NEVER doPASSREADME.md §3 lists INV-1 to INV-7 as inviolable and non-waivable, with the prompt-injection rationale. Repeated on the dashboard under "What must never happen". This is the clearest part of the pack.
(e)How to verify your own workPASS, with a material caveatREADME.md §6: run python 01_System/checkers/run_checks.py; change only 01_System/project_data.py and rebuild with build_all.py. The instruction is findable and executable. Caveat: following it would not have surfaced a single one of the twelve anomalies below. Several checks do not test what their own descriptions claim (ANOM-08). "26 of 26 checks passed" is not evidence that the artefacts agree.

Cold-start verdict: four of five clean, one defective. Item (c) is a documentation defect, not a user error. A stranger can pick this project up and act; they cannot state its open position correctly.


PART 2 — REQUIREMENT VERIFICATION

Every requirement in 03_Registers/REQ.csv, verified against its own recorded acceptance criterion. The project's own "Verified" status was disregarded; each was re-checked. 18 PASS, 8 FAIL.

REQ IDResultEvidence examinedNote
REQ-SYS-01FAILStudy §5.1 Table 5.1 (docx); Costs sheet of NDIS_Financial_Model_v1.0.xlsx; model_params.ONE_OFF_COSTS; study §7 trade studyCapital is stated for two of the three candidate service models. REQ-SYS-04 names core supports, support coordination and supported accommodation as candidates; SIL/SDA carries no capital figure anywhere (disclosed as BKL-005, but the AC grants no exemption). Separately the support-coordination capital row does not reconcile with its own components — see ANOM-02. Cost lines themselves do all carry SRC/ASM references.
REQ-SYS-02PASSStudy §2 and §6 (verification 4–6 months, certification 9–12, SRC-021); RAMP_BASE and ASM-015 (first client month 4); roadmap §10 week-by-weekMonth counts and a cited lead-time source exist for the two modelled models; SIL/SDA carries the certification 9–12 month figure with SRC-021.
REQ-SYS-03PASSStudy §6.1–6.2: alternatives A1/A2/A3, weights block, scores, sensitivity, rationaleThree alternatives, weights, sensitivity and rationale all present. Qualification: the AC requires weights "timestamped before the scores block"; every artefact in the project carries the single date 2026-08-20, so the ordering is asserted, not evidenced (ANOM-11). Also see ANOM-10 on the word "credible" in the requirement statement.
REQ-SYS-04PASSStudy §7 and §7.1; DEC-003 in DEC.csvAll three models scored on identical weighted criteria; sensitivity stated (3.70 v 3.30, flipping to 3.40 v 3.45 at a 40% regulatory-stability weight); escalated rather than decided under GOV-B6.4. This is the strongest single piece of work in the pack.
REQ-SYS-05PASSUnitEconomics!B11 = SUM(B5:B10), each term referencing Inputs!B5/B8/B10/B11/B12/B13; Inputs column D = SRC-002, SRC-009, SRC-011, SRC-012, SRC-013No hard-coded margin anywhere. Independently recomputed: $21.30 (Part 4).
REQ-SYS-06PASSStudy §4.1 obligations table (authority, cost, frequency, lead time, SRC per row); SRC-025 to SRC-042No empty cells found in the delivered table.
REQ-SYS-07PASSScenarios sheet rows 37–46 (DOWNSIDE, twelve months, zero hours); model_params.runway_downside(); $15,875 in study §1 finding 3, README and dashboardMonth-by-month position and a single runway figure both present, and the figure recomputes exactly. Caveat at ANOM-07 (the workbook holds no cached values).
REQ-SYS-08PASSStudy §9 box "WHAT WOULD CHANGE THIS ANSWER" — five named, checkable items with confidence levelsExceeds the three required. Genuinely falsifiable, e.g. item 1 names the number that would invert the recommendation.
REQ-SYS-09PASSStudy §10, explicitly labelled conditional; sequences ASIC, ABN/TFN/GST/PAYG, myID+RAM, insurance, policy manual, registration lodgement, screening, first aidEvery dependency named in §4.1 appears in the sequence.
REQ-SYS-10FAILBreakEven!B6, B7; SupportCoordination!B13; study Table 8.1Break-even is computed for two of the three candidate models. Nothing for supported accommodation. Same root cause as REQ-SYS-01: the requirement set is internally inconsistent about how many candidates exist.
REQ-SYS-11PASSBreakEven!B12 = Drivers!B14*(Inputs!B8*(1+B10+B11+B12+B13))*(Drivers!B6/30)Derived, not asserted — from wage rate, hours driver and the stated 14-day lag (ASM-007). Recomputed to $7,318.61 (Part 4).
REQ-SYS-12PASSStudy §1 finding 1, §3.1, §7 (per-model July-2027 consequence); §5.1 and roadmap §10 for cost to be readyEach modelled candidate carries a stated consequence and a readiness cost; SIL/SDA carries "already in force".
REQ-SYS-13PASS10 PNGs in 02_Work/diagrams/; 10 images embedded in word/media/ of the study (verified by unzip)Note: checker C12 only counts images ≥10; it does not verify that each process narrative maps to a diagram. Verified by hand for D1, D3, D4, D8.
REQ-SYS-14PASS09_Help_Hub/index.html HLP-10; checker C10 source read at run_checks.py:245-263 — nine literal regex probes over the actual file, not a self-reportPatterns are loose (e.g. looks wrong) but they are real searches over the delivered page.
REQ-SYS-15FAIL01_System/build_web.py:130-138 and :204-211; Dashboard.html status tilesThe dashboard is generated by a script (that half of the AC holds), but the AC also requires that every value maps to a register row. The "28 OPEN ITEMS" tile maps to no register state — it counts three closed change requests as open — and "On the AI — 0 open" contradicts six open BKL rows. See ANOM-04.
REQ-SYS-16FAILMETRIC_LINEAGE.csv (10 rows); dashboard tiles (9 values); checker C11 source at run_checks.py:265-272AC: "metrics-without-a-lineage-entry equals zero." The dashboard publishes $6.70 and -$2.07 as standalone tiles; neither has a lineage row (only "Gross margin per billable hour" exists). C11 never tests the mapping — it only checks that lineage rows are non-empty and that a heading string exists on the page. The criterion is unproven and, on inspection, not met.
REQ-SYS-17PASSChecker C22/C23 source read at run_checks.py:386-433Genuine: C22 verifies SHA-256 per file against MANIFEST.txt and detects MISSING, ALTERED and EXTRA. C23 really appends bytes to a live pack file, re-hashes, and restores in a finally block. This is the one place where the project's assurance claim is fully supported by code I read.
REQ-SYS-18PASSIndependent scan of SRC.csv: 53 rows, 20 High, 33 below High, zero with an empty "Why below High"Re-computed by me, not taken from the checker.
REQ-CON-01FAILChecker C05 source at run_checks.py:100-162; study §9 recommendation 6The AC requires the checker to report zero material external claims without a SRC-### reference. C05 does not do that. It extracts numeric tokens from the study and asks whether each number appears somewhere in any register or computed result — it never tests whether a claim carries a reference. It also pre-loads range(0,101) into the allowed set and discards every integer below 100. A wrong figure passes as long as the same wrong figure is in a register (which is exactly how ANOM-03 survived). Instances exist in text: study §9 recommendation 6 states "a national utilisation rate of 53.7%" and "4,638 places" with no inline reference.
REQ-CON-02PASSStudy §4.1 (WorkSafe Victoria, Victorian Worker Screening, Victorian WWCC, Victorian Portable Long Service Authority, Victorian payroll tax); SRC-012, SRC-013, SRC-031, SRC-032, SRC-033No obligation stated for another state.
REQ-CON-03PASSIndependent scan of all 53 SRC rows: every Accessed value = 2026-08-20; every Source URL begins httpRe-computed by me.
REQ-CON-04FAILpython-docx inspection of NDIS_Business_Enabling_Study_v1.0.docx: 27 tables, none over six columns — but 973 runs set at 8.5 pt inside tablesAC: "no body text is below 10 point." Nearly all of the study's substance lives in those tables. Appendix A gate 13 asserts "no body text below 10pt" as PASS; the file contradicts it. Nothing mechanical tests this requirement.
REQ-CON-05PASSIndependent scan of ASM.csv: 15 rows, all with a confidence level and a non-empty "What breaks if it is wrong"Criterion met. Separately, two of those failure-consequence fields state figures that contradict the model (ANOM-03, ANOM-06) — that is a content defect, not an AC breach.
REQ-CON-06PASSChecker C08 source at run_checks.py:190-221 (real regex sweep for credentials, 9-digit identifiers, card numbers, BSBs, private keys across the controlled set), plus my own spot scanNo credential, identifier or third-party personal datum found.
REQ-MOE-01FAILACT.csv (8 rows), BKL.csv (6 rows), study §9 recommendation 2, study §10 roadmap week 1-2AC: "every open decision-blocking question carries an ACT-### with an owner and a due date." The study's own recommendation 2 calls closing ASM-008 (administration hours) "the single highest-value thing you can do before committing capital", and the Sensitivity sheet says at 0.40 hr every billable hour loses money. There is no ACT for it — not in ACT-001..008, not in BKL-001..006. It appears only inside the §10 roadmap, which states in its own header that it "has no force unless and until you decide to proceed". The one question that most changes the go/no-go answer is filed behind the go decision.
REQ-MOP-01FAILChecker C05 source at run_checks.py:100-162; METRIC_LINEAGE.csv row "Sourced-claim ratio"The published lineage says this ratio is "material external claims carrying a SRC-### reference, divided by all material external claims found by checker C05". C05 computes no such thing — it computes a number-recognition rate. The metric as defined has never been measured, so the ≥0.90 threshold is unproven.

PART 3 — ANOMALIES

Twelve findings. Severity: HIGH = changes what a reader would conclude or decide, or falsifies a published assurance claim. MEDIUM = wrong or unsupported, contained. LOW = cosmetic.

ANOM-01 — HIGH — The study understates employed-manager break-even by roughly 3x, in the box that poses the decision to Zaid

Where: 05_Outputs/NDIS_Business_Enabling_Study_v1.0.docx §1, box "FOUR THINGS I NEED FROM YOU", ACT-001 line. The study says: "Owner-operator break-even is about 40 billable hours a month. An employed manager pushes it past 126." Dashboard.html, ACT-001 row, says of the same question: "an employed manager pushes it past 400." The project's own ASM-011 says a passive-investor model "adds roughly $95,000 per year of fixed cost and moves break-even by about 370 billable hours per month" — i.e. 39.8 + 371.7 ≈ 411 hours. The dashboard is right; the study is wrong. 126 is the paid-administration-coordinator break-even, a different scenario. ACT-001 is described in the same document as "the single biggest swing factor in the model". The consequence of one of its two branches is misstated by a factor of three, in the artefact Zaid is told to read first.

ANOM-02 — HIGH — Arithmetic error: the support-coordination six-month capital figure is overstated by $1,288 and does not reconcile with its own row

Where: study §5.1 Table 5.1, row "Support coordination, no registration, no workers"; 01_System/model_params.py:169-174. The row reads: one-off $3,673, fixed cost $847 a month, six months with zero revenue $10,045. $3,673.20 + 6 × $847.33 = $8,757.20, not $10,045. Root cause: runway_downside() calls one_off_total(include_registration=include_registration) without passing workers=0, so the default WORKERS_AT_START = 3 applies and the figure silently includes worker screening and first-aid costs for four people ($139.20 + $290) × 4 = $1,716.80 — in the scenario whose own label is "no workers". The overstatement is 14.7%, and it falls on the option the trade study ranks first (3.70 v 3.30), making that option look more capital-hungry than the project's own model says it is.

ANOM-03 — HIGH — The Assumptions Register contradicts the study's headline finding, and reverses its sign

Where: 03_Registers/ASM.csv ASM-008; reproduced in study §12 "Assumptions, and what breaks if they are wrong". ASM-008 states: "At 0.40 hours per billable hour, gross margin per hour falls from $21.30 to about $10.85 and break-even roughly doubles." Every other artefact says the same input produces negative $2.07: study §1 finding 2, study Table 5.2 final row ("Every hour you sell would lose money"), the Sensitivity sheet row 6, the Drivers sheet note ("At 0.40 the core-supports margin turns NEGATIVE"), README.md headline findings, and the dashboard tile. Recomputed independently: −$2.07 is correct (Part 4). $10.85 is not derivable from any combination of the model's inputs. It is stranded from an earlier draft. The register that exists to record what breaks if an assumption is wrong states the wrong consequence for the project's single most dangerous assumption — and states it as a survivable margin rather than a loss.

ANOM-04 — HIGH — Three different open-item counts, two column-index bugs, and a dashboard that hides six open items

Where: README.md §current state; Dashboard.html first status tile; 01_System/build_handover.py:31-37; 01_System/build_web.py:130-138 and :211. Register truth: RQ 0 open, ACT 8, CR 0, DEF 0, RSK 10, ISS 1, BKL 6 → 25 by the formula published in METRIC_LINEAGE.csv. Published values: README 19, dashboard 28. Causes, both off-by-one column indexes:

README 19 = 8 ACT + 10 RSK + 1 parked DEC. Dashboard 28 = 8 + 3 phantom CRs + 10 + 1 ISS + 6 BKL. Neither is correct, they are wrong in opposite directions, and the dashboard labels its number "the first number to read".

ANOM-05 — HIGH — Appendix A and Appendix B overstate; three gates and one audit line are not supported by the evidence they name

Where: study Appendix A (Definition of Done) and Appendix B (GOV Part I compliance audit).

ANOM-06 — MEDIUM-HIGH — The delivered spreadsheet computes a different fixed-cost band from the study

Where: Costs!B19:D20 of NDIS_Financial_Model_v1.0.xlsx v model_params.RECURRING_MONTHLY v study Table 5.1. Study Table 5.1 states fixed cost per month "$602 to $1,438 (base $847)", which is exactly what model_params.py computes (bookkeeping 200/300/500, overhead 150/200/350). The workbook wires all three columns of both those lines to a single Drivers cell (=Drivers!$B$7, =Drivers!$B$8), so the delivered file computes $751.50 to $1,088.17 for the same band. The low case is overstated by $150 a month and the high case understated by $350 a month. README §6 tells Zaid the workbook is where he changes assumptions; the low/high columns there do not respond to the drivers they claim to model, and the range he would read differs from the range the study reports.

ANOM-07 — MEDIUM — "Every value reconciled cell by cell" cannot be true, and the workbook ships with no computed values

Where: 05_Outputs/NDIS_Financial_Model_v1.0.xlsx; study Appendix A gate 5. Two passes with openpyxl (formulas, then data_only=True) return formulas in the first and None in the second for every computed cell. Anyone reading the workbook without a calculation engine — any script, any preview pane, any mobile viewer — sees blank cells where the answer should be. Combined with ANOM-06, the cell-by-cell reconciliation claim is falsified by the first two cells I checked.

ANOM-08 — MEDIUM-HIGH — Four checks assert more than they test, and their descriptions are quoted as evidence elsewhere

Where: 01_System/checkers/run_checks.py.

"26 of 26 checks passed" is quoted in the study, the README, the dashboard and Appendix B as proof of consistency. The green result is real; what it proves is narrower than what is claimed for it.

ANOM-09 — MEDIUM — A Windows absolute path in the delivered study, under a PASS for cloud portability

Where: study Appendix A gate 10: "All deliverables in C:\AI Projects\NDIS Project\05_Outputs." The delivered folder has no such path; the README's own folder map is relative. Appendix B lines 21-25 marks "cloud portability … all files inside the project folder" PASS, and C20 reports "no machine-specific path in any generated artefact", while the study itself directs a reader to a machine-specific location that will not exist on their disk. Breaches GOV-F4.2 on the evidence of the artefact that claims compliance with it.

ANOM-10 — MEDIUM — Requirement statements carrying unquantified qualifiers, and a banned-word list too narrow to catch them

Where: 03_Registers/REQ.csv; checker C01 at run_checks.py:56-72. All 26 statements carry exactly one "shall" — that half of GOV-B3.6 holds, independently confirmed. The qualifier half does not: REQ-SYS-03 "at least three credible alternatives" (credible by whose test?), REQ-SYS-08 "the specific evidence", REQ-CON-04 "shall be legible on a mobile screen", REQ-MOP-01 "material external claims". C01's banned list is seven literal strings (and/or, etc., as appropriate, as required, user-friendly, robust, fast enough) and matches none of them. REQ-SYS-03 is the clearest breach: the acceptance criterion silently redefines "credible" as "counted", which is not the same test.

ANOM-11 — LOW-MEDIUM — Weights-before-scores is asserted, not evidenced

Where: study §6 preamble: "The weights below were set on 20 August 2026 before any alternative was scored." REQ-SYS-03's acceptance criterion requires "a weights block timestamped before the scores block". Every artefact and register row in the project carries the single date 2026-08-20, so no ordering can be demonstrated from the evidence. The claim may well be true; it is not verifiable from the delivered set, and Appendix B records it as PASS.

ANOM-12 — LOW — Register data defect and rounding inconsistencies


PART 4 — INDEPENDENT ARITHMETIC

Recomputed from SRC.csv and ASM.csv values only, without reference to the project's computed outputs.

On-cost multiplier (SRC-011 super 12.00%, SRC-012 WorkCover 1.80%, SRC-013 portable LSL 1.65%, ASM-003 payroll tax 0%): 1 + 0.1200 + 0.0180 + 0.0165 + 0 = 1.1545 → 1.1545 (15.45% on-cost). Matches the model. ✔

Fully loaded wages (SRC-009): L2 45.28 × 1.1545 = 52.2758 → $52.28/hr ✔ · L3 50.61 × 1.1545 = 58.4292 → $58.43/hr ✔

Gross margin per billable hour (SRC-002 price $73.58): 73.58 − 52.2758 = 21.3042 → $21.30 ✔ · as % of price 21.3042 / 73.58 = 28.95% → study's "29.0%" ✔ Component check: 45.28 + (45.28×0.12 = 5.4336) + (45.28×0.018 = 0.8150) + (45.28×0.0165 = 0.7471) = 52.2757 ✔

Contribution with paid administration (L3 loaded, ASM-008 at 0.25 hr): 58.4292 × 0.25 = 14.6073; 21.3042 − 14.6073 = 6.6969 → $6.70 ✔ At 0.40 hr: 58.4292 × 0.40 = 23.3717; 21.3042 − 23.3717 = −2.0674 → −$2.07 ✔ → ASM-008's "about $10.85" is not reproducible from any input combination. ANOM-03 confirmed.

Monthly fixed cost: base (45 + 78 + 300 + 200) + (342 + 2350)/12 = 623 + 224.33 = 847.33 → $847 ✔ low (45 + 78 + 200 + 150) + (342 + 1200)/12 = 473 + 128.50 = 601.50 → $602 (study) ✔ high (125 + 143 + 500 + 350) + (342 + 3500)/12 = 1118 + 320.17 = 1438.17 → $1,438 (study) ✔ Same bands from the delivered workbook: low 623 + 128.50 = 751.50; high 768 + 320.17 = 1088.17 → $751.50 to $1,088.17 ≠ $602 to $1,438. ANOM-06 confirmed.

Break-even billable hours per month, both ways: owner does the administration 847.33 / 21.3042 = 39.77 → 39.8 hr/month administration is paid 847.33 / 6.6969 = 126.53 → 126.5 hr/month ✔ both match employed manager (ASM-011, +$95,000/yr = $7,916.67/mo) (847.33 + 7,916.67) / 21.3042 = 411.4 → 411 hr/month → the study's "past 126" for this case is wrong; the dashboard's "past 400" is right. ANOM-01 confirmed. To draw $5,000/month: (847.33 + 5,000) / 21.3042 = 274.5 → 274 hr ✔ · paid admin 5,847.33 / 6.6969 = 873.1 → 873 hr ✔

Working capital (300 hr/month, ASM-007 14-day lag): 300 × 52.2758 = 15,682.73 wage bill; × 14/30 = 7,318.61 → $7,319 ✔ · at 30 days → $15,683 ✔

Six-month runway, core supports, no revenue, no drawings: one-off 636 + 108 + 0 + 0 + (139.20 × 4 = 556.80) + (290 × 4 = 1,160) + 0 + 2,500 + 1,080 + 4,750 = 10,790.80 10,790.80 + 6 × 847.33 = 15,874.78 → $15,875 ✔ · with $6,000/mo drawings 10,790.80 + 6 × 6,847.33 = 51,874.78 → $51,875 ✔

Six-month runway, support coordination: one-off as labelled (no workers, no registration) 636 + 108 + 139.20 + 290 + 2,500 = 3,673.20 3,673.20 + 6 × 847.33 = 8,757.20 → $8,757, against the study's $10,045. The published figure implies a one-off of 10,044.78 − 5,084 = 4,960.80, which is the 3-worker one-off with registration stripped out — the default-argument bug at model_params.py:169. ANOM-02 confirmed, overstatement $1,287.58 (14.7%).

Support coordination annual (38 hr/wk × 55% utilisation, SRC-005 $100.14): 38 × 0.55 = 20.9 hr/wk; × 52/12 = 90.57 hr/mo; × 100.14 = $9,069.35/mo; − 847.33 = $8,222.02/mo; × 12 = $98,664/yr ✔ (study §1 finding 5) At 35%: 57.63 hr/mo → $5,771.40/mo revenue → $69,257/yr gross → $59,089/yr net. → ASM-013's "roughly $71,000 a year gross instead of $112,000" matches neither the gross ($69,257 / $108,832) nor the net ($59,089 / $98,664) figures the model produces. Second stranded register figure — see ANOM-03's pattern.

Open items: RQ 0 + ACT 8 + CR 0 + DEF 0 + RSK 10 + ISS 1 + BKL 6 = 25, against README 19 and dashboard 28. ANOM-04 confirmed.

Checks that reproduced exactly (11): on-cost multiplier, both loaded wages, gross margin and its percentage, $6.70, −$2.07, $847, $15,875, $51,875, $7,319, $15,683, 274 and 873 hours. The model's core arithmetic is sound. Checks that failed (4): ASM-008's $10.85, ASM-013's $71k/$112k, the SC runway $10,045, the workbook's fixed-cost band.


PART 5 — VALIDATION AGAINST PURPOSE (GOV-C3.8)

Stated purpose: "Zaid can decide, on evidence rather than impression, whether to commit personal capital to starting an NDIS provider business in Victoria."

Judgement: the deliverable substantially serves its purpose, and is not yet safe to decide from unaided.

What it genuinely delivers. A reasonable person reading §1, §5 and §9 would come away knowing: that roughly $15,875 of business cash is at risk over six months before any revenue, plus $7,319 to $15,683 of working capital that the earlier plan had no line for at all; that gross margin is $21.30 an hour and that the entire business case turns on who does the administration, not on price; that the unregistered route into core supports expires in July 2027 and the application therefore starts in month one; and that the service-model choice is a genuine coin-toss escalated rather than concealed. The trade studies record their weights, their sensitivity and the exact weight at which the answer flips. §9's "what would change this answer" is a real falsification list, not a disclaimer. The honesty about what could not be verified — §13, ISS-001, eleven Low-confidence assumptions named as such — is well above the standard of most commercial feasibility work. On the specific adversarial test of whether Low-confidence assumptions are dressed as facts: they are not. ASM-008 is flagged as "the model's most dangerous assumption" in four separate places, and the Sensitivity sheet states plainly that "there is a plausible, unfalsified version of this business in which every hour of core support you sell LOSES money."

What blocks the decision.

  1. The pack's own assurance is unreliable, and that is worse than a wrong number. A reader is told 26/26

requirements verified, 26/26 checks passed, 49/49 compliance lines passed, "zero contradictions between controlled artefacts". I found six contradictions in under an hour, three of them decision-relevant. A reader who trusts the assurance will not re-derive anything; a reader who discovers ANOM-01 will not trust the rest.

  1. Two of the four inputs the study says it needs are still missing, by the study's own admission (ACT-001

to ACT-004). Until they are answered the artefacts report bands, not a number — the study says so itself, and that is a correct and honest position, not a defect.

  1. The single highest-value pre-commitment task has no owner and no due date. Closing ASM-008 is what

determines whether core supports makes $6.70 an hour or loses $2.07. It sits only in a roadmap that, by its own header, does not activate until after the decision it is supposed to inform (REQ-MOE-01 FAIL).

  1. One of the three candidate models was never costed. Supported accommodation is scored in the trade study

and eliminated on qualitative grounds; it has no capital figure and no break-even (BKL-005 discloses this). The elimination is well-argued, but "the evidence says no" and "we did not model it" are different statements.

Could a reasonable person decide from these artefacts? They could reach a well-supported conditional position — proceed to the four free phone calls, do not spend capital yet, do not start with SIL or SDA, lodge registration in month one whichever model is chosen. That is exactly what the study recommends, and it is the right answer on this evidence. They could not yet commit capital on it: the employed-manager branch of ACT-001 is misstated by 3x, the support-coordination capital figure is 15% overstated, and the assumption register misstates the downside of the assumption that decides the whole case.

What is missing to close the gap — none of it requires new research: correct ANOM-01, ANOM-02, ANOM-03 and ANOM-06; reconcile the open-item counts and fix the three column-index bugs; raise an ACT for ASM-008 with an owner and a due date; correct or withdraw the four overstated Definition-of-Done and compliance lines; and either cost the supported-accommodation model or restate the requirement set as two candidates rather than three.


FINAL VERDICT

CONDITIONAL PASS — DO NOT TREAT AS BASELINE-CLEAN. 18 of 26 requirements PASS; 8 FAIL — REQ-SYS-01, REQ-SYS-10, REQ-SYS-15, REQ-SYS-16, REQ-CON-01, REQ-CON-04, REQ-MOE-01 and REQ-MOP-01, of which REQ-SYS-01/10 share one root cause (the uncosted third candidate model) and REQ-CON-01/REQ-MOP-01 share another (checker C05 does not implement the criterion it is cited for). The cold-start test passes on four of five items. The research, the sourcing discipline, the trade studies and the core financial arithmetic are sound and in several places exemplary. The assurance layer is not: the Definition of Done, the Part I compliance audit and four checker descriptions claim more than the evidence supports, and the artefacts contradict each other on six figures — four of which reach the reader's eye on page one of the study, on the dashboard's first tile, or in the box that asks Zaid the decisive question. v1.0.0 should not be presented as verified until ANOM-01 through ANOM-06 are corrected and the affected Definition-of-Done and compliance lines are restated.

Verified by V3, independent verifier. No artefact under verification was modified. This file is the only output written.