# Known Bugs, Platform Quirks & System Notes --- ## DocuSign API Bugs ### `numberTabs` renders as text field with Numbers validation (2026-04-15) **Status:** Confirmed DocuSign API bug **Symptom:** When a template is created via API with a `numberTabs` entry, DocuSign renders it in the template editor as a plain Text field with "Numbers" validation applied — not as a native Number tab type. The JSON sent to the API is correct (`numberTabs`); the mismatch is in how DocuSign stores or interprets it server-side. **Impact:** Visual/semantic only. The field still enforces numeric input at signing time. Tab merging and formula references may behave differently than a true Number tab. **Workaround:** None known via API. Can be corrected manually in the DocuSign template editor after upload. --- ## Adobe Sign API Quirks ### Company/Title contentType returned with `SIGNER_` prefix (2026-04-15) **Symptom:** When Company and Title fields are set via the Adobe Sign UI (the API rejects `COMPANY`/`TITLE` as contentType values), the API returns them as `SIGNER_COMPANY` and `SIGNER_TITLE` respectively. **Fix applied:** `compose_docusign_template.py` accepts both variants: `content_type in ("COMPANY", "SIGNER_COMPANY")` and `("TITLE", "SIGNER_TITLE")`. ### Multi-location (cloned) fields — only first location used (2026-04-15) **Symptom:** Adobe Sign allows a single field definition to have multiple `locations` (e.g. Drop-down 1 appeared twice on the page, synced). The original compose script only used `locations[0]`, silently dropping all subsequent instances. **Fix applied:** `compose_docusign_template.py` now emits one tab per location for all data-entry tab types. DocuSign replicates Adobe Sign's cloned-field sync behavior via tab merging: tabs sharing the same `tabLabel` auto-sync at signing time. **Tab types covered by fix:** `textTabs`, `numberTabs`, `dateTabs`, `dateSignedTabs`, `fullNameTabs`, `emailAddressTabs`, `companyTabs`, `titleTabs`, `listTabs`, `checkboxTabs`. **Not applicable to:** `radioGroupTabs` (each location is a radio button, not a clone), `signHereTabs` / `initialHereTabs` (each location is an independent signing action), `signerAttachmentTabs`. --- ## Migration Pipeline Bugs Fixed ### Text fields rendered as vertical lines (zero width) (2026-04-15) **Symptom:** All text-entry tabs in DocuSign appeared as a thin vertical line rather than a visible input box. **Root cause:** `loc_to_docusign()` was dropping the `width` and `height` values from the Adobe Sign location dict. DocuSign rendered tabs with no width. **Fix applied:** `loc_to_docusign()` now returns `(page, x, y, width, height)`. `width` and `height` are included on all sized tabs. A `MIN_TEXT_WIDTH = 120` constant ensures fields are at least ~15 characters wide even if the source was narrower. --- ## Pre-existing Notes - DocuSign radio tabs sometimes display out of order when group is missing name (2026-04-14, regression found) - Some PDFs import with negative/zero field widths (caught in onboarding mapping test, 2026-04-14) - API rate limits: Adobe test sandbox can return 429 if >10 requests/sec (avoid in integration tests) - DocuSign account- vs user-level templates: admin-only API tokens needed for bulk tests - DocuSign list tabs with >99 items currently fail to render (API limitation as of 2026)