Skip to content

docs(adr): ADR-019 — compiler distribution: Releases + thin Deno/JSR shim (#260 S1) - #283

Merged
hyperpolymath merged 1 commit into
mainfrom
adr017-260-distribution
May 19, 2026
Merged

docs(adr): ADR-019 — compiler distribution: Releases + thin Deno/JSR shim (#260 S1)#283
hyperpolymath merged 1 commit into
mainfrom
adr017-260-distribution

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

#260 S1 — ADR-019: compiler distribution (Releases + thin Deno/JSR shim)

INT-04 (#181) is "publish compiler + runtime". The runtime JS packages ship to JSR (#261; publish authorised + dispatched 2026-05-19). The compiler is a native OCaml binary — not a JSR/npm package — so its distribution was an escalated one-way-door fork (#260, AskUserQuestion). Owner chose option 4: GitHub Releases binaries + thin Deno/JSR shim.

Slice S1 — decision record only, no code (one-way-door discipline, mirrors ADR-015/016):

dune test --force 295/295 (docs/a2ml only; zero code, zero regression).

Refs #260 #181 #282. Not Closes — staged campaign.

🤖 Generated with Claude Code

…shim (#260 S1)

INT-04 (#181) "publish compiler + runtime": the runtime JS packages
ship to JSR (#261, publish authorised + dispatched 2026-05-19); the
compiler is a native OCaml binary, NOT a JSR/npm package. Its
distribution was an escalated one-way-door fork (#260,
AskUserQuestion). Owner chose option 4 = GitHub Releases binaries +
thin Deno/JSR shim.

Slice S1 — decision record only, no code (the discipline for a
one-way-door, mirroring ADR-015/016):
- ADR-019 in docs/specs/SETTLED-DECISIONS.adoc + the META.a2ml
  `[[adr]]` block (next free id; 016 was #234, 017/018 taken by
  concurrent merged ADRs). Releases-canonical dual-channel: release.yml
  emits per-platform binaries + SHA256SUMS (single source of truth;
  Guix/Nix/npm are additive fetch-derivations later, not separate
  producers); a thin `@hyperpolymath/affinescript` Deno/JSR shim
  downloads + checksum-verifies + caches + execs the pinned binary
  (HTTPS-only, no secrets, one version+checksum per shim release).
  Staged S1..S4.
- INT-10 (`affinescript-lsp` distribution) UNBLOCKED by this decision
  and filed as #282 (consumes the shim; gated on #260 S2/S3).
- TECH-DEBT INT-04 row + ECOSYSTEM INT-10 row truthed.

Gate: dune test --force green (docs/a2ml only; zero code, zero
regression).

Refs #260 #181 #282. Not Closes — staged campaign; owner closes per
ISSUE-CLOSURE.
@hyperpolymath
hyperpolymath merged commit 8af9b46 into main May 19, 2026
12 of 13 checks passed
@hyperpolymath
hyperpolymath deleted the adr017-260-distribution branch May 19, 2026 20:24
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 47 issues detected

Severity Count
🔴 Critical 12
🟠 High 21
🟡 Medium 14

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stray AI.a2ml in root -- use 0-AI-MANIFEST.a2ml only",
    "type": "banned",
    "file": "AI.a2ml",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Superseded by 0-AI-MANIFEST.a2ml",
    "type": "banned",
    "file": "AI.djot",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Issue in quality.yml",
    "type": "missing_workflow",
    "file": "quality.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in security-policy.yml",
    "type": "missing_workflow",
    "file": "security-policy.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Action actions/checkout@v4 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action denoland/setup-deno@v2 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/example/smoke_driver.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/cli.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant