№ thread
← Atelier
v1.0.0
Proven
Provenbackbone+redux

draft2digital.com

D2D Publishing Profile. Authored by VibeDNA / Mariano. License: proprietary.

Forever
Free updatesWhen the author ships a patch, your copy updates automatically. Yours to keep.
1-click
Drift reportsBroken? Hit the report button. Enough reports flag the Thread publicly and alert the author.
Live
Health scorePreflight pass rate shown on every card. You see the real uptime before buying.
Always
Pre-run haltweaver check runs before every recipe — drift detected means zero wasted clicks.
№ 01 — proven actions

Cracked moves.

Each row is a real action successfully driven through WebLoom on this site — recorded automatically when an author ran the engine. Strategy tells the engine which click path works here.

descriptor
strategy
successes
last used
#id_form_submit_button
js
×3
5/19/2026
#publish_submit_button
js
×3
5/19/2026
#publish_submit
js
×3
5/19/2026
#save-and-continue
js
×2
5/19/2026
#start-ebook-button
cdp
×2
5/19/2026
div > section:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(2) > button.submit-button
js
×2
5/19/2026
ADD NEW BOOK
js
×1
5/19/2026
#layout-top-nav > a.breadcrumb:nth-of-type(1)
js
×1
5/18/2026
Edit shared metadata and cover
js
×1
5/18/2026
#d2d-save-continue-tagged
js
×1
5/19/2026
#d2d-preview-save-tagged
js
×1
5/19/2026
#ebook-link
js
×1
5/19/2026
#front-cover-upload > div.radio-choice:nth-of-type(2) > label
js
×1
5/19/2026
#target-audience-age > div.radio-choice:nth-of-type(1) > label
js
×1
5/19/2026
NONFICTION(7)
cdp
×1
5/19/2026
#isbn-option-field-wrapper > div:nth-of-type(2) > div.radio-choice:nth-of-type(1) > label
js
×1
5/19/2026
#id_layout_approved
cdp
×1
5/19/2026
#rights-confirm-radio-0
cdp
×1
5/19/2026
#publish_approved
cdp
×1
5/19/2026
PUBLISH MY BOOK!
cdp
×1
5/19/2026
№ 03 — quirks

Lessons learned.

01

Cover + manuscript upload: use Strategy D (inject_input_selector) on the hidden <input type=file>. Strategy A drops CDP on Windows; B+C don't reach the input.

02

NEW author creation can't be fully automated — Redux state lives outside fiber chain, react_force_change writes the input but the +save button reads from store and corrupts to [object Object]. Workaround: create authors manually once, future books pick from dropdown.

03

Custom Select dropdowns listen for mousedown (not click). WebLoom's actionability+CDP path handles this automatically since Stage 1 dispatches the full press sequence.

04

Save & Continue: reliably works with default strategy (CDP isTrusted click).

№ 05 — raw thread

The file.

This is what installs to ~/.webloom/threads/. No magic. Just JSON.

draft2digital.com.thread.json5.4 KB
{
  "domain": "draft2digital.com",
  "name": "D2D Publishing Profile",
  "version": "1.0.0",
  "author": "VibeDNA / Mariano",
  "license": "proprietary",
  "created_at": 1779081144,
  "last_scan": {
    "url": "https://draft2digital.com/book/",
    "title": "Draft2Digital | List Books",
    "inputs": [
      {
        "label": "Search...",
        "name": "search-input",
        "type": "text",
        "placeholder": "Search...",
        "required": false,
        "selector": "#search-input"
      }
    ],
    "buttons": [
      {
        "text": "Log Out",
        "selector": "a"
      },
      {
        "text": "Contact Us",
        "selector": "a"
      },
      {
        "text": "Partners",
        "selector": "a"
      },
      {
        "text": "Books2Read",
        "selector": "a"
      },
      {
        "text": "Blog",
        "selector": "a"
      },
      {
        "text": "FAQ",
        "selector": "a"
      },
      {
        "text": "ACCOUNT",
        "selector": "a"
      },
      {
        "text": "REPORTS",
        "selector": "a"
      },
      {
        "text": "CART",
        "selector": "a.cart-tag-href"
      },
      {
        "text": "MY BOOKS",
        "selector": "a.my-books"
      },
      {
        "text": "Add New Book",
        "selector": "#add-book"
      },
      {
        "text": "Content Guidelines",
        "selector": "a"
      },
      {
        "text": "×",
        "selector": "button"
      },
      {
        "text": "Collapse All",
        "selector": "#collapse-all-button"
      },
      {
        "text": "The Anxiety Workbook for Women",
        "selector": "a.viewbook-link"
      },
      {
        "text": "The Anxiety Workbook for Women",
        "selector": "a.viewbook-link"
      },
      {
        "text": "The Anxiety Workbook for Women",
        "selector": "a.viewbook-link"
      },
      {
        "text": "Privacy Policy",
        "selector": "a"
      },
      {
        "text": "How to Publish with D2D",
        "selector": "a"
      },
      {
        "text": "FAQ",
        "selector": "a"
      }
    ]
  },
  "click_log": {
    "3": {
      "strategy": "js_click",
      "worked": true
    },
    "DELETE BOOK": {
      "strategy": "js_click",
      "worked": true
    },
    "CONFIRM": {
      "strategy": "js_click",
      "worked": true
    },
    "Ebook": {
      "strategy": "real_cursor",
      "worked": true
    },
    "I have reviewed this manuscript and approve it for release": {
      "strategy": "cdp_mouse",
      "worked": true
    },
    "SAVE & CONTINUE": {
      "strategy": "js_click",
      "worked": true
    },
    "SUBMIT": {
      "strategy": "js_click",
      "worked": true
    },
    "Advanced User Options": {
      "strategy": "js_click",
      "worked": true
    },
    "ADD NEW BOOK": {
      "strategy": "js_click",
      "worked": true
    },
    "START EBOOK": {
      "strategy": "js_click",
      "worked": true
    },
    "×": {
      "strategy": "all_layers",
      "worked": false
    },
    "Choose Author...": {
      "strategy": "blocked_layer3",
      "worked": false
    },
    "[object Object]": {
      "strategy": "real_cursor",
      "worked": true
    },
    "#authorName": {
      "strategy": "all_layers",
      "worked": false
    },
    "#delete-target-test": {
      "strategy": "all_layers",
      "worked": false
    }
  },
  "framework": "backbone+redux+react-controlled-inputs",
  "default_strategy": "cdp",
  "notes": [
    "Cover + manuscript upload: use Strategy D (inject_input_selector) on the hidden <input type=file>. Strategy A drops CDP on Windows; B+C don't reach the input.",
    "NEW author creation can't be fully automated — Redux state lives outside fiber chain, react_force_change writes the input but the +save button reads from store and corrupts to [object Object]. Workaround: create authors manually once, future books pick from dropdown.",
    "Custom Select dropdowns listen for mousedown (not click). WebLoom's actionability+CDP path handles this automatically since Stage 1 dispatches the full press sequence.",
    "Save & Continue: reliably works with default strategy (CDP isTrusted click)."
  ],
  "quirks": {
    "new_author_save": "Redux state held outside fiber chain — react_force_change insufficient. Use manual one-time creation per imprint.",
    "uploads": "Label-wrapped hidden input pattern. Strategy D (inject_input_selector) is the only working path.",
    "approval_checkbox": "I have reviewed this manuscript... → CDP isTrusted click works"
  },
  "selectors": {
    "add_new_book_button": "#add-book",
    "start_ebook_button": "text:START EBOOK",
    "approve_checkbox": "text:I have reviewed this manuscript and approve it for release",
    "submit_button": "text:SUBMIT"
  },
  "proven_actions": [
    {
      "descriptor": "#id_form_submit_button",
      "strategy": "js",
      "successes": 3,
      "last_at": 1779174449
    },
    {
      "descriptor": "#publish_submit_button",
      "strategy": "js",
      "successes": 3,
      "last_at": 1779174783
    },
    {
      "descriptor": "#publish_submit",
      "strategy": "js",
      "successes": 3,
      "last_at": 1779175125
    },
    {
      "descriptor": "#save-and-continue",
      "strategy": "js",
      "successes": 2,
      "last_at": 1779174386
    },
    {
      "descriptor": "#start-ebook-button",
      "strategy": "cdp",
      "successes": 2,
      "last_at": 1779171476
    },
    {
      "descriptor": "div > section:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(2) > button.submit-button",
      "strategy": "js",
      "successes": 2,
      "last_at": 1779174697
    },
    {
      "descriptor": "ADD NEW BOOK",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779170481
    },
    {
      "descriptor": "#layout-top-nav > a.breadcrumb:nth-of-type(1)",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779111148
    },
    {
      "descriptor": "Edit shared metadata and cover",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779111450
    },
    {
      "descriptor": "#d2d-save-continue-tagged",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779164262
    },
    {
      "descriptor": "#d2d-preview-save-tagged",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779164440
    },
    {
      "descriptor": "#ebook-link",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779170578
    },
    {
      "descriptor": "#front-cover-upload > div.radio-choice:nth-of-type(2) > label",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779170691
    },
    {
      "descriptor": "#target-audience-age > div.radio-choice:nth-of-type(1) > label",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779170759
    },
    {
      "descriptor": "NONFICTION(7)",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779171304
    },
    {
      "descriptor": "#isbn-option-field-wrapper > div:nth-of-type(2) > div.radio-choice:nth-of-type(1) > label",
      "strategy": "js",
      "successes": 1,
      "last_at": 1779171615
    },
    {
      "descriptor": "#id_layout_approved",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779174656
    },
    {
      "descriptor": "#rights-confirm-radio-0",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779174887
    },
    {
      "descriptor": "#publish_approved",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779174928
    },
    {
      "descriptor": "PUBLISH MY BOOK!",
      "strategy": "cdp",
      "successes": 1,
      "last_at": 1779174989
    }
  ]
}