- Rust 89.7%
- Python 4.8%
- HTML 3.7%
- Shell 1.8%
|
All checks were successful
Application CI / Rust, specifications and PostgreSQL (push) Successful in 13m19s
|
||
|---|---|---|
| .agents/skills/adopt-specification | ||
| .cargo | ||
| .forgejo/workflows | ||
| .github/workflows | ||
| .sqlx | ||
| crates | ||
| docs | ||
| fuzz | ||
| migrations | ||
| specifications/edigas/6.1-2026-07-31 | ||
| tools | ||
| xtask | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| compose.yaml | ||
| idea.pdf | ||
| README.md | ||
| rust-toolchain.toml | ||
European gas and power platform
The first implementation milestone is an offline specification and nomination pipeline. The first NOMINT slice is executable; follow that guide for generation and independent validation setup.
The related NOMRES slice adds confirmation and interruption encoding using the same generation, validation and conformance infrastructure.
The local Axum API exposes both profiles through validation and XML
preview routes, with OpenAPI documentation. Run cargo run -p api --locked in WSL.
The PostgreSQL guide covers optional SQLx persistence infrastructure, local database setup, migrations and database integration tests. The existing document endpoints still perform validation/preview only.
The data modeling proposal researches versioned templates, immutable scheduling intent, market observations and PostgreSQL modeling patterns.
Workspace
spec-artifacts: local manifest and SHA-256 verification.gas-domain: connection-point double-sided nomination inputs and validation.nomination-format: generated Edig@s 6.1 types, outbound mapping, serialization and independent XML business checks.xtask: artifact verification, feature-gated generation, JSON-to-XML mapping and conformance orchestration.api: local HTTP validation and preview, bounded workers, diagnostics and shutdown.persistence: PostgreSQL pool, migrations, schema checks and database test infrastructure.
Rust is pinned in rust-toolchain.toml. Commit the root Cargo.lock.
cargo xtask --help
cargo xtask specs verify path/to/manifest.toml
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --locked
Manifest paths are relative to the manifest directory:
bundle_id = "publisher-release"
[[artifacts]]
path = "upstream/document.xsd"
sha256 = "<64 hexadecimal characters>"
source_url = "<original URL>"
retrieved_at = "<retrieval timestamp>"
Manifest structs derive garde::Validate: one manifest.validate() call checks a nonblank bundle ID, a nonempty artifact list and every nested artifact. Field rules check portable relative paths, 64 ASCII hexadecimal SHA-256 characters, URL syntax and timestamps with explicit UTC offsets (parsed by Jiff). Validation reports collect failures with field paths. Serde deserialization alone does not run these rules; verify always validates before accessing artifact files.
Filesystem containment and content hashes are checked separately. Validation does not establish schema dependency closure, publisher authority, URL reachability, licensing or specification conformance. Keep source artifacts trusted and repository-controlled while verification runs; this is not a sandbox for concurrent untrusted file mutations.
Keep original specification bytes in Git under specifications/<publisher>/<release>/upstream/. The .gitattributes rules disable line-ending conversion there. No separate artifact storage is required initially.
See first milestone, architecture and implementation plan.
For agent-assisted work, start with repository guidance, the decision index, and the specification adoption workflow. The repository includes an adoption skill; the first NOMINT slice demonstrates the extraction and mapper workflows with explicit coverage limits.