Skip to content

feat: add reusable PromiseProof GitHub Action#2

Merged
AlexPaiva merged 2 commits into
mainfrom
feature/promiseproof-action
Jul 21, 2026
Merged

feat: add reusable PromiseProof GitHub Action#2
AlexPaiva merged 2 commits into
mainfrom
feature/promiseproof-action

Conversation

@AlexPaiva

Copy link
Copy Markdown
Owner

What this adds

A bundled GitHub Action at .github/actions/verify that runs the frozen PromiseProof verifier in any workflow with no npm install, no browser, no API key, and no model call in the verdict path.

  • Three modes: verify, gate, and check, with strict input-combination validation.
  • Reuses the existing verifier modules. No evaluator rule is re-implemented.
  • Writes report.json and report.md, sets step outputs (status, mode, report paths, evaluator fingerprint, evidence digests), and fails closed on BROKEN_PROMISE while still leaving the reports.
  • Every input and output path stays inside GITHUB_WORKSPACE, with realpath containment against absolute, traversal, and symlink escapes.
  • The committed dist/index.js is built with esbuild and checked for freshness and determinism.

How it is tested

  • A direct harness spawns the committed bundle with temporary env files and covers the mode matrix, exit codes, fail-closed reports, path safety, and no-key operation.
  • A cross-platform consumer job runs the local action on Windows, Ubuntu, and macOS after removing the repository source and node_modules, proving the action depends on neither.
  • A regenerated passing-gate report fixture backs the check-mode smoke tests.

Preserved

Built from submission-rc-02 (7d197fe). The evaluator, schema, adapter, binding, canonical report semantics, and authentic repair remain byte-identical. No change to the landing page, hosted verifier, walkthrough, or deployment.

Add a bundled node20 action at .github/actions/verify that runs the frozen verifier in a workflow with no npm install, no browser, no API key, and no model call in the verdict path. It supports verify, gate, and check modes, validates input combinations strictly, keeps every path inside the workspace, writes report.json and report.md plus step outputs, and fails closed on a broken promise while still leaving the reports.

The committed dist/index.js is built with esbuild and checked for freshness and determinism. A direct harness spawns the bundle with temporary env files, and a cross-platform consumer job runs the local action on Windows, Ubuntu, and macOS after removing the repository source and node_modules, proving the action depends on neither. Adds a regenerated passing-gate report fixture for check-mode smoke tests, and documents the action in the README and ADOPTION.md.

Base: submission-rc-02 (7d197fe).
@AlexPaiva
AlexPaiva merged commit 6d25ad9 into main Jul 21, 2026
7 checks passed
@AlexPaiva
AlexPaiva deleted the feature/promiseproof-action branch July 21, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant