---
title: Activities and Tasks Planning Examination
examined_at: '2026-10-23T02:57:47.577Z'
examiner: codex
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
branch: agent/crm-activities-tasks-plan-exam-1
starting_commit: 414c16ead54a9aa16ea1d18dccb9bbef66e1034e
evidence:
  source_scope:
    - name: services-crm
      paths:
        - modules/activities
        - modules/tasks
        - >-
          aws/crm.service.ts (activities, tasks, task-types, task-queues,
          activity-types permission groups)
        - aws/crm.responsibilities.ts (task queues)
        - aws/crm.attention.ts and aws/crm.attention-sweeps.ts (overdue tasks)
        - docs/milestones/CRM-M8-activities-and-tasks.md
        - docs/migrations/activities/README.md (cited record)
        - docs/migrations/task-management/README.md (cited record)
        - docs/workstreams/crm-tasks-role-claim.md (cited record)
        - docs/attention.md (cited record)
    - name: react-console
      paths:
        - 'app/(console)/console/[tenantId]/crm/activities'
        - 'app/(console)/console/[tenantId]/tasks'
        - components/activities
        - components/tasks
        - components/console/activities
        - components/console/tasks
        - lib/activities
        - lib/tasks
        - components/configuration/resources/activity-types.tsx
        - components/configuration/resources/task-types.tsx
        - lib/configuration/task-queues.ts
        - acceptance/crm/inventory (ACT area)
        - acceptance/crm/journeys/cross-application
        - acceptance/crm/playwright/journeys/cross-application
        - >-
          acceptance/crm/reports/wave3-directives.md and wave4-directives-E.md
          (cited rulings)
  unbound_service_specs:
    - 'services-crm:modules/activities/tests/benchmark/timeline.benchmark.spec.js'
    - 'services-crm:modules/tasks/tests/unit/services/tasks/task-refusals.spec.js'
  external_export_sources:
    - 'services-crm:modules/activities/export'
    - 'services-crm:modules/tasks/export'
  unavailable_brief: 'rhythm-v2-docs:briefs/planning/crm-activities-tasks.brief.md'
