Investment Plans workspace
Open raw ↗

SYSTEM BREAKDOWN

OWNER: 01_System/build_system_breakdown.py — this file is GENERATED, do not hand-edit. REVIEW: regenerate whenever a component or an interface changes in project_data.py. Generated 2026-09-07 from the component register (13 components) and the interface register (22 interfaces).

Mandated by GOV-B4.10: a system that cannot be drawn as parts and interfaces must not be built. This is that drawing, and it is generated from the registers rather than drawn by hand, so it cannot quietly stop being true.


1. Subsystems

IDComponentThe one thing it is responsible forWhat it consumesWhere it livesOwnerRequirements
C1Source of TruthHold every project fact exactly onceZaid's requests; researched sourcesproject_data.pyMaster BrainREQ-CON-01, REQ-CON-05, REQ-WEB-01
C2Register ProjectorTurn C1 into typed registers and plain-text projectionsC1Project_Registers_v2.0.xlsx, register CSVsMaster BrainREQ-SYS-06, REQ-CON-03
C3Dashboard GeneratorProject live status into one status surfaceC1Dashboard.htmlMaster BrainREQ-SYS-15, REQ-SYS-16
C4Help Hub GeneratorMake the deliverables usable without the authorC109_Help_Hub/Master BrainREQ-SYS-14, REQ-SYS-16
C5Study BuilderAssemble the business enabling studyC1, C6NDIS_and_Aged_Care_Business_Enabling_Study_v2.0.docxMaster BrainREQ-SYS-01, REQ-SYS-02, REQ-SYS-03, REQ-SYS-04, REQ-SYS-06, REQ-SYS-08, REQ-SYS-09, REQ-SYS-12, REQ-SYS-13, REQ-SYS-18, REQ-CON-02, REQ-AC-04
C6Financial ModelCompute unit economics, break-even and runwayC1 rate inputsNDIS_and_Aged_Care_Financial_Model_v2.0.xlsxMaster BrainREQ-SYS-05, REQ-SYS-07, REQ-SYS-10, REQ-SYS-11
C7Transfer Pack GeneratorMake the project resumable by a strangerC100_Handover/Master BrainREQ-SYS-17
C8Checker SuiteProve compliance mechanically rather than by assertionAll generated artefactschecker_run_log.txtMaster BrainREQ-CON-01, REQ-CON-04, REQ-CON-06, REQ-MOP-01, REQ-SYS-17
C9Decision PackPresent the decision to Zaid in briefing formC5, C6NDIS_and_Aged_Care_Decision_Pack_v2.0.pptxMaster BrainREQ-SYS-08, REQ-MOE-01
C10Aged Care Financial ModelCompute aged care unit economics per client per month and the structure comparisonC1 rate inputsmodel_agedcare.pyMaster BrainREQ-AC-01, REQ-AC-02, REQ-AC-03
C11Trade Study EngineScore the four business-order alternatives against weights fixed before scoringC6 and C10 outputstrade_study.pyMaster BrainREQ-SYS-08
C12Business Plan TwinHold the PIL-BZ business plan and generate its single-sheet A3 pageC6 and C10 outputsbusiness_plan.json, BUSINESS_PLAN_A3.htmlMaster BrainREQ-BUS-01
C13Placement EnforcementKeep every file in the folder the placement map names, and sweep debris to the archive with a hash manifestThe file treetidy.py, FILE_PLACEMENT_MAP.mdMaster BrainREQ-CON-06

2. Interfaces

Every arrow between two subsystems is a row here. An arrow that is not a row, or a row that is not an arrow, is a defect (GOV-B4.9).

