Paul Huliganga
7258984386
docs: add Oracle VM deployment guide
2026-04-21 17:09:17 -04:00
Paul Huliganga
15c50f05e3
docs: update README, field-mapping, and EXECUTION-BOARD for Phase 23 and post-redesign fixes
...
Reflects all implementation from this session: 7 post-redesign bug fixes
(routing, polling, branding, verification role names, conditional parent 400s,
failure UX, template detail history expand), and Phase 23 structured field
issue reporting end-to-end. Test count updated to 119/119.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 15:34:06 -04:00
Paul Huliganga
0dcf7193e0
feat(ui-phase-22): smoke test checklist, README update, execution board
...
118/118 backend tests passing (108 original + 7 verify + 3 templates).
UI-SMOKE-TEST.md: 11-section manual checklist covering project switcher,
auth, templates, dry run, real migration, issues view, verification,
history, and settings.
README: new Web UI section with navigation table, 7-step workflow guide,
and project/customer context explanation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 11:43:44 -04:00
Paul Huliganga
89382537b1
docs(ui-redesign): implementation plan for Phases 14–22 + execution board update
...
Full UI redesign plan covering 9 phases: app shell, project/customer context,
templates view with readiness badges, migration workflow, issues view,
verification (with new verify API), history/audit, settings, and smoke test
checklist. Only backend additions are Phase 16 (blockers/warnings in status
endpoint) and Phase 19 (verify router). All other phases are frontend-only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:37:46 -04:00
Paul Huliganga
aa5ab4b653
fix(ui-mockup): replace approximated logo with official Docusign SVG
...
Embedded the official Docusign full-color vector logo sourced from
Wikimedia Commons (Docusign_Full_Color.svg, viewBox 0 0 1200 241.4).
Wordmark paths changed to fill="#FFFFFF" for visibility on the Inkwell
(#130032 ) nav bar; Nexus icon retains brand colors (Cobalt #4C00FF,
Poppy #FF5252, white document shape). Brand name corrected to "docusign"
(capital D, lowercase s per 2024 rebrand).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:14:59 -04:00
Paul Huliganga
64b33357cf
feat(ui-mockup): interactive migration console mockup with Docusign 2024 brand
...
Full multi-screen interactive HTML mockup for the Adobe Sign → Docusign
migration tool UI redesign. Built from scratch based on UX analysis of
the migration workflow.
Screens:
- Dashboard: migration progress stats, attention-required blockers,
recent activity, overall progress bar
- Templates: paginated table (500+ scale), readiness badges
(Ready/Caveats/Blocked/Migrated), multi-select bulk operations,
filter tabs by status
- Template Detail: 4-tab view — Overview (recipients, DS target),
Field Mapping (per-field Adobe→DS tab mapping with ✓/⚠/✕),
Issues & Caveats (per-issue severity + manual fix guidance),
Verification (post-migration test envelope results)
- Migration Results: per-template expandable result cards with
warnings listed explicitly, blocked templates with fix guidance
- Issues & Warnings: aggregated view across all templates
- Verification: test envelope queue with configurable test recipient
- History & Audit: full migration run log with export
- Settings: platform connections, verification config (test
recipient name/email, auto-void timer, API-only vs full envelope),
Migration Project context
Key UX decisions documented:
- Readiness badge surfaces problem templates BEFORE migration attempt
- Workflow follows: Connect → Discover → Analyze → Execute → Verify
- Logs demoted to History; Issues promoted to primary nav
- Migration Project model for multi-customer support (project switcher
modal with customer switcher — per-session but project-persistent)
- Unsupported features (conditional HIDE, calculated fields, JS
validators) shown per-template with actionable fix guidance
Docusign 2024 brand applied:
- Wordmark: "docusign" all lowercase (April 2024 rebrand)
- Nexus icon: two converging lobe shapes (Mist + Cobalt) forming
the inkwell / "shape of an agreement"
- Inkwell #130032 nav, Cobalt #4C00FF CTAs, Ecru #F8F3F0 background,
Poppy #FF5252 errors, Mist #CBC2FF highlights
- Source: brand.docusign.com official guidelines
Also adds the original Blueprint .docx for reference.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:02:30 -04:00
Paul Huliganga
342e8c3471
feat(phases-8-13): blueprint alignment — normalized schema, validation, migration options, retry, security, batch
...
Phase 8: Normalized intermediate schema (src/models/normalized_template.py, src/services/mapping_service.py)
- Platform-agnostic NormalizedTemplate as pipeline bridge
- PDF SHA-256 checksums computed during normalization
- 13 tests passing
Phase 9: Validation service + report builder (src/services/validation_service.py, src/reports/report_builder.py)
- Blockers (no recipients, no documents) halt migration
- Warnings (no fields, unassigned roles, unsupported features) logged
- Structured MigrationReport with per-template status
- 20 tests passing
Phase 10: Migration options API (web/routers/migrate.py)
- source_template_ids, dry_run, overwrite_if_exists, include_documents options
- Backward compatible with legacy adobe_template_ids field
- 7 tests passing
Phase 11: Retry with exponential backoff (src/utils/retry.py)
- retry_with_backoff and async_retry_with_backoff decorators
- 429/5xx detection via check_response_retryable
- 14 tests passing
Phase 12: Security hardening (src/utils/log_sanitizer.py)
- SanitizingFilter redacts tokens, JWTs, base64 PDF content from logs
- 15 tests passing
Phase 13: Batch migration API
- POST /api/migrate/batch — async background job with job_id
- GET /api/migrate/batch/{job_id} — poll progress and results
- 6 tests passing
Full suite: 108/108 tests passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 02:19:38 -04:00
Paul Huliganga
39982008d3
Add latest migration files and validation outputs
2026-04-20 01:12:46 -04:00
Paul Huliganga
f78a50282a
docs: update README with web UI + upsert docs; add CLAUDE.md and AGENT-INSTRUCTIONS
...
- README.md: web UI setup/usage, --force-create flag, running tests, full project structure
- CLAUDE.md: definition of done (code + tests + README + board + push)
- docs/agent-harness/AGENT-INSTRUCTIONS.md: expanded with DoD, test strategy, doc conventions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 15:06:50 -04:00
Paul Huliganga
51f532f452
feat: idempotent upload + FastAPI web UI with full test coverage
...
Phase 1 — Idempotent upload:
- upload_docusign_template.py now upserts: PUT if template with same name
exists (most recently modified), POST otherwise
- --force-create flag to bypass upsert
Phase 2-6 — FastAPI web UI:
- web/app.py: FastAPI app with /health, static file serving
- web/routers/auth.py: Adobe Sign + DocuSign OAuth start/callback/disconnect
- web/routers/templates.py: template listing + migration status badges
(not_migrated / migrated / needs_update)
- web/routers/migrate.py: POST /api/migrate pipeline + GET /api/migrate/history
- web/static/: vanilla HTML/CSS/JS side-by-side template browser UI
Phase 7 — Tests (29/29 passing):
- test_upload_upsert.py: 4 upsert unit tests
- test_api_health/auth/templates/migrate.py: full API coverage
- test_e2e.py: 7-step full pipeline end-to-end test
- test_regression.py: compose output vs snapshots for 3 real templates
- conftest.py: --update-snapshots CLI option
Docs: IMPLEMENTATION-PLAN.md, updated EXECUTION-BOARD.md + architecture.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 14:47:27 -04:00
Paul Huliganga
e30e9d4f14
docs: README, platform quirks, validation notes, and sample reference data
...
README.md — rewritten to reflect actual usage: setup, auth flows, CLI
commands for all three scripts, and links to field-mapping and quirks docs.
tests/PLATFORM-QUIRKS.md — documents confirmed bugs and API quirks found
during development: numberTabs rendering as text+validation (DocuSign API
bug), multi-location field fix, zero-width tab fix, Company/Title contentType
SIGNER_ prefix variant from Adobe Sign API.
tests/ — SCENARIOS, EDGE-CASES, FIELD-TYPE-REGRESSION test planning docs.
validation/ — research notes: field eval, mapping ambiguity log, decision
log, conditional logic analysis, round-trip eval, DocuSign ingest eval.
docs/architecture.md — system architecture overview.
api-samples.md — annotated Adobe Sign API response examples.
PRODUCT-SPEC.md — product requirements and migration scope definition.
sample-templates/ — JSON fixtures (NDA, onboarding, sales contract) for
offline testing; PDFs excluded from version control.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 19:45:46 -04:00
Paul Huliganga
b9a4e75da9
Initial project scaffold (Cleo)
2026-04-14 19:21:17 -04:00