Skip to main content

AEROSIM-TS-61

Project task

Define the supported preference persistence model

Supported preference values can be stored against one pilot with deterministic defaults and validation while unsupported or malformed values cannot become canonical state.

AEROSIM-TS-61Canonical ID TASK-0061
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
Component
Pilot Data Store — Preferences and Prisma schema/migrations
Repository
corp-v1-aerosim/corp-v1-aerosim

Delivery scope

Define a normalized pilot-preference Prisma model with one row per supported key and pilot, typed value constraints, defaults, update timestamps, a unique pilot/key constraint, and a reversible migration. Concrete artifacts are prisma/schema.prisma, prisma/migrations/define-the-supported-preference-persistence-model/migration.sql, and tests/integration/define-the-supported-preference-persistence-model.spec.ts.

Implementation contract

Implementation artifacts

  • prisma/schema.prisma
  • prisma/migrations/define-the-supported-preference-persistence-model/migration.sql
  • tests/integration/define-the-supported-preference-persistence-model.spec.ts

Inputs

  • Approved preference-key allowlist with value type, allowed values or bounds, and default for each key
  • Pilot foreign-key relationship and current Prisma migration baseline
  • Timestamp and last-valid-value semantics for preference updates

Outputs

  • Supported preference values can be stored against one pilot with deterministic defaults and validation while unsupported or malformed values cannot become canonical state.

Failure boundaries

  • Reject unknown keys, values outside the declared type or bounds, and records without a valid pilot owner
  • Migration failure must leave the prior schema usable and must not create duplicate key records for one pilot

Excluded scope

  • Arbitrary user-defined settings, secrets, tokens, and browser-only transient state
  • Global or shared preferences that are not owned by one pilot

Verification steps

  • Run tests/integration/define-the-supported-preference-persistence-model.spec.ts against the exact implementation revision and retain the complete passing result.
  • Exercise the positive contract with approved preference-key allowlist with value type, allowed values or bounds, and default for each key, then assert: Supported preference values can be stored against one pilot with deterministic defaults and validation while unsupported or malformed values cannot become canonical state.
  • Exercise every negative boundary: Reject unknown keys, values outside the declared type or bounds, and records without a valid pilot owner; Migration failure must leave the prior schema usable and must not create duplicate key records for one pilot

Traceability

Requirements

Dependencies

UI/UX applicability

non_visual

This Task owns technical or behavioral acceptance and does not claim direct visual conformance to the approved UI/UX package.

Acceptance evidence

Verified delivery: application PR #85 reviewed head 816bb4dafa3125082cbe5bc9fa56ed1797b108da passed exact-head application validation run 3922, merged as 594656e7e7e7b732f04fdd97de7667e915340c9d, and integration runs 3924 and 3925 succeeded. Release completion verified on product 1.0.0.0 at GitOps revision 5d3712d89dfbf7dacd993348e55f497d126c7bf9 with Argo Synced/Healthy, exact image digests, authenticated API/database access, and three-world configured-flight acceptance.

Current evidence boundary

No current implementation, acceptance, release, or deployment evidence is claimed for this planned Task. Any prior implementation may be used only as prototype and discovery evidence.