From ad3c0536d4f7c197d99acf96c1a9cf038486d03d Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 26 May 2026 09:52:33 +0100 Subject: [PATCH] docs: post-rename hygiene + stale-fact refresh (26 files) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mechanical sweep to catch up active docs and config after the 2026-02-08 binary rename (`panic-attacker` → `panic-attack`, `xray` → `assail`, `XRayReport` → `AssailReport`) and the v2.5.0 release. Active prose, install commands, and config still referenced the old names; some counts had not been refreshed since v2.1/v2.3. ### Mass rename `panic-attacker` → `panic-attack` 20 files: DESIGN.md, VISION.md, CONTRIBUTING.md, SECURITY.md, QUICKSTART-{USER,DEV,MAINTAINER}.adoc, llm-warmup-{dev,user}.md, PROOF-NEEDS.md, TEST-NEEDS.md, FUTURE-IMPROVEMENTS.md, docs/json-schema.md, docs/007-FALSE-POSITIVE-GUIDANCE.md, docs/mass-panic-fnirs-paper.adoc, docs/HYPATIA-RULE-UPDATES.md, .github/workflows/{mirror,scan-and-report}.yml, stapeln.toml, k9iser.toml. Intentional exclusions (historical record): * `CHANGELOG.md` — rename entry is the historical record itself * `.claude/CLAUDE.md` — rename block is intentionally preserved * `docs/reports/audit/*` — dated audit snapshots, frozen-in-time ### File rename * `panic-attacker.toml.example` → `panic-attack.toml.example` (config template's own header already instructed "copy to panic-attack.toml") ### Critical CI fixes * `.github/workflows/mirror.yml:15` — `if: github.repository == 'hyperpolymath/panic-attacker'` was a dead guard (repo renamed); workflow had silently been a no-op since 2026-02-08. * `.github/workflows/scan-and-report.yml:35` — `cargo install --git https://github.com/hyperpolymath/panic-attacker --branch main` would 404 against the renamed repo on the next install attempt. ### Stale-fact refresh * `TOPOLOGY.md:93,97` — 282 tests → 400+ tests; v2.3.0 → v2.5.0 * `k9iser.toml:22` — LICENSE comment PMPL → MPL-2.0 (Cargo.toml contract on line 19 already encodes `package.name == 'panic-attack'`) * `PROOF-NEEDS.md:14` — 47 `Lang` constructors → 49 (matches PatternCompleteness.idr's own line 24 and the README) * `src/abi/PatternCompleteness.idr:21` — inline comment "47 variants" → "49 variants" (file's docstring on line 24 already said 49) * `READINESS.md:16` — add Isabelle to dogfood-tested language list * `ROADMAP.adoc:29` — drop stale "(Next)" qualifier on v2.1.0 section (all checkboxes ticked; v2.5.0 is current) ### Verified * `cargo check` — clean * `cargo fmt --check` — clean * Diff is symmetric (+86/-86) — no semantic drift, just renames ### Not in this PR (separate concerns) * README.adoc — open PR #35 already fixes the OpenSSF link, license badge, version, and counts; deliberately not touched here to avoid conflict. * ROADMAP.adoc structural refresh — sections v2.1-v2.5 use checkbox history correctly; only the "(Next)" label was stale. Deeper re-organisation would be a separate doc PR. * Proof-drift between `src/types.rs` (has `Chapel`, no `C`) and `src/abi/PatternCompleteness.idr` (has `C`, no `Chapel`) — both enumerate 49 constructors but disagree on which 49. Out of scope for docs hygiene; filing as a separate proof-drift issue. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/mirror.yml | 6 ++-- .github/workflows/scan-and-report.yml | 2 +- CONTRIBUTING.md | 6 ++-- DESIGN.md | 30 ++++++++-------- FUTURE-IMPROVEMENTS.md | 4 +-- PROOF-NEEDS.md | 4 +-- QUICKSTART-DEV.adoc | 14 ++++---- QUICKSTART-MAINTAINER.adoc | 4 +-- QUICKSTART-USER.adoc | 14 ++++---- READINESS.md | 2 +- ROADMAP.adoc | 2 +- SECURITY.md | 4 +-- TEST-NEEDS.md | 2 +- TOPOLOGY.md | 4 +-- VISION.md | 34 +++++++++---------- docs/007-FALSE-POSITIVE-GUIDANCE.md | 8 ++--- docs/HYPATIA-RULE-UPDATES.md | 2 +- docs/json-schema.md | 2 +- docs/mass-panic-fnirs-paper.adoc | 2 +- k9iser.toml | 6 ++-- llm-warmup-dev.md | 4 +-- llm-warmup-user.md | 4 +-- ....toml.example => panic-attack.toml.example | 2 +- src/abi/PatternCompleteness.idr | 2 +- stapeln.toml | 8 ++--- 25 files changed, 86 insertions(+), 86 deletions(-) rename panic-attacker.toml.example => panic-attack.toml.example (95%) diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml index e3d1bac..7b91763 100644 --- a/.github/workflows/mirror.yml +++ b/.github/workflows/mirror.yml @@ -12,7 +12,7 @@ jobs: mirror: name: Mirror repositories runs-on: ubuntu-latest - if: github.repository == 'hyperpolymath/panic-attacker' + if: github.repository == 'hyperpolymath/panic-attack' steps: - name: Checkout code uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 @@ -25,7 +25,7 @@ jobs: GITLAB_TOKEN: ${{ secrets.GITLAB_MIRROR_TOKEN }} run: | echo "Mirroring to GitLab..." - # git push --mirror https://oauth2:${GITLAB_TOKEN}@gitlab.com/hyperpolymath/panic-attacker.git + # git push --mirror https://oauth2:${GITLAB_TOKEN}@gitlab.com/hyperpolymath/panic-attack.git - name: Mirror to Bitbucket if: vars.BITBUCKET_MIRROR_ENABLED == 'true' @@ -33,4 +33,4 @@ jobs: BITBUCKET_TOKEN: ${{ secrets.BITBUCKET_MIRROR_TOKEN }} run: | echo "Mirroring to Bitbucket..." - # git push --mirror https://x-token-auth:${BITBUCKET_TOKEN}@bitbucket.org/hyperpolymath/panic-attacker.git + # git push --mirror https://x-token-auth:${BITBUCKET_TOKEN}@bitbucket.org/hyperpolymath/panic-attack.git diff --git a/.github/workflows/scan-and-report.yml b/.github/workflows/scan-and-report.yml index 91af776..5c5fe5b 100644 --- a/.github/workflows/scan-and-report.yml +++ b/.github/workflows/scan-and-report.yml @@ -32,7 +32,7 @@ jobs: - name: Install panic-attack run: | - cargo install --git https://github.com/hyperpolymath/panic-attacker --branch main + cargo install --git https://github.com/hyperpolymath/panic-attack --branch main - name: Run scan id: scan diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b0345a6..b4bce70 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,8 +52,8 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme ### Building ```bash -git clone https://github.com/hyperpolymath/panic-attacker.git -cd panic-attacker +git clone https://github.com/hyperpolymath/panic-attack.git +cd panic-attack cargo build ``` @@ -143,7 +143,7 @@ Closes #42 ## Project Structure ``` -panic-attacker/ +panic-attack/ ├── src/ │ ├── main.rs # CLI entry point (clap) — 20 subcommands │ ├── lib.rs # Library API diff --git a/DESIGN.md b/DESIGN.md index 6ccb950..9f720a7 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -11,7 +11,7 @@ Modern software testing often focuses on either: 2. **Property Testing**: Verification of invariants (QuickCheck, PropTest) 3. **Static Analysis**: Code inspection without execution (Clippy, CodeQL) -`panic-attacker` fills a different niche: **systematic stress testing combined with logic-based bug detection**. +`panic-attack` fills a different niche: **systematic stress testing combined with logic-based bug detection**. ## Core Concepts @@ -268,9 +268,9 @@ Mozart/Oz pioneered **constraint logic programming** with: 3. **Search**: Automatic exploration of solution spaces 4. **Concurrency**: First-class concurrent constraints -### Mapping to panic-attacker +### Mapping to panic-attack -| Mozart/Oz Concept | panic-attacker Implementation | +| Mozart/Oz Concept | panic-attack Implementation | |-------------------|-------------------------------| | **Variables** | Program variables and locations | | **Constraints** | Temporal ordering, type constraints | @@ -293,7 +293,7 @@ proc {DetectUAF Facts ?Bugs} end ``` -**panic-attacker style** (Rust): +**panic-attack style** (Rust): ```rust fn infer_use_after_free(&self, facts: &HashSet) -> Vec { let mut signatures = Vec::new(); @@ -385,7 +385,7 @@ Some rules (like deadlock detection) require quadratic or higher complexity. Opt | **AddressSanitizer** | Memory bugs | Runtime instrumentation | Execution | | **ThreadSanitizer** | Concurrency bugs | Happens-before analysis | Thread interactions | | **Valgrind** | Memory errors | Binary instrumentation | All allocations | -| **panic-attacker** | **Robustness** | **Multi-axis stress + logic** | **Resource pressure + patterns** | +| **panic-attack** | **Robustness** | **Multi-axis stress + logic** | **Resource pressure + patterns** | **Key differentiator**: We test under resource pressure, not just correctness. @@ -396,7 +396,7 @@ Some rules (like deadlock detection) require quadratic or higher complexity. Opt - **Correctness**: "Does it work?" - **Robustness**: "Does it work under adversarial conditions?" -Many programs are correct under normal conditions but fail catastrophically under stress. panic-attacker targets this gap. +Many programs are correct under normal conditions but fail catastrophically under stress. panic-attack targets this gap. ### Resource-Aware Testing @@ -406,7 +406,7 @@ Traditional testing assumes infinite resources. Real systems have: - Bounded I/O bandwidth - Contended locks -panic-attacker respects these limits and exploits them. +panic-attack respects these limits and exploits them. ### Logic as Specification @@ -421,7 +421,7 @@ This is more principled than ad-hoc pattern matching. ## Extended Design Vision (2026-02-07) The following concepts emerged from design exploration and represent the -longer-term trajectory of panic-attacker. +longer-term trajectory of panic-attack. ### Constraint Sets (Composable Stress Profiles) @@ -472,7 +472,7 @@ rest of the system from cascading failure, like an electrical fuse. - Backpressure (Reactive Streams) -- single pipeline only **What doesn't exist yet**: A way to DESIGN fuse placement based on resource -flow modelling. panic-attacker reveals where fuses are needed by finding where +flow modelling. panic-attack reveals where fuses are needed by finding where things actually break. ``` @@ -498,7 +498,7 @@ things actually break. └────────────────┘ ``` -panic-attacker's role: +panic-attack's role: 1. **Where fuses are needed** (which resources exhaust first) 2. **What thresholds to set** (at what level does degradation begin) 3. **Whether fuses work** (does the system actually degrade gracefully) @@ -542,20 +542,20 @@ resource_policy: never_shed: [1] ``` -panic-attacker tests these policies by simulating pressure and verifying +panic-attack tests these policies by simulating pressure and verifying shedding happens correctly. ### eclexia Integration eclexia's resource-tracking creates a natural integration: 1. eclexia programs declare resource expectations -2. panic-attacker verifies those declarations under stress +2. panic-attack verifies those declarations under stress 3. eclexia programs can BE software fuses (adaptive resource response) -4. panic-attacker profiles eclexia as a demonstration of its value +4. panic-attack profiles eclexia as a demonstration of its value ### ML Extensions -Every panic-attacker run generates labelled training data: +Every panic-attack run generates labelled training data: - Input: program type, language, frameworks, attack axes, intensity - Output: crash/survive, signatures detected, resource curves @@ -567,7 +567,7 @@ Over time, this enables: ## Product Boundaries -### Definitely panic-attacker (this repo) +### Definitely panic-attack (this repo) - Assail static analysis - Multi-axis attack execution - Signature detection (Datalog-style) diff --git a/FUTURE-IMPROVEMENTS.md b/FUTURE-IMPROVEMENTS.md index e6ca930..ba63b69 100644 --- a/FUTURE-IMPROVEMENTS.md +++ b/FUTURE-IMPROVEMENTS.md @@ -331,7 +331,7 @@ CI integration requires external scripting to interpret results. **Proposed solution:** -- Add a `[thresholds]` section to `panic-attacker.toml`: +- Add a `[thresholds]` section to `panic-attack.toml`: ```toml [thresholds] @@ -377,7 +377,7 @@ patterns) require deeper static analysis capabilities. They should be planned for post-v1.0 milestones. Improvement 10 (configurable thresholds) extends the existing -`panic-attacker.toml` configuration and is straightforward to implement +`panic-attack.toml` configuration and is straightforward to implement once the metrics it depends on (from improvements 1-4) are accurate. ### Recommended Implementation Order diff --git a/PROOF-NEEDS.md b/PROOF-NEEDS.md index 326aa7c..26285bb 100644 --- a/PROOF-NEEDS.md +++ b/PROOF-NEEDS.md @@ -1,4 +1,4 @@ -# PROOF-NEEDS.md — panic-attacker +# PROOF-NEEDS.md — panic-attack ## Current State @@ -11,7 +11,7 @@ | Proof | File | What it proves | |-------|------|---------------| -| PA1 Pattern detection completeness | `src/abi/PatternCompleteness.idr` | All 47 `Lang` constructors have an analyzer; all 20 `WPCategory` constructors have at least one detector; cross-language checks applied unconditionally to all languages. `completeScanForAll` is the top-level theorem. | +| PA1 Pattern detection completeness | `src/abi/PatternCompleteness.idr` | All 49 `Lang` constructors have an analyzer; all 20 `WPCategory` constructors have at least one detector; cross-language checks applied unconditionally to all languages. `completeScanForAll` is the top-level theorem. | | PA2 Classification soundness | `src/abi/ClassificationSoundness.idr` | Severity (Low/Medium/High/Critical) is totally ordered (`LTE`); `maxSeverity` is commutative and idempotent; numeric ABI encoding preserves the ordering. | ## What Still Needs Proving diff --git a/QUICKSTART-DEV.adoc b/QUICKSTART-DEV.adoc index 5e500fc..c48c0b9 100644 --- a/QUICKSTART-DEV.adoc +++ b/QUICKSTART-DEV.adoc @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MPL-2.0 // Template: QUICKSTART-DEV.adoc — clone → build → test → PR -// Replace panic-attacker, {{BUILD_CMD}}, {{TEST_CMD}}, {{LANG_STACK}} with actuals -= panic-attacker — Quick Start for Developers +// Replace panic-attack, {{BUILD_CMD}}, {{TEST_CMD}}, {{LANG_STACK}} with actuals += panic-attack — Quick Start for Developers :toc: :toclevels: 2 @@ -29,8 +29,8 @@ nix develop [source,bash] ---- -git clone https://github.com/hyperpolymath/panic-attacker.git -cd panic-attacker +git clone https://github.com/hyperpolymath/panic-attack.git +cd panic-attack just setup-dev ---- @@ -52,7 +52,7 @@ just setup-dev [source] ---- -panic-attacker/ +panic-attack/ ├── src/ # Source code ├── src/abi/ # Idris2 ABI definitions (if applicable) ├── ffi/zig/ # Zig FFI bridge (if applicable) @@ -73,7 +73,7 @@ just build # Build the project just test # Run tests just doctor # Self-diagnostic just lint # Lint and format -just panic-scan # Security scan via panic-attacker +just panic-scan # Security scan via panic-attack just tour # Guided tour of the codebase ---- @@ -107,5 +107,5 @@ Or read `0-AI-MANIFEST.a2ml` and `.claude/CLAUDE.md` directly. == Get Help * **Architecture**: link:EXPLAINME.adoc[EXPLAINME.adoc] -* **Wiki**: https://github.com/hyperpolymath/panic-attacker/wiki +* **Wiki**: https://github.com/hyperpolymath/panic-attack/wiki * **Report issue**: `just help-me` diff --git a/QUICKSTART-MAINTAINER.adoc b/QUICKSTART-MAINTAINER.adoc index b91db3b..546490a 100644 --- a/QUICKSTART-MAINTAINER.adoc +++ b/QUICKSTART-MAINTAINER.adoc @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MPL-2.0 // Template: QUICKSTART-MAINTAINER.adoc — packaging, deploying, and maintaining -// Replace panic-attacker, panic-attack, rustc, cargo, mold, pkg-config with actuals +// Replace panic-attack, panic-attack, rustc, cargo, mold, pkg-config with actuals = panic-attack — Quick Start for Platform Maintainers :toc: :toclevels: 2 @@ -125,5 +125,5 @@ Each instance has isolated config, data, and logs. == Reporting Issues -* Upstream: https://github.com/hyperpolymath/panic-attacker/issues +* Upstream: https://github.com/hyperpolymath/panic-attack/issues * With diagnostic: `just help-me` (pre-fills context) diff --git a/QUICKSTART-USER.adoc b/QUICKSTART-USER.adoc index 997b728..969b56e 100644 --- a/QUICKSTART-USER.adoc +++ b/QUICKSTART-USER.adoc @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MPL-2.0 // Template: QUICKSTART-USER.adoc — 5-minute path to working software -// Replace panic-attacker, Panic Attacker — See README.adoc for details., just run, Panic Attacker started successfully. with actuals -= panic-attacker — Quick Start for Users +// Replace panic-attack, Panic Attacker — See README.adoc for details., just run, Panic Attacker started successfully. with actuals += panic-attack — Quick Start for Users :toc: :toclevels: 2 -== What is panic-attacker? +== What is panic-attack? Panic Attacker — See README.adoc for details. @@ -37,8 +37,8 @@ Before you begin, ensure you have: [source,bash] ---- # Clone and set up -git clone https://github.com/hyperpolymath/panic-attacker.git -cd panic-attacker +git clone https://github.com/hyperpolymath/panic-attack.git +cd panic-attack just setup ---- @@ -61,7 +61,7 @@ just stapeln-run [source,bash] ---- -just install --portable --prefix=./panic-attacker-portable +just install --portable --prefix=./panic-attack-portable ---- == First Run @@ -102,7 +102,7 @@ just heal * **In-app**: `just run --help` * **Guided tour**: `just tour` * **Report a problem**: `just help-me` (pre-fills diagnostic context) -* **Wiki**: https://github.com/hyperpolymath/panic-attacker/wiki +* **Wiki**: https://github.com/hyperpolymath/panic-attack/wiki == Uninstall diff --git a/READINESS.md b/READINESS.md index ab83305..1b8d80f 100644 --- a/READINESS.md +++ b/READINESS.md @@ -13,7 +13,7 @@ | Component | Grade | Release Stage | Evidence Summary | |---------------------|-------|--------------------|---------------------------------------------------------------------| -| `assail` | B | Beta | Dogfooded on self; 22 findings. Tested on 283+ repos (diverse: Rust, Elixir, Gleam, Julia, ReScript, Idris2, Zig, OCaml, Ada, Haskell, 007-lang, Coq) via assemblyline and estate-wide CI. | +| `assail` | B | Beta | Dogfooded on self; 22 findings. Tested on 283+ repos (diverse: Rust, Elixir, Gleam, Julia, ReScript, Idris2, Zig, OCaml, Ada, Haskell, 007-lang, Coq, Isabelle) via assemblyline and estate-wide CI. | | `attack` | D | Alpha | Works on example binary (cpu axis). Other axes not tested on diverse targets. | | `assault` | D | Alpha | Works on self + example binary. Full multi-axis only tested on one target. | | `ambush` | D | Alpha | Works with and without timeline. Timeline events skip when target exits fast (correct behaviour). | diff --git a/ROADMAP.adoc b/ROADMAP.adoc index 61dbaa5..4462293 100644 --- a/ROADMAP.adoc +++ b/ROADMAP.adoc @@ -26,7 +26,7 @@ binary, panicbot (gitbot-fleet CI integration), and mass-panic (org-scale batch * Pre-commit hook integration (`panic-attack assail` before every commit) * Component Readiness Grades: D (Alpha) through B (RC) verified -== v2.1.0 -- Logic Engine Refinement (Next) +== v2.1.0 -- Logic Engine Refinement * [x] miniKanren v2.0.0 core (Term, Substitution, unification, FactDB) * [x] Taint analysis: source-to-sink tracking diff --git a/SECURITY.md b/SECURITY.md index 7ff3d87..6f7ce52 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -41,7 +41,7 @@ We follow the principle of [Coordinated Vulnerability Disclosure](https://vuls.c ## Security Measures -panic-attacker implements several security measures: +panic-attack implements several security measures: 1. **No unsafe code** in the core library (only in specific performance-critical sections with documented justification) 2. **Dependency auditing** via cargo-audit in CI @@ -52,7 +52,7 @@ panic-attacker implements several security measures: ## Self-Testing -panic-attacker is tested against itself ("eating our own dogfood") to verify its own robustness and identify potential security issues in its implementation. +panic-attack is tested against itself ("eating our own dogfood") to verify its own robustness and identify potential security issues in its implementation. ## Security Advisories diff --git a/TEST-NEEDS.md b/TEST-NEEDS.md index 2425ba4..55a9079 100644 --- a/TEST-NEEDS.md +++ b/TEST-NEEDS.md @@ -1,4 +1,4 @@ -# TEST-NEEDS.md — panic-attacker +# TEST-NEEDS.md — panic-attack ## CRG Grade: B — ACHIEVED 2026-04-04 diff --git a/TOPOLOGY.md b/TOPOLOGY.md index 1c3b89b..8a27fde 100644 --- a/TOPOLOGY.md +++ b/TOPOLOGY.md @@ -90,11 +90,11 @@ INTEGRATION REPO INFRASTRUCTURE Justfile Automation ██████████ 100% build/test/readiness/lint/install .machine_readable/ ██████████ 100% STATE/ECOSYSTEM/META + directives - Test Suite ██████████ 100% 282 tests, 0 failures + Test Suite ██████████ 100% 400+ tests, 0 failures Readiness Tests (CRG) ██████████ 100% 18 tests: D(4) C(10) B(4) ───────────────────────────────────────────────────────────────────────────── -OVERALL: █████████░ ~98% v2.3.0 Stable +OVERALL: █████████░ ~98% v2.5.0 Stable ``` ## Key Dependencies diff --git a/VISION.md b/VISION.md index 2dd3c59..c0ec288 100644 --- a/VISION.md +++ b/VISION.md @@ -8,7 +8,7 @@ ## Raw Design Thinking (2026-02-07) This document captures the full stream-of-consciousness design exploration -that led to panic-attacker. These are ideas at various stages of maturity -- +that led to panic-attack. These are ideas at various stages of maturity -- some immediately actionable, some long-term visions, some may turn out to be separate products entirely. They're preserved here as a seedbed for future development. @@ -130,7 +130,7 @@ resource flow modelling. Nobody has built a system for designing safety topologies -- placing fuses deliberately based on how resources actually flow through a system. -panic-attacker reveals where fuses are needed by finding where things +panic-attack reveals where fuses are needed by finding where things actually break. Then you can build programs that operate as fuses themselves, cutting out before other parts of the system are damaged -- like a surge protector for software. @@ -138,12 +138,12 @@ like a surge protector for software. **Connection to eclexia:** eclexia's resource-tracking makes programs that are inherently fuse-aware. An eclexia program monitors its own resource consumption as a first-class language feature and can respond -adaptively. panic-attacker proves whether that response actually works. +adaptively. panic-attack proves whether that response actually works. ### 6. The Cisco Analogy (Resource Topology Simulator) Cisco Packet Tracer lets you design network topologies, simulate traffic, -and test failure scenarios. panic-attacker could evolve into the same +and test failure scenarios. panic-attack could evolve into the same thing for **resource topologies**: ``` @@ -188,7 +188,7 @@ priority_3_shed_first: - preview-generator ``` -panic-attacker tests whether shedding works: +panic-attack tests whether shedding works: 1. Simulate resource pressure 2. Verify priority 3 sheds first 3. Verify priority 1 maintains performance @@ -196,7 +196,7 @@ panic-attacker tests whether shedding works: ### 8. ML and Pattern Recognition -Every panic-attacker run generates labelled training data. Over time: +Every panic-attack run generates labelled training data. Over time: 1. **Bug classification** -- "This crash is 87% similar to known use-after-free patterns" @@ -209,7 +209,7 @@ Every panic-attacker run generates labelled training data. Over time: ## Product Boundaries: One Tool or Many? -### Definitely panic-attacker (this repo) +### Definitely panic-attack (this repo) - Assail static analysis - Multi-axis attack execution - Signature detection (Datalog-style) @@ -229,7 +229,7 @@ Every panic-attacker run generates labelled training data. Over time: ``` ┌─────────────────────────────────────────────────────────┐ -│ panic-attacker (core) │ +│ panic-attack (core) │ │ Assail │ Attack │ Signatures │ Profiles │ Reports │ └────┬────────┬────────┬────────────┬──────────┬──────────┘ │ │ │ │ │ @@ -252,7 +252,7 @@ Every panic-attacker run generates labelled training data. Over time: ## The Name -"panic-attacker" was chosen because: +"panic-attack" was chosen because: 1. It attacks programs to make them panic 2. It identifies panic-worthy issues before production 3. It's easy to spell (unlike "claustrophobia") @@ -268,7 +268,7 @@ But the constraint idea lives on in the "constraint sets" feature. ### The Physical World Connection -If we integrate panic-attacker's constraint sets with **soft systems +If we integrate panic-attack's constraint sets with **soft systems methodology** (Checkland) and **set theory**, we arrive at something genuinely novel: modelling real-world sensor/actuator systems using the same constraint-based stress testing framework. @@ -307,20 +307,20 @@ Invariant: ∀s ∈ CRITICAL, ∃i : FUSE_i(s) ∈ SAFE the system to a safe state." ``` -panic-attacker tests whether this invariant actually holds. +panic-attack tests whether this invariant actually holds. ### Soft Systems Methodology (SSM) Peter Checkland's SSM provides a framework for analysing "messy" real-world -situations. Applied to panic-attacker: +situations. Applied to panic-attack: - **Root definitions** -- What is the system trying to do? - **CATWOE analysis** -- Customers, Actors, Transformation, Weltanschauung, Owner, Environment - **Conceptual models** -- Ideal system behaviour under stress -- **Comparison** -- Compare ideal with actual (panic-attacker results) +- **Comparison** -- Compare ideal with actual (panic-attack results) -This is NOT immediate work. But it places panic-attacker in a trajectory +This is NOT immediate work. But it places panic-attack in a trajectory toward being useful for: 1. **Industrial control systems** -- Test PLCs and SCADA-like setups @@ -406,7 +406,7 @@ the same rigour as physical/chemical engineering. You design fuses the way you'd design pressure relief valves or thermal cutoffs -- with equations, not if-statements. -panic-attacker's role becomes testing whether these engineered fuses +panic-attack's role becomes testing whether these engineered fuses actually work under real stress, just as you'd test a physical safety valve under real pressure. @@ -460,11 +460,11 @@ The same eclexia program could model: change, but the constraint logic, the fuse behaviour, and the testing methodology remain the same. -This makes panic-attacker the **universal test rig** for any constraint- +This makes panic-attack the **universal test rig** for any constraint- based safety system, regardless of whether it protects software resources, models physical systems, or operates in purely abstract mathematical spaces. eclexia provides the language to express these constraints with -engineering precision, and panic-attacker proves they hold under stress. +engineering precision, and panic-attack proves they hold under stress. --- diff --git a/docs/007-FALSE-POSITIVE-GUIDANCE.md b/docs/007-FALSE-POSITIVE-GUIDANCE.md index 4069588..a2eb55a 100644 --- a/docs/007-FALSE-POSITIVE-GUIDANCE.md +++ b/docs/007-FALSE-POSITIVE-GUIDANCE.md @@ -95,7 +95,7 @@ unsafe { **Solutions**: - Add suppression comments for build.zig and similar files - Distinguish between actual FFI calls and documentation -- Improve panic-attacker's Zig analyzer to recognize build system patterns +- Improve panic-attack's Zig analyzer to recognize build system patterns **Example**: ```zig @@ -126,7 +126,7 @@ const TEST_URLS = [ **Problem**: Comments mentioning "unsafe" trigger warnings. **Solutions**: -- Improve panic-attacker to distinguish code from comments +- Improve panic-attack to distinguish code from comments - Use more specific terminology in documentation - Add suppression when documenting security aspects @@ -152,12 +152,12 @@ fn test_no_unsafe_code() { ### Phase 2: Code Quality Improvements (NEXT) - [ ] Replace unwrap/expect with proper error handling in 5 key files - [ ] Convert TODO/FIXME markers to GitHub issues (15 markers) -- [ ] Improve panic-attacker's comment analysis to reduce false positives +- [ ] Improve panic-attack's comment analysis to reduce false positives ### Phase 3: Systematic Refactoring (FUTURE) - [ ] Eliminate unwrap/expect from production code paths - [ ] Replace remaining TODO/FIXME with proper documentation -- [ ] Enhance panic-attacker's context awareness for test files +- [ ] Enhance panic-attack's context awareness for test files ### Phase 4: Prevention (CONTINUOUS) - [ ] Add CI check for new unwrap/expect in production code diff --git a/docs/HYPATIA-RULE-UPDATES.md b/docs/HYPATIA-RULE-UPDATES.md index 922e2b2..979ff94 100644 --- a/docs/HYPATIA-RULE-UPDATES.md +++ b/docs/HYPATIA-RULE-UPDATES.md @@ -327,7 +327,7 @@ Update `007/docs/CONTRIBUTING.md` with: ### 3. Panic-Attacker Repository -Update `panic-attacker/docs/hypatia-integration.md` with: +Update `panic-attack/docs/hypatia-integration.md` with: - Rule mapping guide - Context detection details - GitBot configuration diff --git a/docs/json-schema.md b/docs/json-schema.md index 033db77..c77c3de 100644 --- a/docs/json-schema.md +++ b/docs/json-schema.md @@ -1,4 +1,4 @@ -# panic-attacker JSON Output Schema +# panic-attack JSON Output Schema Version: 1.0 (stable as of v1.0.0) diff --git a/docs/mass-panic-fnirs-paper.adoc b/docs/mass-panic-fnirs-paper.adoc index f4c817e..c61d744 100644 --- a/docs/mass-panic-fnirs-paper.adoc +++ b/docs/mass-panic-fnirs-paper.adoc @@ -438,7 +438,7 @@ between development sessions, supporting data-driven software health management. The full implementation is available under the MPL-2.0 license (MPL-2.0 as legal fallback) at: -https://github.com/hyperpolymath/panic-attacker/tree/main/chapel/ +https://github.com/hyperpolymath/panic-attack/tree/main/chapel/ [bibliography] == References diff --git a/k9iser.toml b/k9iser.toml index a4adba3..0e323cd 100644 --- a/k9iser.toml +++ b/k9iser.toml @@ -1,12 +1,12 @@ # k9iser manifest — wrap configs into self-validating K9 contracts # SPDX-License-Identifier: MPL-2.0 # -# panic-attacker: universal static analysis and bug signature detection tool +# panic-attack: universal static analysis and bug signature detection tool # for 49 languages. Safety-tier "hunt" because this is a security tool whose # own configuration must be above reproach. [project] -name = "panic-attacker" +name = "panic-attack" safety-tier = "hunt" # security tool — highest scrutiny # ── Cargo.toml — Rust package manifest ─────────────────────────────────────── @@ -19,7 +19,7 @@ must = [ "package.name == 'panic-attack'", "package.edition == '2021'", "package.rust-version is set", # minimum MSRV declared - "package.license-file is set", # LICENSE present (PMPL) + "package.license-file is set", # LICENSE present (MPL-2.0) "package.repository is non-empty", "profile.release.lto is set", # LTO enabled for security binary "profile.release.codegen-units == 1", # single CGU for max optimisation diff --git a/llm-warmup-dev.md b/llm-warmup-dev.md index dcdda38..f6bf6be 100644 --- a/llm-warmup-dev.md +++ b/llm-warmup-dev.md @@ -1,6 +1,6 @@ -# LLM Warmup — panic-attacker (Developer) +# LLM Warmup — panic-attack (Developer) -## What is panic-attacker? +## What is panic-attack? See README.adoc for overview. ## Key Commands diff --git a/llm-warmup-user.md b/llm-warmup-user.md index bf44052..566ba8f 100644 --- a/llm-warmup-user.md +++ b/llm-warmup-user.md @@ -1,6 +1,6 @@ -# LLM Warmup — panic-attacker (User) +# LLM Warmup — panic-attack (User) -## What is panic-attacker? +## What is panic-attack? See README.adoc for overview. ## Key Commands diff --git a/panic-attacker.toml.example b/panic-attack.toml.example similarity index 95% rename from panic-attacker.toml.example rename to panic-attack.toml.example index 56cd1c3..9bbe773 100644 --- a/panic-attacker.toml.example +++ b/panic-attack.toml.example @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# panic-attacker configuration file example +# panic-attack configuration file example # Copy to panic-attack.toml and customize [assail] diff --git a/src/abi/PatternCompleteness.idr b/src/abi/PatternCompleteness.idr index 1497e97..7e7be2b 100644 --- a/src/abi/PatternCompleteness.idr +++ b/src/abi/PatternCompleteness.idr @@ -18,7 +18,7 @@ module PanicAttack.ABI.PatternCompleteness %default total -- ═══════════════════════════════════════════════════════════════════════ --- Language enumeration (mirrors src/types.rs Language enum, 47 variants) +-- Language enumeration (mirrors src/types.rs Language enum, 49 variants) -- ═══════════════════════════════════════════════════════════════════════ ||| All 49 programming languages supported by the scanner. diff --git a/stapeln.toml b/stapeln.toml index d8097a0..08da2d8 100644 --- a/stapeln.toml +++ b/stapeln.toml @@ -1,11 +1,11 @@ # SPDX-License-Identifier: MPL-2.0 -# stapeln.toml — Layer-based container build for panic-attacker +# stapeln.toml — Layer-based container build for panic-attack # # stapeln builds containers as composable layers (German: "to stack"). # Each layer is independently cacheable, verifiable, and signable. [metadata] -name = "panic-attacker" +name = "panic-attack" version = "0.1.0" description = "panic attacker" author = "Jonathan D.A. Jewell " @@ -32,7 +32,7 @@ packages = ["rust", "build-base", "openssl-dev"] cache = true [layers.build] -description = "panic-attacker build" +description = "panic-attack build" extends = "toolchain" commands = ["cargo build --release"] @@ -43,7 +43,7 @@ packages = ["ca-certificates", "curl"] copy-from = [ { layer = "build", src = "/app/", dst = "/app/" }, ] -entrypoint = ["/app/target/release/panic-attacker"] +entrypoint = ["/app/target/release/panic-attack"] user = "nonroot" # ── Security ───────────────────────────────────────────────────