Skip to content

D0.1d Retire old settings storage after the rollback window #385

Description

@alexeygrigorev

User direction 2026-09-12: continue the community-base unification of ai-shipping-labs and dtc-website. This issue mirrors plan item D0.1d from community-base docs/plan/phase-0.md; community-base docs/plan/STATUS.md stays authoritative for live status across all four repositories.

Normative references

  • community-base docs/plan/phase-0.md, section "D0.1d Retire old settings storage after the rollback window" - the implementation contract; follow its steps literally.
  • community-base docs/plan/STATUS.md, row D0.1d - canonical status.
  • #355 (D0.1b) - the settings contract inventory and parity proof that define what counts as migrated.
  • #364 (D0.1c, merged as 3fb9db07) - the settings cutover whose deployed state this issue retires behind.
  • _docs/specs/06-studio-and-admin-api.md and _docs/architecture/app-boundaries.md - docs to update.
  • _docs/PROCESS.md, _docs/ci/change-selective-ci.md, playbook P14 (migration rehearsal with counts).

Scope

  1. Prove every consumer has moved to the package config app and that audit/history retention holds; unclassified readers block removal.
  2. Remove only the inventoried migrated declarations, models and shims, with a storage-drop migration; retain unrelated core primitives and tests, and preserve all parity tests in their owning layer.
  3. Update spec 06 and app boundaries to reflect the actual deployed ownership.

Non-goals

  • No new settings capability and no package changes; the pinned published release is used as-is.
  • No removal of anything outside the D0.1b/D0.1c inventories; a path absent from the inventory is not implicitly safe to delete.

Dependencies and blocked work

  • Depends on D0.1c: merged as 3fb9db07 (#364) but its development deploy is currently blocked on the red main CI (Restore the green release matrix: Course creation hits NOT NULL on courses_course.archive_commit_sha #345; lint-mask fix merged as 950065e0, first unmasked run 34676767710 red with fresh traces) and the worker self-check IAM ask (DataTalksClub/aws-infra#49).
  • Prerequisite per the plan: the development cutover is green and the rollback window has been explicitly closed. Record both in this issue before implementation starts.

Acceptance criteria

  • recorded proof that every consumer moved and audit/history is retained; any unclassified reader blocks removal and is resolved first
  • only inventoried migrated declarations, models and shims are removed; unrelated core primitives and tests are retained and parity tests are preserved in their owning layer
  • the storage-drop migration is rehearsed on a development copy with counts recorded (P14); uv run python manage.py makemigrations --check --dry-run is clean
  • the retired-import inventory is empty except immutable migrations and intentional historical docs
  • _docs/specs/06-studio-and-admin-api.md and _docs/architecture/app-boundaries.md reflect the deployed ownership
  • the development cutover green evidence and the explicit rollback-window close are recorded on the issue

Scenarios

  • Django/integration: migration rehearsal with retained row/audit invariants; site-selected verification per the change-selection plan.
  • Browser: not_applicable when the ci/ownership.json graph confirms no render impact; the settings Studio surfaces keep their existing tests.
  • Repository/operations: engineer generates the versioned verification plan (make verification-plan VERIFY_ISSUE=<this issue>); tester recomputes it from the frozen base/head; local --no-ff merge; on-call observes CI.

Rollback

  • Before the storage drop, reverting the landing restores the retired shims.
  • After the storage-drop migration the old tables are gone; the explicit rollback-window close recorded before implementation is the authorization that makes this acceptable.

Activity

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

    P1Important follow-upfoundationArea: foundation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions