No description
  • Rust 89.7%
  • Python 4.8%
  • HTML 3.7%
  • Shell 1.8%
Find a file
Laxmanan Krishnapillai 151209b9ba
All checks were successful
Application CI / Rust, specifications and PostgreSQL (push) Successful in 13m19s
ci(forgejo): add application verification workflow
2026-09-11 17:36:32 +02:00
.agents/skills/adopt-specification feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
.cargo feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
.forgejo/workflows ci(forgejo): add application verification workflow 2026-09-11 17:36:32 +02:00
.github/workflows feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
.sqlx feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
crates feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
docs ci(forgejo): add application verification workflow 2026-09-11 17:36:32 +02:00
fuzz feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
migrations feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
specifications/edigas/6.1-2026-07-31 feat(api): add bounded nomination validation and preview endpoints 2026-09-11 10:17:27 +02:00
tools ci(forgejo): add application verification workflow 2026-09-11 17:36:32 +02:00
xtask feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
.env.example feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
.gitattributes feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
.gitignore feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
AGENTS.md feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
ARCHITECTURE.md feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
Cargo.lock feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
Cargo.toml feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
compose.yaml feat(persistence): add SQLx and PostgreSQL foundation 2026-09-11 11:52:56 +02:00
idea.pdf feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00
README.md docs(architecture): propose scheduling data model 2026-09-11 12:34:10 +02:00
rust-toolchain.toml feat: bootstrap offline nomination compiler 2026-09-11 09:14:09 +02:00

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.