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
65 changes: 65 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Deploy MARGINAL website

on:
push:
branches: ["main"]
paths:
- "site/**"
- "assets/marginal-readme-hero.png"
- "demos/killer-demo/**"
- ".github/workflows/pages.yml"
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Assemble website
shell: bash
run: |
set -euo pipefail
rm -rf _site
mkdir -p _site/assets _site/demo
cp -R site/. _site/
cp assets/marginal-readme-hero.png _site/assets/marginal-readme-hero.png
cp -R demos/killer-demo/. _site/demo/
touch _site/.nojekyll
- name: Verify generated website
shell: bash
run: |
set -euo pipefail
test -f _site/index.html
test -f _site/styles.css
test -f _site/app.js
test -f _site/robots.txt
test -f _site/sitemap.xml
test -f _site/assets/marginal-readme-hero.png
test -f _site/demo/RESULTS.md
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: _site

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ All notable changes to MARGINAL are documented here. The project follows Semanti
- provider-neutral `Outcome` contract separated from action-level realized gain;
- schema-versioned `JsonlDecisionLedger` with strict envelope validation, run/task/trajectory/engine/model correlation, task/outcome consistency checks, and monotonic sequencing;
- `PrivacyProfile` with `local_full`, keyed `safe_telemetry`, and separate `aggregate_export` modes;
- privacy-preserving aggregate export with a configurable minimum group size of five by default;
- field classification for safe-by-default, pseudonymous, and potentially sensitive evidence;
- HMAC-SHA-256 identifier pseudonymization, UTC-day timestamp generalization, strict free-text removal, and local 256-bit key management;
- opaque random local identifier generation for runs, tasks, and other caller-defined namespaces;
Expand All @@ -35,6 +34,11 @@ All notable changes to MARGINAL are documented here. The project follows Semanti

### Changed

- redesigned the repository README as a concise, SEO-oriented technical landing page;
- added a dependency-free, responsive, accessible GitHub Pages product website;
- consolidated the product website, hero asset, and Killer Demo into one Pages deployment;
- documented website ownership, deployment, accessibility, privacy, and evidence guardrails.

- `Decision` is backward compatible but now carries recommendation, mode, reason-code, uncertainty, confidence, and estimator metadata;
- `MarginalPolicy` now has a stable identity and supports both versioned and legacy custom estimators;
- `Treasury.summary()` includes mode, policy, estimator, observed overruns, failed settlements, outcomes, and estimator observations;
Expand Down
Binary file added MARGINAL-readme-github-pages.zip
Binary file not shown.
22 changes: 22 additions & 0 deletions PACKAGE_MANIFEST.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"package_type": "repository overlay",
"repository": "SignalLayerLabs/Marginal",
"generated_on": "2026-08-06",
"files": [
".github/workflows/pages.yml",
"CHANGELOG.md",
"README.md",
"VISUAL_STUDIO_COMMIT_PROMPT.md",
"docs/superpowers/plans/2026-08-06-readme-pages.md",
"docs/superpowers/specs/2026-08-06-readme-pages-design.md",
"docs/website.md",
"scripts/validate_readme_pages.py",
"site/404.html",
"site/app.js",
"site/index.html",
"site/robots.txt",
"site/sitemap.xml",
"site/styles.css"
],
"important": "Ensure exactly one workflow invokes actions/deploy-pages."
}
Loading