---
title: Activities and tasks design examination
examined_at: '2026-10-23'
examiner: codex
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 2cbe6c598aee838ce7365759cdb886d678a693e4
branch: agent/crm-activities-tasks-desi-exam-1
starting_commit: f075eb6aadd9a77447140bba8453d2924ed5da3c
corpus_merge: 2cbe6c598aee838ce7365759cdb886d678a693e4
method:
  provenance: observed
  source: >-
    Pinned repository objects, route declarations, database schemas,
    persistence, console components and cited tests; no deployed or integration
    execution claimed.
  text_author: OpenAI codex
  delegation: none
  planning_authority: >-
    Planning artifacts retain draft or proposed status; cited Andrew rulings
    confirm only their recorded scope.
  commit_policy: >-
    Verification corrections were committed before per-artifact final-text
    rewrites. Additional evidence and diagrams were committed after the full
    rewrites.
counts:
  design_artifacts: 43
  domain_objects: 3
  logical_attributes: 44
  invariants: 33
  state_models: 5
  states: 24
  transitions: 53
  workflows: 8
  hops: 44
  service_contracts: 2
  operations: 47
  screen_contracts: 9
  screen_actions: 41
  decision_records: 16
  responsibility_rows: 1
  source_and_anchor_fields: 243
  concrete_pinned_paths_in_field_audit: 51
  cited_test_anchors_in_field_audit: 62
  unresolved_literal_anchor_errors: 0
  new_findings: 6
  new_open_questions: 1
  inference_operations: 0
coverage:
  operations:
    activities: 19
    tasks: 28
    covered: 47
    total: 47
    console: 44
    service: 1
    public_health: 2
    source: >-
      services-crm:modules/activities/aws/api/activities.routes.ts;
      modules/tasks/aws/api/tasks.routes.ts; task-configurations.routes.ts;
      task-types.routes.ts; task-queues.routes.ts; tasks-service.routes.ts;
      lib/record-history/routes.ts;
      @rhythmsoftware/macroservice-http@0.18.0/dist/health-route.js
  tables:
    covered: 8
    total: 8
    mapping:
      DOM-CRM-ACT-001:
        - activities
        - activity_types
        - activity_outcomes
        - activity_links
        - activity_attachments
      DOM-CRM-ACT-003:
        - tasks
        - task_types
        - task_queues
      DOM-CRM-ACT-005: []
    shared: >-
      Record revisions, change events, seed ledgers, security assignments and
      managed assets are shared or delegated rather than additional module
      nouns.
  screens:
    covered: 9
    total: 9
    contracts: SCR-CRM-ACT-001 through SCR-CRM-ACT-009
    combined: >-
      Contact and organization timelines share a contract; Log and Edit share a
      contract; Task creation is covered with Tasks. The ten named brief
      surfaces therefore do not require ten files.
  execution:
    state_models_with_workflows: 5
    overdue_schedule_definitions: 1
    overdue_schedule_workflow: WF-CRM-ACT-006
    owned_business_step_functions: 0
    owned_business_queues: 0
    delegated_queue_flow: WF-CRM-ACT-002 (shared released-file cleanup)
    delegated_data_jobs: >-
      CRM Data Jobs routes and bulk engine are explicitly outside these
      service-owned operations.
    source: >-
      services-crm:modules/activities/aws/activities.module.ts;
      modules/tasks/aws/tasks.module.ts;
      aws/cdk/logic/attention-sweep.lambda.ts; aws/crm.attention-sweeps.ts
  inference:
    callers_with_explicit_empty_inference: 19
    model_calls_found: 0
    source: >-
      services-crm:modules/activities/**, modules/tasks/**; react-console scoped
      activity and task components and API helpers
    charter_gap: >-
      FND-CRM-ACT-035 remains because MODULE.md is outside the allowed edit
      scope.
artifact_examination:
  - artifact: DOM-CRM-ACT-001
    provenance: observed
    change: >-
      Qualified minimum links and primary selection after deletion, removed an
      unsupported task-service reader, distinguished edit versions from
      deletion, and rewrote identity, attributes, relationships, invariants and
      body.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: DOM-CRM-ACT-003
    provenance: observed
    change: >-
      Qualified overdue item freshness and workflow creation deduplication,
      corrected custom-field evidence, and rewrote every logical facet and
      invariant.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: DOM-CRM-ACT-005
    provenance: observed
    change: >-
      Limited continuation guarantees to unchanged source data and rewrote the
      computed read model.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: STATE-CRM-ACT-001
    provenance: observed
    change: >-
      Distinguished deletion from restoration and later creation, rewrote guards
      and effects, and supplied state and refusal provenance.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: STATE-CRM-ACT-002
    provenance: observed
    change: >-
      Added omitted unfinished-status moves, closures and deletions, then
      rewrote all meanings, transitions, refusals and concurrency.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: STATE-CRM-ACT-003
    provenance: observed
    change: >-
      Added queued role-offer combinations and representative claim, release and
      offer paths, qualified committed claim arbitration, and rewrote routing as
      a derived projection.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: STATE-CRM-ACT-004
    provenance: observed
    change: >-
      Separated overdue qualification from publication freshness, documented
      sweep races and default-off behavior, and rewrote all transitions and
      failures.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: STATE-CRM-ACT-005
    provenance: observed
    change: >-
      Distinguished protected baseline type deletion from removal of unused
      baseline outcomes, then rewrote availability and concurrency.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-001
    provenance: observed
    change: >-
      Corrected history and creation-recovery anchors, qualified external
      cleanup and ambiguous responses, and rewrote all hops and flow.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-002
    provenance: observed
    change: >-
      Corrected history anchoring and transactional asset association timing,
      qualified external cleanup recovery, and rewrote correction and deletion
      flow.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-003
    provenance: observed
    change: >-
      Mapped drawer assignment to ordinary patching and bounded failure refresh
      claims, then rewrote task and attention persistence flow.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-004
    provenance: observed
    change: >-
      Qualified committed claim arbitration, generic claim feedback and failure
      refresh, then rewrote queue and role branches.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-005
    provenance: observed
    change: >-
      Replaced exactly-once framing with retained-origin and current-state
      repeat behavior, bounded executor claims, and rewrote every hop.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-006
    provenance: observed
    change: >-
      Corrected the coordinator anchor and provenance, documented shared
      concurrency and separate page-read transactions, and rewrote
      reconciliation and monitoring limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-007
    provenance: observed
    change: >-
      Corrected the history anchor and deletion exceptions, retained inferred
      merge-history provenance, and rewrote reference transfer and retained
      inconsistency.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: WF-CRM-ACT-008
    provenance: observed
    change: >-
      Bounded external registration and retry claims, retained seed adoption and
      local cleanup evidence, and rewrote lifecycle paths.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SVC-CRM-ACT-activities
    provenance: observed
    change: >-
      Verified all 19 operations and capability mappings, qualified local
      publication and external cleanup evidence, and rewrote boundaries,
      intents, integrations and consistency.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SVC-CRM-ACT-tasks
    provenance: observed
    change: >-
      Verified all 28 operations and capability mappings, changed workflow-route
      access to service, qualified reconciliation and retained-origin
      guarantees, and rewrote every intent and boundary.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-001
    provenance: observed
    change: >-
      Named the exact export permission alias and rewrote explorer purpose,
      displayed facts, navigation and states without asserting UI approval.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-002
    provenance: observed
    change: >-
      Verified redirect selection and retained-orphan failure, then rewrote
      purpose, navigation and states.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-003
    provenance: observed
    change: >-
      Mapped filtering to both record timeline operations and rewrote the hosted
      timeline contract.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-004
    provenance: observed
    change: >-
      Included a retained inactive category and rewrote field behavior, creation
      recovery, attachment and follow-up limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-005
    provenance: observed
    change: >-
      Separated workspace header count from selected-view count, named active
      queue views and export alias, and rewrote creation, row actions and
      refresh limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-006
    provenance: observed
    change: >-
      Changed the assignee operation to patch, removed nonexistent modification
      display, and rewrote detail behavior and failure-refresh limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-007
    provenance: observed
    change: >-
      Verified atomic activity-category ordering and protected removal, then
      rewrote administration and validation limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-008
    provenance: observed
    change: >-
      Verified per-record console reorder and inactive-reference behavior, then
      rewrote administration and partial failures.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: SCR-CRM-ACT-009
    provenance: observed
    change: >-
      Verified unavailable console-only settings and per-record reorder, then
      rewrote queue administration and existing decision gaps.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-001
    provenance: observed
    change: >-
      Rewrote shared interaction design and deletion exceptions without claiming
      constant minimum links.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-002
    provenance: observed
    change: >-
      Rewrote the custom-field ruling and its consequences while retaining its
      confirmed origin.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-003
    provenance: observed
    change: >-
      Rewrote lifecycle design and alternatives while retaining the separate
      public-version ruling.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-004
    provenance: observed
    change: >-
      Qualified the broad title and version policy with operation-specific
      exceptions, then rewrote alternatives and consequences.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-005
    provenance: observed
    change: >-
      Separated the existing replacement requirement from current omission
      behavior and rewrote the tradeoffs.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-006
    provenance: observed
    change: >-
      Rewrote observed follow-up atomicity and retained the unresolved date
      anchor.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-007
    provenance: observed
    change: >-
      Rewrote the confirmed dataset and explorer boundary and its registration
      dependencies.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-008
    provenance: observed
    change: >-
      Qualified role-only eligibility and committed claim arbitration, then
      rewrote alternatives and retained authority boundaries.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-009
    provenance: observed
    change: >-
      Replaced exactly-once implications and external unapplied-result
      assertions with current-state repeat handling and external proof limits.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-010
    provenance: observed
    change: >-
      Qualified freshness and daily publication delay, then rewrote
      transactional coupling, deployment ordering and alternatives.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-011
    provenance: observed
    change: >-
      Rewrote the cited retention ruling without deciding orphan management
      again.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-012
    provenance: observed
    change: >-
      Rewrote history capture and current task stamps while retaining the open
      task-history decision.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-013
    provenance: observed
    change: >-
      Rewrote immutable configuration identity and the contrast between service
      ordering and current console saves.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-014
    provenance: observed
    change: >-
      Distinguished customer user search and reference syntax from intended
      eligibility validation, then rewrote the pending boundary.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-015
    provenance: observed
    change: >-
      Qualified unpublished status to inspected local bindings and rewrote
      external publication as a proof gap.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
  - artifact: ADR-CRM-ACT-016
    provenance: observed
    change: >-
      Distinguished held and prepared attachment references, qualified external
      cleanup timing, and rewrote file lifecycle tradeoffs.
    final_text: >-
      All prose sections and human-readable design fields rewritten by codex;
      identifiers, evidence and intent retained except listed verification
      changes.
responsibilities:
  artifact: RESP-CRM
  module: MOD-CRM-ACT
  change: >-
    Verified all 47 exposed operations and three owned objects; added
    module-specific source pins; separated shared CRM revision storage from
    Platform history presentation; rewrote module concerns, body and delegated
    paragraph.
verification_field_changes:
  - artifact: DOM-CRM-ACT-001
    path: readable_by
    before:
      - SVC-CRM-ACT-tasks
      - SVC-CRM-ENT-entities
    after:
      - SVC-CRM-ENT-entities
  - artifact: DOM-CRM-ACT-001
    path: 'attributes[9].required'
    before: true
    after: false
  - artifact: DOM-CRM-ACT-001
    path: 'invariants[0].source'
    before: >-
      services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#refuses
      an activity linked to nothing
    after: >-
      services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#refuses
      an activity linked to nothing;
      services-crm:modules/activities/db/activity-links.table.ts:activityLinks
  - artifact: DOM-CRM-ACT-003
    path: 'invariants[9].provenance'
    before: test
    after: observed
  - artifact: DOM-CRM-ACT-003
    path: 'invariants[9].source'
    before: >-
      services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves
      the item to the new holder when an overdue task is assigned, in the same
      generation
    after: >-
      services-crm:modules/tasks/services/persistence/task-attention-items.ts:syncTaskOverdueAttention;
      services-crm:modules/tasks/services/persistence/task-attention-items.ts:sweepOverdueTasks
  - artifact: DOM-CRM-ACT-003
    path: 'invariants[12].source'
    before: >-
      services-crm:modules/tasks/metadata/tasks.object.ts:tasksObject (no
      custom-field capability declared)
    after: 'services-crm:modules/tasks/metadata/tasks.object.ts:tasksObject'
  - artifact: SCR-CRM-ACT-001
    path: permission
    before: >-
      crm.activities.read (screen); crm.activities.query (the list); export
      permission for the export action
    after: >-
      crm.activities.read (screen); crm.activities.query (list and console
      export alias)
  - artifact: SCR-CRM-ACT-001
    path: 'actions[1].permission'
    before: crm.activities.query and the console's activity export permission
    after: crm.activities.query (console crm.activities.export alias)
  - artifact: SCR-CRM-ACT-003
    path: 'actions[3].operation_id'
    before: getContactTimeline
    after: getContactTimeline or getOrganizationTimeline
  - artifact: SCR-CRM-ACT-005
    path: 'displays[2].source'
    before: Platform query engine count for the same view
    after: Platform query engine count through useTaskTotal
  - artifact: SCR-CRM-ACT-005
    path: 'actions[5].permission'
    before: crm.tasks.query
    after: crm.tasks.query (console tools.tasks.export alias)
  - artifact: SCR-CRM-ACT-006
    path: 'actions[1].operation_id'
    before: assignTask
    after: patchTask
  - artifact: WF-CRM-ACT-001
    path: 'hops[0].source'
    before: >-
      react-console:lib/activities/retry-safe-writes.test.ts#is saved when its
      answer is lost but the activity holds what was sent
    after: >-
      react-console:lib/activities/retry-safe-writes.test.ts#answers a lost
      response with the activity it logged, and logs no second one;
      react-console:components/activities/log-activity-sheet.tsx:LogActivitySheet
  - artifact: WF-CRM-ACT-001
    path: 'hops[6].anchor'
    before: 'services-crm:aws/crm.change-events.ts:activity stream (history_only)'
    after: 'services-crm:aws/crm.change-events.ts:crmChangeEventStreams'
  - artifact: WF-CRM-ACT-002
    path: 'hops[4].anchor'
    before: 'services-crm:aws/crm.change-events.ts:activity stream (history_only)'
    after: 'services-crm:aws/crm.change-events.ts:crmChangeEventStreams'
  - artifact: WF-CRM-ACT-003
    path: 'hops[0].source'
    before: 'react-console:lib/api/tasks.ts:createTasksApi'
    after: >-
      react-console:components/tasks/use-task.ts:useTaskMutations;
      react-console:app/(console)/console/[tenantId]/tasks/page.tsx:changeTask
  - artifact: WF-CRM-ACT-006
    path: 'hops[1].anchor'
    before: 'services-crm:aws/crm.attention-sweeps.ts:CRM_ATTENTION_SWEEPS'
    after: 'services-crm:aws/crm.attention-sweeps.ts:sweepAttentionDefinition'
  - artifact: WF-CRM-ACT-006
    path: 'hops[1].provenance'
    before: documented
    after: observed
  - artifact: WF-CRM-ACT-006
    path: 'hops[1].source'
    before: 'services-crm:docs/attention.md#5. The sweeps'
    after: 'services-crm:aws/crm.attention-sweeps.ts:sweepAttentionDefinition'
  - artifact: WF-CRM-ACT-007
    path: 'hops[3].anchor'
    before: 'services-crm:aws/crm.change-events.ts:activity stream (history_only)'
    after: 'services-crm:aws/crm.change-events.ts:crmChangeEventStreams'
additional_verification_changes:
  - artifact: SVC-CRM-ACT-tasks
    field: 'operations[13].access'
    before: internal
    after: service
    source: >-
      services-crm:modules/tasks/aws/api/tasks-service.routes.ts:RouteAccess.Service
  - artifact: DOM-CRM-ACT-001
    field: physical
    change: >-
      Kept bare table names and removed explanatory prose from the storage
      inventory.
  - artifact: DOM-CRM-ACT-005
    field: physical
    change: Kept an empty storage inventory for the computed read model.
  - artifact: STATE-CRM-ACT-002
    field: transitions
    change: >-
      Added eight missing legal transitions without changing existing
      identifiers or state names.
  - artifact: STATE-CRM-ACT-003
    field: states and transitions
    change: >-
      Added two queued role combinations and four representative offer, claim
      and release transitions; labels remain derived projections.
  - artifact: STATE-CRM-ACT-*
    field: 'states[].source/provenance and invalid[].source/provenance'
    change: Added observed provenance and pinned local source references where absent.
  - artifact: WF-CRM-ACT-005; ADR-CRM-ACT-004; ADR-CRM-ACT-009; ADR-CRM-ACT-010
    field: title
    change: >-
      Replaced overbroad repeat, version and attention framing with the verified
      scope.
  - artifact: SCR-CRM-ACT-005
    field: 'evidence[]'
    change: Added console export-alias evidence.
  - artifact: 'RESP-CRM.modules[MOD-CRM-ACT]'
    field: source_sha and delegates
    change: >-
      Added task-specific pins, retained CRM shared revision storage, and added
      Platform shared presentation delegation.
preservation:
  existing_ids_renumbered: 0
  existing_sources_without_reported_verification_change: preserved
  source_sha_on_design_artifacts: unchanged
  intent_and_status_promotions: 0
  enforced_at_values: unchanged
  planning_artifacts_edited: 0
  reader_files_edited: 0
open_disagreements:
  - finding: FND-CRM-ACT-041
    topic: Save-only link guarantees versus retained deletion state
  - finding: FND-CRM-ACT-042
    topic: Derived routing and previously incomplete transition inventory
  - finding: FND-CRM-ACT-043
    question: OQ-CRM-ACT-006
    topic: Reconciliation races and no bounded freshness guarantee
  - finding: FND-CRM-ACT-044
    topic: >-
      External executor, authority, lifecycle, cleanup, publication and
      monitoring proof
  - finding: FND-CRM-ACT-045
    topic: >-
      Selected-list count planning disagreement and actual console mutation and
      refresh behavior
  - finding: FND-CRM-ACT-046
    topic: Live versus deleted history authority and shared history boundaries
  - finding: FND-CRM-ACT-001
    topic: Planning maturity remains proposed despite supplied approved-layer wording
  - findings:
      - FND-CRM-ACT-002
      - FND-CRM-ACT-003
      - FND-CRM-ACT-004
      - FND-CRM-ACT-005
      - FND-CRM-ACT-007
      - FND-CRM-ACT-010
      - FND-CRM-ACT-011
      - FND-CRM-ACT-035
      - FND-CRM-ACT-038
      - FND-CRM-ACT-039
    topic: >-
      Existing eligibility, replacement, orphan management, locking, follow-up,
      role discovery, retirement, charter, attention availability and ordering
      gaps remain
resolved:
  - finding: FND-CRM-ACT-029
    resolution: Brief found and read after the required master merge.
evidence:
  - >-
    rhythm-v2-docs:AGENTS.md; specs/CONVENTIONS.md sections 6 and 9;
    specs/templates/*; briefs/design/crm-activities-tasks.brief.md;
    specs/crm/activities-tasks/planning/**; MODULE.md; FINDINGS.md;
    ID_REGISTRY.md; specs/crm/RESPONSIBILITIES.md.
  - >-
    services-crm:modules/activities/db/**, metadata/**, aws/api/**, services/**,
    history/**, queries/**, recipes/**, export/** and cited tests;
    modules/tasks/db/**, metadata/**, aws/api/**, services/**, queries/**,
    recipes/** and cited tests.
  - >-
    services-crm:aws/crm.service.ts; aws/crm.service-functions.ts;
    aws/crm.change-events.ts; aws/crm.attention.ts; aws/crm.attention-sweeps.ts;
    aws/crm.responsibilities.ts; aws/cdk/logic/attention-sweep.lambda.ts;
    lib/attention.ts; lib/record-history/routes.ts; cited merge and lifecycle
    participants and documentation.
  - >-
    react-console:scoped activity and task routes, components, API helpers, form
    rules, query definitions, configuration resources and cited tests;
    lib/authz/backend-aliases.ts and permissions.ts for permission aliases.
  - >-
    Dependency health route checked from
    @rhythmsoftware/macroservice-http@0.18.0, the direct version in services-crm
    package-lock.json; local route declarations provide module names.
validation:
  - command: npm ci && npm run check
    result: passed
    errors: 0
  - command: npm test
    result: passed
    tests: 4
    failures: 0
  - check: Pinned source and literal anchor audit
    result: passed
    issues: 0
  - check: Metadata preservation and scoped planning diff
    result: passed
    qualifications: >-
      Verification field changes are enumerated; no planning file or approval
      value was changed.
runtime_limit: >-
  CRM and console integration, browser, deployed-switch and Platform executor
  tests were not run by this documentation examination.
---

# Activities and Tasks Design Examination

The examination covers all 43 design artifacts and the module’s responsibility boundary. Final prose, structured design text and diagrams are written by codex. Existing planning rules and approval values remain unchanged.

| Examined material | Count | Coverage |
|---|---:|---|
| Domain objects | 3 | All eight owned tables and the computed timeline |
| Object invariants | 33 | Database and service enforcement checked |
| State models | 5 | 24 states and 53 transition rows |
| Workflows | 8 | 44 anchored hops, daily reconciliation and delegated cleanup |
| Service contracts | 2 | All 47 declared operations, including health and service access |
| Screen contracts | 9 | All scoped screens, with shared sheets and hosted timelines grouped |
| Decision records | 16 | Origins, alternatives and consequences checked |

The strongest evidence is local persistence, route authorization, database constraints and the console components that issue requests. Each artifact’s changes and the exact evidence-field corrections are recorded in the structured examination inventory. The explicit source-field audit resolves every concrete local path and literal anchor; cited test assertions were read as static evidence rather than reported as newly passing execution.

Corrections separate ordinary activity-save requirements from deletion retention, complete the task status inventory, account for queued role offers, map actual drawer mutations and distinguish workspace counts from selected views. They also remove global exactly-once and exact-attention implications: creation matching lasts while its row exists, later workflow commands use current state, and reconciliation can publish superseded task details.

The remaining disagreements include eligibility checks, replacement completeness, orphan management, task history, inactive task configuration, follow-up timing and attention availability. Deleted interaction history and the task header count differ from their unqualified planning rules and now have explicit findings. External registration, executor behavior, publication, cleanup recovery and alarm delivery need evidence from their owners before integration readiness can be established.

No model call was found in the scoped implementation. Every service, workflow and screen contract explicitly declares an empty inference list, so no Inference Operation was invented. The existing charter-sentence finding remains because the charter is outside this job’s edit scope.

The required dependency installation, corpus check and four checker tests pass. This is a source examination and authoring result; it supplies no deployed or end-to-end acceptance result.

The examined design is a faithful, bounded account of local activity and task behavior at the pinned commits, with discrepancies recorded instead of converted into product approval. Its weakest evidence is external Platform readiness and the freshness of attention reconciled from separately read task pages. Before implementation preparation, Andrew should resolve the listed planning disagreements, choose attention availability and freshness expectations, and confirm the integration proof required from the owning areas.