verification_changes:
  - artifact: ATS-CRM-ACT-001-05
    field: proves
    previous:
      - BR-CAP-CRM-ACT-001-04
    examined:
      - BR-CAP-CRM-ACT-001-04
      - BR-CAP-CRM-ACT-001-16
  - artifact: ATS-CRM-ACT-001-05
    field: bound_to
    previous:
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#refuses
        a hidden direction that is present
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#refuses
        a required outcome that a completed activity lacks
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#asks
        a scheduled activity for no required outcome or duration, those being
        what came of it
      - >-
        services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#refuses
        a hidden field: a note with a direction
      - >-
        services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses
        a hidden field the type does not take: 400 naming it
    examined:
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#refuses
        a hidden direction that is present
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#refuses
        a required outcome that a completed activity lacks
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#asks
        a scheduled activity for no required outcome or duration, those being
        what came of it
      - >-
        services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#refuses
        a hidden field: a note with a direction
      - >-
        services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses
        a hidden field the type does not take: 400 naming it
      - >-
        services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#refuses
        nothing about the links when attendees are hidden
  - artifact: ATS-CRM-ACT-010-06
    field: provenance
    previous: proposed
    examined: test
  - artifact: ATS-CRM-ACT-010-06
    field: level
    previous: api
    examined: browser
  - artifact: ATS-CRM-ACT-010-06
    field: bound_to
    previous: []
    examined:
      - >-
        react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0712.spec.ts#CRM-ACC-0712
  - artifact: ATS-CRM-ACT-010-06
    field: negative
    previous: true
    examined: false
  - artifact: ATS-CRM-ACT-012-09
    field: provenance
    previous: proposed
    examined: test
  - artifact: ATS-CRM-ACT-012-09
    field: level
    previous: api
    examined: browser
  - artifact: ATS-CRM-ACT-012-09
    field: bound_to
    previous: []
    examined:
      - >-
        react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0710.spec.ts#CRM-ACC-0710
  - artifact: ATS-CRM-ACT-012-09
    field: negative
    previous: true
    examined: false
  - artifact: ATS-CRM-ACT-016-07
    field: provenance
    previous: proposed
    examined: test
  - artifact: ATS-CRM-ACT-016-07
    field: level
    previous: api
    examined: browser
  - artifact: ATS-CRM-ACT-016-07
    field: bound_to
    previous: []
    examined:
      - >-
        react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0713.spec.ts#CRM-ACC-0713
  - artifact: ATS-CRM-ACT-016-07
    field: negative
    previous: true
    examined: false
  - artifact: CAP-CRM-ACT-001
    field: concepts
    previous:
      - CON-CRM-ACT-001
      - CON-CRM-ACT-002
    examined:
      - CON-CRM-ACT-001
  - artifact: BR-CAP-CRM-ACT-001-04
    field: source
    previous: >-
      services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#asks
      a scheduled activity for no required outcome or duration, those being what
      came of it
    examined: >-
      services-crm:modules/activities/services/activities/field-modes.ts:fieldModeProblems
  - artifact: BR-CAP-CRM-ACT-001-04
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-001-04
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D3'
    examined: none
  - artifact: BR-CAP-CRM-ACT-001-08
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D8'
    examined: none
  - artifact: BR-CAP-CRM-ACT-001-15
    field: source
    previous: >-
      services-crm:modules/activities/tests/unit/services/activities/field-modes.spec.js#names
      every problem at once, in the order of the fields
    examined: >-
      services-crm:modules/activities/services/persistence/activities.ts:saveNewActivity
  - artifact: BR-CAP-CRM-ACT-001-15
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-001-15
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-001
    added: BR-CAP-CRM-ACT-001-16
  - artifact: CAP-CRM-ACT-001
    added: BR-CAP-CRM-ACT-001-17
  - artifact: BR-CAP-CRM-ACT-002-03
    field: enforced_at
    previous:
      - api
      - console
    examined:
      - api
  - artifact: BR-CAP-CRM-ACT-002-07
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-002-08
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-003
    field: product_intent
    previous: confirmed
    examined: proposed
  - artifact: BR-CAP-CRM-ACT-003-08
    field: source
    previous: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0717.spec.ts#CRM-ACC-0717
    examined: 'services-crm:aws/crm.service.ts:ActivitiesPermissions'
  - artifact: BR-CAP-CRM-ACT-003-08
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-003-08
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D9'
    examined: none
  - artifact: BR-CAP-CRM-ACT-003-09
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-003-11
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-004-05
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-004-07
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-005-13
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-005-14
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-006
    field: product_intent
    previous: confirmed
    examined: proposed
  - artifact: BR-CAP-CRM-ACT-006-02
    field: source
    previous: >-
      services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#writes
      one revision of record type crm.activities, attributed to the caller
    examined: >-
      services-crm:modules/activities/services/persistence/activities.ts:recordedStampsOf
  - artifact: BR-CAP-CRM-ACT-006-02
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-006-05
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-007
    field: product_intent
    previous: confirmed
    examined: proposed
  - artifact: BR-CAP-CRM-ACT-007-04
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-007-07
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D7'
    examined: none
  - artifact: CAP-CRM-ACT-008
    field: concepts
    previous:
      - CON-CRM-ACT-002
    examined:
      - CON-CRM-ACT-001
  - artifact: BR-CAP-CRM-ACT-008-04
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D3'
    examined: none
  - artifact: BR-CAP-CRM-ACT-008-10
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-008-12
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-009
    field: product_intent
    previous: confirmed
    examined: proposed
  - artifact: CAP-CRM-ACT-009
    field: concepts
    previous:
      - CON-CRM-ACT-002
    examined:
      - CON-CRM-ACT-001
  - artifact: BR-CAP-CRM-ACT-009-01
    field: source
    previous: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0728.spec.ts#CRM-ACC-0728
    examined: 'services-crm:modules/activities/README.md'
  - artifact: BR-CAP-CRM-ACT-009-01
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-009-01
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D10'
    examined: none
  - artifact: BR-CAP-CRM-ACT-009-08
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D6'
    examined: none
  - artifact: BR-CAP-CRM-ACT-010-03
    field: source
    previous: >-
      services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses
      a create in a closed status, naming the operation that does close a task
    examined: >-
      services-crm:modules/tasks/services/persistence/tasks.ts:createTaskWithOutcome
  - artifact: BR-CAP-CRM-ACT-010-03
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-010-10
    field: source
    previous: >-
      services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#and leaves what the
      patch said nothing about as it was
    examined: 'services-crm:modules/tasks/services/persistence/tasks.ts:updateTask'
  - artifact: BR-CAP-CRM-ACT-010-10
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-010-13
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-011-10
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-011-11
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-012
    field: concepts
    previous:
      - CON-CRM-ACT-003
      - CON-CRM-ACT-004
    examined:
      - CON-CRM-ACT-003
  - artifact: BR-CAP-CRM-ACT-012-05
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-012-09
    field: source
    previous: >-
      services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses
      a task that is in no queue, saying it is assigned instead
    examined: 'services-crm:modules/tasks/services/persistence/tasks.ts:claimTask'
  - artifact: BR-CAP-CRM-ACT-012-09
    field: provenance
    previous: test
    examined: observed
  - artifact: CAP-CRM-ACT-013
    field: product_intent
    previous: confirmed
    examined: proposed
  - artifact: CAP-CRM-ACT-013
    added: BR-CAP-CRM-ACT-013-10
  - artifact: CAP-CRM-ACT-013
    added: BR-CAP-CRM-ACT-013-11
  - artifact: CAP-CRM-ACT-013
    added: BR-CAP-CRM-ACT-013-12
  - artifact: CAP-CRM-ACT-014
    field: concepts
    previous:
      - CON-CRM-ACT-003
      - CON-CRM-ACT-004
    examined:
      - CON-CRM-ACT-003
  - artifact: BR-CAP-CRM-ACT-014-01
    field: source
    previous: >-
      react-console:components/console/tasks/__tests__/tasks-definition.test.tsx#agrees
      with the recipe it is anchored to
    examined: 'services-crm:modules/tasks/aws/api/tasks.routes.ts:tasksRoutes'
  - artifact: BR-CAP-CRM-ACT-014-01
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-014-04
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-015
    field: concepts
    previous:
      - CON-CRM-ACT-003
      - CON-CRM-ACT-004
    examined:
      - CON-CRM-ACT-003
  - artifact: BR-CAP-CRM-ACT-015-06
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-016
    field: concepts
    previous:
      - CON-CRM-ACT-004
      - CON-CRM-ACT-003
    examined:
      - CON-CRM-ACT-003
  - artifact: BR-CAP-CRM-ACT-016-06
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-017-02
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-017-08
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-017
    added: BR-CAP-CRM-ACT-017-12
  - artifact: BR-CAP-CRM-ACT-018-02
    field: source
    previous: >-
      react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0719.spec.ts#CRM-ACC-0719
    examined: >-
      services-crm:modules/activities/queries/activities.query.ts:activitiesQuery;
      react-console:app/(console)/console/[tenantId]/crm/activities/[id]/page.tsx
  - artifact: BR-CAP-CRM-ACT-018-02
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-018-03
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-018-06
    field: must_prove
    previous: false
    examined: true
  - artifact: CAP-CRM-ACT-019
    field: concepts
    previous:
      - CON-CRM-ACT-001
      - CON-CRM-ACT-003
      - CON-CRM-ACT-002
      - CON-CRM-ACT-004
    examined:
      - CON-CRM-ACT-001
      - CON-CRM-ACT-003
  - artifact: BR-CAP-CRM-ACT-019-01
    field: source
    previous: >-
      services-crm:modules/activities/tests/integration/db/activities.table.integration.spec.js#shows
      the tenant none of the other tenant’s activities, links or types, with no
      predicate of its own
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/activities/db/activity-links.table.ts
  - artifact: BR-CAP-CRM-ACT-019-01
    field: provenance
    previous: test
    examined: observed
  - artifact: BR-CAP-CRM-ACT-019-04
    field: origin
    previous: 'services-crm:docs/migrations/activities/README.md#D9'
    examined: none
  - artifact: BR-CAP-CRM-ACT-019-07
    field: must_prove
    previous: false
    examined: true
  - artifact: BR-CAP-CRM-ACT-019-10
    field: must_prove
    previous: false
    examined: true
  - artifact: 'CON-CRM-ACT-001:facets[0]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[0]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[1]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[1]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[2]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[2]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[3]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[3]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[4]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[4]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[5]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[5]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[6]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[6]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[7]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[7]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[8]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[8]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-001:facets[9]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/activities/db/activities.table.ts;
      services-crm:modules/activities/db/activity-types.table.ts
  - artifact: 'CON-CRM-ACT-001:facets[9]'
    field: provenance
    previous: null
    examined: observed
  - artifact: CON-CRM-ACT-001
    added: 'facets[10]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[11]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[12]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[13]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[14]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[15]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[16]'
  - artifact: CON-CRM-ACT-001
    added: 'facets[17]'
  - artifact: CON-CRM-ACT-002
    field: status
    previous: draft
    examined: superseded
  - artifact: 'CON-CRM-ACT-002:facets[0]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[0]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[1]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[1]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[2]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[2]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[3]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[3]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[4]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[4]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[5]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[5]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[6]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[6]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-002:facets[7]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/db/activity-types.table.ts'
  - artifact: 'CON-CRM-ACT-002:facets[7]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[0]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[0]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[1]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[1]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[2]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[2]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[3]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[3]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[4]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[4]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[5]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[5]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[6]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[6]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[7]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[7]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[8]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[8]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-003:facets[9]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/tasks.table.ts;
      services-crm:modules/tasks/db/task-queues.table.ts
  - artifact: 'CON-CRM-ACT-003:facets[9]'
    field: provenance
    previous: null
    examined: observed
  - artifact: CON-CRM-ACT-003
    added: 'facets[10]'
  - artifact: CON-CRM-ACT-003
    added: 'facets[11]'
  - artifact: CON-CRM-ACT-003
    added: 'facets[12]'
  - artifact: CON-CRM-ACT-003
    added: 'facets[13]'
  - artifact: CON-CRM-ACT-004
    field: status
    previous: draft
    examined: superseded
  - artifact: 'CON-CRM-ACT-004:facets[0]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/task-queues.table.ts;
      services-crm:modules/tasks/db/tasks.table.ts
  - artifact: 'CON-CRM-ACT-004:facets[0]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-004:facets[1]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/task-queues.table.ts;
      services-crm:modules/tasks/db/tasks.table.ts
  - artifact: 'CON-CRM-ACT-004:facets[1]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-004:facets[2]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/task-queues.table.ts;
      services-crm:modules/tasks/db/tasks.table.ts
  - artifact: 'CON-CRM-ACT-004:facets[2]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-004:facets[3]'
    field: source
    previous: null
    examined: >-
      services-crm:modules/tasks/db/task-queues.table.ts;
      services-crm:modules/tasks/db/tasks.table.ts
  - artifact: 'CON-CRM-ACT-004:facets[3]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-005:facets[0]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/services/persistence/timelines.ts'
  - artifact: 'CON-CRM-ACT-005:facets[0]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-005:facets[1]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/services/persistence/timelines.ts'
  - artifact: 'CON-CRM-ACT-005:facets[1]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-005:facets[2]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/services/persistence/timelines.ts'
  - artifact: 'CON-CRM-ACT-005:facets[2]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-005:facets[3]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/services/persistence/timelines.ts'
  - artifact: 'CON-CRM-ACT-005:facets[3]'
    field: provenance
    previous: null
    examined: observed
  - artifact: 'CON-CRM-ACT-005:facets[4]'
    field: source
    previous: null
    examined: 'services-crm:modules/activities/services/persistence/timelines.ts'
  - artifact: 'CON-CRM-ACT-005:facets[4]'
    field: provenance
    previous: null
    examined: observed
  - artifact: FEAT-CRM-ACT-02
    field: concepts
    previous:
      - CON-CRM-ACT-002
    examined: []
  - artifact: FEAT-CRM-ACT-04
    field: concepts
    previous:
      - CON-CRM-ACT-004
    examined: []
  - artifact: JNY-CRM-ACT-005
    field: product_intent
    previous: confirmed
    examined: proposed
validation:
  dependency_and_conformance: 'npm ci && npm run check: passed, zero errors'
  corpus_tests: 'npm test: passed, four tests'
  service_and_browser_execution: not run; bindings inspected statically
---

# Activities and Tasks Planning Examination

## Scope and Method

This OpenAI examination reviews the drafted planning layer against the supplied pinned service and console revisions. It inspects cited files, symbols, test names and assertions; route permissions and schemas; persistence conditions and side effects; table declarations; the console controls; and the cited product decisions. Test bindings describe existing assertions and do not claim those service or browser tests ran during this documentation job.

The original drafting brief is unavailable in both the starting tree and fetched master. Its missing scope evidence remains a finding. The examination uses the supplied job, registry boundary, charter and records cited by the draft. No source repository, reader implementation, deployment or shared data changes are made.

## Examination Counts

| Material | Examined | Final State |
|---|---|---|
| Existing module artifacts | 57 | Every artifact receives OpenAI final text |
| Features | 5 | Grouping only |
| Concepts | 5 | Three active; two superseded with permanent identifiers |
| Capabilities | 19 | All remain draft and proposed overall |
| Business rules | 194 existing; 6 added | 200 final; 173 mandatory proof obligations |
| Capability scenarios and edge cases | 39 | Illustrations retained separately from proof |
| Journeys | 6 | 34 steps and 18 assertions |
| Acceptance sets and scenarios | 19 / 131 | 127 bound; 4 proposed |
| Distinct acceptance bindings | 361 | File and test-title citations inspected statically |
| Findings | 27 existing; 6 added | 33 retained for review |
| Open questions | 4 | Recommendations rewritten as product obligations |
| Shared actor additions | 2 | Draft rows carry their own pins and observed sources |

