Skip to content

refactor(root): move root artefacts to their canonical locations - #55

Merged
hyperpolymath merged 1 commit into
mainfrom
refactor/root-shape-rollout
Sep 19, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
refactor/root-shape-rollout

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

refactor(root): move root artefacts to their canonical locations

Applies the estate root-shape rollout: files that are not root-level by
necessity move to where their tooling and the estate canon expect them, and
every reference to them is updated in the same change.

  • .github/hooks/validate-a2ml.sh
    (from .githooks/validate-a2ml.sh)
    -> .github/hooks/validate-a2ml.sh
  • .github/hooks/validate-k9.sh
    (from .githooks/validate-k9.sh)
    -> .github/hooks/validate-k9.sh
  • .github/workflows/dogfood-gate.yml
  • .machine_readable/root-allow.txt
  • CONTRIBUTING.adoc
    (deleted)
  • scripts/validate-template.sh
  • src/interface/abi.ipkg
    (from abi.ipkg)
    -> src/interface/abi.ipkg

Verified with git apply --check against current main before committing; no
behaviour change intended, the Justfile entry points keep working.

Applies the estate root-shape rollout: files that are not root-level by
necessity move to where their tooling and the estate canon expect them, and
every reference to them is updated in the same change.

  * .github/hooks/validate-a2ml.sh
      (from .githooks/validate-a2ml.sh)
      ->   .github/hooks/validate-a2ml.sh
  * .github/hooks/validate-k9.sh
      (from .githooks/validate-k9.sh)
      ->   .github/hooks/validate-k9.sh
  * .github/workflows/dogfood-gate.yml
  * .machine_readable/root-allow.txt
  * CONTRIBUTING.adoc
      (deleted)
  * scripts/validate-template.sh
  * src/interface/abi.ipkg
      (from abi.ipkg)
      ->   src/interface/abi.ipkg

Verified with `git apply --check` against current main before committing; no
behaviour change intended, the Justfile entry points keep working.
@hyperpolymath
hyperpolymath merged commit 7329ceb into main Sep 19, 2026
1 check passed
@hyperpolymath
hyperpolymath deleted the refactor/root-shape-rollout branch September 19, 2026 09:01
@sonarqubecloud

Copy link
Copy Markdown

hyperpolymath pushed a commit that referenced this pull request Nov 9, 2026
#55 moved abi.ipkg from the repo root to src/interface/, but the Justfile
`test` recipe and the idris2-proof workflow still ran
`idris2 --install abi.ipkg` from the root, which fails with
"File Not Found". The workflow has failed on main since that commit
(7329ceb, 2026-09-19). Both now install src/interface/abi.ipkg.

Checked locally with Idris2 0.8.0 (the workflow pins 0.7.0): kernel and
ABI install exit 0, anytype-tests 19/19 pass, check-cli.sh PASS, and
check-idris2-proofs.sh PASS. The Zig seam step was not run here: the repo
pins Zig 0.16.0, which this environment does not have.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjUNwStGwcKTtAQ3NY
hyperpolymath added a commit that referenced this pull request Nov 10, 2026
…c/interface/abi.ipkg (#73)

## Summary

This PR has two changes:

1. **ephapax relationship.** This records the anytype item from the
ephapax v2 survey's cross-repo action list
(`ephapax/docs/reports/2026-11-04-v2-survey/EPHAPAX-V2-ARCHITECTURE-AND-PLAN.adoc`):
ephapax uses anytype as a *design reference only*. There is no code or
build dependency (kernel ruling D-2026-10-12), and no soundness proof
exists for the relationship.
2. **Broken ABI install path (CI fix).** #55 (`7329ceb`, 2026-09-19)
moved `abi.ipkg` to `src/interface/`. The Justfile `test` recipe and
`.github/workflows/idris2-proof.yml` still ran `idris2 --install
abi.ipkg` from the repo root, which fails with `File Not Found`. The
Idris2 proof workflow has failed on main since that commit. Both now
install `src/interface/abi.ipkg`.

## Changes

- **`README.adoc`**: a new section, "Relationship to ephapax (design
reference only)", placed after "Relationship to systemet and
AffineScript". It says:
- ephapax borrows "pick the algebra, get the discipline" and is not a
downstream profile of this kernel;
  - there is no code or build dependency in either direction;
- no soundness proof exists, and ephapax keeps its {0,1,ω} usage grades
separate from an anytype-style single algebra.
- **`CHANGELOG.adoc`**: an `[Unreleased] → Added` entry.
- **`Justfile` and `.github/workflows/idris2-proof.yml`**: install the
ABI package as `idris2 --install src/interface/abi.ipkg`.

## RSR Quality Checklist

### Required

- [ ] Tests pass (`just test` or equivalent). Partly: every Idris2 step
passes here; the Zig seam step was not run (see Testing).
- [ ] Code is formatted (`just fmt` or equivalent). `fmt-check` is still
a TODO placeholder recipe.
- [ ] Linter is clean (no new warnings or errors). `lint` is still a
TODO placeholder recipe.
- [x] No banned language patterns.
- [x] No `unsafe` blocks without `// SAFETY:` comments (n/a).
- [x] No banned functions (n/a).
- [x] SPDX license headers present (existing headers kept).
- [x] No secrets, credentials, or `.env` files included.

### As Applicable

- [ ] `.machine_readable/6a2/ECOSYSTEM.a2ml` updated: deliberately not
done. A2ML is retired estate-wide and must not be extended. This records
a non-dependency, and editing the file would drift the generated
CLAUDE.md hash.
- [x] Documentation updated for user-facing changes.
- [x] `CHANGELOG` or release notes updated.

## Testing

All with Idris2 0.8.0, since the repo pins 0.7.0, which was not
available here:

- `idris2 --install anytype.ipkg`: exit 0.
- `idris2 --install abi.ipkg` from the root, before the fix: `File Not
Found`. After the fix, `idris2 --install src/interface/abi.ipkg`: exit
0.
- `anytype-tests`: 19/19 PASS.
- `anytype-cli` with `scripts/check-cli.sh`: `RESULT: PASS`.
- `scripts/check-idris2-proofs.sh`: `RESULT: PASS`, all 21 `.idr` files
accounted for.
- Zig seam (`zig build test`): not run. The repo pins Zig 0.16.0; with
Zig 0.15.1 it fails to compile with 5 errors (`Io.Threaded`,
`testing.io`), which is a version mismatch, not a defect.

The workflow run on this PR is the real check of the CI change.

The commits are SSH-signed with the session key, not the owner's GPG
key.

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

https://claude.ai/code/session_01J4QvDjUNwStGwcKTtAQ3NY

---------

Co-authored-by: Claude <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