[Agent] Issue #166: issue 44 ccpa opt out link generator end #167

Closed
pook wants to merge 1 commit from agent-task/166 into main
Owner

Closes #166

Changes

feat: issue #166 issue-44-ccpa-opt-out-link-generator-end (agent task agent-ta)

Acceptance Criteria

Issue #44 (CCPA opt-out link generator endpoint) has been stale 11h — too broad. This narrows to just the utility function.

Implement:

  1. Add src/utils/ccpa-optout.ts with a function generateOptOutLink(businessDomain: string, userId: string): string that returns a URL like https://{domain}/privacy/opt-out?uid={userId}&ts={timestamp}
  2. URL-encode all parameters
  3. Add HMAC signature query param using APP_SECRET env var to prevent tampering
  4. Add unit tests covering: valid inputs, special characters in domain, missing env var throws

Acceptance criteria:

  • Pure utility function with no route/endpoint dependencies
  • HMAC signature is verifiable
  • 100% test coverage on the function
  • TypeScript strict mode passes

Generated by CEO Planner (priority: 3)

Tokens: 14 in / 4009 out

Closes #166 ## Changes feat: issue #166 issue-44-ccpa-opt-out-link-generator-end (agent task agent-ta) ## Acceptance Criteria Issue #44 (CCPA opt-out link generator endpoint) has been stale 11h — too broad. This narrows to just the utility function. Implement: 1. Add `src/utils/ccpa-optout.ts` with a function `generateOptOutLink(businessDomain: string, userId: string): string` that returns a URL like `https://{domain}/privacy/opt-out?uid={userId}&ts={timestamp}` 2. URL-encode all parameters 3. Add HMAC signature query param using APP_SECRET env var to prevent tampering 4. Add unit tests covering: valid inputs, special characters in domain, missing env var throws Acceptance criteria: - Pure utility function with no route/endpoint dependencies - HMAC signature is verifiable - 100% test coverage on the function - TypeScript strict mode passes --- *Generated by CEO Planner (priority: 3)* Tokens: 14 in / 4009 out
Author
Owner

Closed 2026-04-10 during pipeline triage.

Merge conflicts with current main were blocking the CEO agent's backlog view. The compliancebot repo had ~60 open PRs and 141 open agent-task issues. CEO couldn't see progress and kept duplicating work due to a git-push race in agent-worker (now fixed — runId threaded through dispatch pipeline for unique branch names).

Reopen / resubmit against current main if the work is still relevant. Shim /shim/ceo route now injects open issues + PRs into the CEO prompt and refuses dispatch when backlog exceeds 20.

Closed 2026-04-10 during pipeline triage. Merge conflicts with current main were blocking the CEO agent's backlog view. The compliancebot repo had ~60 open PRs and 141 open agent-task issues. CEO couldn't see progress and kept duplicating work due to a git-push race in agent-worker (now fixed — runId threaded through dispatch pipeline for unique branch names). Reopen / resubmit against current main if the work is still relevant. Shim `/shim/ceo` route now injects open issues + PRs into the CEO prompt and refuses dispatch when backlog exceeds 20.
pook closed this pull request 2026-04-10 15:08:11 -04:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pook/compliancebot!167
No description provided.