This portfolio artifact presents my five-stage analytical workflow for turning technical reporting into decision support:
- Start — identify the business decision behind the metric request.
- Framing — turn vague stakeholder language into one precise decision question.
- Design — define the hypothesis, KPI, analytical grain, segments, confounders, and measurement risks before writing SQL.
- Execution — produce and validate evidence with SQL, modular R/Tidyverse workflows, interpretable modeling, Excel outputs, and dashboards.
- Finish — distinguish what the evidence supports from what it does not support and recommend a proportionate next action.
The objective is not merely faster reporting. It is better decisions grounded in transparent evidence. AI assists with structure, analytical design, independent review, and quality control; human judgment remains responsible for the evidence, interpretation, and recommendation.
flowchart LR
A["Start and frame"] --> B["Design measurement"]
B --> C["Execute and validate"]
C --> G["R workflow gate"]
G -->|"PASS"| D["Interpret evidence"]
G -->|"FAIL"| C
D --> E["Recommend action"]
E --> P["R procedure certificate"]
The five-stage method has two composed deterministic controls:
- the R Workflow Gate, which controls the Stage 4→5 release; and
- the R Procedure Gate, which referees the complete Start→Finish sequence and certifies the run.
This is distinct from Stage 4 analytical validation:
- Stage 4 R-A / R-B reconciliation asks whether the independent analytical implementations agree exactly on the locked judged logic.
- The R Workflow Gate asks whether the project completed the required stage locks, used the correct Stage 3 design version, passed fixtures and validation, and has zero unresolved validation failures.
The gate does not redesign the analysis or repair failed outputs. It reads machine-readable stage receipts and returns PASS or FAIL. Stage 5 is blocked unless the gate passes.
See R Workflow Gate — Cross-Stage Procedural Enforcement and the executable script at workflow-gate/workflow_gate.R.
The outer Procedure Gate does not change the five stages. It records which stage is active, verifies each stage receipt, calls the existing Workflow Gate to complete Execution, and writes artifacts/final_certificate.json only after the full procedure passes. See R Procedure Gate — Whole-Run Procedural Referee and procedure-gate/procedure_gate.R.
- Ablation batch A01–A08: adjudicated; 0 KEEP, 7 REVERT, 1 HALT. No framework changes were authorized by that batch.
- Prospective upgrades: approved separately, recorded in Master Prompt and cross-review.
- Executable gate v2: enforces explicit capacity/ML-mode declarations and content-addressed receipts, including fixture/reconciliation scorecards. See contract and limitations.
- Whole-run referee: tracks and certifies the existing five-stage sequence without changing its analytical method.
- Orchestration: documented model roles and owner gates; this repository does not claim an unattended end-to-end ablation runner or technical restriction of all agent capabilities.
| Stage | Document |
|---|---|
| Master Prompt template | MASTER_PROMPT.md — standing orchestration rules before Start |
| 1–2 Start and Framing | three-ai-start-and-framing-dialogue-framework.md |
| 3 Measurement Design | three-ai-measurement-design-framework.md |
| 4 Execution, Validation, and Deeper Analysis | three-ai-validation-and-analysis-framework.md |
| 4 R execution prompt (optional) | ENGINE.md — one-file tidyverse R Workflow Engine under Stage 4 |
| Whole-run R procedure referee | r-procedure-gate-enforcement.md |
| Stage 4→5 release enforcement | r-workflow-gate-enforcement.md |
| 5 Interpretation and Recommendation | three-ai-interpretation-and-recommendation-framework.md |
One-pager: docs/PACKET.md.
Together, these documents specify the complete path from an initial stakeholder request to a validated, evidence-traceable decision, with deterministic checks that required procedural controls were not skipped or bypassed.
The five-stage workflow is the production analytical method. Proposed reusable changes to Stage 3 or Stage 4 are tested separately through a three-model separation-of-duties ablation protocol using ChatGPT, DeepSeek, and Grok in rotating Builder, Validator, and Adjudicator roles.
The refinement layer uses a frozen constitution, blind first-pass Builder/Validator outputs, deterministic artifact hashing, and three terminal states: KEEP, REVERT, and HALT.
See:
- Framework Refinement Overview
- Three-Model Ablation Protocol
- Ablation Constitution
- Role Rotation
- Framework Ablation Experiments
A retained ablation may update the canonical Stage 3 and/or Stage 4 framework. Individual projects do not run the ablation layer as a sixth stage; they use the current canonical workflow version.
Case-specific evidence lives in separate project repositories. This workflow repository explains the portable method only and does not brand the method with named project packs.
| Project | Decision supported | Evidence |
|---|---|---|
| Bitcoin Proxy Analysis | Which public Bitcoin proxies, if any, are preferable to owning Bitcoin directly? | scenario model, executed notebook, internal QA checks, report and presentation |
| PricePoint (PRICEPOINT-001) | For each reviewed product at the California pilot store, recommend a pilot price raise, a pilot price cut, no change, or “hold — not enough evidence” for the next four-week cycle (at most about 25 price changes) | full five-stage run certified by the Procedure Gate (simulation / non-live); outcome: 0 changes, all items held for insufficient evidence. Workflow versions used: governance-history audit |
The R Workflow Gate is intended for prospective use on new projects rather than retrofitting prior locked packs merely for conformity.
SQL, R, Tidyverse, interpretable statistical modeling, Excel reporting and automation, dashboards, AI-assisted analytical validation, and deterministic R-based workflow enforcement.
Copyright © 2026 Mark Ciganovic. All rights reserved.
This repository is not open source and does not grant permission to copy, distribute, modify, or incorporate its protected materials without prior written permission, except as permitted by applicable law and GitHub's Terms of Service. See COPYRIGHT.md for the full notice.