Skip to content

feat(form): full forms filtering, sorting, automation & guest identity#63

Merged
xergioalex merged 4 commits into
mainfrom
feat/form-submit-automation-anonymous
Jul 12, 2026
Merged

feat(form): full forms filtering, sorting, automation & guest identity#63
xergioalex merged 4 commits into
mainfrom
feat/form-submit-automation-anonymous

Conversation

@xergioalex

@xergioalex xergioalex commented Jul 12, 2026

Copy link
Copy Markdown
Member

Summary

  • Add --automation and --anonymous flags to form submit for controlling channel notification attribution
  • Add --guest-name, --guest-email, and --source flags to form submit for guest identity and provenance tracking
  • Add --filter (all/me/public/approval/workflow/archived), --order (alphabetical/recent/total), --ascending, and --include-questions flags to form list
  • Add --source (member/anonymous/automation/public CSV), --submitter (UUID CSV, max 50), --flow-status (pending/approved/denied), --order (recent/oldest), and --ascending flags to form responses
  • Handle 7 new API error codes with user-friendly messages (guest_user_required, invalid_filter, invalid_order, invalid_submission_sources, invalid_submitter_user_id, too_many_submitter_user_ids, invalid_flow_status)
  • Client-side validation for email format, source length (512 chars), submission source values, and submitter ID count
  • Optimize dev-container bash prompt with 5-second TTL cache on git dirty check

Test plan

  • All 900 tests pass (pytest -x)
  • New tests for API client params (guest_user, submission_source, filter/order, responses filters)
  • New tests for CLI flags (guest+source, invalid email, source too long, filter+order, source+flow-status, invalid source, too many submitters)
  • Verified 4 submission modes against local API (normal, automation, automation+guest+source, normal+source)
  • ruff lint + format clean

xergioalex and others added 3 commits July 12, 2026 17:03
Add two new boolean flags to `dailybot form submit`:

- `--automation` — channel notifications show no submitter name
  (for web-form bridges, CI pipelines, third-party integrations)
- `--anonymous` — channel notifications show a random generated name
  instead of the real user

Both flags are optional, independent, and default to false. When
combined, automation takes precedence for the channel display.

Wired through api_client.submit_form_response → CLI flag → API payload.
Updated vendored forms skill docs with the new flags table.
Added 5 tests (3 api_client, 2 command-level).

Co-authored-by: Cursor <cursoragent@cursor.com>
…ubmit

Extend the automation/anonymous mode with guest user attribution and
submission provenance tracking. Client-side validation rejects invalid
emails and source strings longer than 512 chars before hitting the API.
The guest_user_required error code is now handled with a clear message.

Co-authored-by: Cursor <cursoragent@cursor.com>
… responses

Forms list now supports --filter (all/me/public/approval/workflow/archived),
--order (alphabetical/recent/total), --ascending, and --include-questions.

Form responses now supports --source (member/anonymous/automation/public CSV),
--submitter (UUID CSV, max 50), --flow-status (pending/approved/denied),
--order (recent/oldest), and --ascending. Client-side validation rejects
invalid source values and too many submitter IDs before hitting the API.

Also optimizes dev-container bash prompt with a 5-second TTL cache on
the git dirty check to avoid ~3s delays on macOS bind mounts.

Co-authored-by: Cursor <cursoragent@cursor.com>
@xergioalex xergioalex changed the title feat(form): add --automation and --anonymous flags to form submit feat(form): full forms filtering, sorting, automation & guest identity Jul 12, 2026
Updates the vendored dailybot forms skill documentation to match the
full filtering, sorting, automation, guest identity, and source
tracking capabilities shipped in this branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
@xergioalex xergioalex merged commit f4e7ddc into main Jul 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant