Skip to content

chore: Item 9 — retire ReScript guidance → AffineScript#73

Merged
hyperpolymath merged 3 commits into
mainfrom
chore/item9-rescript-to-affinescript-guidance
May 18, 2026
Merged

chore: Item 9 — retire ReScript guidance → AffineScript#73
hyperpolymath merged 3 commits into
mainfrom
chore/item9-rescript-to-affinescript-guidance

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Estate Tech-Debt — Item 9 (ReScript→AffineScript CI-text sweep)

Rewrites guidance/policy text that recommended ReScript as the
TypeScript/Python replacement to recommend AffineScript instead, per the
estate language policy (RS/TS/JS → AffineScript → typed-wasm).

Scope

  • ✅ In scope: "use ReScript instead" guidance, Rust/ReScript migration-guide
    phrasing, Rust or ReScript policy text.
  • ⛔ Out of scope (intentionally untouched): any rescript-named path/dir and
    ReScript adapters (e.g. proven). That work is preserved intact and usable
    for the ReScript ecosystem — only the forward-looking recommendation changes.

Mechanical, reviewed substitution; residual in-scope occurrences verified 0.

🤖 Generated with Claude Code

Estate language policy: RS/TS/JS → AffineScript → typed-wasm. This rewrites
guidance/policy text that recommended ReScript as the TypeScript/Python
replacement so it now points at AffineScript.