## Static Coverage

Covered means an operation, declaration or surface has a named capability or evidence mapping; it does not mean the capability passes runtime acceptance. The charter stores the individual operation, table and permission mappings.

| Scope | Covered / Total | Named Coverage Or Remaining Gap |
|---|---|---|
| Product operations | 45/45 | Charter operation mapping; includes role-offered listing and the service entry point |
| Literal operation declarations | 46/46 | Explicit routes, parameterized timeline, history and task configuration declarations, and health declarations |
| Module table declarations | 8/8 | Charter table mapping |
| Published permission keys in the five scoped groups | 28/28 | Charter permission mapping |
| Module service test files cited | 33/33 | Existing rule, scenario or evidence citations |
| Module service test files bound to acceptance scenarios | 31/33 | Unbound: timeline benchmark and task-refusal unit suite |
| CRM console pages and configuration resources | 6/6 | Activities, activity landing, Tasks, activity types, task types and queues |
| Attention and responsibility registrations | 2/2 | Overdue work and queue operations |
| Owned schedules | 1/1 | Daily overdue sweep |
| Owned queues and state machines | 0/0 | Shared data-job dispatcher and bulk orchestration remain Platform dependencies |
| Prior inventory allocations | 20/20 | Qualified supersession references retained |
| Scoped earlier journey specifications | 36/36 | Interaction and task journey sources or supersession references; four neighboring-application journeys excluded |
| Cross-service runtime proof | 0/4 dependency groups | Platform baseline orchestration; security policy and role queries; workflow executors; attention delivery |

