Skip to content

Latest commit

 

History

History
219 lines (141 loc) · 6.16 KB

File metadata and controls

219 lines (141 loc) · 6.16 KB

TOPOLOGY.md — Affinescriptiser Repository Map

Root

File Purpose

0-AI-MANIFEST.a2ml

AI agent entry point — canonical file locations and invariants

README.adoc

Human-facing orientation: what, why, how, architecture

ROADMAP.adoc

Phased development plan (Phase 0–5)

TOPOLOGY.md

This file — repository structure map

CONTRIBUTING.adoc

Contribution guide

SECURITY.md

Security policy

CHANGELOG.md

Release history

LICENSE

MPL-2.0 full text

Cargo.toml

Rust crate manifest (clap, serde, toml, handlebars)

Justfile

Task runner (build, test, lint, fmt, quality, assail)

Containerfile

OCI container build (Chainguard base)

contractile.just

Contractile enforcement recipes

flake.guix

Guix flake for reproducible builds

guix.scm

Guix package definition

.editorconfig

Editor formatting rules

.envrc

direnv environment

.gitignore

Git ignore rules

.gitattributes

Git attribute rules

.gitlab-ci.yml

GitLab CI mirror pipeline

.guix-channel

Guix channel metadata

.tool-versions

asdf tool version pins

src/ — Source Code

Rust CLI and Orchestration

File Purpose

src/main.rs

CLI entry point — clap subcommands: init, validate, generate, build, run, info

src/lib.rs

Library facade — re-exports manifest, codegen, abi modules

src/manifest/mod.rs

TOML manifest parser — Manifest, WorkloadConfig, DataConfig, Options

src/codegen/mod.rs

Code generation stubs — generate_all(), build(), run() (pending implementation)

src/abi/mod.rs

ABI module declaration (Rust side)

Verified Interface Seams (src/interface/)

Path Language Purpose

src/interface/abi/Types.idr

Idris2

ABI type definitions: ResourceKind, Linearity, Ownership, platform detection, opaque handles, memory layout proofs

src/interface/abi/Layout.idr

Idris2

WASM memory layout proofs: alignment, padding, struct field layout, C ABI compliance

src/interface/abi/Foreign.idr

Idris2

FFI declarations: library lifecycle, core operations, string/buffer ops, error handling, version info, callbacks

src/interface/ffi/build.zig

Zig

Build configuration: shared/static library, C header generation, test/bench steps

src/interface/ffi/src/main.zig

Zig

FFI implementation: C-ABI functions matching Foreign.idr declarations

src/interface/ffi/test/integration_test.zig

Zig

Integration tests: lifecycle, operations, strings, errors, memory safety, threading

src/interface/generated/abi/

(empty)

Target directory for generated C headers from Idris2 ABI

Cross-Cutting Modules

Path Purpose

src/aspects/integrity/

Data integrity aspects (pending)

src/aspects/observability/

Observability aspects (pending)

src/aspects/security/

Security aspects (pending)

src/bridges/

Bridge code between analysis and codegen (pending)

src/contracts/

Runtime contract enforcement (pending)

src/core/

Core domain logic (pending)

src/definitions/

Shared type definitions (pending)

src/errors/

Error types and diagnostics (pending)

examples/ — Usage Examples

File Purpose

examples/SafeDOMExample.affine

AffineScript example: SafeDOM mounting with proven selector/HTML validation

examples/web-project-deno.json

Deno project configuration for web example

tests/ — Test Suite

Rust integration and unit tests (via cargo test).

docs/ — Documentation

Technical documentation, architecture diagrams, theory, and practice guides. Includes docs/attribution/, docs/architecture/, docs/theory/, docs/practice/.

features/ — Feature Specifications

BDD-style feature specs for affinescriptiser behaviour.

verification/ — Verification Artefacts

Formal verification scripts and proof artefacts.

container/ — Container Ecosystem

Stapeln container configuration for OCI deployment.

.machine_readable/ — Machine-Readable Metadata

All machine-readable metadata lives here (never in root).

Path Purpose

.machine_readable/6a2/STATE.a2ml

Project state: scaffold phase, 5% complete

.machine_readable/6a2/META.a2ml

Architecture decisions: iser-pattern, ABI-FFI standard, RSR template

.machine_readable/6a2/ECOSYSTEM.a2ml

Ecosystem position: -iser family, siblings (typedqliser, chapeliser, verisimiser)

.machine_readable/CLADE.a2ml

Clade taxonomy classification

.machine_readable/ENSAID_CONFIG.a2ml

ENSAID integration configuration

.machine_readable/anchors/

Semantic boundary declarations

.machine_readable/bot_directives/

Bot-specific instructions (rhodibot, echidnabot, etc.)

.machine_readable/contractiles/

Policy enforcement contracts (k9, dust, must, trust)

.machine_readable/policies/

Maintenance axes, checklists, development approach

.machine_readable/configs/

Tool and CI configuration

.machine_readable/scripts/

Automation scripts

.machine_readable/integrations/

External integration configs

.machine_readable/ai/

AI agent patterns and guides

.machine_readable/compliance/

Compliance documentation

.github/ — GitHub Configuration

CI/CD workflows (17 total), issue templates, PR templates, CODEOWNERS.

.hypatia/ — Hypatia Security Scanner

Neurosymbolic security scanning rules for affinescriptiser.

.claude/ — Claude Code Configuration

File Purpose

.claude/CLAUDE.md

Project-specific AI instructions: architecture, build commands, integration points

.devcontainer/ — Dev Container

VS Code dev container configuration for reproducible development environments.

.well-known/ — Well-Known URIs

Standard well-known directory for security.txt and related metadata.