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
24 changes: 24 additions & 0 deletions CODE_OF_CONDUCT.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
== Contributor Covenant Code of Conduct

=== Our Pledge

We pledge to make participation a harassment-free experience for
everyone.

=== Our Standards

*Positive behavior:* * Using welcoming language * Being respectful of
differing viewpoints * Accepting constructive criticism * Focusing on
what is best for the community

*Unacceptable behavior:* * Harassment, trolling, or personal attacks *
Publishing private information without permission

=== Enforcement

Report issues to the maintainers. All complaints will be reviewed.

=== Attribution

Adapted from https://www.contributor-covenant.org/[Contributor Covenant]
v2.1.
27 changes: 0 additions & 27 deletions CODE_OF_CONDUCT.md

This file was deleted.

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

Thank you for your interest in contributing! We follow a "`Dual-Track`"
architecture where human-readable documentation lives in the root and
machine-readable policies live in `+.machine_readable/+`.

=== How to Contribute

We welcome contributions in many forms:

* *Code:* Improving the core stack or extensions
* *Documentation:* Enhancing docs or AI manifests
* *Testing:* Adding property-based tests or formal proofs
* *Bug reports:* Filing clear, reproducible issues

=== Getting Started

[arabic]
. *Read the AI Manifest:* Start with `+0-AI-MANIFEST.a2ml+` (if present)
to understand the repository structure.
. *Environment:* Use `+guix develop+` or `+direnv allow+` to set up your
tools.
. *Task Runner:* Use `+just+` to see available commands
(`+just --list+`).

=== Development Workflow

==== Branch Naming

....
docs/short-description # Documentation
test/what-added # Test additions
feat/short-description # New features
fix/issue-number-description # Bug fixes
refactor/what-changed # Code improvements
security/what-fixed # Security fixes
....

==== Commit Messages

We follow https://www.conventionalcommits.org/[Conventional Commits]:

....
<type>(<scope>): <description>

[optional body]

[optional footer]
....

Types: `+feat+`, `+fix+`, `+docs+`, `+test+`, `+refactor+`, `+ci+`,
`+chore+`, `+security+`

=== Reporting Bugs

Before reporting: 1. Search existing issues 2. Check if it’s already
fixed in `+main+`

When reporting, include: - Clear, descriptive title - Environment
details (OS, versions, toolchain) - Steps to reproduce - Expected vs
actual behaviour

=== Code of Conduct

All contributors are expected to adhere to our
link:CODE_OF_CONDUCT.md[Code of Conduct].

=== License

By contributing, you agree that your contributions will be licensed
under the same license as the project (see LICENSE).
66 changes: 0 additions & 66 deletions CONTRIBUTING.md

This file was deleted.

123 changes: 123 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
https://github.com/sponsors/hyperpolymath[image:https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github[Sponsor]]

== What Is This?

Anvomidaviser converts *ISU (International Skating Union) notation* into
formal figure skating programs via *Anvomidav* — the first programming
language for figure skating choreography.

The pipeline: ISU notation → formal choreography models → scoring
validation → program component analysis.

Anvomidaviser bridges existing notation systems (ISU element codes, IJS
protocols, Code of Points tables) to formally verified Anvomidav
programs.

== How It Works

Describe your program in `+anvomidaviser.toml+` or import ISU protocols.
Anvomidaviser:

[arabic]
. *Parses* ISU element codes — jumps (`+3Lz+`, `+4T+3T+`), spins
(`+CCoSp4+`), steps (`+StSq3+`), lifts
. *Validates* against ISU technical rules — Zayak rule, element counts,
well-balanced requirements
. *Scores* using the Code of Points — base values, GOE adjustments, PCS,
deductions
. *Generates* formal Anvomidav programs with timing, transitions, and
rink positions
. *Outputs* score sheets, validation reports, and choreography files

== Use Cases

* *Competition program planning* — build programs, check legality,
estimate scores before training
* *Judging consistency checks* — verify scores against ISU rules
programmatically
* *Training feedback* — track element difficulty progression across
seasons
* *Coaching tools* — visualise program layout, timing, and transitions

== Architecture

Follows the hyperpolymath -iser pattern:

....
anvomidaviser.toml (manifest)
|
v
ISU Parser (Rust CLI)
|
v
Idris2 ABI (proves scoring rule correctness)
|
v
Zig FFI (C-ABI bridge to scoring engine)
|
v
Anvomidav Codegen (formal program descriptions)
....

Part of the https://github.com/hyperpolymath/iseriser[-iser family].

== CLI Commands

[source,bash]
----
# Create a new manifest
anvomidaviser init

# Validate a manifest against ISU rules
anvomidaviser validate -m anvomidaviser.toml

# Generate Anvomidav program and score sheets
anvomidaviser generate -m anvomidaviser.toml -o generated/

# Build generated artifacts
anvomidaviser build -m anvomidaviser.toml --release

# Run the scoring engine
anvomidaviser run -m anvomidaviser.toml

# Show manifest information
anvomidaviser info -m anvomidaviser.toml
----

== Example Manifest

[source,toml]
----
[workload]
name = "ladies-short-2026"
discipline = "ladies-single"
segment = "short-program"

[elements]
jump_1 = "3Lz+3T"
spin_1 = "FCSp4"
step_seq = "StSq4"
jump_2 = "3F"
spin_2 = "CCoSp4"
jump_3 = "2A"
spin_3 = "LSp4"

[program]
music = "Clair de Lune"
duration_seconds = 160

[output]
format = "anvomidav"
score_sheet = true
validation_report = true
----

== Status

*Pre-alpha / Codebase in progress.* Architecture defined, CLI
scaffolded, bespoke Idris2 ABI types for ISU scoring, Zig FFI stubs with
anvomidaviser symbols. Codegen and scoring engine pending.

== License

SPDX-License-Identifier: CC-BY-SA-4.0
Loading
Loading