Export adapters in the scoped modules declare snapshot-batch datasets and dependencies for workspace exports. Those adapters are evidence of the module’s contribution; Platform owns lifecycle export delivery. General spreadsheet export remains covered through task views. No new owned outcome requires another capability; the examination adds variants to existing capabilities and records external proof gaps as findings.

## Corrections by Capability and Acceptance Set

All capability and acceptance text is rewritten after the verification pass. The structured change ledger in this report records each changed intent, provenance, source, origin, enforcement, proof flag, level and binding value; unchanged identifiers, pins and reference values remain retained.

| Artifacts | Examined Content | Correction |
|---|---|---|
| `CAP-CRM-ACT-001` / `ATS-CRM-ACT-001` | 17 rules; 13 acceptance scenarios | Correct hidden-attendee behavior, bound field-mode reporting, add empty-owner creation finding and tighten proof flags. |
| `CAP-CRM-ACT-002` / `ATS-CRM-ACT-002` | 10 rules; 6 acceptance scenarios | Separate browser and service calendars, retain atomicity, and restrict the title-length enforcement claim to API validation. |
| `CAP-CRM-ACT-003` / `ATS-CRM-ACT-003` | 11 rules; 8 acceptance scenarios | Make overall intent proposed, distinguish local attachment cascade from file cleanup and retain explicit decision origins only. |
| `CAP-CRM-ACT-004` / `ATS-CRM-ACT-004` | 7 rules; 4 acceptance scenarios | Distinguish list replacement from omitted partial-edit properties and limit cleanup claims to the inspected service boundary. |
| `CAP-CRM-ACT-005` / `ATS-CRM-ACT-005` | 14 rules; 10 acceptance scenarios | Retain stream, filters and permission behavior, with additional mandatory proof flagged where scenarios are absent. |
| `CAP-CRM-ACT-006` / `ATS-CRM-ACT-006` | 6 rules; 3 acceptance scenarios | Narrow confirmed intent and correctly distinguish full revision lifecycle from current-label presentation scenarios. |
| `CAP-CRM-ACT-007` / `ATS-CRM-ACT-007` | 8 rules; 3 acceptance scenarios | Keep query and navigation evidence separate from unverified customer policy and present-deployment outcomes. |
| `CAP-CRM-ACT-008` / `ATS-CRM-ACT-008` | 12 rules; 9 acceptance scenarios | Retain configuration limits and list behavior while identifying unproved lock and reorder variants. |
| `CAP-CRM-ACT-009` / `ATS-CRM-ACT-009` | 8 rules; 5 acceptance scenarios | Separate participant declaration and adoption proof from external provisioning and reconciliation. |
| `CAP-CRM-ACT-010` / `ATS-CRM-ACT-010` | 13 rules; 12 acceptance scenarios | Correct open-status creation, retained replacement exceptions and due-time truncation evidence. |
| `CAP-CRM-ACT-011` / `ATS-CRM-ACT-011` | 12 rules; 8 acceptance scenarios | Limit uniform problem-code claims to lifecycle refusals and identify further mandatory actor and console proof gaps. |
| `CAP-CRM-ACT-012` / `ATS-CRM-ACT-012` | 13 rules; 9 acceptance scenarios | Apply queue and role distinctions, preserve assignment version weakness and correct inactive-queue scenario expectations. |
| `CAP-CRM-ACT-013` / `ATS-CRM-ACT-013` | 12 rules; 6 acceptance scenarios | Add role-existence, suspended-user list and role-scope boundaries; distinguish Product authority from workstream implementation choices. |
| `CAP-CRM-ACT-014` / `ATS-CRM-ACT-014` | 9 rules; 4 acceptance scenarios | Correct the offered-list exception to general query browsing and preserve the missing console view. |
| `CAP-CRM-ACT-015` / `ATS-CRM-ACT-015` | 8 rules; 6 acceptance scenarios | Replace live switch and Home assertions with documented defaults and local item-emission proof. |
| `CAP-CRM-ACT-016` / `ATS-CRM-ACT-016` | 10 rules; 8 acceptance scenarios | Correct inactive configuration expectations and preserve unsupported queue-control findings. |
| `CAP-CRM-ACT-017` / `ATS-CRM-ACT-017` | 12 rules; 8 acceptance scenarios | Replace universal exactly-once wording with deduplicated creation and current-state repeat behavior. |
| `CAP-CRM-ACT-018` / `ATS-CRM-ACT-018` | 8 rules; 3 acceptance scenarios | Retain direct and dataset access for orphans and narrow diagnostic deletion-audit evidence. |
| `CAP-CRM-ACT-019` / `ATS-CRM-ACT-019` | 10 rules; 6 acceptance scenarios | Separate local workspace foreign keys from external eligibility checks and narrow full-lock acceptance steps. |

## Concept, Feature and Journey Changes

| Artifact | Change |
|---|---|
| `CON-CRM-ACT-001` | Activity gains classification facets; its body distinguishes empty-owner intent from creation behavior. |
| `CON-CRM-ACT-002` | Activity Type is superseded into Activity; its identity and source history remain. |
| `CON-CRM-ACT-003` | Task gains queue routing facets alongside assignment, offered roles and lifecycle. |
| `CON-CRM-ACT-004` | Task Queue is superseded into Task with its identifier retained. |
| `CON-CRM-ACT-005` | Timeline remains a broad context view; editability no longer promises lock-aware behavior. |
| `FEAT-CRM-ACT-01` through `FEAT-CRM-ACT-05` | Each feature groups its children without repeating rules; classification and routing features act on the parent concepts without duplicating concept ownership. |
| `JNY-CRM-ACT-001` | All actions and assertions rewritten; calendar differences remain explicit. |
| `JNY-CRM-ACT-002` | Closing and stale-action assertions retain their pinned evidence. |
| `JNY-CRM-ACT-003` | Queue item audience proof is separated from Home delivery. |
| `JNY-CRM-ACT-004` | Baseline expectations are separated from verified provisioning outcomes. |
| `JNY-CRM-ACT-005` | Overall intent is proposed; CRM refusal proof does not establish workflow executor handling. |
| `JNY-CRM-ACT-006` | Merge and deletion remain distinct, and orphan context loss is explicit. |
| `ACT-CRM-006`, `ACT-CRM-007` | New actor wording, row-level pins and draft authority; service invocation is distinct from user permission evaluation. |
| `MOD-CRM-ACT` | New charter text, current titles and intent, static mappings and corrected test-binding total. |
| `ID_REGISTRY.md` | Permanent allocations precede new rules and findings; titles and next-rule counters match the final artifacts. |
| `FINDINGS.md` | Every finding and question receives OpenAI text; six examination findings are added. |

## Final Text Inventory

