Skip to content

[OpenSpec] data-exchange-to-integriq #1197

Open

Description

@github-actions

⚠️ OpenSpec-managed issue — this content is automatically synced
from the openspec/ directory. Manual edits will be overwritten on next sync.

Artifacts

Summary

Learniq stops running data exchanges itself. DataExchangeJob, DataMappingProfile,
ExchangeRejection and ExchangeErrorCode leave the register; their jobs, mappings,
rejections and error codes now live on integriq's own job, mapping and
sync_item_dead_letter schemas (integriq change learniq-exchange-jobs-native). Learniq keeps
what is a school's decision: whether a job may run and which records may leave. It answers
integriq's gate for that, keeps its partner approvals, teldatum checks and the parent's review of
an OSO or SWV file as small records of its own, and shows a read-only status panel over
integriq's jobs. A repair step moves existing rows to integriq, or archives them to a file when
integriq is not installed.

Specs

Tasks

  • Remove the four schemas; add ExchangePartnerApproval, TeldatumCheck, DossierReview with lifecycles, authorization and seeds; AttendanceFlag feedback transition; drop the $ref on five dataExchangeJobId properties; bump versions
  • Drop the three LVS import jobs, keep a reserved uuid slot, regenerate
  • Client plus the four callers
  • Five conditions, disclosure per mapping, listener, HTTP route
  • Concluded listener, guards and controller on the new state
  • Delete, unregister, delete their tests (DataExchangeTransformer stays: the record composer uses its field transforms)
  • Archive always, migrate when integriq is there, once
  • Status panel, gate pages, request screen on the new endpoint
  • Routes, connection entry, every new string in both catalogues
  • New tests for every new class; register tests follow the move; superseded notes

Design

See design.md for technical design details.


Synced from openspec/changes/data-exchange-to-integriq by OpenSpec workflow
App: learniq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions