# SPDX-License-Identifier: PMPL-1.0-or-later
# AI Manifest for panic-attacker
# Version: 1.0
# Format: A2ML (AI Agent Manifest Language)
(manifest
(version "1.0")
(project "panic-attacker")
(description "Universal stress testing and logic-based bug signature detection")
(canonical-locations
(scm-files ".machine_readable/")
(workflows ".github/workflows/")
(docs "."
(readme "README.md")
(security "SECURITY.md")
(contributing "CONTRIBUTING.md")
(license "LICENSE")
(changelog "CHANGELOG.md")
(roadmap "ROADMAP.md")
(design "DESIGN.md")
(vision "VISION.md"))
(source "src/")
(tests "tests/")
(examples "examples/"))
(critical-invariants
(rule "SCM files MUST be in .machine_readable/ directory ONLY"
(never "STATE.scm in repository root")
(never "ECOSYSTEM.scm in repository root")
(never "META.scm in repository root")
(always ".machine_readable/STATE.scm")
(always ".machine_readable/ECOSYSTEM.scm")
(always ".machine_readable/META.scm"))
(rule "License MUST be PMPL-1.0-or-later"
(never "AGPL-3.0")
(never "GPL-*")
(always "SPDX-License-Identifier: PMPL-1.0-or-later in all source files"))
(rule "Author attribution MUST be correct"
(always "Jonathan D.A. Jewell <jonathan.jewell@open.ac.uk>")
(never "hyperpolymath as author name")
(never "jonathan.jewell@gmail.com"))
(rule "Weak points MUST have file locations"
(never "location: None")
(always "location: Some(file_path)"))
(rule "Per-file analysis prevents duplicates"
(never "running-total counts across files")
(always "fresh ProgramStatistics per file"))
(rule "Zero compiler warnings"
(always "cargo build --release produces 0 warnings"))
(rule "All tests MUST pass"
(always "cargo test returns 0 exit code")))
(repository-structure
(type "rust-binary-library")
(build-system "cargo")
(package-manager "cargo")
(language "rust")
(msrv "1.75.0")
(edition "2021"))
(lifecycle
(on-enter
(action "read" (file ".machine_readable/STATE.scm"))
(action "read" (file ".machine_readable/ECOSYSTEM.scm"))
(action "read" (file ".machine_readable/META.scm"))
(action "acknowledge"
(message "AI manifest acknowledged. Canonical locations noted. Critical invariants loaded.")))
(on-exit
(action "update" (file ".machine_readable/STATE.scm")
(condition "work completed"))
(action "verify" (invariants)
(message "All critical invariants respected"))
(action "report"
(message "Session complete. Files modified, tests status, new issues found."))))
(tools
(build "cargo build --release")
(test "cargo test")
(lint "cargo clippy -- -D warnings")
(format "cargo fmt --check")
(audit "cargo audit")
(coverage "cargo tarpaulin --out Xml"))
(quality-standards
(test-coverage "target: 80%")
(documentation "rustdoc for all public APIs")
(linting "clippy with -D warnings")
(formatting "rustfmt enforced")
(security "cargo-audit in CI"))
(deployment
(registry "crates.io")
(ci-cd "GitHub Actions")
(releases "GitHub Releases with binaries"))
(integration
(hypatia "neurosymbolic CI/CD intelligence")
(gitbot-fleet "rhodibot, echidnabot, sustainabot")
(git-seo "repository analysis"))
(metadata
(created "2026-02-07")
(updated "2026-02-07")
(version-current "0.2.0")
(version-next "1.0.0")
(status "active-development")))