Skip to content

AffineScript port: 726 of 747 .affine modules are empty stubs (since #107) #148

Open

Description

@hyperpolymath

Problem

#107 ("estate architectural upgrades", 2026-08-24, automated) deleted the ReScript frontend: 728 files, about 162k lines, including rescript.json and clade-portal/rescript.json. In their place it added 726 seven-line .affine files. Each one contains only a licence header, module X;, and:

// TODO: Complete semantic implementation

As a result:

  • src/ and clade-portal/src/ have no frontend code on main. 726 of the 747 tracked .affine files are this stub.
  • 136 of the 143 files in tests/*.js import ../src/**/*.res.js. That compiled output can no longer be produced, so the JS suite cannot run.
  • tools/pcc (rescript_scanner.rs) scans src/*.res files, which no longer exist. panel verify exits 1.
  • The Justfile, gossamer.conf.json and panll-launcher.sh still call deno task res:build / deno task dev.

The last complete frontend is db59956, the parent of #107.

Why this issue exists now

The estate Code Hygiene Gate (cicd-suite code-hygiene-check) fails on untracked debt markers. These 726 markers are real debt, so they are linked here as TODO(#<this issue>). They are not hidden behind an allowlist.

Decision needed (owner)

Pick one:

  1. Restore the ReScript frontend from db59956 as the working baseline, and port it module by module.
  2. Port to AffineScript properly. The stubs stay linked here until each module is real.
  3. Delete the stubs and record that the frontend is out of scope for now.

Done when

  • No .affine file in src/ or clade-portal/src/ is a stub, or the stubs are deleted under option 3.
  • The JS/E2E suite runs in CI against real code.
  • tools/pcc panel verify scans the language the frontend is written in.

Activity

  1. added
    migrationPorting between languages or toolchains (e.g. -> AffineScript)
    on Oct 14, 2026
  2. added a commit that references this issue on Oct 14, 2026
  3. hyperpolymath commented on Oct 14, 2026

    @hyperpolymath
    OwnerAuthor

    Owner decision (2026-10-14): option 2. The frontend will be ported to AffineScript, and the ReScript is not restored from db59956. Git history remains the source to port from.

    What follows from that, in #150:

    • The dead CI gates were removed:
      • Build Validation's Deno/ReScript build, its Deno test gate, and the pcc panel verify gate.
      • E2E's e2e-deno, crosscutting and bench jobs.
      • The tests themselves stay in tests/.
    • Done when for this issue now also includes: re-add those gates against the AffineScript build, port the 136 tests/*.js files that import src/**/*.res.js to the AffineScript output, and teach tools/pcc to scan .affine (rescript_scanner.rs).

    Useful starting points from the recon:

    • migration/modules/*.affine holds 11 hand-ports. migration/modules/STATUS.adoc says all 11 compile under affinescript check.
    • src/ui/tea/*.affine and src/core/provisioner_engine.affine are the only real AffineScript in src/.
    • No workflow runs affinescript yet, so a compile gate is the first CI step to add.

    Generated by Claude Code

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

    enhancementNew capability or improvement to existing behaviourmigrationPorting between languages or toolchains (e.g. -> AffineScript)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions