Skip to content

Commit 43d36ca

Browse files
docs: post-rename hygiene + stale-fact refresh (26 files) (#40)
## Summary Mechanical sweep to catch up active docs and config after the **2026-02-08** binary rename (`panic-attacker` → `panic-attack`) 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. 26 files changed (25 modified + 1 renamed). Diff is symmetric (+86/-86) — no semantic drift, just renames. ### 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 - \`.claude/CLAUDE.md\` — rename block 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 | File | Issue | |------|-------| | \`.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 | File | Fix | |------|-----| | \`TOPOLOGY.md:93,97\` | 282 tests → 400+; v2.3.0 → v2.5.0 | | \`k9iser.toml:22\` | LICENSE comment PMPL → MPL-2.0 | | \`PROOF-NEEDS.md:14\` | 47 \`Lang\` constructors → 49 | | \`src/abi/PatternCompleteness.idr:21\` | inline comment "47 variants" → "49 variants" (file's own 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 | ## Test plan - [x] \`cargo check\` clean (no Rust source changes besides one .idr inline comment) - [x] \`cargo fmt --check\` clean - [x] No semantic drift — diff is symmetric (+86/-86) - [x] Signed commit - [x] Active config consistency: k9iser.toml's Cargo contract (line 19: \`package.name == 'panic-attack'\`) now matches \`[project] name\` (line 9) ## 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-org 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. Filing as a separate proof-drift issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2e7b1ab commit 43d36ca

25 files changed

Lines changed: 86 additions & 86 deletions

.github/workflows/mirror.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
mirror:
1313
name: Mirror repositories
1414
runs-on: ubuntu-latest
15-
if: github.repository == 'hyperpolymath/panic-attacker'
15+
if: github.repository == 'hyperpolymath/panic-attack'
1616
steps:
1717
- name: Checkout code
1818
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
@@ -25,12 +25,12 @@ jobs:
2525
GITLAB_TOKEN: ${{ secrets.GITLAB_MIRROR_TOKEN }}
2626
run: |
2727
echo "Mirroring to GitLab..."
28-
# git push --mirror https://oauth2:${GITLAB_TOKEN}@gitlab.com/hyperpolymath/panic-attacker.git
28+
# git push --mirror https://oauth2:${GITLAB_TOKEN}@gitlab.com/hyperpolymath/panic-attack.git
2929
3030
- name: Mirror to Bitbucket
3131
if: vars.BITBUCKET_MIRROR_ENABLED == 'true'
3232
env:
3333
BITBUCKET_TOKEN: ${{ secrets.BITBUCKET_MIRROR_TOKEN }}
3434
run: |
3535
echo "Mirroring to Bitbucket..."
36-
# git push --mirror https://x-token-auth:${BITBUCKET_TOKEN}@bitbucket.org/hyperpolymath/panic-attacker.git
36+
# git push --mirror https://x-token-auth:${BITBUCKET_TOKEN}@bitbucket.org/hyperpolymath/panic-attack.git

.github/workflows/scan-and-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
- name: Install panic-attack
3434
run: |
35-
cargo install --git https://github.com/hyperpolymath/panic-attacker --branch main
35+
cargo install --git https://github.com/hyperpolymath/panic-attack --branch main
3636
3737
- name: Run scan
3838
id: scan

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme
5252
### Building
5353

5454
```bash
55-
git clone https://github.com/hyperpolymath/panic-attacker.git
56-
cd panic-attacker
55+
git clone https://github.com/hyperpolymath/panic-attack.git
56+
cd panic-attack
5757
cargo build
5858
```
5959

@@ -143,7 +143,7 @@ Closes #42
143143
## Project Structure
144144

145145
```
146-
panic-attacker/
146+
panic-attack/
147147
├── src/
148148
│ ├── main.rs # CLI entry point (clap) — 20 subcommands
149149
│ ├── lib.rs # Library API

DESIGN.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Modern software testing often focuses on either:
1111
2. **Property Testing**: Verification of invariants (QuickCheck, PropTest)
1212
3. **Static Analysis**: Code inspection without execution (Clippy, CodeQL)
1313

14-
`panic-attacker` fills a different niche: **systematic stress testing combined with logic-based bug detection**.
14+
`panic-attack` fills a different niche: **systematic stress testing combined with logic-based bug detection**.
1515

1616
## Core Concepts
1717

@@ -268,9 +268,9 @@ Mozart/Oz pioneered **constraint logic programming** with:
268268
3. **Search**: Automatic exploration of solution spaces
269269
4. **Concurrency**: First-class concurrent constraints
270270

271-
### Mapping to panic-attacker
271+
### Mapping to panic-attack
272272

273-
| Mozart/Oz Concept | panic-attacker Implementation |
273+
| Mozart/Oz Concept | panic-attack Implementation |
274274
|-------------------|-------------------------------|
275275
| **Variables** | Program variables and locations |
276276
| **Constraints** | Temporal ordering, type constraints |
@@ -293,7 +293,7 @@ proc {DetectUAF Facts ?Bugs}
293293
end
294294
```
295295

296-
**panic-attacker style** (Rust):
296+
**panic-attack style** (Rust):
297297
```rust
298298
fn infer_use_after_free(&self, facts: &HashSet<Fact>) -> Vec<BugSignature> {
299299
let mut signatures = Vec::new();
@@ -385,7 +385,7 @@ Some rules (like deadlock detection) require quadratic or higher complexity. Opt
385385
| **AddressSanitizer** | Memory bugs | Runtime instrumentation | Execution |
386386
| **ThreadSanitizer** | Concurrency bugs | Happens-before analysis | Thread interactions |
387387
| **Valgrind** | Memory errors | Binary instrumentation | All allocations |
388-
| **panic-attacker** | **Robustness** | **Multi-axis stress + logic** | **Resource pressure + patterns** |
388+
| **panic-attack** | **Robustness** | **Multi-axis stress + logic** | **Resource pressure + patterns** |
389389

390390
**Key differentiator**: We test under resource pressure, not just correctness.
391391

@@ -396,7 +396,7 @@ Some rules (like deadlock detection) require quadratic or higher complexity. Opt
396396
- **Correctness**: "Does it work?"
397397
- **Robustness**: "Does it work under adversarial conditions?"
398398

399-
Many programs are correct under normal conditions but fail catastrophically under stress. panic-attacker targets this gap.
399+
Many programs are correct under normal conditions but fail catastrophically under stress. panic-attack targets this gap.
400400

401401
### Resource-Aware Testing
402402

@@ -406,7 +406,7 @@ Traditional testing assumes infinite resources. Real systems have:
406406
- Bounded I/O bandwidth
407407
- Contended locks
408408

409-
panic-attacker respects these limits and exploits them.
409+
panic-attack respects these limits and exploits them.
410410

411411
### Logic as Specification
412412

@@ -421,7 +421,7 @@ This is more principled than ad-hoc pattern matching.
421421
## Extended Design Vision (2026-02-07)
422422

423423
The following concepts emerged from design exploration and represent the
424-
longer-term trajectory of panic-attacker.
424+
longer-term trajectory of panic-attack.
425425

426426
### Constraint Sets (Composable Stress Profiles)
427427

@@ -472,7 +472,7 @@ rest of the system from cascading failure, like an electrical fuse.
472472
- Backpressure (Reactive Streams) -- single pipeline only
473473

474474
**What doesn't exist yet**: A way to DESIGN fuse placement based on resource
475-
flow modelling. panic-attacker reveals where fuses are needed by finding where
475+
flow modelling. panic-attack reveals where fuses are needed by finding where
476476
things actually break.
477477

478478
```
@@ -498,7 +498,7 @@ things actually break.
498498
└────────────────┘
499499
```
500500

501-
panic-attacker's role:
501+
panic-attack's role:
502502
1. **Where fuses are needed** (which resources exhaust first)
503503
2. **What thresholds to set** (at what level does degradation begin)
504504
3. **Whether fuses work** (does the system actually degrade gracefully)
@@ -542,20 +542,20 @@ resource_policy:
542542
never_shed: [1]
543543
```
544544
545-
panic-attacker tests these policies by simulating pressure and verifying
545+
panic-attack tests these policies by simulating pressure and verifying
546546
shedding happens correctly.
547547
548548
### eclexia Integration
549549
550550
eclexia's resource-tracking creates a natural integration:
551551
1. eclexia programs declare resource expectations
552-
2. panic-attacker verifies those declarations under stress
552+
2. panic-attack verifies those declarations under stress
553553
3. eclexia programs can BE software fuses (adaptive resource response)
554-
4. panic-attacker profiles eclexia as a demonstration of its value
554+
4. panic-attack profiles eclexia as a demonstration of its value
555555
556556
### ML Extensions
557557
558-
Every panic-attacker run generates labelled training data:
558+
Every panic-attack run generates labelled training data:
559559
- Input: program type, language, frameworks, attack axes, intensity
560560
- Output: crash/survive, signatures detected, resource curves
561561
@@ -567,7 +567,7 @@ Over time, this enables:
567567
568568
## Product Boundaries
569569
570-
### Definitely panic-attacker (this repo)
570+
### Definitely panic-attack (this repo)
571571
- Assail static analysis
572572
- Multi-axis attack execution
573573
- Signature detection (Datalog-style)

FUTURE-IMPROVEMENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ CI integration requires external scripting to interpret results.
351351

352352
**Proposed solution:**
353353

354-
- Add a `[thresholds]` section to `panic-attacker.toml`:
354+
- Add a `[thresholds]` section to `panic-attack.toml`:
355355

356356
```toml
357357
[thresholds]
@@ -397,7 +397,7 @@ patterns) require deeper static analysis capabilities. They should be
397397
planned for post-v1.0 milestones.
398398

399399
Improvement 10 (configurable thresholds) extends the existing
400-
`panic-attacker.toml` configuration and is straightforward to implement
400+
`panic-attack.toml` configuration and is straightforward to implement
401401
once the metrics it depends on (from improvements 1-4) are accurate.
402402

403403
### Recommended Implementation Order

PROOF-NEEDS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# PROOF-NEEDS.md — panic-attacker
1+
# PROOF-NEEDS.md — panic-attack
22

33
## Current State
44

@@ -11,7 +11,7 @@
1111

1212
| Proof | File | What it proves |
1313
|-------|------|---------------|
14-
| 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. |
14+
| 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. |
1515
| 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. |
1616

1717
## What Still Needs Proving

QUICKSTART-DEV.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MPL-2.0
22
// Template: QUICKSTART-DEV.adoc — clone → build → test → PR
3-
// Replace panic-attacker, {{BUILD_CMD}}, {{TEST_CMD}}, {{LANG_STACK}} with actuals
4-
= panic-attacker — Quick Start for Developers
3+
// Replace panic-attack, {{BUILD_CMD}}, {{TEST_CMD}}, {{LANG_STACK}} with actuals
4+
= panic-attack — Quick Start for Developers
55
:toc:
66
:toclevels: 2
77

@@ -29,8 +29,8 @@ nix develop
2929

3030
[source,bash]
3131
----
32-
git clone https://github.com/hyperpolymath/panic-attacker.git
33-
cd panic-attacker
32+
git clone https://github.com/hyperpolymath/panic-attack.git
33+
cd panic-attack
3434
just setup-dev
3535
----
3636

@@ -52,7 +52,7 @@ just setup-dev
5252

5353
[source]
5454
----
55-
panic-attacker/
55+
panic-attack/
5656
├── src/ # Source code
5757
├── src/abi/ # Idris2 ABI definitions (if applicable)
5858
├── ffi/zig/ # Zig FFI bridge (if applicable)
@@ -73,7 +73,7 @@ just build # Build the project
7373
just test # Run tests
7474
just doctor # Self-diagnostic
7575
just lint # Lint and format
76-
just panic-scan # Security scan via panic-attacker
76+
just panic-scan # Security scan via panic-attack
7777
just tour # Guided tour of the codebase
7878
----
7979

@@ -107,5 +107,5 @@ Or read `0-AI-MANIFEST.a2ml` and `.claude/CLAUDE.md` directly.
107107
== Get Help
108108

109109
* **Architecture**: link:EXPLAINME.adoc[EXPLAINME.adoc]
110-
* **Wiki**: https://github.com/hyperpolymath/panic-attacker/wiki
110+
* **Wiki**: https://github.com/hyperpolymath/panic-attack/wiki
111111
* **Report issue**: `just help-me`

QUICKSTART-MAINTAINER.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: MPL-2.0
22
// Template: QUICKSTART-MAINTAINER.adoc — packaging, deploying, and maintaining
3-
// Replace panic-attacker, panic-attack, rustc, cargo, mold, pkg-config with actuals
3+
// Replace panic-attack, panic-attack, rustc, cargo, mold, pkg-config with actuals
44
= panic-attack — Quick Start for Platform Maintainers
55
:toc:
66
:toclevels: 2
@@ -125,5 +125,5 @@ Each instance has isolated config, data, and logs.
125125

126126
== Reporting Issues
127127

128-
* Upstream: https://github.com/hyperpolymath/panic-attacker/issues
128+
* Upstream: https://github.com/hyperpolymath/panic-attack/issues
129129
* With diagnostic: `just help-me` (pre-fills context)

QUICKSTART-USER.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// SPDX-License-Identifier: MPL-2.0
22
// Template: QUICKSTART-USER.adoc — 5-minute path to working software
3-
// Replace panic-attacker, Panic Attacker — See README.adoc for details., just run, Panic Attacker started successfully. with actuals
4-
= panic-attacker — Quick Start for Users
3+
// Replace panic-attack, Panic Attacker — See README.adoc for details., just run, Panic Attacker started successfully. with actuals
4+
= panic-attack — Quick Start for Users
55
:toc:
66
:toclevels: 2
77

8-
== What is panic-attacker?
8+
== What is panic-attack?
99

1010
Panic Attacker — See README.adoc for details.
1111

@@ -37,8 +37,8 @@ Before you begin, ensure you have:
3737
[source,bash]
3838
----
3939
# Clone and set up
40-
git clone https://github.com/hyperpolymath/panic-attacker.git
41-
cd panic-attacker
40+
git clone https://github.com/hyperpolymath/panic-attack.git
41+
cd panic-attack
4242
just setup
4343
----
4444

@@ -61,7 +61,7 @@ just stapeln-run
6161

6262
[source,bash]
6363
----
64-
just install --portable --prefix=./panic-attacker-portable
64+
just install --portable --prefix=./panic-attack-portable
6565
----
6666

6767
== First Run
@@ -102,7 +102,7 @@ just heal
102102
* **In-app**: `just run --help`
103103
* **Guided tour**: `just tour`
104104
* **Report a problem**: `just help-me` (pre-fills diagnostic context)
105-
* **Wiki**: https://github.com/hyperpolymath/panic-attacker/wiki
105+
* **Wiki**: https://github.com/hyperpolymath/panic-attack/wiki
106106

107107
== Uninstall
108108

READINESS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
| Component | Grade | Release Stage | Evidence Summary |
1515
|---------------------|-------|--------------------|---------------------------------------------------------------------|
16-
| `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. |
16+
| `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. |
1717
| `attack` | D | Alpha | Works on example binary (cpu axis). Other axes not tested on diverse targets. |
1818
| `assault` | D | Alpha | Works on self + example binary. Full multi-axis only tested on one target. |
1919
| `ambush` | D | Alpha | Works with and without timeline. Timeline events skip when target exits fast (correct behaviour). |

0 commit comments

Comments
 (0)