Scope guard (deliberate): rescript-named paths and ReScript adapters are NOT
touched — that work is preserved intact for the ReScript ecosystem. Only the
forward-looking "use ReScript instead" recommendation is updated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request May 18, 2026
…rywhere (#101)

## What

Canonicalises the estate ruling of 2026-05-18 and supersedes the prior
standing
rule "Nix shard fallback on Guix channel primary everywhere".

- **`spec/LANGUAGE-POLICY.adoc` §Package Management** — the canonical
statement.
Guix primary; **sealed container (not a Nix mirror)** is the single
universal
escape hatch for the not-in-Guix / non-free tail; one packager per repo;
a
second packager only as the sole source of a specific named dependency.
- **`.machine_readable/agent_instructions/debt.a2ml`** — estate-wide
`flake.nix`-mirror removal + consumer-doc reconciliation logged as a
SHOULD
  debt item.

## Why

A `flake.nix` that only mirrors the Guix manifest is two incomplete
manifests
hand-synced plus containers anyway = pure drift surface, never exercised
as a
real fallback. Guix's full-source bootstrap + `guix time-machine` is
provenance-thesis-aligned; the non-free / not-in-Guix tail (which Guix's
FSDG
structurally excludes) goes to the already-mandated sealed container,
not a Nix
twin.

## Pilot already landed

`hyperpolymath/echidna` PR #73 applied this: `flake.nix`/`flake.lock`
removed,
9 Tier-3 prover Containerfiles consolidated into one sealed multi-target
`Containerfile.wave3`, manifest/CLAUDE/Justfile/STATE reconciled.

## Scope

Surgical: only the canonical §Package Management statement + the debt
record.
The broad consumer-repo sweep (other docs that still say "Fallback:
Nix") is
deliberately deferred to the tracked debt item, per
centralised-standards
(link-don't-copy) — not swept here.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…to-affinescript-guidance

# Conflicts:
#	0-ai-gatekeeper-protocol/.github/workflows/rsr-antipattern.yml
#	0-ai-gatekeeper-protocol/.github/workflows/ts-blocker.yml
#	0-ai-gatekeeper-protocol/mcp-repo-guardian/.github/workflows/rsr-antipattern.yml
#	0-ai-gatekeeper-protocol/mcp-repo-guardian/.github/workflows/ts-blocker.yml
#	0-ai-gatekeeper-protocol/repo-guardian-fs/.github/workflows/rsr-antipattern.yml
#	0-ai-gatekeeper-protocol/repo-guardian-fs/.github/workflows/ts-blocker.yml
#	a2ml/.github/workflows/rsr-antipattern.yml
#	a2ml/.github/workflows/ts-blocker.yml
#	a2ml/bindings/deno/.github/workflows/rsr-antipattern.yml
#	a2ml/bindings/deno/.github/workflows/ts-blocker.yml
#	a2ml/bindings/haskell/.github/workflows/rsr-antipattern.yml
#	a2ml/bindings/haskell/.github/workflows/ts-blocker.yml
#	a2ml/bindings/rust/.github/workflows/rsr-antipattern.yml
#	a2ml/bindings/rust/.github/workflows/ts-blocker.yml
#	a2ml/editors/vscode/.github/workflows/rsr-antipattern.yml
#	a2ml/editors/vscode/.github/workflows/ts-blocker.yml
#	a2ml/pandoc/.github/workflows/rsr-antipattern.yml
#	a2ml/pandoc/.github/workflows/ts-blocker.yml
#	consent-aware-http/.github/workflows/rsr-antipattern.yml
#	k9-svc/actions/validate/.github/workflows/rsr-antipattern.yml
#	k9-svc/actions/validate/.github/workflows/ts-blocker.yml
#	k9-svc/bindings/deno/.github/workflows/rsr-antipattern.yml
#	k9-svc/bindings/deno/.github/workflows/ts-blocker.yml
#	k9-svc/bindings/haskell/.github/workflows/rsr-antipattern.yml
#	k9-svc/bindings/haskell/.github/workflows/ts-blocker.yml
#	k9-svc/bindings/rust/.github/workflows/rsr-antipattern.yml
#	k9-svc/bindings/rust/.github/workflows/ts-blocker.yml
#	k9-svc/editors/vscode/.github/workflows/rsr-antipattern.yml
#	k9-svc/editors/vscode/.github/workflows/ts-blocker.yml
#	k9-svc/pandoc/.github/workflows/rsr-antipattern.yml
#	k9-svc/pandoc/.github/workflows/ts-blocker.yml
#	lol/.github/workflows/rsr-antipattern.yml
#	lol/.github/workflows/ts-blocker.yml
#	meta-a2ml/.github/workflows/rsr-antipattern.yml
#	meta-a2ml/.github/workflows/ts-blocker.yml
#	rhodium-standard-repositories/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/cccp/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/cccp/.github/workflows/ts-blocker.yml
#	rhodium-standard-repositories/satellites/cccp/satellites/nextgen-languages/7-tentacles/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/cccp/satellites/nextgen-languages/7-tentacles/.github/workflows/ts-blocker.yml
#	rhodium-standard-repositories/satellites/consent-aware-http/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/consent-aware-http/.github/workflows/ts-blocker.yml
#	rhodium-standard-repositories/satellites/mustfile/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/palimpsest-license/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/robot-repo-automaton/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/rsr-certifier/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/rsr-certifier/.github/workflows/ts-blocker.yml
#	rhodium-standard-repositories/satellites/rsr-deployer/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/state.scm/.github/workflows/rsr-antipattern.yml
#	rhodium-standard-repositories/satellites/well-known-ecosystem/.github/workflows/rsr-antipattern.yml
hyperpolymath added a commit that referenced this pull request May 18, 2026
Closes the actionable of #103 (Wave 0 of campaign #102; policy #101).

Read-only discovery over all **379** hyperpolymath repos (top-level
`HEAD`), committed as the durable worklist
`rhodium-standard-repositories/spec/nix-retirement-inventory.adoc`:

| Class | Count |
|---|---|
| Candidate (→ 14 waves) | 277 |
| Monorepo → handle at source | 8 |
| Excluded (standards, echidna #73) | 2 |
| Out-of-scope (no flake / no Guix) | 92 |

Verdicts are **provisional** — final keep/remove is per-repo at wave
time (`flake` inputs vs `Guix ∪ sealed-container`). The
`.guix-channel`-only and flake-without-Guix traps were checked and are
**empty**; the earlier triage's "my-lang = channel-only" was inaccurate
(my-lang has no flake.nix → out-of-scope). The `Wave` column is
authoritative for slicing the wave sub-issues.

Gate rules are **not duplicated** here — the artifact links to #102 /
`LANGUAGE-POLICY.adoc`.

Refs #103
Refs #101

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit c46026e into main May 18, 2026
0 of 16 checks passed
@hyperpolymath hyperpolymath deleted the chore/item9-rescript-to-affinescript-guidance branch May 18, 2026 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant