{"case_id":"CASE-DEMO-MANUFACTURING-BV-20260704180518","status":"blocked-before-live-client-data","go_no_go":"No-go for real CLMBS client data or live OpenAI validation until human approvals are recorded and OPENAI_API_KEY is provisioned.","ready_now":["Internal synthetic/source-traceable DigiBeat workspace is reviewable.","Deterministic demo pipeline, local retrieval modes, prompt cockpit, validation harness, and canvas review are implemented.","Markdown review pack, JSON export manifest, archive readiness, audit snapshot, access readiness, and governance surfaces are available.","Errors from live OpenAI execution are persisted loudly when credentials are absent."],"blocking_actions":["Human action: provision OPENAI_API_KEY for this app process, restart the server, then run live validation.","Name the production identity provider and group/role model.","Decide whether CLMBS users, PitchAI users, and client observers share one tenant model or separate trust boundaries.","Approve the data action gates before provisioning OPENAI_API_KEY for real customer material.","Define how access decisions are audited, retained, and exported for review.","Confirm CLMBS tenant and role model for consultant, reviewer, admin, and client-facing access.","Define retention/deletion rules for uploaded source documents, generated runs, and exports.","Approve or reject any anonymized-learning path before production use.","Provision OPENAI_API_KEY only after data-processing and client-data handling rules are accepted."],"review_routes":[{"label":"Live readiness","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/readiness","purpose":"OpenAI credential, prompt registry, persistence, and case-material checks."},{"label":"Approval register","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/approvals","purpose":"Local review records for required data, access, model, output, and learning decisions."},{"label":"Action board","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/action-board","purpose":"Consolidated human actions and provisioning gates."},{"label":"Provisioning","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/provisioning","purpose":"Secret provisioning checklist, restart steps, and evidence requirements."},{"label":"Live rehearsal","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/live-rehearsal","purpose":"Operator checklist for the first approved live OpenAI smoke run."},{"label":"Live evidence","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/live-evidence","purpose":"Local evidence log for the live smoke-test bundle."},{"label":"Client handoff","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/client-handoff","purpose":"Client-facing share modes, sanitization checks, and do-not-send boundary."},{"label":"Access readiness","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/access","purpose":"Role, tenant, secret, and data-action approval gates."},{"label":"Governance","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/governance","purpose":"Client-data, learning, retention, and production-boundary decisions."},{"label":"Exports","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/exports","purpose":"Implemented Markdown/JSON handoff and planned binary exports."},{"label":"Output template","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/output-template","purpose":"PowerPoint/PDF/Word field map, acceptance checks, and renderer blockers."},{"label":"Output QA","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/output-qa","purpose":"Manual QA lanes, sampling protocol, and failure handling before client-facing output."},{"label":"Archive","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/archive","purpose":"Archive package, naming proposal, retention blockers, and reviewer actions."},{"label":"Audit","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/audit","purpose":"Derived event timeline and production audit caveats."},{"label":"Review pack","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/review-pack.md","purpose":"Downloadable internal Markdown review handoff."},{"label":"Decision JSON","href":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/decision-center.json","purpose":"Machine-readable go/no-go summary."}],"evidence_counts":{"sources":20,"canvas_blocks":11,"validation_cases":5,"stored_runs":0,"feedback_events":0,"audit_events":6},"subsurface_status":[{"surface":"readiness","status":"blocked"},{"surface":"action-board","status":"human-actions-required"},{"surface":"provisioning","status":"blocked-before-live-provisioning"},{"surface":"live-rehearsal","status":"blocked-before-live-rehearsal"},{"surface":"live-evidence","status":"live-evidence-incomplete"},{"surface":"client-handoff","status":"blocked-for-client-handoff"},{"surface":"approvals","status":"local-approval-records-needed"},{"surface":"access","status":"human-approval-required"},{"surface":"governance","status":"human-decisions-needed"},{"surface":"exports","status":"implemented-review-pack-planned-binary-exports"},{"surface":"output-template","status":"template-review-needed"},{"surface":"output-qa","status":"qa-plan-ready-renderer-blocked"},{"surface":"archive","status":"review-ready-not-production-archive"},{"surface":"audit","status":"reviewable-audit-snapshot"}],"production_only_after":["OPENAI_API_KEY is provisioned in the app process after data-processing and access decisions are approved.","Authentication, role-based access, tenant identity, and per-tenant authorization are implemented.","Client-data retention, deletion, archive, and legal-hold policies are approved and auditable.","Binary PowerPoint/PDF/Word rendering expectations and output templates are agreed.","Production audit uses authenticated actors, tenant ids, immutable storage, and retention/deletion policy."],"next_human_actions":["Approve or revise the access, tenant, retention, deletion, and anonymized-learning decisions.","Decide whether the next meeting can use the internal demo with synthetic/demo material only.","Provision OPENAI_API_KEY and restart the app only after the data-handling gates are accepted.","Run one live OpenAI smoke test and inspect the stored run detail before any model-produced claim is used externally."],"source_manifests":{"access":{"case_id":"CASE-DEMO-MANUFACTURING-BV-20260704180518","status":"human-approval-required","scope":"Access and tenant-readiness checklist for the internal DigiBeat demo before real CLMBS data use.","current_demo_posture":["No login, identity provider, role-based access control, or tenant claim is implemented.","Case separation is local SQLite scoping by case_id, not production tenant isolation.","The demo is safe for synthetic/internal material only until access and data-processing decisions are approved."],"role_matrix":[{"role":"PitchAI consultant","intended_access":"Create cases, ingest sources, run retrieval, draft canvas blocks, and prepare workshop output.","current_demo_control":"Unrestricted local demo access.","production_decision":"Map to named users/groups and restrict case access by tenant/customer.","status":"decision needed"},{"role":"Reviewer / engagement lead","intended_access":"Approve, edit, or reject canvas claims, prompt overrides, exports, and archive readiness.","current_demo_control":"Reviewer actions are stored as local feedback and prompt override records.","production_decision":"Define approval authority and whether approvals are required before live generation/export.","status":"decision needed"},{"role":"System administrator","intended_access":"Configure model, OpenAI key, prompt registry releases, retention, and tenant settings.","current_demo_control":"Environment variables and git-tracked prompt files are edited outside the app.","production_decision":"Separate operator privileges from reviewer/consultant workflow privileges.","status":"decision needed"},{"role":"Client-facing observer","intended_access":"View selected workshop/advisory output after PitchAI review.","current_demo_control":"No client-facing role or sanitized-share mode is implemented.","production_decision":"Decide whether CLMBS needs client login, read-only share packs, or consultant-led screenshare only.","status":"decision needed"}],"tenant_boundary_checks":[{"check":"Tenant identity","demo_state":"Absent; only case_id is available.","required_before_real_data":"Attach every case, source, run, prompt override, validation row, feedback item, and export to a tenant id."},{"check":"Per-tenant authorization","demo_state":"Absent; local app trusts the operator.","required_before_real_data":"Enforce user/group membership before source intake, live runs, exports, and archives."},{"check":"Cross-tenant learning","demo_state":"Not implemented.","required_before_real_data":"Record explicit approval or default to no reusable learning data."},{"check":"Secret handling","demo_state":"OPENAI_API_KEY is read from process environment only.","required_before_real_data":"Provision secrets outside git and define who may rotate or inspect them."}],"data_action_gates":[{"action":"Upload or paste customer source material","gate":"Approved tenant, retention, deletion, and access policy.","current_status":"blocked for real client data"},{"action":"Run live OpenAI generation","gate":"OPENAI_API_KEY provisioned after data-processing and access rules are accepted.","current_status":"blocked until human approval"},{"action":"Export review pack or archive package","gate":"Reviewer approval plus client-data handoff/retention decision.","current_status":"internal review only"},{"action":"Expose output to a client-facing observer","gate":"Approved share mode and sanitized output boundary.","current_status":"not implemented"}],"human_actions":["Name the production identity provider and group/role model.","Decide whether CLMBS users, PitchAI users, and client observers share one tenant model or separate trust boundaries.","Approve the data action gates before provisioning OPENAI_API_KEY for real customer material.","Define how access decisions are audited, retained, and exported for review."]},"approvals":{"case_id":"CASE-DEMO-MANUFACTURING-BV-20260704180518","status":"local-approval-records-needed","scope":"Local review register for human decisions that must be made before real CLMBS data, live OpenAI validation, client-facing output, or archive promises. This is not production authorization.","gates":[{"gate":"Data handling policy","required_decision":"Approve tenant, retention, deletion, and customer-data handling before real CLMBS material is loaded.","blocks":"Real source uploads and pasted customer material.","current_decision":"not-recorded","owner":"","note":"","created_at":"","tone":"review"},{"gate":"Access and role model","required_decision":"Name identity provider, role groups, reviewer authority, and client-observer boundary.","blocks":"Production access, exports, archives, and client-facing views.","current_decision":"not-recorded","owner":"","note":"","created_at":"","tone":"review"},{"gate":"Live OpenAI validation","required_decision":"Provision OPENAI_API_KEY only after data-processing and access decisions are accepted.","blocks":"Live model-produced pipeline validation.","current_decision":"not-recorded","owner":"","note":"","created_at":"","tone":"review"},{"gate":"Output and archive boundary","required_decision":"Decide whether exports/archives are internal-only, client-deliverable, or both.","blocks":"Client-facing handoff and retention promises.","current_decision":"not-recorded","owner":"","note":"","created_at":"","tone":"review"},{"gate":"Anonymized learning","required_decision":"Approve or reject any reusable learning dataset path before production use.","blocks":"Any cross-customer learning workflow.","current_decision":"not-recorded","owner":"","note":"","created_at":"","tone":"review"}],"pending_gates":["Data handling policy","Access and role model","Live OpenAI validation","Output and archive boundary","Anonymized learning"],"records":[],"production_boundary":["Approval records are local SQLite review evidence only and are not production authorization.","Production still requires authenticated approvers, tenant ids, immutable audit, and approved retention/deletion policy.","OPENAI_API_KEY must still be provisioned outside git and only after data-handling decisions are accepted."]},"archive":{"case_id":"CASE-DEMO-MANUFACTURING-BV-20260704180518","archive_name":"case-demo-manufacturing-bv-20260704180518-digibeat-archive-review","status":"review-ready-not-production-archive","implemented_package":[{"artifact":"Markdown review pack","route":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/review-pack.md","archive_role":"Human-readable case summary, canvas evidence, source warnings, runs, and feedback."},{"artifact":"JSON export manifest","route":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/export-manifest.json","archive_role":"Machine-readable export and handoff boundary inventory."},{"artifact":"Governance manifest","route":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/governance.json","archive_role":"Tenant, model-use, anonymized-learning, retention, and human-decision boundary record."},{"artifact":"Archive readiness manifest","route":"/cases/CASE-DEMO-MANUFACTURING-BV-20260704180518/archive-manifest.json","archive_role":"Archive checklist, naming proposal, retention blockers, and package inventory."}],"counts":{"sources":20,"stored_runs":0,"feedback_events":0,"canvas_blocks":11,"validation_cases":5},"naming_proposal":["case-demo-manufacturing-bv-20260704180518-review-pack.md","case-demo-manufacturing-bv-20260704180518-export-manifest.json","case-demo-manufacturing-bv-20260704180518-governance.json","case-demo-manufacturing-bv-20260704180518-archive-manifest.json"],"retention_decisions_needed":["Define how long uploaded source text and conversion jobs remain available after a workshop.","Define retention for prompt overrides, reviewer feedback, validation cases, and generated run payloads.","Define deletion evidence required when a customer requests removal.","Define whether anonymized learning data is allowed and what approval record proves it."],"production_blockers":["No authenticated archive owner or role model is implemented.","No immutable object storage, checksum, or signed archive bundle is implemented.","No retention schedule, deletion workflow, or legal hold mechanism is implemented.","No binary PowerPoint/PDF/Word package generation is implemented."],"reviewer_next_actions":["Review the proposed package contents before client-facing archive promises.","Decide whether the archive is internal-only, client-deliverable, or both.","Approve retention/deletion policy before storing real customer uploads.","Provision OPENAI_API_KEY only after data-handling rules are accepted."]},"audit_status":"reviewable-audit-snapshot","export_boundaries":["This manifest is generated from internal demo data and runtime SQLite state.","Binary PowerPoint/PDF/Word rendering is not implemented in this internal demo.","Markdown export remains the only implemented downloadable review artifact."],"governance_gaps":["Authentication and role-based access control are not implemented.","Tenant isolation beyond local case scoping is not implemented.","Client-data retention, deletion, and archival policy are not implemented.","Approved anonymization workflow for reusable learning data is not implemented."],"output_template_blockers":["Agreed CLMBS PowerPoint/PDF/Word templates and brand rules are not yet supplied.","Binary renderer implementation, file storage, immutable archive records, and checksums are not implemented.","Tenant, retention, deletion, and legal-hold policy are not approved for production exports.","QA rules across PowerPoint, PDF, and Word need approval before generated files can be trusted."],"output_qa_human_actions":["Approve CLMBS output templates and brand rules for PowerPoint, PDF, and Word.","Decide who owns manual QA sign-off before a handoff becomes client-facing.","Provision `OPENAI_API_KEY` only after data/access/tenant decisions are accepted, then run one live smoke test.","Define archive, checksum, retention, deletion, and legal-hold rules before production export."],"action_board_summary":{"total_actions":30,"blockers":26,"open_approval_gates":5,"readiness_blockers":1},"provisioning_summary":{"openai_key_present":false,"pending_approval_gates":5,"blocking_readiness_checks":1,"action_board_blockers":26,"converted_sources":20,"latest_runs_available":0},"live_rehearsal_summary":{"blocking_readiness_checks":1,"pending_approval_gates":5,"latest_runs_available":0,"action_board_blockers":26},"live_evidence_summary":{"required_evidence":5,"recorded_evidence":0,"missing_evidence":5,"live_runs_available":0,"blocking_readiness_checks":1},"client_handoff_summary":{"sources":20,"stored_runs":0,"pending_approval_gates":5,"blocking_readiness_checks":1,"client_handoff_blockers":22}}}