Commit Graph

12 Commits

Author SHA1 Message Date
Paul Huliganga 90113a6514 Add DocuSign account picker 2026-04-21 23:06:48 -04:00
Paul Huliganga eb9ce84001 Add multi-user web auth sessions 2026-04-21 21:05:15 -04:00
Paul Huliganga 3b27a0fd5b Update DocuSign auth docs and coverage 2026-04-21 16:26:13 -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 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 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 cabf753326 docs: update README — reference .env-sample and mention conditional logic
- Setup step 2 now directs users to copy .env-sample instead of
  repeating all variables inline
- "What it does" step 3 mentions conditional field logic
- Field type mapping section updated to mention conditional logic

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 12:35:13 -04:00
Paul Huliganga 766986a795 refactor: rename auth_adobe.py to adobe_auth.py for naming consistency
Matches the naming convention of docusign_auth.py. Update all
references in README.md and the error message in adobe_api.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:10:05 -04:00
Paul Huliganga 780099172f docs: update README and field-mapping to reflect current codebase
README:
- Remove Node.js prerequisite (upload now handled by Python script)
- Complete .env template with all DocuSign JWT auth keys
- Add DocuSign consent step to setup instructions
- Update all script examples: download_templates subcommands, Python upload,
  migrate_template.py replacing migrate_paul_template.py
- Update project structure to include all current src files

field-mapping.md:
- Replace incorrect coordinate translation note with confirmed behaviour:
  both platforms use top-left origin, direct pass-through with MIN_TEXT_WIDTH floor
- Add dedicated Multi-location (Cloned) Fields section documenting tab merging
  and which tab types support it
- Replace vague To Do items with accurate known gaps (conditional logic,
  formula fields, advanced validation)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 01:17:26 -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