Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .machine_readable/6a2/META.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ author = "Jonathan D.A. Jewell (hyperpolymath)"
build-tool = "just"
container-runtime = "podman"
ci-platform = "github-actions"
package-manager = "guix" # guix | nix | cargo | mix
package-manager = "guix" # guix | guix | cargo | mix

[maintenance-axes]
scoping-first = true
Expand All @@ -46,7 +46,7 @@ perfective-source = "axis-1 honest state after corrective/adaptive updates"
[axis-3-audit-rules]
audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"
compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"
drift-risk-example = "single exception broadening into policy violation (e.g. ReScript->TypeScript spread)"
drift-risk-example = "single exception broadening into policy violation (e.g. AffineScript->TypeScript spread)"
effects-evidence = "benchmark execution/results and maintainer status dialogue/review"

[design-rationale]
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/6a2/PLAYBOOK.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ enforcement-workflow = ".github/workflows/estate-rules.yml"
# .github/ CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, workflows/
# .machine_readable/ AI manifests (0.1-AI-MANIFEST.a2ml), 6a2/ checkpoints,
# contractiles/, configs/, anchors/, policies/, scripts/, svc/
# build/ contractile.just, flake.nix, guix.scm, Containerfile,
# build/ contractile.just, flake.guix, guix.scm, Containerfile,
# just/*.just (Justfile section imports)
# docs/ onboarding/, status/, architecture/, governance/ (all .adoc)
# session/ dispatch.sh, custom-checks.k9, local-hooks.sh
Expand Down Expand Up @@ -103,7 +103,7 @@ enforcement-workflow = ".github/workflows/estate-rules.yml"
# build/just/groove.just Groove protocol setup (after zig removed)
#
# Daily-use recipes (BUILD, TEST, LINT, RUN, DEPS, DOCS, CONTAINER, CI,
# SECURITY, STATE, GUIX/NIX, MATRIX, VERSION CONTROL, UTILITIES, SESSION)
# SECURITY, STATE, GUIX/GUIX, MATRIX, VERSION CONTROL, UTILITIES, SESSION)
# stay in the root Justfile where users expect to find them.

# === 5-PR cleanup pattern ===
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/6a2/STATE.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ milestones = [
{ name = "Phase 1e: Trustfile / contractiles", completion = 100 },
{ name = "Phase 2: Container ecosystem templates (stapeln)", completion = 100 },
{ name = "Phase 3: Multi-forge sync hardening", completion = 0 },
{ name = "Phase 4: Nix/Guix reproducible shells", completion = 50 },
{ name = "Phase 4: Guix/Guix reproducible shells", completion = 50 },
]

[blockers-and-issues]
Expand All @@ -43,7 +43,7 @@ actions = [
"Container templates complete — test with `just container-init`",
"Validate container templates across wolfi-base and static Chainguard images",
"Harden multi-forge sync for GitLab/Bitbucket mirroring edge cases",
"Expand Nix/Guix development shell templates",
"Expand Guix/Guix development shell templates",
]

[maintenance-status]
Expand Down
10 changes: 5 additions & 5 deletions .machine_readable/contractiles/Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ build *args:
# cargo build {{args}} # Rust
# mix compile {{args}} # Elixir
# zig build {{args}} # Zig
# deno task build {{args}} # Deno/ReScript
# deno task build {{args}} # Deno/AffineScript
@echo "Build complete"

# Build in release mode with optimizations
Expand Down Expand Up @@ -559,7 +559,7 @@ state-phase:
@grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml 2>/dev/null | head -1 || echo "unknown"

# ═══════════════════════════════════════════════════════════════════════════════
# GUIX & NIX
# GUIX & GUIX
# ═══════════════════════════════════════════════════════════════════════════════

# Enter Guix development shell (primary)
Expand All @@ -570,9 +570,9 @@ guix-shell:
guix-build:
guix build -f guix.scm

# Enter Nix development shell (fallback)
nix-shell:
@if [ -f "flake.nix" ]; then nix develop; else echo "No flake.nix"; fi
# Enter Guix development shell (fallback)
guix-shell:
@if [ -f "flake.guix" ]; then guix develop; else echo "No flake.guix"; fi

