Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# SPDX-License-Identifier: MPL-2.0
# Funding platforms for hyperpolymath projects
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository

github: hyperpolymath
ko_fi: hyperpolymath
liberapay: hyperpolymath
55 changes: 55 additions & 0 deletions EXPLAINME.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= pons: The Bridge of Asses Static Analyzer

== What is pons?

pons (after the _pons asinorum_ / Euclid I.5, the "bridge of asses") is a lightweight,
multi-language static scanner that flags three categories of critical code issues:

* **Dead work** — Code that does nothing, is unreachable, or produces no effect
* **Self-contradiction** — Inconsistent logic or state that cannot be reconciled
* **Missing escape hatches** — Error paths that don't properly handle failures

== Design Philosophy

pons is the depth companion to link:https://github.com/hyperpolymath/panic-attack[panic-attack]:

| Tool | Focus | Approach |
|------|-------|----------|
| panic-attack | Breadth | 49 languages, security weak points, line-level patterns + relational reasoning |
| pons | Depth | Few languages, parse trees + real dataflow + typestate, waste/contradiction smells |

== Evidence Tiers

Every finding carries an explicit evidence class:

* `PROTOCOL` — Mathematically certain, based on formal specifications
* `DATAFLOW` — High confidence, based on concrete dataflow analysis
* `HEURISTIC` — Moderate confidence, based on pattern matching
* `SPECULATIVE` — Low confidence, visually demoted in all output formats

**Key principle:** Never dress a heuristic up as a proof.

== Current Status

*Planning complete; implementation not started.* This repository contains the ratified v0.1.0 plan.

== Repository Structure

include::docs/structure.adoc[]

== Quick Start

See link:CONTRIBUTING.md[CONTRIBUTING.md] for development setup.

== License

Code: MPL-2.0-or-later (see LICENSE)
Docs: CC-BY-SA-4.0

== Contact

* Issues: https://github.com/hyperpolymath/pons/issues
* Discussions: https://github.com/hyperpolymath/pons/discussions
* Email: j.d.a.jewell@open.ac.uk
58 changes: 58 additions & 0 deletions FUNDING.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= Funding the pons Project
:toc: macro
:toclevels: 2

pons is a Free and Open Source Software (FOSS) static analysis initiative stewarded by hyperpolymath.
This document explains how the project is funded, how contributions are used, and why community support matters.

toc::[]

== Purpose of Funding

pons exists to detect dead work, self-contradiction, and missing escape hatches in codebases with mathematical precision.
Maintaining a high-quality static analysis tool requires:

* Research and design work
* Implementation across multiple languages
* Testing infrastructure and benchmarks
* Documentation and accessibility
* Continuous maintenance and updates

Community support ensures that pons remains stable, trustworthy, and effectively maintained.

== Ways to Support the Project

=== Transparent Funding (Recommended)
* **GitHub Sponsors:** `hyperpolymath`
Open accounting, public budgets, and transparent stewardship.

=== Other Platforms
* **Patreon:** `hyperpolymath`
* **LiberaPay:** recurring micro-donations
* **Ko-fi:** one-time contributions

These platforms help sustain ongoing development and governance work.

== How Funds Are Used

All contributions directly support:

* Developer time for implementation and maintenance
* CI/CD infrastructure costs
* Documentation improvements
* Community outreach and education
* Legal and compliance review

== Recognition

All sponsors are recognized in the repository's SPONSORS file (if they opt in).
Significant contributors may receive commit access based on sustained contributions.

== Contact

For funding-related questions, contact: j.d.a.jewell@open.ac.uk

---
*Last updated: 2026-08-13*
11 changes: 11 additions & 0 deletions LICENSE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// SPDX-License-Identifier: MPL-2.0
= Mozilla Public License Version 2.0

include::LICENSES/MPL-2.0.txt[]

== Note

This AsciiDoc version of the MPL-2.0 license is provided for convenience.
The official license text is in LICENSE (plain text format).

For documentation and content in this repository, see LICENSES/CC-BY-SA-4.0.txt.
Loading