| QA-01 |
§0. Pre-Flight Integrity: Canonical package directory exists at LLC-DIV-3-FACTORY/add-ons/approvalWorkflow/. |
§0. Pre-Flight Integrity |
PASS |
| QA-02 |
§0. Pre-Flight Integrity: Manifest appsscript.json configured with V8 runtime and Stackdriver logging. |
§0. Pre-Flight Integrity |
PASS |
| QA-03 |
§0. Pre-Flight Integrity: .claspignore excludes build scripts, store assets, and markdown docs. |
§0. Pre-Flight Integrity |
PASS |
| QA-04 |
§1. Workspace Container Load (Forms & Sheets): Add-on menu "Open ApprovalWorkflow" registers cleanly in Google Forms editor. |
§1. Workspace Container Load (Forms & Sheets) |
PASS |
| QA-05 |
§1. Workspace Container Load (Forms & Sheets): Add-on menu "Open ApprovalWorkflow" registers cleanly in Google Sheets editor. |
§1. Workspace Container Load (Forms & Sheets) |
PASS |
| QA-06 |
§1. Workspace Container Load (Forms & Sheets): Sidebar opens within 500ms without JavaScript exceptions or console errors. |
§1. Workspace Container Load (Forms & Sheets) |
PASS |
| QA-07 |
§1. Workspace Container Load (Forms & Sheets): Inlined static suite catalog (RULE-013) renders 4 sibling add-ons with zero external network requests. |
§1. Workspace Container Load (Forms & Sheets) |
PASS |
| QA-08 |
§2. Workflow Configuration & State Management: Manager Email, Approver Role, Target Sheet Tab, and Subject Template persist to DocumentProperties. |
§2. Workflow Configuration & State Management |
PASS |
| QA-09 |
§2. Workflow Configuration & State Management: Signing secret generates and persists safely via Utilities.getUuid(). |
§2. Workflow Configuration & State Management |
PASS |
| QA-10 |
§2. Workflow Configuration & State Management: Active listener toggle correctly adds/removes installable onFormSubmit trigger without orphaned triggers. |
§2. Workflow Configuration & State Management |
PASS |
| QA-11 |
§3. Core Approval Flow & Concurrency: Form submission captures respondent, timestamp, and answers accurately. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-12 |
§3. Core Approval Flow & Concurrency: Log sheet auto-creates Approvals tab with formatted headers if missing. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-13 |
§3. Core Approval Flow & Concurrency: Submission appends row with PENDING status. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-14 |
§3. Core Approval Flow & Concurrency: HMAC-SHA256 tokenized action URLs generated for Approve and Reject. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-15 |
§3. Core Approval Flow & Concurrency: HTML email dispatches with styled summary and action buttons via native quota. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-16 |
§3. Core Approval Flow & Concurrency: Clicking Approve hits doGet(e), validates signature, updates status to APPROVED, and logs decision timestamp. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-17 |
§3. Core Approval Flow & Concurrency: Clicking an already-decided action link returns graceful "Already Decided" confirmation. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-18 |
§3. Core Approval Flow & Concurrency: Tampered action link is rejected with "Unauthorized" card. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-19 |
§3. Core Approval Flow & Concurrency: LockService mutex prevents race condition overwrites during simultaneous decisions. |
§3. Core Approval Flow & Concurrency |
PASS |
| QA-20 |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012): Zero restricted scopes (drive.readonly or gmail.readonly are strictly avoided). |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012) |
PASS |
| QA-21 |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012): Least-privilege non-restricted scopes: forms.currentonly, spreadsheets.currentonly, script.container.ui, script.scriptapp, gmail.send. |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012) |
PASS |
| QA-22 |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012): CASA Tier 2 audit fee: **one-time lifetime value**. |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012) |
PASS |
| QA-23 |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012): Zero third-party webhooks, databases, or analytics tracking. |
§4. Sovereign Local-First & CASA Tier 2 Boundary (RULE-012) |
PASS |
| QA-24 |
§5. Asset Preservation & Marketplace Deliverables (RULE-002): Authentic vector SVG icon created at store/assets/approvalworkflow.svg. |
§5. Asset Preservation & Marketplace Deliverables (RULE-002) |
PASS |
| QA-25 |
§5. Asset Preservation & Marketplace Deliverables (RULE-002): Rendered 128×128 icon, 440×280 promo tile, and 3× 1280×800 screenshots via headless Edge. |
§5. Asset Preservation & Marketplace Deliverables (RULE-002) |
PASS |
| QA-26 |
§5. Asset Preservation & Marketplace Deliverables (RULE-002): Zero placeholder graphics or blank dummy images. |
§5. Asset Preservation & Marketplace Deliverables (RULE-002) |
PASS |
| QA-27 |
§5. Asset Preservation & Marketplace Deliverables (RULE-002): Copy-paste marketplace listing docket prepared in store/listing.md. |
§5. Asset Preservation & Marketplace Deliverables (RULE-002) |
PASS |
| QA-28 |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003): Web copy authored in store/web-copy.html with zero specific price figures ($X.XX). |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003) |
PASS |
| QA-29 |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003): Value framing applied: "One-time lifetime license · Zero subscriptions", "Sovereign custody". |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003) |
PASS |
| QA-30 |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003): Public product page generated and verified at 864zeros.com/products/approvalworkflow. |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003) |
PASS |
| QA-31 |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003): Registered in LLC-DIV-1-INTELLIGENCE/gtm/GTM_QUEUE.json and LLC-DIV-4-GTM/PUBLISHING_QUEUE.md. |
§6. Web Catalog & Decoupled Pricing Compliance (RULE-003) |
PASS |