Skip to content

[campaign #254] STEP 5 — RE-TRIAGE: iterate post-binding-fills, drive backlog to permanent residue #277

@hyperpolymath

Description

@hyperpolymath

Part of #254. Blocked by step 4.

Goal

Re-run STEP 2's triage tool after each significant batch of bindings lands in STEP 4. Move newly-portable files into the active port queue (feeding STEP 3 in a second / third / Nth wave), and reclassify files that turned out to be permanent JS-residue. Iterate until the backlog is either ported or accounted-for as documented carve-outs.

Iteration pattern

  1. STEP 4 lands a batch of N bindings.
  2. Re-run STEP 2's tool with the same exclude-list as the initial enumeration.
  3. Diff the bucket counts vs the prior comment on [campaign] Unnecessarily-JavaScript → AffineScript estate migration (UMBRELLA) #254 — publish the delta as a fresh [campaign] Unnecessarily-JavaScript → AffineScript estate migration (UMBRELLA) #254 comment.
  4. Files that moved blocked on binding Xportable now feed a new wave of STEP 3 ports.
  5. Files that triage now classifies as keep as JS (because the binding-gap analysis confirmed a permanent-residue surface) get codified into STEP 1's carve-out classes via a hypatia-rule update.
  6. Repeat until the blocked on binding X bucket converges to "permanent residue or out-of-scope".

Acceptance

  • At least one re-triage cycle published as a [campaign] Unnecessarily-JavaScript → AffineScript estate migration (UMBRELLA) #254 comment after STEP 4's first batch
  • Subsequent cycles published after each material STEP 4 batch (operator decides cadence)
  • Convergence criterion documented: campaign considered "complete" when:
    • portable now bucket is empty (all ported via STEP 3 waves)
    • blocked on binding X bucket is empty OR every remaining entry has an open AS top-50 roadmap issue tracking the missing binding
    • keep as JS bucket is fully covered by STEP 1's carve-out rules (no unexplained residue)
  • Final closeout comment on [campaign] Unnecessarily-JavaScript → AffineScript estate migration (UMBRELLA) #254 records the realistic PR count (umbrella estimates 50-150 — refine with actual)
  • Per-PR ownership gate on any standards/hypatia PRs that update carve-out classes during this step

Sequencing

Blocks: campaign closeout. Once this step's convergence criterion is met, #254 can close.
Blocked by: STEP 4 (binding-fills are the input that makes re-triage meaningful). Also implicitly blocked by STEP 3 (each port wave shrinks the portable now bucket; without progress there, re-triage is mechanical only).

Metadata

Metadata

Assignees

No one assigned

    Labels

    campaignMulti-PR multi-session estate campaignjs-to-affinescriptTracks the Unnecessarily-JavaScript → AffineScript migration campaign (umbrella #254)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions