Skip to content
Open
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# GoalOS workflow map

Current public-site path: **GoalOS Public Site Release v10** (`goalos-public-site-release-v10.yml`) and **Validate GoalOS Public Site v10** (`validate-goalos-public-site-v10.yml`).

Legacy v3/v4/v5/v6/v8 public-site workflows remain in the repository only as historical release artifacts and should not be treated as the default path for GoalOS / Proof Gradient / QUEBEC.AI ⚜️✨. Use v10 for current GitHub Pages release, catalog validation, QUEBEC.AI seal/icon generation, paid-artifact guard, Cloud MVP tests, and docs/tables/figures validation.
23 changes: 23 additions & 0 deletions .github/workflows/check-no-paid-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check No Paid Artifacts

on:
workflow_dispatch:
pull_request:
paths:
- 'site/**'
- 'public/**'
- 'scripts/check_no_paid_artifacts.py'
- '.github/workflows/check-no-paid-artifacts.yml'

permissions:
contents: read

jobs:
guard:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python scripts/check_no_paid_artifacts.py
84 changes: 84 additions & 0 deletions .github/workflows/goalos-public-site-release-v10.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: GoalOS Public Site Release v10

on:
workflow_dispatch:
inputs:
allow_public_page_archiving:
description: 'Allow v10 generator to archive superseded generated HTML pages under site/_archive/'
required: true
default: 'true'
type: choice
options: ['true', 'false']

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

concurrency:
group: goalos-public-site-release-v10
cancel-in-progress: false

jobs:
release:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install validation dependencies
run: python -m pip install pyyaml pytest httpx2
- name: Detect public root
run: |
if [ -d site ]; then echo "PUBLIC_ROOT=site" >> "$GITHUB_ENV"; elif [ -d public ]; then echo "PUBLIC_ROOT=public" >> "$GITHUB_ENV"; else echo "No site/ or public/ root" >&2; exit 1; fi
- name: Refuse unexpected deletions unless archiving is explicitly enabled
if: ${{ inputs.allow_public_page_archiving != 'true' }}
run: |
echo "v10 release archives superseded generated HTML pages under site/_archive/. Set allow_public_page_archiving=true to proceed." >&2
exit 1
- name: Generate v10 site, docs, figures, tables, icons, manifest, and assets
run: python scripts/generate_goalos_public_site_v10.py
- name: Validate QUEBEC.AI Seal and icons
run: |
test -s assets/quebecaisealv5.png
test -s site/assets/quebecaisealv5.png
test -s site/favicon.png
test -s site/assets/apple-touch-icon.png
test -s site/assets/icon-192.png
test -s site/assets/icon-512.png
test -s site/site.webmanifest
- name: Validate catalog, shell, internal links, and public pages
run: python scripts/validate_goalos_catalog.py
- name: Run paid-artifact guard
run: python scripts/check_no_paid_artifacts.py
- name: Run Cloud MVP Node test when present
run: node site/app/goalos-cloud-mvp/tests/enterprise-core.test.mjs
- name: Run docs/tables/figures validation
run: python scripts/validate_docs_tables_figures.py
- name: Run pytest
run: pytest
- name: Commit generated release changes
run: |
if git diff --quiet; then
echo "No generated changes to commit."
else
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add README.md data docs site scripts .github/workflows
git commit -m "Release GoalOS public site v10"
fi
- uses: actions/configure-pages@v5
- uses: actions/upload-pages-artifact@v3
with:
path: site
- id: deployment
uses: actions/deploy-pages@v4
24 changes: 24 additions & 0 deletions .github/workflows/validate-docs-tables-figures.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Validate GoalOS Docs, Tables, and Figures

on:
workflow_dispatch:
pull_request:
paths:
- 'docs/**'
- 'README.md'
- 'scripts/validate_docs_tables_figures.py'
- '.github/workflows/validate-docs-tables-figures.yml'

permissions:
contents: read

jobs:
validate-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install pyyaml
- run: python scripts/validate_docs_tables_figures.py
45 changes: 45 additions & 0 deletions .github/workflows/validate-goalos-public-site-v10.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Validate GoalOS Public Site v10

on:
workflow_dispatch:
pull_request:
paths:
- 'site/**'
- 'public/**'
- 'assets/**'
- 'docs/**'
- 'scripts/**'
- '.github/workflows/**'
- 'README.md'
- 'data/goalos_products.json'

permissions:
contents: read

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Python validation dependencies
run: python -m pip install pyyaml pytest httpx2
Comment on lines +30 to +31

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Drop the nonexistent httpx2 package from CI

This install step runs before any validation, and httpx2 is not a resolvable PyPI distribution (pip index versions httpx2 reports no matching distribution), so every pull request that triggers this new workflow fails before reaching the catalog/site checks. The release workflow has the same dependency line at .github/workflows/goalos-public-site-release-v10.yml:39, so both workflows need the dependency corrected or removed.

Useful? React with 👍 / 👎.

- name: Validate catalog and public site shell
run: python scripts/validate_goalos_catalog.py
- name: Check paid/private artifacts
run: python scripts/check_no_paid_artifacts.py
- name: Validate docs, tables, and figures
run: python scripts/validate_docs_tables_figures.py
- name: Run Cloud MVP enterprise core test when present
run: |
if [ -f site/app/goalos-cloud-mvp/tests/enterprise-core.test.mjs ]; then
node site/app/goalos-cloud-mvp/tests/enterprise-core.test.mjs
else
echo "Cloud MVP enterprise core test not present; see docs/GOALOS_CLOUD_MVP_0_2.md"
exit 1
fi
27 changes: 8 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
# Contributing

Thank you for improving Agent SkillOS.
Use GoalOS Public Site Release v10 as the current path.

## Local setup
Before opening a PR:

```bash
python -m skillos.cli demo
python -m unittest discover -s tests
python scripts/validate_goalos_catalog.py
python scripts/check_no_paid_artifacts.py
python scripts/validate_docs_tables_figures.py
node site/app/goalos-cloud-mvp/tests/enterprise-core.test.mjs
pytest
```

## Development principles

1. Keep the core loop easy to understand.
2. Prefer small, inspectable skill artifacts over opaque behavior.
3. Every new skill update path needs tests.
4. Every release path needs rollback.
5. Do not mix private knowledge with shared skill.

## Pull request checklist

- [ ] Tests pass.
- [ ] New behavior is documented.
- [ ] New skill behavior is versioned.
- [ ] Permission changes are explicit.
- [ ] No local `.skillos` data is committed.
Public copy must keep QUEBEC.AI ⚜️✨ together, use the official seal from `assets/quebecaisealv5.png`, point all buy/apply CTAs to `https://www.quebecartificialintelligence.com/shop`, and preserve the safe boundary that GoalOS does not modify base AI models.
59 changes: 8 additions & 51 deletions QA_VERIFICATION.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,11 @@
# QA verification
# QA Verification — GoalOS v10

This package was verified locally before delivery.
Required checks:

Commands run:
- `python scripts/validate_goalos_catalog.py`
- `python scripts/check_no_paid_artifacts.py`
- `python scripts/validate_docs_tables_figures.py`
- `node site/app/goalos-cloud-mvp/tests/enterprise-core.test.mjs`
- `pytest`

```bash
PYTHONDONTWRITEBYTECODE=1 python scripts/qa_check.py
python -m skillos.cli wealth-proof
node --check site/app.js
```

Expected result:

```text
✅ Repository file verification passed
Ran 6 tests ... OK
✅ Agent SkillOS verification passed
✅ Verified GitHub Pages output at dist
✅ Repository QA passed
```

What is checked:

- End-to-end SkillOS loop: Work → Trace → Learn → Skill → Test → Release.
- SQLite storage initialization.
- GitHub Pages demo snapshot generation.
- reference workflow proof generation at `data/wealth_proof.json` and `dist/data/wealth_proof.json`.
- Monotonic economic checks: every release decreases cost, decreases minutes, increases quality, and increases accepted rate.
- `dist/index.html`, `dist/styles.css`, `dist/app.js`, `dist/data/demo.json`, `dist/data/wealth_proof.json`, `.nojekyll`, and manifest creation.
- Repository targets `MontrealAI/proof-gradient` and `https://montrealai.github.io/proof-gradient/`.
- JavaScript syntax for the static website.
- Root-level fallback website mirror is included for branch-root GitHub Pages deployment.

GitHub Actions re-runs the same QA path during deployment.

## v3.0 reference workflow proof

This repository includes `scripts/prove_wealth_loop.py`, `skillos/wealth_proof.py`, `tests/test_wealth_proof.py`, and `data/wealth_proof.json`.

The proof uses the sales follow-up workflow to verify that each completed job creates a tested release and that the workflow gets cheaper, faster, and better after every release.

Current proof result:

```text
Workflow: Sales follow-up email from call notes
Final skill version: v6
Quality: 0.50 → 0.96
Minutes/job: 6.75 → 2.55
Cost/job: $8.48 → $3.23
projected annual savings under demo assumptions vs human baseline at 10,000 jobs: $117,700
```

The GitHub Pages deploy refuses to publish if the reference workflow proof fails.
Current release notes and skipped tooling are documented in `docs/GOALOS_PUBLIC_SITE_RELEASE_V10.md` and `docs/GOALOS_REPO_AUDIT.md`.
Loading
Loading