IDFromToDirectionWhat crossesFormWhenOwner
IF-01project_data.py (C1 Source of Truth)build_registers.py (C2 Register Projector)A to BAll register rowsPython data structuresOn every buildMaster Brain
IF-02build_registers.py (C2)03_Registers/Project_Registers_v2.0.xlsx and *.csvA to BTyped register tables and plain-text projectionsxlsx, csvOn every buildMaster Brain
IF-03project_data.py (C1)build_dashboard.py (C3 Dashboard Generator)A to BRegister counts, open items, metric lineagePython data structuresOn every buildMaster Brain
IF-04build_dashboard.py (C3)Dashboard.html at the project rootA to BGenerated status projection with PC/Mobile toggleHTMLOn every buildMaster Brain
IF-05project_data.py (C1)build_helphub.py (C4 Help Hub Generator)A to BFAH register, glossary, deliverables map, troubleshooting entriesPython data structuresOn every buildMaster Brain
IF-06build_helphub.py (C4)09_Help_Hub/index.htmlA to BHelp Hub siteHTMLOn every buildMaster Brain
IF-07project_data.py (C1)build_study.py (C5 Study Builder)A to BFraming, requirements, trade studies, sources, risksPython data structuresOn every buildMaster Brain
IF-08model_params.py (C6 Financial Model)build_study.py (C5)A to BComputed margins, break-even, runway, scenariosPython floatsOn every buildMaster Brain
IF-09model_params.py (C6)05_Outputs/NDIS_and_Aged_Care_Financial_Model_v2.0.xlsxA to BDriver cells and live formulasxlsx with formulasOn every buildMaster Brain
IF-10project_data.py (C1)build_handover.py (C7 Transfer Pack Generator)A to BPurpose, governance, requirements, tools, registers, live statePython data structuresOn every buildMaster Brain
IF-11build_handover.py (C7)00_Handover/ transfer pack and MANIFEST.txtA to BPlain-text pack with SHA-256 of every sourcetxt, csvOn every buildMaster Brain
IF-12All generated artefactscheckers/run_checks.py (C8 Checker Suite)A to BFiles to be validatedFilesystem pathsOn every build and at session closeMaster Brain
IF-13checkers/run_checks.py (C8)01_System/checker_run_log.txtA to BPass or fail result for each of the checksPlain textOn every runMaster Brain
IF-1402_Work/scratch research and verification filesproject_data.py SRC registerA to BSourced claims with URLs and confidenceMarkdown read by a human, transcribed to SRC rowsOnce, at Stage 2Research agents
IF-15Zaidproject_data.py RQ and ACT registersA to BRequests verbatim, and answers to open actionsChat, transcribedOn every requestZaid
IF-16project_data.py (C1 Source of Truth)model_agedcare.py (C10 Aged Care Financial Model)A to BSource and assumption identifiers, resolved by checker C36Python identifiersOn every buildMaster Brain
IF-17model_agedcare.py (C10 Aged Care Financial Model)build_financial_model.py (C6 Financial Model)A to BAged care per-client economics, reconciled cell by cell by checker C37Python function returnsOn every buildMaster Brain
IF-18model_agedcare.py (C10 Aged Care Financial Model)trade_study.py (C11 Trade Study Engine)A to BContribution per client, capital and break-even figures cited by each scorePython function returnsOn every buildMaster Brain
IF-19trade_study.py (C11 Trade Study Engine)build_study.py (C5 Study Builder)A to BRanking, margin and the sensitivity that escalates the decisionPython function returnsOn every buildMaster Brain
IF-20model_agedcare.py (C10 Aged Care Financial Model)build_business_plan_json.py (C12 Business Plan Twin)A to BEvery figure in the business plan's cost-benefit and revenue sectionsPython function returnsOn every buildMaster Brain
IF-21build_business_plan_json.py (C12 Business Plan Twin)build_business_plan.py (C12 Business Plan Twin)A to Bbusiness_plan.json, validated by twelve checks before the A3 page is generatedJSON fileOn every buildMaster Brain
IF-22tidy.py (C13 Placement Enforcement)run_checks.py (C8 Checker Suite)A to BThe placement report, consumed by checker C35 so there is one definition of what belongs wherePython function returnOn every check runMaster Brain

3. Dependency map

Read down the left column for the producer and across for the consumer. A mark means the producer sends something to the consumer.

produces \\ consumesSourceRegisterDashboardHelpStudyFinancialTransferCheckerDecisionAgedTradeBusinessPlacement
Source—→→
Register—
Dashboard—
Help—
Study—
Financial—→→
Transfer—
Checker—
Decision—
Aged—
Trade→—
Business—
Placement→—

6 directed dependencies were derived from the interface register. A blank cell means no interface row connects those two components in that direction; if one is missing, the fix is a row in the interface register, never a line added to this file, because this file is regenerated and would lose it.

4. Build order

GOV-B4.11 forbids integrating an unverified part. The order below is the order the interfaces impose: nothing is built before what it consumes.

StepWhat is builtWhy it cannot come earlier
1C1 Source of TruthEverything else is a projection of it. Nothing can be built first.
2The financial modelsThey compute the figures every artefact quotes. Built against the source of truth, verified before anything reads them.
3The register projectionsThe workbook and its plain-text CSVs. Generated only.
4The deliverablesStudy, financial workbook, decision pack, business plan twin and its A3 page.
5The surfacesDashboard, Help Hub, README, transfer pack. They read everything above and originate nothing.
6The checker suiteBuilt last and run first at every gate. It is the only part that is allowed to fail the build.

5. The web-application function slot (GOV-B7.1)

GOV-B7.1 requires every project to carry the web-application function in its requirements from framing — a deploy-anywhere self-contained container, a named-user login with passwords hashed at rest, and a pluggable AI-engine connector — and says the slot applies retroactively to every existing project. GOV-B7.2 says the slot is mandatory but the build timing belongs to the Owner.

Status in this project: SLOT DECLARED, NOT BUILT. It is carried as REQ-WEB-01 in the requirements register and as BKL-011 in the backlog, not as a delivered component, because Zaid has not asked for it running. The reference implementation named by GOV-B7.4 is the Flask application in the governance project's own outputs, which is connected to this session but has not been read into this project — reading it in would be a Class 2 change and it has not been requested.

The three constraints that already bind, whether or not it is ever built: AI-engine credentials live in server environment variables only and a key in any client-served file is a Class 1 defect (GOV-B7.3, INV-5); server-side requests are http or https with the host validated and localhost, loopback, private and reserved addresses refused (GOV-B7.3); and the checker suite already scans every generated artefact for credential material (C08).