# ═══════════════════════════════════════════════════════════════════════════════
# HYBRID AUTOMATION
Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/root-allow.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
flake.nix
flake.guix
48 changes: 48 additions & 0 deletions ARCHITECTURE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
== Architecture

=== Overview

This repository follows a modular, maintainable architecture designed
for clarity, scalability, and long-term sustainability.

=== Directory Structure

....
.
├── src/ # Source code
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration files
├── LICENSE # License file
├── LICENSES/ # Full license texts
└── README.adoc # Project documentation
....

=== Design Principles

* *Separation of Concerns*: Each module has a single responsibility
* *Testability*: Code is written to be easily testable
* *Documentation*: All public APIs are documented
* *Configuration*: Environment-specific settings are externalized

=== Dependencies

* External dependencies are minimized and clearly declared
* Version pinning is used for reproducibility

=== Security Considerations

* Sensitive data is never committed to the repository
* Secrets are managed through environment variables or secure vaults
* Regular dependency audits are performed

=== Maintainability

* Code follows consistent style guidelines
* Pull requests require review and CI checks
* Issues and discussions are tracked transparently

'''''

_Last updated: 2026-07-18_
47 changes: 0 additions & 47 deletions ARCHITECTURE.md

This file was deleted.

75 changes: 75 additions & 0 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
== Contributing to EchoTypes.jl

Thanks for your interest. This repository follows the Hyperpolymath
estate standards defined in
https://github.com/hyperpolymath/standards[hyperpolymath/standards].

=== Licence

This project is licensed under *MPL-2.0*. By contributing you agree that
your contributions are licensed under the same terms. Every source file
carries an `+SPDX-License-Identifier+` header; keep it when editing, and
add one to any new file.

=== Development environment

A pinned dev shell is provided:

[source,sh]
----
guix develop # toolchain: just julia-bin
----

Estate policy is Guix primary / Guix fallback; this repo currently ships
the Guix fallback. A `+guix.scm+` is welcome if you prefer the primary
tier.

=== Build and test

This repo uses https://just.systems[`+just+`] (the estate uses
Justfiles, never Makefiles). Recipes available here:

[source,sh]
----
just # list recipes
just fmt # format
just fmt-check # check formatting
just lint # lint
just test-all # run the full suite
just doctor # environment diagnostics
----

=== Machine-readable artefacts

This repo carries `+.machine_readable/+` A2ML files (`+STATE.a2ml+`,
`+META.a2ml+`, `+ECOSYSTEM.a2ml+`, `+AGENTIC.a2ml+`, `+NEUROSYM.a2ml+`,
`+PLAYBOOK.a2ml+`). If your change alters project state, architecture,
or operational steps, update the corresponding file in the same PR — CI
validates them.

=== Language policy

The estate restricts which languages may be used. In particular Python,
Go, TypeScript, AffineScript, V-lang, Java/Kotlin, Swift and Makefiles
are *not* accepted in new code; AffineScript, Rust/SPARK, Zig, Deno,
Gleam, Elixir, Haskell, Idris2, Agda, Julia and OCaml are. CI enforces
this, so check the policy in `+hyperpolymath/standards+` before
introducing a new language.

=== Documentation format

Docs are AsciiDoc (`+.adoc+`) by default, including `+README.adoc+`. The
GitHub-required community-health files stay Markdown: `+SECURITY.md+`,
`+CONTRIBUTING.md+`, `+CODE_OF_CONDUCT.md+`, `+CHANGELOG.md+`. Do not
add a `+.md+` duplicate of a doc that already exists as `+.adoc+`.

=== Pull requests

[arabic]
. Branch from `+main+` — do not push to `+main+` directly; branch
protection requires review and passing checks.
. Keep the change focused, and explain _why_ in the PR body.
. Make sure governance CI is green. It checks documentation presence,
packaging policy, secrets, licence consistency and workflow security.
. Security issues: follow `+SECURITY.md+` — report privately, never in a
public issue.
72 changes: 0 additions & 72 deletions CONTRIBUTING.md

This file was deleted.

Loading
Loading