The table identifies every artifact’s rewrite scope. Concept bodies retain the six required sections and fall within the required word range. Verification and final text are committed in separate units for the planning artifacts, with later corrections and reconciliation commits retained rather than rewriting branch history.

| Artifact | Final Text Scope |
|---|---|
| `FINDINGS.md` | Charter, ledger or findings prose and display labels |
| `ID_REGISTRY.md` | Charter, ledger or findings prose and display labels |
| `MOD-CRM-ACT` | Charter, ledger or findings prose and display labels |
| `ATS-CRM-ACT-001` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-002` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-003` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-004` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-005` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-006` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-007` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-008` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-009` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-010` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-011` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-012` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-013` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-014` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-015` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-016` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-017` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-018` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `ATS-CRM-ACT-019` | Scenario titles, setup, actions, expected outcomes, data needs and coverage prose |
| `CAP-CRM-ACT-001` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-002` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-003` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-004` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-005` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-006` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-007` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-008` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-009` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-010` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-011` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-012` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-013` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-014` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-015` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-016` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-017` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-018` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CAP-CRM-ACT-019` | Title, purpose, outcomes, conditions, all rule and example text, illustrative scenarios, relationships and body |
| `CON-CRM-ACT-001` | draft; six concept sections |
| `CON-CRM-ACT-002` | superseded; six concept sections |
| `CON-CRM-ACT-003` | draft; six concept sections |
| `CON-CRM-ACT-004` | superseded; six concept sections |
| `CON-CRM-ACT-005` | draft; six concept sections |
| `FEAT-CRM-ACT-01` | Grouping-only feature text |
| `FEAT-CRM-ACT-02` | Grouping-only feature text |
| `FEAT-CRM-ACT-03` | Grouping-only feature text |
| `FEAT-CRM-ACT-04` | Grouping-only feature text |
| `FEAT-CRM-ACT-05` | Grouping-only feature text |
| `JNY-CRM-ACT-001` | Narrative, steps, alternate paths, failures and assertions |
| `JNY-CRM-ACT-002` | Narrative, steps, alternate paths, failures and assertions |
| `JNY-CRM-ACT-003` | Narrative, steps, alternate paths, failures and assertions |
| `JNY-CRM-ACT-004` | Narrative, steps, alternate paths, failures and assertions |
| `JNY-CRM-ACT-005` | Narrative, steps, alternate paths, failures and assertions |
| `JNY-CRM-ACT-006` | Narrative, steps, alternate paths, failures and assertions |

## Unresolved Findings

No finding is closed merely because the documentation now describes the limitation accurately. The following identifiers retain every disagreement for Andrew’s review.

| Finding | Open Disagreement |
|---|---|
| `FND-CRM-ACT-001` | The milestone remains Proposed with no approved plan; named recorded decisions confirm their own scope, while other observed behavior needs Product review. |
| `FND-CRM-ACT-002` | Assignment checks user-reference syntax without the recorded Platform membership and task-eligibility check, allowing valid-looking references that selectors would not offer. |
| `FND-CRM-ACT-003` | Activity replacement enforces complete payloads, while task and configuration replacements still reset omitted values; this differs from the recorded update contract. |
| `FND-CRM-ACT-004` | An activity left without links has no timeline context and its console landing fails, although direct reads and authorized dataset queries can return it; orphan management and deleted-link audit requirements remain incomplete. |
| `FND-CRM-ACT-005` | Ordinary saves can set module record locks, but a full lock has no supported release path; the recorded requirement calls for narrowly authorized and audited transitions. |
| `FND-CRM-ACT-006` | The earlier acceptance inventory describes activity custom fields even though the recorded architecture decision removes them and the API rejects them. |
| `FND-CRM-ACT-007` | The form uses browser today for follow-up timing while omitted-date service calculation uses the activity’s workspace day, so equivalent interactions can receive different due days. |
| `FND-CRM-ACT-008` | Console duration, end-time and follow-up controls use narrower or stricter limits than the service; Activity and its configuration therefore admit different inputs across surfaces. |
| `FND-CRM-ACT-009` | The attention record describes publishing disabled pending Platform readiness, and no due or assignment notification is implemented; deployed switch state and actual delivery are not established here. |
| `FND-CRM-ACT-010` | Role-offered task reads and claims exist in APIs, but Tasks has no offered-to-me view or role-offer creation control. |
| `FND-CRM-ACT-011` | Task type and queue deactivation preserves references but does not reject new work or claims, unlike activity type retirement. |
| `FND-CRM-ACT-012` | Due dates containing a time are accepted with that component discarded, while the earlier acceptance expectation asks for a field-specific refusal. |
| `FND-CRM-ACT-013` | Task, task-type and task-queue bulk permissions exist in the catalog without operations that use them. |
| `FND-CRM-ACT-014` | Task type commentary describes immediate in-use deletion refusal, whereas the dependent foreign key is checked at commit. |
| `FND-CRM-ACT-015` | Timeline editability follows update permission without considering record locks, permitting a control that can later fail on save. |
| `FND-CRM-ACT-016` | The earlier activity-query run reports customer-policy refusals; Platform policy contents at the pinned commits and current deployment remain outside this examination. |
| `FND-CRM-ACT-017` | Queue configuration presents team, distribution, due-time and escalation controls without stored service behavior, contrary to the recorded removal of mock-only live controls. |
| `FND-CRM-ACT-018` | Activities baseline installation and workspace cleanup require Platform to register the CRM participant; this job can verify the CRM declaration but not that external registration. |
| `FND-CRM-ACT-019` | Assignment accepts an omitted version and then allows the last write to take effect, unlike the mandatory version checks on closing and reopening. |
| `FND-CRM-ACT-020` | The task console has no deletion action; deleting a task requires administrator API authority. |
| `FND-CRM-ACT-021` | The Activities page exists without an entry in the inspected CRM navigation, leaving address or link access as its entry path. |
| `FND-CRM-ACT-022` | Activity table commentary and an existing read-test title retain references to removed activity custom fields. |
| `FND-CRM-ACT-023` | Proposed scenarios retain proof gaps for follow-up title validation, assignment eligibility, console role-offer discovery and audited locking; they are not passing executable evidence. |
| `FND-CRM-ACT-024` | The earlier journey catalog marks the module journeys unstarted despite existing Playwright specifications; specification existence does not establish a passing run. |
| `FND-CRM-ACT-025` | Task contributor and workflow service actor additions are draft proposals within the otherwise approved CRM actor record and still require Product review. |
| `FND-CRM-ACT-026` | The task page is workspace-level rather than under CRM, and the corrected module scope includes its shared task and activity components. |
| `FND-CRM-ACT-027` | The earlier inventory and this corpus use overlapping capability spellings for different allocations; inventory references must retain repository qualification. |
| `FND-CRM-ACT-028` | Additional refusals, calculations and related writes now carry must-prove, but the rule references in this finding still lack dedicated acceptance scenarios. |
| `FND-CRM-ACT-029` | The requested drafting brief is absent from the starting tree and fetched master, preventing independent review of any constraints it adds beyond the supplied job. |
| `FND-CRM-ACT-030` | Role-offer integration still needs external executor proof and decisions on invalid role references, suspended-user listing and duplicated role-selection logic. |
| `FND-CRM-ACT-031` | Pinned source and historical notes establish defaults and expectations without proving deployed switches, security policy contents or present acceptance outcomes. |
| `FND-CRM-ACT-032` | Compound statements and diagnostic tests can exceed their cited assertions; corrected claims are narrowed and unresolved executable coverage is retained for design review. |
| `FND-CRM-ACT-033` | A user-created activity sent with empty ownership is assigned back to the caller by the creation default, so the console’s No Owner choice does not persist on initial save; a later edit can clear ownership. |

## Product Questions

| Question | Decision Needed |
|---|---|
| `OQ-CRM-ACT-001` | Does task work need complete revision history? |
| `OQ-CRM-ACT-002` | Where should role holders discover offered work and overdue offers? |
| `OQ-CRM-ACT-003` | Should inactive task types and queues reject new work? |
| `OQ-CRM-ACT-004` | Which date anchors follow-up timing? |

## Validation

The required dependency installation and conformance command passes with zero errors. The repository test command passes all four tests. These checks validate corpus structure and checker behavior; service integration, deployed acceptance and browser execution are not rerun. The branch descends from the supplied starting commit and is not pushed.

## Verdict for Andrew

The examined layer is a faithful sourced planning description of the scoped behavior at the pinned revisions, with unverified integration and conflicting intent explicitly retained as findings. Its weakest areas are executable proof for newly mandatory rules, assignment and role eligibility, orphan management, and dependencies on deployed Platform and workflow services. Before design starts, Product should decide the open questions and recorded conflicts, then require targeted proof for those gaps and the external integration paths.
