{"ok":true,"service":"ytf-app","endpoint":"source-rotation/status","generated_at":"2026-10-25T04:41:49.326Z","ui_contract":{"primary_surface":"source_rotation_contract","recommended_route":"/sources","companion_routes":["/brief","/api/brief/status","/chat","/api/chat-receipts/status","/packets","/api/source-packets/status","/pipeline","/analytics","/authority","/signoff","/reliability"],"machine_consumers":["scheduled_reports","lightweight_agents","dell_edge_collectors","team_dashboards"]},"data_contract":{"raw_messages":false,"raw_email":false,"raw_file_paths":false,"credentials":false,"customer_identity":false,"claim_contents":false,"chat_text":false,"personal_contact":false,"local_chat_database_extraction":false,"autonomous_chat_send":false,"erp_writeback":false,"claim_closure":false,"agent_self_approval":false,"board_kpi_auto_publication":false},"status":{"feed":"current","trust":"present","board_kpi":"blocked","source_inbox":"context_inbox_ready_for_manager_routing","ga4":"not_configured","ga4_enabled":false,"lane_count":11,"collector_modes":{"cloud_connector_summary":1,"cloud_file_metadata_and_governed_delta":1,"edge_metadata_cloud_offload":1,"edge_visible_window_no_input_review":5,"local_erp_manager_review":1,"protected_external_summary":1,"human_authority_gate":1}},"operating_contract":{"principle":"cloud_first_dell_edge_review_only","dell_xps_role":"visible-window chat review, OneDrive metadata/offload checks, mobile/photo capture review","cloud_role":"status APIs, bounded source summaries, scheduled reports, CI/CD, analytics readiness, and dashboard packets","source_authority_rule":"No chat, email, Drive, OneDrive, iSolution, or Claim QA signal becomes KPI authority until a named operating record confirms the fact.","board_kpi_rule":"Board and plant KPI publication require signed source, site/scope, period, totals, reference, and approver.","missing_values_rule":"Unavailable counts stay null and must not be converted to zero."},"required_signal_fields":["lane_id","source_label","site_scope","observed_date","authority_state","owner_role","verification_source","privacy_safe_summary","next_owner_action"],"source_cockpit":{"state":"source_cockpit_ready","mode":"open_lane_to_packet_to_signoff","recommended_route":"/sources","summary":"Choose one source lane, create one copy-safe packet, then get the owner signoff before KPI or material-fact use.","repeatable_for_other_factories":true,"ytf_custom_lanes":{"cloud_first":["Gmail operations","Google Drive operations"],"dell_visible_window":["Viber · HM / BoD","Viber · YTF Managers","Viber · YT Bilin","LINE · Bilin group","LINE · Junky"],"protected_summary":["Claim QA bridge"],"local_erp_review":["iSolution / iStock manager mode"],"human_gate":["Signed source authority"]},"quick_flow":[{"id":"open_one_lane","title":"1. Open one lane","state":"choose_lane","owner_role":"Source owner / communications lane owner","action":"Pick exactly one source lane and scope. Use cloud metadata lanes first; use Dell visible-window review only when the exact chat lane is prepared.","route":"/sources","cost_tier":"free_status_api_first"},{"id":"make_safe_packet","title":"2. Make safe packet","state":"packet_template_ready","owner_role":"Codex / lightweight agent","action":"Convert the reviewed context into allowed fields only: lane, source label, site scope, observed date, safe summary, next owner action, authority state, and verification source.","route":"/packets","cost_tier":"local_lightweight_first"},{"id":"owner_signoff","title":"3. Owner signoff","state":"signature_required_for_kpi","owner_role":"Production / Quality / Finance / Stores owner","action":"For Board/plant KPI or material facts, record signed source, site/scope, period, totals, reference, and approver before publishing.","route":"/signoff","cost_tier":"human_gate"}],"lane_counts":{"cloud_first":2,"dell_visible_window":5,"protected_summary":1,"local_erp_review":1,"human_gate":1,"chat_ready":0,"chat_required":5},"cheap_first_order":["/api/today/status","/api/chat-receipts/status","/api/source-rotation/status","/api/source-packets/status","/api/source-authority/packet"],"current_blockers":["Exact Viber/LINE windows are not fully prepared for visible-window review.","GA4 route usage is not configured yet.","iSolution manager mode is active for restoration/export-reconciliation work only; ERP authority remains blocked.","Signed source authority is still required before Board/plant KPI publication."],"allowed_output":"copy-safe owner-action packet only","blocked_output":"no raw text, local database extraction, contact detail, raw diagnostics, ERP writeback, claim closure, evidence approval, stock/finance authority, or KPI publication"},"chat_review_readiness":{"state":"setup_required","route":"/sources","chat_receipts_route":"/chat","chat_receipts_endpoint":"/api/chat-receipts/status","collector_route":"/collectors","required_mode":"edge_visible_window_no_input_review","required_window_count":5,"ready_window_count":0,"exact_lanes":["Viber · HM / BoD","Viber · YTF Managers","Viber · YT Bilin","LINE · Bilin group","LINE · Junky"],"lanes":[{"id":"viber_hm_bod","label":"Viber · HM / BoD","platform":"Viber","site_scope":"board/general management context only","status":"human_review_required","readiness":"setup_required","window_requirement":"pin the exact Viber conversation/lane","composer_requirement":"empty composer; no typing and no sending","allowed_output":"context-only owner action note after human review","next_action":"Pin the exact HM / BoD lane, keep composer empty, then review only a private preview before any context summary.","can_send":false,"can_extract_database":false,"can_publish_kpi":false,"writes_to_operating_record":false},{"id":"viber_ytf_managers","label":"Viber · YTF Managers","platform":"Viber","site_scope":"Yangon factory manager operations context only","status":"human_review_required","readiness":"setup_required","window_requirement":"pin the exact Viber conversation/lane","composer_requirement":"empty composer; no typing and no sending","allowed_output":"context-only owner action note after human review","next_action":"Prepare the exact YTF Managers lane; keep the composer empty; summarize only approved context after review.","can_send":false,"can_extract_database":false,"can_publish_kpi":false,"writes_to_operating_record":false},{"id":"viber_yt_bilin","label":"Viber · YT Bilin","platform":"Viber","site_scope":"Bilin-specific operations context only","status":"human_review_required","readiness":"setup_required","window_requirement":"pin the exact Viber conversation/lane","composer_requirement":"empty composer; no typing and no sending","allowed_output":"context-only owner action note after human review","next_action":"Recapture or prepare the exact Bilin lane; keep Bilin scope explicit on every candidate action.","can_send":false,"can_extract_database":false,"can_publish_kpi":false,"writes_to_operating_record":false},{"id":"line_bilin_group","label":"LINE · Bilin group","platform":"LINE","site_scope":"Bilin-specific LINE group context only","status":"human_review_required","readiness":"setup_required","window_requirement":"open as its own LINE window","composer_requirement":"empty composer; no typing and no sending","allowed_output":"context-only owner action note after human review","next_action":"Open the Bilin group as its own LINE window, keep the composer empty, and review the exact private preview.","can_send":false,"can_extract_database":false,"can_publish_kpi":false,"writes_to_operating_record":false},{"id":"line_junky","label":"LINE · Junky","platform":"LINE","site_scope":"supplier coordination context only","status":"human_review_required","readiness":"setup_required","window_requirement":"open as its own LINE window","composer_requirement":"empty composer; no typing and no sending","allowed_output":"context-only owner action note after human review","next_action":"Review the exact Junky private preview if visible and unchanged; route only owner actions, never raw text.","can_send":false,"can_extract_database":false,"can_publish_kpi":false,"writes_to_operating_record":false}],"preflight_checklist":["Open only the exact named Viber/LINE lane or window; do not navigate broad chat history.","Keep every composer empty; no typing, sending, focus-change automation, or unattended clicking.","Capture only a private preview for human review; public output is a context-only owner action note.","Route material facts to signed source authority or the named operating record; missing evidence stays null."],"allowed_summary_fields":["lane_id","source_label","site_scope","observed_date","privacy_safe_summary","next_owner_action","authority_state"],"blocked_operations":["autonomous chat sending","local chat database extraction","raw message publication","customer or personal contact publication","KPI publication from chat context","agent self-approval"]},"named_chat_lanes":[{"id":"viber_hm_bod","label":"Viber · HM / BoD","exact_scope":"board/general management context only","status":"human_review_required","next_action":"Pin the exact HM / BoD lane, keep composer empty, then review only a private preview before any context summary."},{"id":"viber_ytf_managers","label":"Viber · YTF Managers","exact_scope":"Yangon factory manager operations context only","status":"human_review_required","next_action":"Prepare the exact YTF Managers lane; keep the composer empty; summarize only approved context after review."},{"id":"viber_yt_bilin","label":"Viber · YT Bilin","exact_scope":"Bilin-specific operations context only","status":"human_review_required","next_action":"Recapture or prepare the exact Bilin lane; keep Bilin scope explicit on every candidate action."},{"id":"line_bilin_group","label":"LINE · Bilin group","exact_scope":"Bilin-specific LINE group context only","status":"human_review_required","next_action":"Open the Bilin group as its own LINE window, keep the composer empty, and review the exact private preview."},{"id":"line_junky","label":"LINE · Junky","exact_scope":"supplier coordination context only","status":"human_review_required","next_action":"Review the exact Junky private preview if visible and unchanged; route only owner actions, never raw text."}],"chat_capture_playbook":{"name":"YTF low-cost chat capture","purpose":"Turn Viber/LINE exports, screenshot packets, or prepared visible windows into context-only owner actions without making the Dell heavy or treating chats as KPI authority.","route":"/sources","chat_receipts_route":"/chat","chat_receipts_endpoint":"/api/chat-receipts/status","source_contract_endpoint":"/api/source-rotation/status#chat_capture_playbook","low_cost_ingestion_endpoint":"/api/chat-receipts/status#low_cost_chat_ingestion","default_cost_tier":"human_export_first","default_runner":"human_export_first_then_local_lightweight_review","continuous_gui_required":false,"computer_use_default":"off_until_exact_visible_window_needed","repeatable_for_other_factories":true,"ytf_custom_lanes":["Viber · HM / BoD","Viber · YTF Managers","Viber · YT Bilin","LINE · Bilin group","LINE · Junky"],"tiers":[{"id":"cloud_contract","label":"Cloud contract first","use_when":"Every run","action":"Read /api/source-rotation/status, /api/source-inbox/status, /api/source-packets/status, and /api/brief/status before opening desktop apps."},{"id":"human_export_packet","label":"Human export packet","use_when":"Default daily Viber/LINE review","action":"Ask the lane owner for a daily summary or screenshot packet, then draft a safe receipt in /chat; do not keep continuous GUI watching on."},{"id":"local_visible_window","label":"Dell visible window fallback","use_when":"Only after the exact chat is open and the composer is empty","action":"Capture a private preview from the visible window; do not navigate broad history, send messages, or extract local databases."},{"id":"local_ai_triage","label":"Local/Ollama-class triage","use_when":"Routine message grouping after human review","action":"Draft only privacy-safe candidate actions with owner, site scope, observed date, and required verification source."},{"id":"premium_llm_or_vision","label":"Premium model escalation","use_when":"Ambiguous captures, disputed claims, board-sensitive topics, or high-value manager decisions","action":"Use a stronger model only on the reviewed private excerpt or image; still publish only context-safe owner actions."}],"workflow":["Read cloud contracts first; if they already show setup_required, do not drive chat apps.","Default to a human-exported daily summary or screenshot packet; use Dell visible-window review only for exceptions.","Prepare exactly one named lane/window with an empty composer when visible-window review is required.","Create private capture candidates and a local hash/receipt; do not put message text in public output.","Human reviews the private preview and marks approve/reject for context-only extraction.","Extract allowed fields only, then route material facts to the named owner and operating record.","Use /signoff before any board or plant KPI; chat context never approves KPI values."],"output_template":["lane_id","source_label","site_scope","observed_date","input_mode","privacy_safe_summary","next_owner_action","authority_state","verification_source","escalation_reason"],"blocked_output":["message text","personal contacts","customer identity","credentials","local database contents","KPI values without signed authority"]},"lanes":[{"id":"gmail","label":"Gmail operations","exact_scope":"supplier, shipment, project, finance, quality, and operating context","owner_role":"Drive / Gmail Agent","collector_mode":"cloud_connector_summary","current_authority":"context_only_until_named_operating_record","cadence":"daily_delta_then_exception_review","allowed_read":"Read bounded metadata and approved attachments through the connected read-only lane.","blocked_read":"No raw email body publication; no broad mailbox dump; no credential capture.","proof_required":"Named purchase, stores, logistics, finance, quality, production, or signed workbook record confirms the material fact.","next_action":"Summarize only deltas, candidate risks, and owner actions; route each material item to the accountable record owner.","promotion_target":"purchase / stores / logistics / finance / quality / production record","route":"/sources","status":"context_ready","evidence_grade":"context-ready","can_auto_collect":true,"requires_visible_window":false,"requires_human_review":false,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"google_drive","label":"Google Drive operations","exact_scope":"controlled workbooks, CEO diary/deck deltas, quality files, source-owner documents","owner_role":"Document Owner","collector_mode":"cloud_file_metadata_and_governed_delta","current_authority":"context_only_until_authoritative_revision_confirmed","cadence":"daily_delta_plus_owner_exception","allowed_read":"Read governed file metadata and approved document deltas; keep owner/edit time as stewardship context.","blocked_read":"No private file paths, raw contents, customer identity, or folder-owner performance scoring in public packets.","proof_required":"Authoritative revision, owner, period, and controlled register reference are confirmed.","next_action":"Review only recent deltas and attach decisions to the controlled file or register.","promotion_target":"signed workbook / controlled register / CEO decision note / quality record","route":"/sources","status":"context_ready","evidence_grade":"context-ready","can_auto_collect":true,"requires_visible_window":false,"requires_human_review":false,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"onedrive","label":"OneDrive operations","exact_scope":"synced YTF library, Operations Hub, role packs, CEO deck metadata","owner_role":"IT / Data Agent","collector_mode":"edge_metadata_cloud_offload","current_authority":"metadata_only_until_hydrated_and_mapped","cadence":"metadata_watch_then_deliberate_hydration","allowed_read":"Use bounded metadata and cloud-offload status to find candidates and keep the Dell lightweight.","blocked_read":"No broad local indexing; no hidden path publication; no performance inference from folder ownership.","proof_required":"Hydrated content and source owner confirm the operating record before use.","next_action":"Keep files cloud-only where practical; hydrate only approved candidates and map authority before using content.","promotion_target":"cloud handoff folder / controlled workbook / source-owner review note","route":"/sources","status":"metadata_only","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":false,"requires_human_review":false,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"viber_hm_bod","label":"Viber · HM / BoD","exact_scope":"board/general management context only","owner_role":"Communications Agent","collector_mode":"edge_visible_window_no_input_review","current_authority":"context_only_after_exact_hash_human_approval","cadence":"visible_window_review_when_lane_is_pinned","allowed_read":"Use visible-window, empty-composer, no-input review after the exact lane is pinned and human review is available.","blocked_read":"No send, focus-change automation, broad desktop scraping, cloud vision by default, local database extraction, or automatic approval.","proof_required":"Human compares the saved private preview with the visible lane and approves unchanged bytes.","next_action":"Pin the exact HM / BoD lane, keep composer empty, then review only a private preview before any context summary.","promotion_target":"manager action note / signed source packet / named operating record","route":"/sources","status":"human_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":true,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"viber_ytf_managers","label":"Viber · YTF Managers","exact_scope":"Yangon factory manager operations context only","owner_role":"Communications Agent","collector_mode":"edge_visible_window_no_input_review","current_authority":"context_only_after_exact_hash_human_approval","cadence":"visible_window_review_when_lane_is_pinned","allowed_read":"Use visible-window, empty-composer, no-input review after the exact lane is pinned and human review is available.","blocked_read":"No autonomous send, no database extraction, no KPI publication, no approval by an agent.","proof_required":"Exact capture hash remains unchanged and human review marks it approved for context-only extraction.","next_action":"Prepare the exact YTF Managers lane; keep the composer empty; summarize only approved context after review.","promotion_target":"manager action note / production or quality follow-up","route":"/sources","status":"human_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":true,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"viber_yt_bilin","label":"Viber · YT Bilin","exact_scope":"Bilin-specific operations context only","owner_role":"Communications Agent","collector_mode":"edge_visible_window_no_input_review","current_authority":"context_only_after_exact_hash_human_approval","cadence":"visible_window_review_when_lane_is_pinned","allowed_read":"Use visible-window, empty-composer, no-input review only for the exact Bilin lane.","blocked_read":"No mixing Bilin with Yangon/SPT scope; no local database extraction; no automatic ingest.","proof_required":"Human-approved exact capture plus Bilin scope label on every derived item.","next_action":"Recapture or prepare the exact Bilin lane; keep Bilin scope explicit on every candidate action.","promotion_target":"Bilin manager action note / signed Bilin register","route":"/sources","status":"human_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":true,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"line_bilin_group","label":"LINE · Bilin group","exact_scope":"Bilin-specific LINE group context only","owner_role":"Communications Agent","collector_mode":"edge_visible_window_no_input_review","current_authority":"context_only_after_exact_hash_human_approval","cadence":"visible_window_review_when_window_is_open","allowed_read":"Use an already-open individual LINE window with empty composer and no navigation.","blocked_read":"No local database extraction, no send, no automatic approval, no cross-site KPI claim.","proof_required":"Human-approved exact bytes and explicit Bilin scope on every derived item.","next_action":"Open the Bilin group as its own LINE window, keep the composer empty, and review the exact private preview.","promotion_target":"Bilin manager action note / supplier or production follow-up","route":"/sources","status":"human_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":true,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"line_junky","label":"LINE · Junky","exact_scope":"supplier coordination context only","owner_role":"Communications Agent","collector_mode":"edge_visible_window_no_input_review","current_authority":"context_only_after_exact_hash_human_approval","cadence":"visible_window_review_when_window_is_open","allowed_read":"Use an already-open individual LINE window with empty composer and no navigation.","blocked_read":"No send, local database extraction, automatic approval, customer identity publication, or supplier KPI publication.","proof_required":"Human-approved exact bytes plus owner routing to purchasing, stores, logistics, or finance.","next_action":"Review the exact Junky private preview if visible and unchanged; route only owner actions, never raw text.","promotion_target":"supplier coordination action / purchasing or logistics record","route":"/sources","status":"human_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":true,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"isolution_manager_mode","lane_id":"isolution_manager_mode","label":"iSolution / iStock manager mode","platform":"iSolution / iStock","status":"blocked_server_export_reconciliation_required","state":"blocked_server_export_reconciliation_required","site_scope":"YTF ERP pilot; site-specific only after controlled export","exact_scope":"YTF ERP pilot; site-specific only after controlled export","owner_role":"ERP owner / Stores / Finance","source_lane":"iSolution / iStock","source_type":"isolution_local_export_review","lane_type":"local_erp_manager_review","collector_mode":"local_erp_manager_review","cadence":"daily_when_people_use_isolution_or_exports_exist","cost_tier":"local_leader_review_edge_only","route":"/packets#packet-builder","packet_route":"/packets#packet-builder","ledger_route":"/ledger","signoff_route":"/signoff","authority":"context_only_until_supported_export_and_visible_total_reconciliation","authority_state":"context_only_until_supported_export_and_visible_total_reconciliation","current_authority":"context_only_until_supported_export_and_visible_total_reconciliation","evidence_grade":"blocked","review_state":"blocked_until_server_and_export_reconciled","allowed_input":"safe healthcheck summary, supported read-only export metadata, visible total reconciliation receipt, or Not reported","allowed_read":"Use one human-opened leader session, safe preflight/healthcheck output, and a supported read-only export only after the server gate passes.","expected_output":"one ERP restoration or export-reconciliation owner-action packet","default_output":"ERP restoration/reconciliation owner-action packet or Not reported.","next_owner_action":"Use one leader session only; run safe preflight/healthcheck, request vendor/server restoration, then reconcile one controlled export before KPI, stock, finance, or Board use.","next_action":"Use one leader session only; run safe preflight/healthcheck, request vendor/server restoration, then reconcile one controlled export before KPI, stock, finance, or Board use.","privacy_safe_summary":"Local iSolution manager-mode review is restoration/reconciliation-only until server access, supported export, visible total, and signed records match.","action":"Treat current iSolution evidence as manager-review context only; request server/export restoration and one visible-total reconciliation before authority use.","proof_required":"Supported iSolution export plus visible ERP total sample plus signed stores/finance/stock movement record.","verification_source":"Supported iSolution export plus visible ERP total sample plus signed stores/finance/stock movement record.","escalation_rule":"Escalate to vendor/IT for unreachable PostgreSQL endpoints, plaintext credential exposure, stale logs, missing role/session evidence, failed BOM/import gates, or missing controlled exports.","evidence_summary":"A read-only local BI Reports check on 20 October showed Disconnected to Server and no controlled export. The earlier Login-window observation is historical; staff work remains Not reported.","current_blockers":["configured database endpoints are not proven reachable","no supported current controlled export is reconciled","no visible ERP total sample has been matched to signed stores, finance, or stock movement authority","ERP writeback remains off","Board/plant KPI, stock, and finance use remain blocked"],"cheap_path":["read /api/pipeline/status#daily_source_queue and /api/source-packets/status#local_packet_builder","run local safe preflight/healthcheck only when on the iSolution workstation","open one human-controlled leader session only when a person is present","stage one restoration or reconciliation packet","use /signoff only after supported export and signed records match"],"target_records":["supported iSolution export","visible ERP sample total","signed stores or stock movement record","signed finance record when money is involved"],"blocked_use":"No ERP writeback, database editing, credential capture, raw diagnostic publication, KPI publication, stock authority, finance authority, claim closure, or Board use before supported export and signed reconciliation.","blocked_read":"No database editing, direct DB scrape, credential capture, raw config publication, automatic login, ERP writeback, or KPI/stock/finance promotion.","safe_to_share_as_context":true,"raw_content_included":false,"raw_diagnostics_included":false,"credentials":false,"can_auto_collect":false,"requires_visible_window":false,"requires_human_review":true,"can_send_chat":false,"can_publish_kpi":false,"writes_to_operating_record":false,"can_write_erp":false,"can_close_claim":false,"can_approve_evidence":false,"promotion_target":"supported ERP export / stores or finance reconciliation record"},{"id":"claim_qa","label":"Claim QA bridge","exact_scope":"protected quality, claim, corrective-action, and production follow-up","owner_role":"Quality Manager","collector_mode":"protected_external_summary","current_authority":"protected_summary_only_after_quality_review","cadence":"daily_exception_review","allowed_read":"Use protected summaries and aggregate closure queue only after the Quality Manager verifies the queue.","blocked_read":"No customer identity, raw claim evidence, claim closure by agent, or quality-record writeback.","proof_required":"Quality owner verifies protected summary and closure queue before operational use.","next_action":"Open Claim QA, verify the protected summary, and route closure work to the quality owner.","promotion_target":"Claim QA summary / corrective-action record / production or claim closure record","route":"https://yangon-tyre-claim-qa.theswanhtet.chatgpt.site","status":"quality_review_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":false,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false},{"id":"source_signoff","label":"Signed source authority","exact_scope":"production source, site/scope, period, totals, signed reference, approver","owner_role":"Production Manager","collector_mode":"human_authority_gate","current_authority":"decision_grade_only_after_signature","cadence":"before_any_board_or_plant_kpi_publication","allowed_read":"Stage a manager packet in /signoff and attach it to the real controlled operating record.","blocked_read":"No KPI self-approval, no agent promotion, no unresolved source/site merge.","proof_required":"Signed source/site/period/totals/reference plus responsible approver.","next_action":"Use /signoff to stage the packet, then have the accountable manager record the signed authority.","promotion_target":"signed shift register / signed monthly register / controlled production packet","route":"/signoff","status":"signature_required","evidence_grade":"context-only","can_auto_collect":false,"requires_visible_window":false,"requires_human_review":true,"writes_to_operating_record":false,"can_publish_kpi":false}],"blocked_operations":["autonomous chat sending","local chat database extraction","raw evidence publication","raw email or chat text publication","raw ERP diagnostics publication","customer identity publication","credential collection","ERP writeback","ERP authority from unreconciled iSolution outputs","claim closure","folder-ownership performance scoring","plant mapping from product family or folder name","board KPI publication without signed authority","agent self-approval"],"cheap_agent_loop":[{"step":"read_contract","actor":"lightweight_agent","action":"Fetch /api/source-rotation/status and /api/brief/status; do not drive the desktop unless a visible-window lane is explicitly prepared."},{"step":"collect_cloud_deltas","actor":"cloud_connector_agent","action":"Summarize Gmail and Drive deltas into candidate actions with owner role, site scope, date, and verification source."},{"step":"prepare_edge_review","actor":"dell_edge_agent","action":"For Viber/LINE only, wait for exact windows/lanes to be visible with empty composers; produce private review candidates, not public content."},{"step":"route_to_owner","actor":"ceo_or_manager","action":"Route each candidate to Production, Quality, Stores, Logistics, Finance, Purchasing, ERP owner, or Plant Manager for record confirmation."},{"step":"measure_usage","actor":"it_data_agent","action":"Set YTF_GA_MEASUREMENT_ID in Vercel production before using route usage; no page usage is collected yet."}],"next_actions":["Use /api/source-rotation/status as the collector contract before any agent touches Gmail, Drive, OneDrive, iSolution, Viber, LINE, or Claim QA.","Run cloud connectors first; use the Dell only for visible-window review and local metadata/offload checks.","For iSolution, run only manager-safe local healthcheck/export-reconciliation review; keep ERP authority blocked until supported export and signed records match.","Prepare 5 exact Viber/LINE lane(s) with empty composers before any Dell visible-window review.","Keep Viber and LINE private until exact-window, empty-composer, human-reviewed bytes are approved for context-only summary.","Route every material candidate to a named operating record owner; use /signoff before any board or plant KPI publication.","Connect GA4 by setting YTF_GA_MEASUREMENT_ID in Vercel production when the Measurement ID is available."]}