Files
kandev/docs/plans/entity-reference-composer/task-08-message-reference-metadata.md
T
José Almeida 7de788ceed feat: add cross-integration entity references (#1862)
* feat: add cross-integration entity references

* fix(web): anchor entity reference menu to composer

* fix: keep Kandev tasks under @ mentions

* fix: address entity reference review findings

* test(e2e): use option role for prompt menu

* test(e2e): update passthrough mention roles

* fix: preserve queued references and paginate Azure PRs
2026-07-23 09:03:56 +01:00

2.2 KiB

id, title, status, wave, depends_on, plan, spec
id title status wave depends_on plan spec
08-message-reference-metadata Durable message reference metadata completed 2
01-core-and-task-search
plan.md ../../specs/ui/entity-reference-composer.md

Task 08: Durable Message Reference Metadata

Acceptance

  • A neutral internal/entityrefs leaf structurally normalizes/canonicalizes arrays; message.add and queue add/update resolve the persisted conversation workspace and dispatch provider authorization through the mention registry before persistence.
  • Queue persistence and both normal/workflow queue-drain paths preserve normalized reference arrays without reauthorizing previously accepted references.
  • Queue update replaces references so deleted links cannot leave stale metadata; direct/queued arrays dedupe by canonical ref.
  • Client projection and agent prompt context expose sanitized typed references without breaking legacy task mentions.

Verification

cd apps/backend && go test ./internal/task/handlers/... ./internal/task/models/... ./internal/orchestrator/handlers/... ./internal/orchestrator/messagequeue/...

Files likely touched

  • apps/backend/internal/orchestrator/message_meta.go
  • apps/backend/internal/entityrefs/reference.go
  • apps/backend/internal/entityrefs/reference_test.go
  • apps/backend/internal/task/handlers/message_handlers.go
  • apps/backend/internal/task/handlers/message_handlers_test.go
  • apps/backend/internal/orchestrator/handlers/queue_handlers.go
  • apps/backend/internal/orchestrator/handlers/queue_handlers_test.go
  • apps/backend/internal/orchestrator/messagequeue/service.go
  • apps/backend/internal/orchestrator/messagequeue/repository_sqlite.go
  • apps/backend/internal/orchestrator/messagequeue/repository_sqlite_test.go
  • apps/backend/internal/task/models/message_shell_output.go
  • apps/backend/internal/task/models/message_shell_output_test.go

Dependencies

Task 01 normalized API type.

Inputs

Spec data/API/persistence/failure sections; UserMessageMeta, existing message metadata projection, and queue metadata_json patterns.

Output contract

Report validation/dedup/update semantics, files changed, exact tests, blockers, risks, and mark task/plan done.