Skip to content

Commit 0fe6c2a

Browse files
hyperpolymathclaude
andcommitted
feat(floor-raise): add 8 fix scripts, dispatch manifests, and campaign docs
Floor Raise campaign to systematically propagate foundational tools across 256 repos: Trustfile, Dustfile, AI manifests, assail recipe, proven, verisimdb, feedback-o-tron, and vexometer integrations. 1,496 dispatch actions across 2 JSONL manifests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 602798c commit 0fe6c2a

12 files changed

Lines changed: 2063 additions & 2 deletions
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
4+
= Floor Raise Campaign — 2026-03-20
5+
:toc:
6+
:toclevels: 2
7+
8+
== Purpose
9+
10+
Systematically raise the architectural floor across all 256 hyperpolymath
11+
repositories by propagating foundational tool integrations that have been
12+
built but underadopted.
13+
14+
== Gap Analysis (as of 2026-03-20)
15+
16+
[cols="2,1,1,1"]
17+
|===
18+
| Category | Missing | Total | Gap %
19+
20+
| 0-AI-MANIFEST.a2ml | 18 | 256 | 7%
21+
| Trustfile.a2ml | 78 | 256 | 30%
22+
| Dustfile.a2ml | 206 | 256 | 80%
23+
| `assail` recipe in Justfile | 170 | 256 | 66%
24+
| proven.a2ml integration | 256 | 256 | 100%
25+
| verisimdb.a2ml integration | 256 | 256 | 100%
26+
| feedback-o-tron.a2ml integration | 256 | 256 | 100%
27+
| vexometer.a2ml integration | 256 | 256 | 100%
28+
|===
29+
30+
== Dispatch Manifests
31+
32+
=== Phase 1: Structural (472 actions)
33+
34+
File: `floor-raise-2026-03-20.jsonl`
35+
36+
* 18 missing AI manifests (confidence: 0.98)
37+
* 78 missing Trustfiles (confidence: 0.98)
38+
* 206 missing Dustfiles (confidence: 0.98)
39+
* 170 missing assail recipes (confidence: 0.95)
40+
41+
=== Phase 2: Integrations (1024 actions)
42+
43+
File: `floor-raise-integrations-2026-03-20.jsonl`
44+
45+
* 256 missing proven.a2ml (confidence: 0.97)
46+
* 256 missing verisimdb.a2ml (confidence: 0.97)
47+
* 256 missing feedback-o-tron.a2ml (confidence: 0.97)
48+
* 256 missing vexometer.a2ml (confidence: 0.97)
49+
50+
== Fix Scripts (8 new)
51+
52+
[cols="1,2"]
53+
|===
54+
| Script | Purpose
55+
56+
| `fix-missing-trustfile.sh` | Add Trustfile.a2ml (provenance contract)
57+
| `fix-missing-dustfile.sh` | Add Dustfile.a2ml (cleanup contract)
58+
| `fix-missing-ai-manifest.sh` | Add 0-AI-MANIFEST.a2ml (AI entry point)
59+
| `fix-missing-assail-recipe.sh` | Add `assail` recipe to Justfile
60+
| `fix-missing-proven-ref.sh` | Add proven integration reference
61+
| `fix-missing-verisimdb-feed.sh` | Add VeriSimDB feed configuration
62+
| `fix-missing-feedback-integration.sh` | Add feedback-o-tron integration
63+
| `fix-missing-vexometer-hooks.sh` | Add vexometer friction hooks
64+
|===
65+
66+
== Execution
67+
68+
[source,bash]
69+
----
70+
# Phase 1: Structural fixes (dry-run first)
71+
./scripts/dispatch-runner.sh --manifest campaigns/floor-raise-2026-03-20.jsonl --dry-run
72+
73+
# Phase 1: Execute
74+
./scripts/dispatch-runner.sh --manifest campaigns/floor-raise-2026-03-20.jsonl --parallel 8
75+
76+
# Phase 2: Integration references (dry-run first)
77+
./scripts/dispatch-runner.sh --manifest campaigns/floor-raise-integrations-2026-03-20.jsonl --dry-run
78+
79+
# Phase 2: Execute
80+
./scripts/dispatch-runner.sh --manifest campaigns/floor-raise-integrations-2026-03-20.jsonl --parallel 8
81+
----
82+
83+
== PanLL Monitoring
84+
85+
Seven new panels in PanLL provide real-time visibility:
86+
87+
1. **FloorRaise** (FR) — Master dashboard with adoption metrics
88+
2. **ProvenAdoption** (PrA) — Per-repo proven module usage
89+
3. **ContractileCompleteness** (CC) — Must/Trust/Dust/K9 coverage
90+
4. **ManifestCoverage** (MC) — AI manifest presence
91+
5. **VerisimdbFeeds** (VF) — Data feed health
92+
6. **FeedbackRouting** (FBR) — Upstream bug report status
93+
7. **VexometerFriction** (VxF) — Irritation surface measurements
94+
95+
== Expected Outcomes
96+
97+
After full execution:
98+
99+
* 0-AI-MANIFEST.a2ml: 256/256 (100%)
100+
* Trustfile.a2ml: 256/256 (100%)
101+
* Dustfile.a2ml: 256/256 (100%)
102+
* `assail` recipe: all repos with Justfiles
103+
* Integration references: 256/256 for all four tools
104+
* Total actions: 1,496 across 256 repos

campaigns/floor-raise-2026-03-20.jsonl

Lines changed: 472 additions & 0 deletions
Large diffs are not rendered by default.

campaigns/floor-raise-integrations-2026-03-20.jsonl

Lines changed: 1024 additions & 0 deletions
Large diffs are not rendered by default.

scripts/fix-missing-ai-manifest.sh

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
#
4+
# fix-missing-ai-manifest.sh — Add 0-AI-MANIFEST.a2ml to repositories that lack one
5+
#
6+
# Fixes MissingAIManifest by creating 0-AI-MANIFEST.a2ml at the repository root
7+
# with universal AI agent entry point declarations.
8+
#
9+
# Usage: fix-missing-ai-manifest.sh <repo-path> <finding-json>
10+
11+
set -euo pipefail
12+
13+
REPO_PATH="${1:?Usage: $0 <repo-path> <finding-json>}"
14+
FINDING_FILE="${2:?Missing finding JSON file}"
15+
16+
TARGET_FILE="$REPO_PATH/0-AI-MANIFEST.a2ml"
17+
18+
echo "=== Missing AI Manifest Fix ==="
19+
echo " Repo: $REPO_PATH"
20+
21+
# Idempotency: skip if already exists (check both naming variants)
22+
if [[ -f "$TARGET_FILE" ]] || [[ -f "$REPO_PATH/AI.a2ml" ]]; then
23+
echo " SKIP: AI manifest already exists"
24+
exit 0
25+
fi
26+
27+
# Write template content
28+
cat > "$TARGET_FILE" <<'MANIFEST'
29+
# SPDX-License-Identifier: PMPL-1.0-or-later
30+
# 0-AI-MANIFEST.a2ml — Universal AI Agent Entry Point
31+
32+
[manifest]
33+
version = "0.2"
34+
format = "a2ml"
35+
36+
[canonical-locations]
37+
machine-readable = ".machine_readable/"
38+
state = ".machine_readable/6a2/STATE.a2ml"
39+
meta = ".machine_readable/6a2/META.a2ml"
40+
ecosystem = ".machine_readable/6a2/ECOSYSTEM.a2ml"
41+
contractiles = ".machine_readable/contractiles/"
42+
bot-directives = ".machine_readable/bot_directives/"
43+
44+
[invariants]
45+
scm-files-location = ".machine_readable/ ONLY — never root"
46+
container-file = "Containerfile — never Dockerfile"
47+
package-manager = "Deno preferred — never npm"
48+
license = "PMPL-1.0-or-later"
49+
50+
[session-startup]
51+
step-1 = "Read this manifest"
52+
step-2 = "Read STATE.a2ml for current project state"
53+
step-3 = "Read META.a2ml for architecture decisions"
54+
step-4 = "Read ECOSYSTEM.a2ml for ecosystem position"
55+
MANIFEST
56+
57+
echo " CREATED 0-AI-MANIFEST.a2ml"
58+
echo ""
59+
echo "Fixed: 1 file created"
60+
exit 0
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
#
4+
# fix-missing-assail-recipe.sh — Add assail recipe to Justfile if missing
5+
#
6+
# Fixes MissingAssailRecipe by appending a panic-attacker pre-commit scan
7+
# recipe to the existing Justfile. Skips if no Justfile exists.
8+
#
9+
# Usage: fix-missing-assail-recipe.sh <repo-path> <finding-json>
10+
11+
set -euo pipefail
12+
13+
REPO_PATH="${1:?Usage: $0 <repo-path> <finding-json>}"
14+
FINDING_FILE="${2:?Missing finding JSON file}"
15+
16+
JUSTFILE="$REPO_PATH/justfile"
17+
18+
echo "=== Missing Assail Recipe Fix ==="
19+
echo " Repo: $REPO_PATH"
20+
21+
# Check for Justfile (case-insensitive variants)
22+
if [[ ! -f "$JUSTFILE" ]]; then
23+
JUSTFILE="$REPO_PATH/Justfile"
24+
if [[ ! -f "$JUSTFILE" ]]; then
25+
echo " SKIP: No Justfile found in repository"
26+
exit 0
27+
fi
28+
fi
29+
30+
# Idempotency: skip if assail recipe already exists
31+
if grep -q '^assail:' "$JUSTFILE" 2>/dev/null; then
32+
echo " SKIP: assail recipe already exists in Justfile"
33+
exit 0
34+
fi
35+
36+
# Append assail recipe (ensure trailing newline before appending)
37+
{
38+
echo ""
39+
echo "# Run panic-attacker pre-commit scan"
40+
echo "assail:"
41+
echo ' @command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker"'
42+
} >> "$JUSTFILE"
43+
44+
echo " ADDED assail recipe to Justfile"
45+
echo ""
46+
echo "Fixed: 1 recipe appended"
47+
exit 0

scripts/fix-missing-dustfile.sh

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
#
4+
# fix-missing-dustfile.sh — Add Dustfile.a2ml to repositories that lack one
5+
#
6+
# Fixes MissingDustfile by creating .machine_readable/contractiles/dust/Dustfile.a2ml
7+
# with cleanup and hygiene contract declarations.
8+
#
9+
# Usage: fix-missing-dustfile.sh <repo-path> <finding-json>
10+
11+
set -euo pipefail
12+
13+
REPO_PATH="${1:?Usage: $0 <repo-path> <finding-json>}"
14+
FINDING_FILE="${2:?Missing finding JSON file}"
15+
16+
TARGET_DIR="$REPO_PATH/.machine_readable/contractiles/dust"
17+
TARGET_FILE="$TARGET_DIR/Dustfile.a2ml"
18+
19+
echo "=== Missing Dustfile Fix ==="
20+
echo " Repo: $REPO_PATH"
21+
22+
# Idempotency: skip if already exists
23+
if [[ -f "$TARGET_FILE" ]]; then
24+
echo " SKIP: Dustfile.a2ml already exists"
25+
exit 0
26+
fi
27+
28+
# Create parent directories
29+
mkdir -p "$TARGET_DIR"
30+
31+
# Write template content
32+
cat > "$TARGET_FILE" <<'DUSTFILE'
33+
# SPDX-License-Identifier: PMPL-1.0-or-later
34+
# Dustfile — Cleanup and Hygiene Contract
35+
36+
[dustfile]
37+
version = "1.0.0"
38+
format = "a2ml"
39+
40+
[cleanup]
41+
stale-branch-policy = "delete-after-merge"
42+
artifact-retention = "90-days"
43+
cache-policy = "clear-on-release"
44+
45+
[hygiene]
46+
linting = "required"
47+
formatting = "required"
48+
dead-code-removal = "encouraged"
49+
todo-tracking = "tracked-in-issues"
50+
51+
[reversibility]
52+
backup-before-destructive = true
53+
rollback-mechanism = "git-revert"
54+
data-retention-policy = "preserve-30-days"
55+
DUSTFILE
56+
57+
echo " CREATED .machine_readable/contractiles/dust/Dustfile.a2ml"
58+
echo ""
59+
echo "Fixed: 1 file created"
60+
exit 0
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
#
4+
# fix-missing-feedback-integration.sh — Add feedback-o-tron integration if missing
5+
#
6+
# Fixes MissingFeedbackIntegration by creating
7+
# .machine_readable/integrations/feedback-o-tron.a2ml declaring the
8+
# autonomous upstream bug reporting integration.
9+
#
10+
# Usage: fix-missing-feedback-integration.sh <repo-path> <finding-json>
11+
12+
set -euo pipefail
13+
14+
REPO_PATH="${1:?Usage: $0 <repo-path> <finding-json>}"
15+
FINDING_FILE="${2:?Missing finding JSON file}"
16+
17+
TARGET_DIR="$REPO_PATH/.machine_readable/integrations"
18+
TARGET_FILE="$TARGET_DIR/feedback-o-tron.a2ml"
19+
20+
echo "=== Missing Feedback Integration Fix ==="
21+
echo " Repo: $REPO_PATH"
22+
23+
# Idempotency: skip if already exists
24+
if [[ -f "$TARGET_FILE" ]]; then
25+
echo " SKIP: feedback-o-tron.a2ml already exists"
26+
exit 0
27+
fi
28+
29+
# Create parent directories
30+
mkdir -p "$TARGET_DIR"
31+
32+
# Write template content
33+
cat > "$TARGET_FILE" <<'FEEDBACK'
34+
# SPDX-License-Identifier: PMPL-1.0-or-later
35+
# Feedback-o-Tron Integration — Autonomous Bug Reporting
36+
37+
[integration]
38+
name = "feedback-o-tron"
39+
type = "bug-reporter"
40+
repository = "https://github.com/hyperpolymath/feedback-o-tron"
41+
42+
[reporting-config]
43+
platforms = ["github", "gitlab", "bugzilla"]
44+
deduplication = true
45+
audit-logging = true
46+
auto-file-upstream = "on-external-dependency-failure"
47+
FEEDBACK
48+
49+
echo " CREATED .machine_readable/integrations/feedback-o-tron.a2ml"
50+
echo ""
51+
echo "Fixed: 1 file created"
52+
exit 0

scripts/fix-missing-proven-ref.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
#
4+
# fix-missing-proven-ref.sh — Add proven integration declaration if missing
5+
#
6+
# Fixes MissingProvenRef by creating .machine_readable/integrations/proven.a2ml
7+
# declaring the proven formally verified safety library dependency.
8+
#
9+
# Usage: fix-missing-proven-ref.sh <repo-path> <finding-json>
10+
11+
set -euo pipefail
12+
13+
REPO_PATH="${1:?Usage: $0 <repo-path> <finding-json>}"
14+
FINDING_FILE="${2:?Missing finding JSON file}"
15+
16+
TARGET_DIR="$REPO_PATH/.machine_readable/integrations"
17+
TARGET_FILE="$TARGET_DIR/proven.a2ml"
18+
19+
echo "=== Missing Proven Ref Fix ==="
20+
echo " Repo: $REPO_PATH"
21+
22+
# Idempotency: skip if already exists
23+
if [[ -f "$TARGET_FILE" ]]; then
24+
echo " SKIP: proven.a2ml already exists"
25+
exit 0
26+
fi
27+
28+
# Create parent directories
29+
mkdir -p "$TARGET_DIR"
30+
31+
# Write template content
32+
cat > "$TARGET_FILE" <<'PROVEN'
33+
# SPDX-License-Identifier: PMPL-1.0-or-later
34+
# Proven Integration — Formally Verified Safety Library
35+
36+
[integration]
37+
name = "proven"
38+
type = "safety-library"
39+
repository = "https://github.com/hyperpolymath/proven"
40+
version = "1.2.0"
41+
42+
[binding-policy]
43+
approach = "thin-ffi-wrapper"
44+
unsafe-patterns = "replace-with-proven-equivalent"
45+
modules-available = ["SafeMath", "SafeString", "SafeJSON", "SafeURL", "SafeRegex", "SafeSQL", "SafeFile", "SafeTemplate", "SafeCrypto"]
46+
47+
[adoption-guidance]
48+
priority = "high"
49+
scope = "all-string-json-url-crypto-operations"
50+
migration = "incremental — replace unsafe patterns as encountered"
51+
PROVEN
52+
53+
echo " CREATED .machine_readable/integrations/proven.a2ml"
54+
echo ""
55+
echo "Fixed: 1 file created"
56+
exit 0

0 commit comments

Comments
 (0)