Skip to content

refactor: estate architectural upgrades - #36

Merged
hyperpolymath merged 1 commit into
mainfrom
refactor/eradicate-rescript
Aug 24, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
refactor/eradicate-rescript

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Aug 24, 2026 •

Copy link
Copy Markdown
Owner

Automated PR for mechanical eradication and upgrades.


Summary by Gitar

  • Language migration:
    • Eradicated ReScript files and configuration by removing rescript.json and .res sources
    • Ported codebase and examples to AffineScript by introducing new .affine source files across Deno, Haskell, and Rust implementations

This will update automatically on new commits.

@sonarqubecloud

Copy link
Copy Markdown

@gitar-bot

gitar-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

@hyperpolymath
hyperpolymath merged commit 4f41d0c into main Aug 24, 2026
7 of 9 checks passed
@hyperpolymath
hyperpolymath deleted the refactor/eradicate-rescript branch August 24, 2026 04:17
hyperpolymath added a commit that referenced this pull request Oct 1, 2026
…#70)

## What

A new crate, `rs/deed-read`. It is its own Cargo root and does not touch
the legacy `a2ml` package in `rs/`.

- **`syntax`**: the parser for the normative DEED grammar, extracted
from `launch-scaffolder` `crates/launcher-common/src/deed.rs` @
`154b9b61` (#36), together with its vendored corpus and corpus tests.
The code is unchanged; only the header, the import path and added
one-line `///` docstrings (§5d) differ.
- **`updates`**: a reader for the `(updates …)` repo-deed clause, the
per-repo switch for automated dependency updates (ruling D269c; spec
`standards` `1-formats/deed/vocabulary/updates.adoc`,
metadatastician/standards#1110).
- It **fails closed**: an unknown, repeated, mistyped or missing term is
an error, and the caller then arms nothing.
  - No clause, or no deed, means the defaults.
- **`tests/hub_conformance.rs`** runs this hub's own
`conformance/*.deed`: the 4 valid deeds must parse and the 5 invalid
ones must be rejected. It also reads the updates fixture end to end.
Nothing is added to `conformance/`, because `run-deed-tests.sh` asserts
exact counts.
- **`.github/workflows/deed-read.yml`** runs test, clippy (`-D
warnings`) and docs (`-D warnings`).
- It reuses the checkout pin already used by this repo's other workflows
(`3d3c42e5…`, v7.0.1) with `persist-credentials: false`.
- It has no `paths:` filter, so the check can later be made required
without deadlocking unrelated PRs. It is **not** required now.

## Why

This is the deed reader for the always-current dependency pipeline
(D269). `cicd-squabbler`'s `squabble bump`/`rollback` and hypatia's
dependabot render sweep consume it, so the repo-deed toggle has one
parser rather than three.

## Verified locally (cargo 1.97.1)

- `cargo test --locked`: 44 passed, 0 failed.
- `cargo clippy --all-targets -D warnings`: clean.
- `cargo doc -D warnings`: clean.
- Mutation check: three hand-planted mutants were each killed by exactly
their own test:
  - ignoring unknown fields;
  - making `:reason` optional;
  - coercing non-booleans.

## Known windows (stated, not hidden)

- **Duplication with launch-scaffolder.** Until launch-scaffolder
replaces its `deed.rs` with a dependency on this crate, two copies
exist. Both are tested against the same `MANIFEST.sha256` corpus. That
swap is the follow-up.
- **Unmerged fixture.**
`tests/fixtures/deed/valid/updates-clause_chora.deed` is vendored from
**unmerged** metadatastician/standards#1110 (head `70e3e220`). If #1110
changes the fixture before it merges, refresh it here and regenerate
`MANIFEST.sha256`. The other files were re-checked byte-identical
against standards.

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

https://claude.ai/code/session_019nbmPnyCN2ccVhiS7NZD1V

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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