{
  "version": "2026.05.26-training-proof-v1",
  "status": "active",
  "name": "Codee Index to Income Training Enhancements",
  "proof_console_url": "/codee-training-proof.html",
  "mission_rule": "Homeless and disabled veterans receive the open-source course path first. Public business clients are routed to paid done-for-you services, hosting, scans, and support.",
  "operating_model": "Teach the lane, generate a folder, prove the route, then offer Codee hosting or support only after the trainee understands the output.",
  "audiences": [
    {
      "id": "disabled-veteran",
      "access": "mission-sponsored-training",
      "routing": "Free open-source course path, Codee proof support, optional hosting help."
    },
    {
      "id": "homeless-veteran",
      "access": "mission-sponsored-training",
      "routing": "Free open-source course path, Codee proof support, optional hosting help."
    },
    {
      "id": "partner-trainee",
      "access": "partner-training",
      "routing": "Training plus partner standards before serving clients."
    },
    {
      "id": "public-client",
      "access": "paid-services-only",
      "routing": "Done-for-you intake, official checkout, delivery room, scans, and support."
    }
  ],
  "proof_gates": [
    {
      "id": "folder_created",
      "label": "Folder created",
      "requirement": "The trainee exports or creates a lane folder with an index.html file and supporting assets."
    },
    {
      "id": "route_opens",
      "label": "Route opens",
      "requirement": "The page opens on desktop and mobile without a 404."
    },
    {
      "id": "asset_loads",
      "label": "Assets load",
      "requirement": "Main image, cover, logo, QR image, and button styling render without missing files."
    },
    {
      "id": "qr_scans",
      "label": "QR scans",
      "requirement": "The QR image scans from a phone and opens the same destination as the primary CTA."
    },
    {
      "id": "cta_verified",
      "label": "CTA verified",
      "requirement": "The primary button opens the intended checkout, booking, contact, download, or delivery route."
    },
    {
      "id": "packet_saved",
      "label": "Packet saved",
      "requirement": "The trainee exports a JSON packet or proof notes with lane name, target URL, CTA, and proof status."
    },
    {
      "id": "hosting_decision",
      "label": "Hosting decision",
      "requirement": "The trainee chooses self-hosting, Codee hosting, or done-for-you support after proof is complete."
    }
  ],
  "recommended_cli_flow": [
    "python3 codee.py trainee-init . --cohort disabled-veteran --name \"Trainee\"",
    "python3 codee.py course-init ./qrcodee-course --course qrcodee --business \"My Business\" --target-url https://example.com",
    "python3 codee.py course-smoke ./qrcodee-course",
    "python3 codee.py trainee-progress . --course qrcodee --status complete --proof-url \"https://example.com\"",
    "python3 codee.py trainee-readiness ."
  ],
  "course_lanes": [
    {
      "id": "qrcodee",
      "name": "QRCodee",
      "course_url": "/index2income/qrcodee/",
      "learn": "Target URL, QR color, background contrast, center logo, scan proof, and handoff notes.",
      "build": "A branded QR page with a clickable/tappable QR image and exported packet.",
      "prove": [
        "Scan the QR with a phone.",
        "Tap the QR image on the hosted page.",
        "Confirm the route opens without a 404.",
        "Confirm the destination matches the packet."
      ],
      "paid_next_step": "QRCodee done-for-you image, hosted route, delivery room, and recurring scan proof.",
      "cli": {
        "init": "python3 codee.py course-init ./qrcodee-course --course qrcodee --business \"My Business\" --target-url https://example.com",
        "smoke": "python3 codee.py course-smoke ./qrcodee-course",
        "complete": "python3 codee.py trainee-progress . --course qrcodee --status complete --proof-url \"https://example.com\""
      }
    },
    {
      "id": "codeeflyer",
      "name": "Codee Flyer",
      "course_url": "/index2income/codeeflyer/",
      "learn": "One flyer image, one offer, one CTA, one QR image, mobile readability, and route proof.",
      "build": "A hosted-ready flyer folder with index.html, image asset, CTA, QR image, and packet.",
      "prove": [
        "Open the exported flyer page.",
        "Confirm the flyer image is readable on a phone.",
        "Tap the CTA button.",
        "Scan the QR and confirm it opens the same route."
      ],
      "paid_next_step": "Codee Flyer 100 or Codee Flyer 250 with hosted delivery room and QRCodee styling.",
      "cli": {
        "init": "python3 codee.py course-init ./codeeflyer-course --course codeeflyer --business \"My Business\" --target-url https://example.com",
        "smoke": "python3 codee.py course-smoke ./codeeflyer-course",
        "complete": "python3 codee.py trainee-progress . --course codeeflyer --status complete --proof-url \"https://example.com\""
      }
    },
    {
      "id": "codeeapp",
      "name": "Codee App",
      "course_url": "/index2income/codeeapp/",
      "learn": "Guidebook cover, short bullet copy, buyer or download action, QR return path, and delivery proof.",
      "build": "An app-style product folder with cover, bullets, CTA, QR image, and packet.",
      "prove": [
        "Open the app page without scrolling confusion.",
        "Confirm the cover and QR image load.",
        "Tap the buyer or download button.",
        "Confirm the buyer lands on the expected delivery or download route."
      ],
      "paid_next_step": "Codee App 250 with official checkout, hosted guidebook view, buyer redirect, and delivery room.",
      "cli": {
        "init": "python3 codee.py course-init ./codeeapp-course --course codeeapp --business \"My Business\" --target-url https://example.com",
        "smoke": "python3 codee.py course-smoke ./codeeapp-course",
        "complete": "python3 codee.py trainee-progress . --course codeeapp --status complete --proof-url \"https://example.com\""
      }
    },
    {
      "id": "codeecard",
      "name": "Codee Card",
      "course_url": "/codee-chat.html?service=codeecard&autostart=1&source=training-enhancement-manifest",
      "learn": "Profile proof, contact path, message route, share path, booking route, and support room.",
      "build": "A personal business card site that can be duplicated from the Sean Codee Card standard.",
      "prove": [
        "Open the card route.",
        "Tap share and contact actions.",
        "Send a test message into the Codee inbox path.",
        "Confirm the delivery/support room is reachable."
      ],
      "paid_next_step": "Done-for-you Codee Card with booking, message path, profile sections, and support room."
    },
    {
      "id": "delivery-room",
      "name": "Delivery Room",
      "course_url": "/codee-chat.html?service=delivery-room&autostart=1&source=training-enhancement-manifest",
      "learn": "Permanent client return route, product slot, proof slot, support request, and upsell slot.",
      "build": "A delivery page that shows exactly what was purchased and keeps edits simple.",
      "prove": [
        "Open the delivery room route.",
        "Confirm the generated product link is clickable.",
        "Confirm support request text is short and clear.",
        "Confirm upsells do not hide the purchased product."
      ],
      "paid_next_step": "Hosted delivery room with scans, update packets, and support requests."
    },
    {
      "id": "business-suite",
      "name": "Codee Business Suite",
      "course_url": "/codee-chat.html?service=codee-business-suite&autostart=1&source=training-enhancement-manifest",
      "learn": "How QRCodee, flyers, app, blog, card, shell site, and support combine into a client package.",
      "build": "A multi-product client folder with one room, one support path, and a site plan.",
      "prove": [
        "Confirm every included product has a route.",
        "Confirm every route opens without a 404.",
        "Confirm the client can request edits from the delivery room.",
        "Confirm the official checkout or invoice path is present."
      ],
      "paid_next_step": "Codee Business Suite package with official checkout, client folder, shell site, and one included video call."
    }
  ],
  "qr_blast_assets": {
    "manifest_url": "/assets/social/index2income-blast/manifest.json",
    "qrcodee": {
      "course_url": "https://clients.codee.chat/index2income/qrcodee/",
      "feed_flyer": "/assets/social/index2income-blast/qrcodee-feed.png",
      "story_flyer": "/assets/social/index2income-blast/qrcodee-story.png"
    },
    "codeeflyer": {
      "course_url": "https://clients.codee.chat/index2income/codeeflyer/",
      "feed_flyer": "/assets/social/index2income-blast/codeeflyer-feed.png",
      "story_flyer": "/assets/social/index2income-blast/codeeflyer-story.png"
    },
    "codeeapp": {
      "course_url": "https://clients.codee.chat/index2income/codeeapp/",
      "feed_flyer": "/assets/social/index2income-blast/codeeapp-feed.png",
      "story_flyer": "/assets/social/index2income-blast/codeeapp-story.png"
    },
    "index2income": {
      "course_url": "https://clients.codee.chat/index2income/",
      "feed_flyer": "/assets/social/index2income-blast/index2income-feed.png",
      "story_flyer": "/assets/social/index2income-blast/index2income-story.png"
    }
  },
  "recommendation_policy": {
    "active_window": "48 hours from 2026-05-26",
    "rule": "After every Codee CLI/course action, recommend the next practical step only when it relates to the CLI, intake, course, training proof, hosting, or delivery room.",
    "default_recommendations": [
      "Save the packet after each export.",
      "Run a course smoke before asking for hosting.",
      "Use the trainee hub to mark proof complete.",
      "Route public clients to paid done-for-you service instead of the veteran training path.",
      "Keep every CTA to one clear action until the page passes proof."
    ]
  }
}
