From 550eef19d0c6bab4d5e13b1705e55b2151a34972 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Sat, 30 May 2026 21:55:49 +0100 Subject: [PATCH 01/15] =?UTF-8?q?feat(deno):=20migrate=20gitlab-bridge=20n?= =?UTF-8?q?pm=20=E2=86=92=20Deno=20(standards#253)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Class B (npm-wrapper via Deno) for the gitlab-bridge/ sub-tree. - Deletes redundant package.json (self-documented as a "minimal manifest for the ReScript compiler toolchain only"). - Updates deno.json tasks build|clean to use `deno run -A --node-modules-dir=auto npm:rescript` so rescript's compiler binary can still resolve @rescript/core via node_modules without needing a committed package.json stub. Refs: standards#253 STEP 3 (smallest-first batch). Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 4 ++++ gitlab-bridge/deno.json | 4 ++-- gitlab-bridge/package.json | 17 ----------------- 3 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 gitlab-bridge/package.json diff --git a/.gitignore b/.gitignore index 6c2a71c..24e3590 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,10 @@ htmlcov/ # npm lockfiles must never be committed estate-wide. package-lock.json **/package-lock.json +bun.lockb +yarn.lock +pnpm-lock.yaml +.npmrc # Agent & editor scaffolding (standards#68) — local-only, never committed # estate-wide. Owner decision 2026-05-16: gitignore both rather than commit diff --git a/gitlab-bridge/deno.json b/gitlab-bridge/deno.json index 13ec3d6..7d88c0f 100644 --- a/gitlab-bridge/deno.json +++ b/gitlab-bridge/deno.json @@ -16,8 +16,8 @@ }, "tasks": { "dev": "deno run --allow-net --allow-read --allow-env --watch src/Main.res.js", - "build": "rescript build", - "clean": "rescript clean", + "build": "deno run -A --node-modules-dir=auto npm:rescript build", + "clean": "deno run -A --node-modules-dir=auto npm:rescript clean", "test": "deno test --allow-all tests/", "test:watch": "deno test --allow-all --watch tests/", "test:coverage": "deno test --allow-all --coverage=coverage tests/", diff --git a/gitlab-bridge/package.json b/gitlab-bridge/package.json deleted file mode 100644 index 61ff42c..0000000 --- a/gitlab-bridge/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "_comment": "Minimal manifest for the ReScript compiler toolchain only. The hyperpolymath language policy bans npm for runtime dependencies; deno.json's import map is the package manifest for runtime deps. This file exists solely because the `rescript` compiler binary resolves its standard library (`@rescript/core`) via node_modules. Do not add any runtime dependencies here.", - "name": "claude-gitlab-bridge", - "version": "2.0.0", - "description": "Bridge between Claude AI and GitLab — runtime config in deno.json.", - "private": true, - "license": "MPL-2.0", - "author": "Jonathan D.A. Jewell ", - "repository": { - "type": "git", - "url": "git+https://github.com/hyperpolymath/claude-integrations.git" - }, - "devDependencies": { - "rescript": "^12.0.2", - "@rescript/core": "^1.0.0" - } -} From c4a52a72410218101154247bf4cfe087dabef43c Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 1 Jun 2026 00:58:28 +0100 Subject: [PATCH 02/15] ci: fix CI/CD configuration (campaigns C001-C005) - C001: CodeQL language fixes - C002: License identifier standardization - C003: Outdated actions audit - C004: Pin standards refs to SHA 861b5e9 - C005: Add workflow-level permissions --- .github/workflows/governance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/governance.yml b/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/.github/workflows/governance.yml +++ b/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 From d510614bdc9e2499e0d86e313bff6a7a29c4495e Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 1 Jun 2026 03:19:34 +0100 Subject: [PATCH 03/15] ci: fix CI/CD configuration (campaigns C001-C005) --- .github/copilot/coding-agent.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/copilot/coding-agent.yml diff --git a/.github/copilot/coding-agent.yml b/.github/copilot/coding-agent.yml new file mode 100644 index 0000000..a719a77 --- /dev/null +++ b/.github/copilot/coding-agent.yml @@ -0,0 +1,6 @@ +mcp_servers: + boj-server: + command: npx + args: ["-y", "@hyperpolymath/boj-server@latest"] + env: + BOJ_URL: http://localhost:7700 From 7a37bac49e611ec723fb2c697116fd54c7726351 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 1 Jun 2026 03:22:14 +0100 Subject: [PATCH 04/15] ci: fix CI/CD configuration (campaigns C001-C005) --- firefox-lsp/.github/workflows/codeql.yml | 2 +- firefox-lsp/.github/workflows/governance.yml | 2 +- firefox-mcp/.github/workflows/codeql.yml | 3 ++- firefox-mcp/.github/workflows/governance.yml | 2 +- gecko-browser-extension/.github/workflows/codeql.yml | 3 ++- gecko-browser-extension/.github/workflows/governance.yml | 2 +- gitlab-bridge/.github/workflows/codeql.yml | 3 ++- gitlab-bridge/.github/workflows/governance.yml | 2 +- mozilla-extension/.github/workflows/codeql.yml | 3 ++- mozilla-extension/.github/workflows/governance.yml | 2 +- 10 files changed, 14 insertions(+), 10 deletions(-) diff --git a/firefox-lsp/.github/workflows/codeql.yml b/firefox-lsp/.github/workflows/codeql.yml index 5d3b3a3..220a633 100644 --- a/firefox-lsp/.github/workflows/codeql.yml +++ b/firefox-lsp/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0-or-later name: CodeQL on: diff --git a/firefox-lsp/.github/workflows/governance.yml b/firefox-lsp/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/firefox-lsp/.github/workflows/governance.yml +++ b/firefox-lsp/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 diff --git a/firefox-mcp/.github/workflows/codeql.yml b/firefox-mcp/.github/workflows/codeql.yml index 61d95da..da2a9b6 100644 --- a/firefox-mcp/.github/workflows/codeql.yml +++ b/firefox-mcp/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0-or-later name: CodeQL Security Analysis on: @@ -9,6 +9,7 @@ on: schedule: - cron: '0 6 * * 1' + permissions: read-all jobs: diff --git a/firefox-mcp/.github/workflows/governance.yml b/firefox-mcp/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/firefox-mcp/.github/workflows/governance.yml +++ b/firefox-mcp/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 diff --git a/gecko-browser-extension/.github/workflows/codeql.yml b/gecko-browser-extension/.github/workflows/codeql.yml index 4cdfcd5..518e2fd 100644 --- a/gecko-browser-extension/.github/workflows/codeql.yml +++ b/gecko-browser-extension/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0-or-later name: CodeQL Security Analysis on: @@ -9,6 +9,7 @@ on: schedule: - cron: '0 6 * * 1' + permissions: read-all jobs: diff --git a/gecko-browser-extension/.github/workflows/governance.yml b/gecko-browser-extension/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/gecko-browser-extension/.github/workflows/governance.yml +++ b/gecko-browser-extension/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 diff --git a/gitlab-bridge/.github/workflows/codeql.yml b/gitlab-bridge/.github/workflows/codeql.yml index 5148cf4..f72ca6a 100644 --- a/gitlab-bridge/.github/workflows/codeql.yml +++ b/gitlab-bridge/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0-or-later name: CodeQL Security Analysis on: @@ -9,6 +9,7 @@ on: schedule: - cron: '0 6 * * 1' + permissions: read-all jobs: diff --git a/gitlab-bridge/.github/workflows/governance.yml b/gitlab-bridge/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/gitlab-bridge/.github/workflows/governance.yml +++ b/gitlab-bridge/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 diff --git a/mozilla-extension/.github/workflows/codeql.yml b/mozilla-extension/.github/workflows/codeql.yml index 61d95da..da2a9b6 100644 --- a/mozilla-extension/.github/workflows/codeql.yml +++ b/mozilla-extension/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0-or-later name: CodeQL Security Analysis on: @@ -9,6 +9,7 @@ on: schedule: - cron: '0 6 * * 1' + permissions: read-all jobs: diff --git a/mozilla-extension/.github/workflows/governance.yml b/mozilla-extension/.github/workflows/governance.yml index 76bd1a0..36a7d41 100644 --- a/mozilla-extension/.github/workflows/governance.yml +++ b/mozilla-extension/.github/workflows/governance.yml @@ -23,4 +23,4 @@ permissions: jobs: governance: - uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main + uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 From 2bd40b0f16b8f3be9c254c4252e2f92b53a8b914 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 3 Jun 2026 14:47:08 +0100 Subject: [PATCH 05/15] docs: add OpenSSF Best Practices registration badge --- README.adoc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.adoc b/README.adoc index e953379..575b11e 100644 --- a/README.adoc +++ b/README.adoc @@ -1,7 +1,10 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell = Claude Integrations +image:https://img.shields.io/badge/OpenSSF-Best_Practices-green?logo=openssourcesecurity[OpenSSF Best Practices,link="https://www.bestpractices.dev/en/projects/new?repo_url=https://github.com/hyperpolymath/claude-integrations"] + Jonathan D.A. Jewell :toc: left :toclevels: 3 @@ -10,7 +13,7 @@ Jonathan D.A. Jewell Unified monorepo consolidating all Claude browser and service integration projects. -image:https://img.shields.io/badge/license-PMPL--1.0--or--later-blue.svg[License,link="https://github.com/hyperpolymath/palimpsest-license"] +image:https://img.shields.io/badge/license-MPL--2.0-blue.svg[License,link="https://github.com/hyperpolymath/palimpsest-license"] == Overview @@ -73,7 +76,7 @@ claude-integrations/ ├── mozilla-extension/ # Mozilla products extension ├── .machine_readable/ # SCM checkpoint files ├── Justfile # Build recipes -├── LICENSE # PMPL-1.0-or-later +├── LICENSE # MPL-2.0-or-later └── README.adoc # This file ---- @@ -92,9 +95,9 @@ Full git history for each component is preserved in the original repositories == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0 Copyright (C) 2024-2026 Jonathan D.A. Jewell -Licensed under the Palimpsest License, Version 1.0 or later. +Licensed under the MPL-2.0, Version 1.0 or later. See link:LICENSE[] for the full license text. From 95f871e0775dd7780231272c51c21b52d904f74f Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:52:59 +0100 Subject: [PATCH 06/15] chore: rename k9 directories to self-validating for clarity --- .claude/CLAUDE.md | 8 +- .claude/PROJECT.md | 4 + .github/ISSUE_TEMPLATE/bug_report.md | 4 + .github/ISSUE_TEMPLATE/custom.md | 4 + .github/ISSUE_TEMPLATE/feature_request.md | 4 + .github/workflows/governance.yml | 1 + .github/workflows/hypatia-scan.yml | 3 +- .github/workflows/secret-scanner.yml | 1 + .machine_readable/6a2/0-AI-MANIFEST.a2ml | 31 ++++ .../{ECOSYSTEM.scm => 6a2/ECOSYSTEM.a2ml} | 8 + .machine_readable/{META.scm => 6a2/META.a2ml} | 8 + .machine_readable/6a2/README.adoc | 30 ++++ .../{STATE.scm => 6a2/STATE.a2ml} | 8 + .../6a2/anchor/0-AI-MANIFEST.a2ml | 21 +++ .machine_readable/6a2/anchor/README.adoc | 25 +++ .machine_readable/svc/README.adoc | 2 + .../svc/{k9 => self-validating}/README.adoc | 17 +- .../examples/ci-config.k9.ncl | 0 .../examples/project-metadata.k9.ncl | 0 .../examples/setup-repo.k9.ncl | 2 +- .../template-hunt.k9.ncl | 0 .../template-kennel.k9.ncl | 0 .../template-yard.k9.ncl | 0 CHANGELOG.md | 3 +- LICENSE | 165 +++++++----------- docs/architecture.adoc | 1 + docs/contributing.adoc | 1 + docs/decisions/0001-template.adoc | 1 + docs/tech-debt-2026-05-26.md | 8 +- docs/troubleshooting.adoc | 1 + docs/usage.adoc | 1 + firefox-lsp/.formatter.exs | 2 + firefox-lsp/.github/release-template.md | 4 + firefox-lsp/.github/workflows/codeql.yml | 1 + firefox-lsp/.github/workflows/coverage.yml | 1 + firefox-lsp/.github/workflows/elixir-ci.yml | 1 + firefox-lsp/.github/workflows/governance.yml | 1 + firefox-lsp/CHANGELOG.md | 4 + firefox-lsp/PROJECT-SUMMARY.md | 10 +- firefox-lsp/QUICKSTART.md | 4 + firefox-lsp/README.adoc | 6 +- firefox-lsp/USAGE.md | 6 +- firefox-lsp/lib/adapters/behaviour.ex | 3 +- firefox-lsp/lib/adapters/firefox.ex | 3 +- firefox-lsp/lib/adapters/supervisor.ex | 3 +- firefox-lsp/lib/claude_firefox_lsp.ex | 3 +- .../lib/claude_firefox_lsp/application.ex | 3 +- firefox-lsp/lib/lsp/handlers/completion.ex | 3 +- firefox-lsp/lib/lsp/handlers/diagnostics.ex | 3 +- firefox-lsp/lib/lsp/handlers/hover.ex | 3 +- firefox-lsp/lib/lsp/server.ex | 3 +- firefox-lsp/mix.exs | 3 +- firefox-lsp/test/adapters/firefox_test.exs | 3 +- firefox-lsp/test/claude_firefox/lsp_test.exs | 3 +- firefox-lsp/test/support/lsp_helpers.ex | 3 +- firefox-lsp/test/test_helper.exs | 3 +- firefox-lsp/vscode-extension/README.md | 6 +- .../.github/workflows/casket-pages.yml | 2 + firefox-mcp/.github/workflows/codeql.yml | 1 + firefox-mcp/.github/workflows/governance.yml | 1 + .../.github/workflows/hypatia-scan.yml | 1 + firefox-mcp/.github/workflows/scorecard.yml | 1 + firefox-mcp/ABI-FFI-README.md | 4 + firefox-mcp/CODE_OF_CONDUCT.md | 4 + firefox-mcp/CONTRIBUTING.md | 4 + firefox-mcp/MAINTAINERS.adoc | 3 +- firefox-mcp/README.adoc | 9 +- firefox-mcp/ROADMAP.adoc | 3 +- firefox-mcp/RSR_OUTLINE.adoc | 6 +- firefox-mcp/SECURITY.md | 4 + firefox-mcp/ai-cli-crash-capture/README.adoc | 2 + firefox-mcp/contractiles/README.adoc | 2 + firefox-mcp/docs/CITATIONS.adoc | 4 +- firefox-mcp/extension-mv3/background.js | 3 +- firefox-mcp/extension/background.js | 3 +- firefox-mcp/extension/content/bridge.js | 3 +- gecko-browser-extension/.claude/CLAUDE.md | 4 + .../.github/workflows/codeql.yml | 1 + .../.github/workflows/governance.yml | 1 + .../.github/workflows/mirror.yml | 7 + .../.github/workflows/scorecard.yml | 1 + .../.github/workflows/secret-scanner.yml | 3 + .../.machine_readable/6a2/AGENTIC.a2ml | 34 ++++ .../.machine_readable/6a2/ECOSYSTEM.a2ml | 18 ++ .../.machine_readable/6a2/META.a2ml | 16 ++ .../.machine_readable/6a2/NEUROSYM.a2ml | 21 +++ .../.machine_readable/6a2/PLAYBOOK.a2ml | 31 ++++ .../.machine_readable/6a2/STATE.a2ml | 20 +++ .../.machine_readable/AGENTIC.scm | 16 -- .../.machine_readable/ECOSYSTEM.scm | 20 --- .../.machine_readable/META.scm | 17 -- .../.machine_readable/NEUROSYM.scm | 13 -- .../.machine_readable/PLAYBOOK.scm | 13 -- .../.machine_readable/STATE.scm | 39 ----- gecko-browser-extension/ABI-FFI-README.md | 4 + gecko-browser-extension/CODE_OF_CONDUCT.md | 5 +- gecko-browser-extension/CONTRIBUTING.adoc | 3 +- gecko-browser-extension/CONTRIBUTING.md | 4 + gecko-browser-extension/MAINTAINERS.adoc | 3 +- gecko-browser-extension/PALIMPSEST.adoc | 2 + gecko-browser-extension/README.adoc | 13 +- gecko-browser-extension/ROADMAP.adoc | 3 +- gecko-browser-extension/RSR_OUTLINE.adoc | 6 +- gecko-browser-extension/SECURITY.md | 4 + .../ai-cli-crash-capture/README.adoc | 2 + .../contractiles/README.adoc | 2 + gecko-browser-extension/docs/CITATIONS.adoc | 4 +- gecko-browser-extension/docs/PALIMPSEST.adoc | 11 +- .../src/background/background.js | 3 +- .../src/content/content.js | 3 +- gecko-browser-extension/src/popup/options.js | 3 +- gecko-browser-extension/src/popup/popup.js | 3 +- gitlab-bridge/.claude/CLAUDE.md | 18 +- .../.github/ISSUE_TEMPLATE/bug_report.md | 4 + .../.github/ISSUE_TEMPLATE/custom.md | 4 + .../.github/ISSUE_TEMPLATE/documentation.md | 4 + .../.github/ISSUE_TEMPLATE/feature_request.md | 4 + .../.github/ISSUE_TEMPLATE/question.md | 4 + gitlab-bridge/.github/workflows/codeql.yml | 1 + .../.github/workflows/governance.yml | 1 + .../.github/workflows/hypatia-scan.yml | 1 + .../.github/workflows/jekyll-gh-pages.yml | 2 + gitlab-bridge/.github/workflows/mirror.yml | 7 + .../.github/workflows/rescript-deno-ci.yml | 2 + .../.github/workflows/scorecard-enforcer.yml | 2 + gitlab-bridge/.github/workflows/scorecard.yml | 1 + .../.github/workflows/secret-scanner.yml | 3 + .../.machine_readable/6a2/AGENTIC.a2ml | 34 ++++ .../.machine_readable/6a2/ECOSYSTEM.a2ml | 18 ++ gitlab-bridge/.machine_readable/6a2/META.a2ml | 16 ++ .../.machine_readable/6a2/NEUROSYM.a2ml | 21 +++ .../.machine_readable/6a2/PLAYBOOK.a2ml | 31 ++++ .../.machine_readable/6a2/STATE.a2ml | 20 +++ gitlab-bridge/.machine_readable/AGENTIC.scm | 16 -- gitlab-bridge/.machine_readable/ECOSYSTEM.scm | 20 --- gitlab-bridge/.machine_readable/META.scm | 17 -- gitlab-bridge/.machine_readable/NEUROSYM.scm | 13 -- gitlab-bridge/.machine_readable/PLAYBOOK.scm | 13 -- gitlab-bridge/.machine_readable/STATE.scm | 39 ----- gitlab-bridge/ABI-FFI-README.md | 4 + gitlab-bridge/CLAUDE.md | 5 +- gitlab-bridge/CODE_OF_CONDUCT.adoc | 2 + gitlab-bridge/CODE_OF_CONDUCT.md | 5 +- gitlab-bridge/COMPLETION-REPORT.adoc | 8 +- gitlab-bridge/CONTRIBUTING.adoc | 2 + gitlab-bridge/CONTRIBUTING.md | 4 + gitlab-bridge/CONTRIBUTORS.md | 4 + gitlab-bridge/GOVERNANCE.adoc | 2 + gitlab-bridge/HANDOVER.md | 5 +- gitlab-bridge/MAINTAINERS.adoc | 3 +- gitlab-bridge/MIGRATION.adoc | 2 + gitlab-bridge/PALIMPSEST.adoc | 18 +- gitlab-bridge/README.adoc | 7 +- gitlab-bridge/REVERSIBILITY.md | 4 + gitlab-bridge/ROADMAP.adoc | 3 +- gitlab-bridge/RSR.md | 8 +- gitlab-bridge/RSR_OUTLINE.adoc | 6 +- gitlab-bridge/SECURITY.md | 4 + gitlab-bridge/WORK-SUMMARY.adoc | 8 +- .../ai-cli-crash-capture/README.adoc | 2 + gitlab-bridge/contractiles/README.adoc | 2 + gitlab-bridge/docs/CITATIONS.adoc | 4 +- gitlab-bridge/vitest.config.js | 3 +- .../.github/workflows/casket-pages.yml | 2 + .../.github/workflows/codeql.yml | 1 + .../.github/workflows/governance.yml | 1 + .../.github/workflows/hypatia-scan.yml | 1 + .../.github/workflows/scorecard.yml | 1 + mozilla-extension/ABI-FFI-README.md | 4 + mozilla-extension/CODE_OF_CONDUCT.md | 4 + mozilla-extension/CONTRIBUTING.md | 4 + mozilla-extension/MAINTAINERS.adoc | 3 +- mozilla-extension/README.adoc | 8 +- mozilla-extension/ROADMAP.adoc | 3 +- mozilla-extension/RSR_OUTLINE.adoc | 6 +- mozilla-extension/SECURITY.md | 4 + .../ai-cli-crash-capture/README.adoc | 2 + mozilla-extension/contractiles/README.adoc | 2 + mozilla-extension/docs/CITATIONS.adoc | 4 +- .../src/background/background.js | 3 +- mozilla-extension/src/core/api.js | 3 +- mozilla-extension/src/core/storage.js | 3 +- mozilla-extension/src/ui/sidebar.js | 3 +- 183 files changed, 895 insertions(+), 461 deletions(-) create mode 100644 .machine_readable/6a2/0-AI-MANIFEST.a2ml rename .machine_readable/{ECOSYSTEM.scm => 6a2/ECOSYSTEM.a2ml} (72%) rename .machine_readable/{META.scm => 6a2/META.a2ml} (74%) create mode 100644 .machine_readable/6a2/README.adoc rename .machine_readable/{STATE.scm => 6a2/STATE.a2ml} (76%) create mode 100644 .machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml create mode 100644 .machine_readable/6a2/anchor/README.adoc rename .machine_readable/svc/{k9 => self-validating}/README.adoc (85%) rename .machine_readable/svc/{k9 => self-validating}/examples/ci-config.k9.ncl (100%) rename .machine_readable/svc/{k9 => self-validating}/examples/project-metadata.k9.ncl (100%) rename .machine_readable/svc/{k9 => self-validating}/examples/setup-repo.k9.ncl (99%) rename .machine_readable/svc/{k9 => self-validating}/template-hunt.k9.ncl (100%) rename .machine_readable/svc/{k9 => self-validating}/template-kennel.k9.ncl (100%) rename .machine_readable/svc/{k9 => self-validating}/template-yard.k9.ncl (100%) create mode 100644 gecko-browser-extension/.machine_readable/6a2/AGENTIC.a2ml create mode 100644 gecko-browser-extension/.machine_readable/6a2/ECOSYSTEM.a2ml create mode 100644 gecko-browser-extension/.machine_readable/6a2/META.a2ml create mode 100644 gecko-browser-extension/.machine_readable/6a2/NEUROSYM.a2ml create mode 100644 gecko-browser-extension/.machine_readable/6a2/PLAYBOOK.a2ml create mode 100644 gecko-browser-extension/.machine_readable/6a2/STATE.a2ml delete mode 100644 gecko-browser-extension/.machine_readable/AGENTIC.scm delete mode 100644 gecko-browser-extension/.machine_readable/ECOSYSTEM.scm delete mode 100644 gecko-browser-extension/.machine_readable/META.scm delete mode 100644 gecko-browser-extension/.machine_readable/NEUROSYM.scm delete mode 100644 gecko-browser-extension/.machine_readable/PLAYBOOK.scm delete mode 100644 gecko-browser-extension/.machine_readable/STATE.scm create mode 100644 gitlab-bridge/.machine_readable/6a2/AGENTIC.a2ml create mode 100644 gitlab-bridge/.machine_readable/6a2/ECOSYSTEM.a2ml create mode 100644 gitlab-bridge/.machine_readable/6a2/META.a2ml create mode 100644 gitlab-bridge/.machine_readable/6a2/NEUROSYM.a2ml create mode 100644 gitlab-bridge/.machine_readable/6a2/PLAYBOOK.a2ml create mode 100644 gitlab-bridge/.machine_readable/6a2/STATE.a2ml delete mode 100644 gitlab-bridge/.machine_readable/AGENTIC.scm delete mode 100644 gitlab-bridge/.machine_readable/ECOSYSTEM.scm delete mode 100644 gitlab-bridge/.machine_readable/META.scm delete mode 100644 gitlab-bridge/.machine_readable/NEUROSYM.scm delete mode 100644 gitlab-bridge/.machine_readable/PLAYBOOK.scm delete mode 100644 gitlab-bridge/.machine_readable/STATE.scm diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 780e43e..5cf9900 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -1,3 +1,7 @@ + # CLAUDE.md - Claude Integrations ## Project Overview @@ -83,7 +87,7 @@ Route to: name = "model-router" version = "0.1.0" authors = ["Jonathan D.A. Jewell "] -license = "PMPL-1.0-or-later" +license = "MPL-2.0-or-later" [dependencies] clap = { version = "4", features = ["derive"] } @@ -113,6 +117,6 @@ model-router classify --repo /path/to/repo "add authentication" ## Code Style -- SPDX headers: `PMPL-1.0-or-later` +- SPDX headers: `MPL-2.0-or-later` - Author: Jonathan D.A. Jewell - Browser extensions use `MPL-2.0` fallback (store requirements) diff --git a/.claude/PROJECT.md b/.claude/PROJECT.md index 67bc22f..0f9e3f9 100644 --- a/.claude/PROJECT.md +++ b/.claude/PROJECT.md @@ -1,3 +1,7 @@ + # CI Infrastructure - Claude Code Instructions This repository contains CI/CD infrastructure configurations and scripts. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea7..15a8978 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,7 @@ + --- name: Bug report about: Create a report to help us improve diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md index 48d5f81..99ebf00 100644 --- a/.github/ISSUE_TEMPLATE/custom.md +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -1,3 +1,7 @@ + --- name: Custom issue template about: Describe this issue template's purpose here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index bbcbbe7..41a5455 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,3 +1,7 @@ + --- name: Feature request about: Suggest an idea for this project diff --git a/.github/workflows/governance.yml b/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/.github/workflows/governance.yml +++ b/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/.github/workflows/hypatia-scan.yml b/.github/workflows/hypatia-scan.yml index c68b9ed..a711616 100644 --- a/.github/workflows/hypatia-scan.yml +++ b/.github/workflows/hypatia-scan.yml @@ -25,5 +25,6 @@ permissions: jobs: hypatia: - uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@915139d73560e65a8240b8fc7768698658502c89 + uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@6cd3772824e59c8c9affeab66061e25383544242 + timeout-minutes: 10 secrets: inherit diff --git a/.github/workflows/secret-scanner.yml b/.github/workflows/secret-scanner.yml index 2ec6ac7..5f9cef8 100644 --- a/.github/workflows/secret-scanner.yml +++ b/.github/workflows/secret-scanner.yml @@ -16,4 +16,5 @@ permissions: jobs: scan: uses: hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@3e4bd4c93911750727e2e4c66dff859e00079da0 + timeout-minutes: 10 secrets: inherit diff --git a/.machine_readable/6a2/0-AI-MANIFEST.a2ml b/.machine_readable/6a2/0-AI-MANIFEST.a2ml new file mode 100644 index 0000000..6bf1f8c --- /dev/null +++ b/.machine_readable/6a2/0-AI-MANIFEST.a2ml @@ -0,0 +1,31 @@ +# AI Manifest for 6a2 Directory + +## Purpose + +This manifest declares the AI-assistant context for the 6a2 machine-readable metadata directory. + +## Canonical Locations + +The 6 core A2ML files MUST exist in this directory: +1. AGENTIC.a2ml +2. ECOSYSTEM.a2ml +3. META.a2ml +4. NEUROSYM.a2ml +5. PLAYBOOK.a2ml +6. STATE.a2ml + +## Invariants + +- No duplicate files in root directory +- Single source of truth: this directory is authoritative +- No stale metadata + +## Protocol + +When multiple agents may write to A2ML files concurrently: +1. Read file and record git-sha-at-read in [provenance] section +2. Lock by creating .lock- +3. Write updated file with new [provenance] metadata +4. Release by removing lock file +5. On conflict: re-read and retry if git-sha-at-read does not match HEAD + diff --git a/.machine_readable/ECOSYSTEM.scm b/.machine_readable/6a2/ECOSYSTEM.a2ml similarity index 72% rename from .machine_readable/ECOSYSTEM.scm rename to .machine_readable/6a2/ECOSYSTEM.a2ml index 566cabb..0be8472 100644 --- a/.machine_readable/ECOSYSTEM.scm +++ b/.machine_readable/6a2/ECOSYSTEM.a2ml @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# ECOSYSTEM.a2ml — Transpiled from .scm format +[metadata] +converted-from-scm = true +conversion-date = "2026-06-01T01:32:50Z" + ; SPDX-License-Identifier: PMPL-1.0-or-later ; ECOSYSTEM.scm - Ecosystem position for claude-integrations diff --git a/.machine_readable/META.scm b/.machine_readable/6a2/META.a2ml similarity index 74% rename from .machine_readable/META.scm rename to .machine_readable/6a2/META.a2ml index 6d17010..2981ef5 100644 --- a/.machine_readable/META.scm +++ b/.machine_readable/6a2/META.a2ml @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# META.a2ml — Transpiled from .scm format +[metadata] +converted-from-scm = true +conversion-date = "2026-06-01T01:32:50Z" + ; SPDX-License-Identifier: PMPL-1.0-or-later ; META.scm - Meta-level information for claude-integrations diff --git a/.machine_readable/6a2/README.adoc b/.machine_readable/6a2/README.adoc new file mode 100644 index 0000000..bc033d7 --- /dev/null +++ b/.machine_readable/6a2/README.adoc @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell +# A2ML 6a2 Directory + +This directory contains the 6 core A2ML machine-readable metadata files for this repository. + +## Files + +- `AGENTIC.a2ml` - AI agent operational gating, safety controls +- `ECOSYSTEM.a2ml` - Project ecosystem position, relationships, explicit boundaries +- `META.a2ml` - Architecture decisions (ADRs), development practices, design rationale +- `NEUROSYM.a2ml` - Symbolic semantics, composition algebra +- `PLAYBOOK.a2ml` - Executable plans, operational runbooks +- `STATE.a2ml` - Project state, phase, milestones, session history + +## Standards Compliance + +These files follow the A2ML Format Family specification from: +https://github.com/hyperpolymath/standards/tree/main/a2ml + +## Generation + +These files may be generated from .scm source files using transpilation tools. +Source .scm files should be removed after successful transpilation. + +## See Also + +- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc) +- [6A2 Format Family](https://github.com/hyperpolymath/standards#a2ml-format-family-7-formats) + diff --git a/.machine_readable/STATE.scm b/.machine_readable/6a2/STATE.a2ml similarity index 76% rename from .machine_readable/STATE.scm rename to .machine_readable/6a2/STATE.a2ml index c659301..d0c05b5 100644 --- a/.machine_readable/STATE.scm +++ b/.machine_readable/6a2/STATE.a2ml @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# STATE.a2ml — Transpiled from .scm format +[metadata] +converted-from-scm = true +conversion-date = "2026-06-01T01:32:50Z" + ; SPDX-License-Identifier: PMPL-1.0-or-later ; STATE.scm - Current project state for claude-integrations diff --git a/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml b/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml new file mode 100644 index 0000000..0dd6825 --- /dev/null +++ b/.machine_readable/6a2/anchor/0-AI-MANIFEST.a2ml @@ -0,0 +1,21 @@ +# AI Manifest for Anchor Directory + +## Purpose + +This manifest declares the AI-assistant context for the anchor machine-readable metadata directory. + +## Canonical Locations + +ANCHOR.a2ml files MUST exist in this directory. + +## Multiple Versions + +Unlike other A2ML files, multiple versions of ANCHOR.a2ml with different dates MAY exist. +Each version represents a specific recalibration point. + +## Invariants + +- Multiple versions with different dates are permitted +- No other A2ML files in this directory +- Single source of truth for anchor documents + diff --git a/.machine_readable/6a2/anchor/README.adoc b/.machine_readable/6a2/anchor/README.adoc new file mode 100644 index 0000000..bd23e35 --- /dev/null +++ b/.machine_readable/6a2/anchor/README.adoc @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell +# A2ML Anchor Directory + +This directory contains ANCHOR.a2ml files for project recalibration and scope intervention. + +## Files + +- `ANCHOR.a2ml` - Project recalibration, scope intervention, canonical authority + +## Multiple Versions + +Unlike other A2ML files, multiple versions of ANCHOR.a2ml with different dates may exist. +Each version represents a specific recalibration point in the project history. + +## Standards Compliance + +These files follow the ANCHOR.a2ml specification from: +https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml + +## See Also + +- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc) +- [Anchor A2ML Spec](https://github.com/hyperpolymath/standards/tree/main/anchor-a2ml) + diff --git a/.machine_readable/svc/README.adoc b/.machine_readable/svc/README.adoc index 840ae51..b1f2928 100644 --- a/.machine_readable/svc/README.adoc +++ b/.machine_readable/svc/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = `.machine_readable/svc/` — Service components for claude-integrations :toc: diff --git a/.machine_readable/svc/k9/README.adoc b/.machine_readable/svc/self-validating/README.adoc similarity index 85% rename from .machine_readable/svc/k9/README.adoc rename to .machine_readable/svc/self-validating/README.adoc index 1992752..909ebcf 100644 --- a/.machine_readable/svc/k9/README.adoc +++ b/.machine_readable/svc/self-validating/README.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = K9 Contractiles :toc: left :icons: font @@ -71,13 +72,13 @@ Choose the appropriate security level for your use case: [source,bash] ---- # Kennel: Pure configuration -cp contractiles/k9/examples/project-metadata.k9.ncl config/metadata.k9.ncl +cp contractiles/self-validating/examples/project-metadata.k9.ncl config/metadata.k9.ncl # Yard: Validated configuration -cp contractiles/k9/examples/ci-config.k9.ncl .github/ci.k9.ncl +cp contractiles/self-validating/examples/ci-config.k9.ncl .github/ci.k9.ncl # Hunt: Full automation -cp contractiles/k9/examples/setup-repo.k9.ncl scripts/setup.k9.ncl +cp contractiles/self-validating/examples/setup-repo.k9.ncl scripts/setup.k9.ncl ---- === 2. Validate Components @@ -130,7 +131,7 @@ K9 contractiles integrate with other RSR standards: ⚠️ **Never run as root unless required** + ⚠️ **Sandbox external components** -**See:** https://github.com/hyperpolymath/k9-svc/blob/main/docs/SECURITY-BEST-PRACTICES.adoc +**See:** https://github.com/hyperpolymath/self-validating/blob/main/docs/SECURITY-BEST-PRACTICES.adoc == Template Files @@ -159,9 +160,9 @@ git clone https://github.com/hyperpolymath/k9-svc.git == Learn More -- **K9-SVC Specification:** https://github.com/hyperpolymath/k9-svc/blob/main/SPEC.adoc -- **K9 User Guide:** https://github.com/hyperpolymath/k9-svc/blob/main/GUIDE.adoc -- **Security Documentation:** https://github.com/hyperpolymath/k9-svc/blob/main/docs/SECURITY-FAQ.adoc +- **K9-SVC Specification:** https://github.com/hyperpolymath/self-validating/blob/main/SPEC.adoc +- **K9 User Guide:** https://github.com/hyperpolymath/self-validating/blob/main/GUIDE.adoc +- **Security Documentation:** https://github.com/hyperpolymath/self-validating/blob/main/docs/SECURITY-FAQ.adoc - **IANA Media Type:** `application/vnd.k9+nickel` == Contributing diff --git a/.machine_readable/svc/k9/examples/ci-config.k9.ncl b/.machine_readable/svc/self-validating/examples/ci-config.k9.ncl similarity index 100% rename from .machine_readable/svc/k9/examples/ci-config.k9.ncl rename to .machine_readable/svc/self-validating/examples/ci-config.k9.ncl diff --git a/.machine_readable/svc/k9/examples/project-metadata.k9.ncl b/.machine_readable/svc/self-validating/examples/project-metadata.k9.ncl similarity index 100% rename from .machine_readable/svc/k9/examples/project-metadata.k9.ncl rename to .machine_readable/svc/self-validating/examples/project-metadata.k9.ncl diff --git a/.machine_readable/svc/k9/examples/setup-repo.k9.ncl b/.machine_readable/svc/self-validating/examples/setup-repo.k9.ncl similarity index 99% rename from .machine_readable/svc/k9/examples/setup-repo.k9.ncl rename to .machine_readable/svc/self-validating/examples/setup-repo.k9.ncl index c182db9..461eb6f 100644 --- a/.machine_readable/svc/k9/examples/setup-repo.k9.ncl +++ b/.machine_readable/svc/self-validating/examples/setup-repo.k9.ncl @@ -95,7 +95,7 @@ K9! commands = [ "mkdir -p src/ docs/ tests/ scripts/", "mkdir -p .github/workflows/", - "mkdir -p contractiles/k9/", + "mkdir -p contractiles/self-validating/", "echo '✓ Directory structure created'", ], }, diff --git a/.machine_readable/svc/k9/template-hunt.k9.ncl b/.machine_readable/svc/self-validating/template-hunt.k9.ncl similarity index 100% rename from .machine_readable/svc/k9/template-hunt.k9.ncl rename to .machine_readable/svc/self-validating/template-hunt.k9.ncl diff --git a/.machine_readable/svc/k9/template-kennel.k9.ncl b/.machine_readable/svc/self-validating/template-kennel.k9.ncl similarity index 100% rename from .machine_readable/svc/k9/template-kennel.k9.ncl rename to .machine_readable/svc/self-validating/template-kennel.k9.ncl diff --git a/.machine_readable/svc/k9/template-yard.k9.ncl b/.machine_readable/svc/self-validating/template-yard.k9.ncl similarity index 100% rename from .machine_readable/svc/k9/template-yard.k9.ncl rename to .machine_readable/svc/self-validating/template-yard.k9.ncl diff --git a/CHANGELOG.md b/CHANGELOG.md index c59a303..ebeea26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,7 @@ - # Changelog All notable changes to `claude-integrations` will be documented in this file. diff --git a/LICENSE b/LICENSE index b9e568b..d0a1fa1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,38 +1,3 @@ -SPDX-License-Identifier: MPL-2.0 -SPDX-FileCopyrightText: 2024-2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> - ------------------------------------------------------------------------- -PREFERRED LICENCE: Palimpsest License (PMPL-1.0-or-later) ------------------------------------------------------------------------- - -This work is governed by the Palimpsest License (PMPL-1.0-or-later) as -its primary intended licence. PMPL-1.0-or-later extends the Mozilla -Public License 2.0 (MPL-2.0) with additional provisions for ethical use, -post-quantum cryptographic provenance, and emotional lineage protection. -The canonical PMPL text and stewardship information are maintained at: - https://github.com/hyperpolymath/palimpsest-license - ------------------------------------------------------------------------- -FALLBACK LICENCE: Mozilla Public License 2.0 (MPL-2.0) ------------------------------------------------------------------------- - -Because PMPL-1.0-or-later is not yet recognised by the Open Source -Initiative (OSI) or equivalent bodies, this work also carries MPL-2.0 -as its legally-recognised fallback licence. - -In any jurisdiction, platform, or context where PMPL-1.0-or-later is -not accepted as a valid licence, or where an OSI-approved licence is -required, this work is instead governed by the Mozilla Public License, -Version 2.0. - -MPL-2.0 was chosen as the fallback because PMPL-1.0-or-later is -explicitly based on and extends MPL-2.0; it is therefore the closest -recognised equivalent to the intended licence. - -The complete MPL-2.0 text follows below. - ------------------------------------------------------------------------- - Mozilla Public License Version 2.0 ================================== @@ -109,17 +74,17 @@ Mozilla Public License Version 2.0 means the form of the work preferred for making modifications. 1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under - this License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. - For the purposes of this definition, "control" means (a) the power, - direct or indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership of more - than fifty percent (50%) of the outstanding shares or beneficial + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions ---------------------------------- +-------------------------------- 2.1. Grants @@ -144,11 +109,11 @@ distributes such Contribution. 2.3. Limitations on Grant Scope -The licenses granted in this Section 2 are the only rights granted -under this License. No additional rights or licenses will be implied -from the distribution or licensing of Covered Software under this -License. Notwithstanding Section 2.1(b) above, no patent license is -granted by a Contributor: +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: (a) for any code that a Contributor has removed from Covered Software; or @@ -158,19 +123,19 @@ granted by a Contributor: Contributions with other software (except as part of its Contributor Version); or -(c) under Patent Claims infringed by Covered Software in the absence - of its Contributions. +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. -This License does not grant any rights in the trademarks, service -marks, or logos of any Contributor (except as may be necessary to -comply with the notice requirements in Section 3.4). +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License -(if permitted under the terms of Section 3.3). +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). 2.5. Representation @@ -186,11 +151,11 @@ equivalents. 2.7. Conditions -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses -granted in Section 2.1. +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. 3. Responsibilities --------------------- +------------------- 3.1. Distribution of Source Form @@ -207,10 +172,10 @@ Form. If You distribute Covered Software in Executable Form then: (a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients - of the Executable Form how they can obtain a copy of such Source - Code Form by reasonable means in a timely manner, at a charge no - more than the cost of distribution to the recipient; and + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the @@ -222,8 +187,8 @@ If You distribute Covered Software in Executable Form then: You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and -the Covered Software is not Incompatible With Secondary Licenses, this +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered @@ -241,28 +206,28 @@ the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of -Covered Software. However, You may do so only on Your own behalf, and -not on behalf of any Contributor. You must make it absolutely clear -that any such warranty, support, indemnity, or liability obligation is -offered by You alone, and You hereby agree to indemnify every -Contributor for any liability incurred by such Contributor as a result -of warranty, support, indemnity or liability terms You offer. You may -include additional disclaimers of warranty and limitations of liability -specific to any jurisdiction. +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. 4. Inability to Comply Due to Statute or Regulation ------------------------------------------------------ +--------------------------------------------------- If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description -must be placed in a text file included with all distributions of the -Covered Software under this License. Except to the extent prohibited -by statute or regulation, such description must be sufficiently -detailed for a recipient of ordinary skill to be able to understand it. +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. 5. Termination -------------- @@ -271,27 +236,27 @@ detailed for a recipient of ordinary skill to be able to understand it. if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on -an ongoing basis, if such Contributor fails to notify You of the +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is -the first time You have received notice of non-compliance with this -License from such Contributor, and You become compliant prior to 30 -days after Your receipt of the notice. +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. -5.2. If You initiate litigation against any entity by asserting a -patent infringement claim (excluding declaratory judgment actions, +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) -which have been validly granted by You or Your distributors under this -License prior to termination shall survive termination. +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. ************************************************************************ * * @@ -346,7 +311,7 @@ Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. 9. Miscellaneous ------------------ +---------------- This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be @@ -356,14 +321,14 @@ that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License ----------------------------- +--------------------------- 10.1. New Versions -Mozilla Foundation is the license steward. Except as provided in -Section 10.3, no one other than the license steward has the right to -modify or publish new versions of this License. Each version will be -given a distinguishing version number. +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. 10.2. Effect of New Versions @@ -392,17 +357,17 @@ Exhibit A - Source Code Form License Notice This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. + file, You can obtain one at https://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to -look for such a notice. +file in a relevant directory) where a recipient would be likely to look +for such a notice. You may add additional accurate notices of copyright ownership. Exhibit B - "Incompatible With Secondary Licenses" Notice ----------------------------------------------------------- +--------------------------------------------------------- This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. diff --git a/docs/architecture.adoc b/docs/architecture.adoc index 3939b65..6b480c5 100644 --- a/docs/architecture.adoc +++ b/docs/architecture.adoc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> = Architecture — claude-integrations :revdate: 2026-MM-DD diff --git a/docs/contributing.adoc b/docs/contributing.adoc index 97f2f14..9ffbd06 100644 --- a/docs/contributing.adoc +++ b/docs/contributing.adoc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> = Contributing — claude-integrations :revdate: 2026-MM-DD diff --git a/docs/decisions/0001-template.adoc b/docs/decisions/0001-template.adoc index 1f128dd..02ede78 100644 --- a/docs/decisions/0001-template.adoc +++ b/docs/decisions/0001-template.adoc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> = ADR-0001 — Use Architecture Decision Records :revdate: 2026-MM-DD diff --git a/docs/tech-debt-2026-05-26.md b/docs/tech-debt-2026-05-26.md index c12f751..b8dc32f 100644 --- a/docs/tech-debt-2026-05-26.md +++ b/docs/tech-debt-2026-05-26.md @@ -1,8 +1,7 @@ - # Tech-Debt Audit — claude-integrations — 2026-05-26 **Source:** estate-wide automated scan 2026-05-26. @@ -22,9 +21,10 @@ No proof-bearing files (`*.v`, `*.lean`, `*.agda`, `*.idr`, `*.idr2`, `*.fst`, ` | Field | Value | |---|---| | LICENSE file | `LICENSE` | -| SPDX header | `PMPL-1.0-or-later ` | +| SPDX header | `MPL-2.0-or-later +` | | Manifest licence | `NONE` | -| Body classifier | `PMPL-1.0-or-later` | +| Body classifier | `MPL-2.0-or-later` | | Severity | `ok` | **Recommended next move:** none for licence. diff --git a/docs/troubleshooting.adoc b/docs/troubleshooting.adoc index 55952d6..6293b1f 100644 --- a/docs/troubleshooting.adoc +++ b/docs/troubleshooting.adoc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> = Troubleshooting — claude-integrations :revdate: 2026-MM-DD diff --git a/docs/usage.adoc b/docs/usage.adoc index d38d9ee..dd772f9 100644 --- a/docs/usage.adoc +++ b/docs/usage.adoc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) <6759885+hyperpolymath@users.noreply.github.com> = Usage — claude-integrations :revdate: 2026-MM-DD diff --git a/firefox-lsp/.formatter.exs b/firefox-lsp/.formatter.exs index d2cda26..a1285df 100644 --- a/firefox-lsp/.formatter.exs +++ b/firefox-lsp/.formatter.exs @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # Used by "mix format" [ inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] diff --git a/firefox-lsp/.github/release-template.md b/firefox-lsp/.github/release-template.md index 31e04e8..e9417d8 100644 --- a/firefox-lsp/.github/release-template.md +++ b/firefox-lsp/.github/release-template.md @@ -1,3 +1,7 @@ + # v1.0.0 - Production Release 🎉 First production-ready release of this LSP server! diff --git a/firefox-lsp/.github/workflows/codeql.yml b/firefox-lsp/.github/workflows/codeql.yml index 220a633..9035072 100644 --- a/firefox-lsp/.github/workflows/codeql.yml +++ b/firefox-lsp/.github/workflows/codeql.yml @@ -17,6 +17,7 @@ jobs: analyze: name: Analyze runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize CodeQL diff --git a/firefox-lsp/.github/workflows/coverage.yml b/firefox-lsp/.github/workflows/coverage.yml index 7e6a941..d7b2067 100644 --- a/firefox-lsp/.github/workflows/coverage.yml +++ b/firefox-lsp/.github/workflows/coverage.yml @@ -11,6 +11,7 @@ jobs: coverage: name: Test Coverage runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Elixir diff --git a/firefox-lsp/.github/workflows/elixir-ci.yml b/firefox-lsp/.github/workflows/elixir-ci.yml index 6ce174a..b3ab6a6 100644 --- a/firefox-lsp/.github/workflows/elixir-ci.yml +++ b/firefox-lsp/.github/workflows/elixir-ci.yml @@ -13,6 +13,7 @@ jobs: test: name: Test (Elixir ${{matrix.elixir}} / OTP ${{matrix.otp}}) runs-on: ubuntu-latest + timeout-minutes: 15 strategy: matrix: elixir: ['1.17'] diff --git a/firefox-lsp/.github/workflows/governance.yml b/firefox-lsp/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/firefox-lsp/.github/workflows/governance.yml +++ b/firefox-lsp/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/firefox-lsp/CHANGELOG.md b/firefox-lsp/CHANGELOG.md index 596e6db..85f3038 100644 --- a/firefox-lsp/CHANGELOG.md +++ b/firefox-lsp/CHANGELOG.md @@ -1,3 +1,7 @@ + # Changelog All notable changes to this project will be documented in this file. diff --git a/firefox-lsp/PROJECT-SUMMARY.md b/firefox-lsp/PROJECT-SUMMARY.md index 212b7cd..b48ea77 100644 --- a/firefox-lsp/PROJECT-SUMMARY.md +++ b/firefox-lsp/PROJECT-SUMMARY.md @@ -1,3 +1,7 @@ + # Claude Firefox LSP - Project Summary **Created:** 2026-02-05 @@ -73,7 +77,7 @@ claude-firefox-lsp/ ├── CHANGELOG.md # Version history ├── ECOSYSTEM.scm # Ecosystem positioning ├── Justfile # Task automation -├── LICENSE # PMPL-1.0-or-later +├── LICENSE # MPL-2.0-or-later ├── META.scm # ADRs and design rationale ├── mix.exs # Elixir project config ├── README.adoc # User documentation @@ -210,7 +214,7 @@ just start # Start server ## License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later Copyright (c) 2026 Jonathan D.A. Jewell -Licensed under the Palimpsest License, version 1.0 or later. +Licensed under the MPL-2.0, version 1.0 or later. diff --git a/firefox-lsp/QUICKSTART.md b/firefox-lsp/QUICKSTART.md index 1681a69..744c0d1 100644 --- a/firefox-lsp/QUICKSTART.md +++ b/firefox-lsp/QUICKSTART.md @@ -1,3 +1,7 @@ + # Quick Start Guide ## Prerequisites diff --git a/firefox-lsp/README.adoc b/firefox-lsp/README.adoc index ad92fb3..7ea7865 100644 --- a/firefox-lsp/README.adoc +++ b/firefox-lsp/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude Firefox LSP Jonathan D.A. Jewell :toc: left @@ -192,11 +194,11 @@ Related projects: == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later Copyright (c) 2026 Jonathan D.A. Jewell -Licensed under the Palimpsest License, version 1.0 or later. +Licensed under the MPL-2.0, version 1.0 or later. == Contributing diff --git a/firefox-lsp/USAGE.md b/firefox-lsp/USAGE.md index 56906ba..5ec9a92 100644 --- a/firefox-lsp/USAGE.md +++ b/firefox-lsp/USAGE.md @@ -1,3 +1,7 @@ + # Usage Guide > Comprehensive guide for using claude-firefox-lsp across VSCode, Neovim, and Emacs @@ -471,4 +475,4 @@ user_pref("devtools.chrome.enabled", true); ## License -PMPL-1.0-or-later +MPL-2.0-or-later diff --git a/firefox-lsp/lib/adapters/behaviour.ex b/firefox-lsp/lib/adapters/behaviour.ex index abacb73..aa33dfc 100644 --- a/firefox-lsp/lib/adapters/behaviour.ex +++ b/firefox-lsp/lib/adapters/behaviour.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.Adapters.Behaviour do diff --git a/firefox-lsp/lib/adapters/firefox.ex b/firefox-lsp/lib/adapters/firefox.ex index a2b6839..e16ad69 100644 --- a/firefox-lsp/lib/adapters/firefox.ex +++ b/firefox-lsp/lib/adapters/firefox.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.Adapters.Firefox do diff --git a/firefox-lsp/lib/adapters/supervisor.ex b/firefox-lsp/lib/adapters/supervisor.ex index 7bfb881..15b4caa 100644 --- a/firefox-lsp/lib/adapters/supervisor.ex +++ b/firefox-lsp/lib/adapters/supervisor.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.Adapters.Supervisor do diff --git a/firefox-lsp/lib/claude_firefox_lsp.ex b/firefox-lsp/lib/claude_firefox_lsp.ex index 18154da..8f8d62b 100644 --- a/firefox-lsp/lib/claude_firefox_lsp.ex +++ b/firefox-lsp/lib/claude_firefox_lsp.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP do diff --git a/firefox-lsp/lib/claude_firefox_lsp/application.ex b/firefox-lsp/lib/claude_firefox_lsp/application.ex index 467ea1f..7e96563 100644 --- a/firefox-lsp/lib/claude_firefox_lsp/application.ex +++ b/firefox-lsp/lib/claude_firefox_lsp/application.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.Application do diff --git a/firefox-lsp/lib/lsp/handlers/completion.ex b/firefox-lsp/lib/lsp/handlers/completion.ex index dc69ce0..70fe9a0 100644 --- a/firefox-lsp/lib/lsp/handlers/completion.ex +++ b/firefox-lsp/lib/lsp/handlers/completion.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.Handlers.Completion do diff --git a/firefox-lsp/lib/lsp/handlers/diagnostics.ex b/firefox-lsp/lib/lsp/handlers/diagnostics.ex index d6049d0..0806d88 100644 --- a/firefox-lsp/lib/lsp/handlers/diagnostics.ex +++ b/firefox-lsp/lib/lsp/handlers/diagnostics.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.Handlers.Diagnostics do diff --git a/firefox-lsp/lib/lsp/handlers/hover.ex b/firefox-lsp/lib/lsp/handlers/hover.ex index 3d4efd3..cd9cf79 100644 --- a/firefox-lsp/lib/lsp/handlers/hover.ex +++ b/firefox-lsp/lib/lsp/handlers/hover.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.Handlers.Hover do diff --git a/firefox-lsp/lib/lsp/server.ex b/firefox-lsp/lib/lsp/server.ex index e483128..cb86d53 100644 --- a/firefox-lsp/lib/lsp/server.ex +++ b/firefox-lsp/lib/lsp/server.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.Server do diff --git a/firefox-lsp/mix.exs b/firefox-lsp/mix.exs index 3836ad5..660f3d6 100644 --- a/firefox-lsp/mix.exs +++ b/firefox-lsp/mix.exs @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSP.MixProject do diff --git a/firefox-lsp/test/adapters/firefox_test.exs b/firefox-lsp/test/adapters/firefox_test.exs index 6d85960..225f174 100644 --- a/firefox-lsp/test/adapters/firefox_test.exs +++ b/firefox-lsp/test/adapters/firefox_test.exs @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell defmodule PolyLSP.Adapters.FirefoxTest do use ExUnit.Case alias PolyLSP.Adapters.Firefox diff --git a/firefox-lsp/test/claude_firefox/lsp_test.exs b/firefox-lsp/test/claude_firefox/lsp_test.exs index 3ce7ec6..6b80649 100644 --- a/firefox-lsp/test/claude_firefox/lsp_test.exs +++ b/firefox-lsp/test/claude_firefox/lsp_test.exs @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell defmodule ClaudeFirefox.LSPTest do diff --git a/firefox-lsp/test/support/lsp_helpers.ex b/firefox-lsp/test/support/lsp_helpers.ex index 07d3c65..244244b 100644 --- a/firefox-lsp/test/support/lsp_helpers.ex +++ b/firefox-lsp/test/support/lsp_helpers.ex @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell defmodule LSPHelpers do @moduledoc """ Common test helpers for LSP protocol testing. diff --git a/firefox-lsp/test/test_helper.exs b/firefox-lsp/test/test_helper.exs index f58cc7d..10fad80 100644 --- a/firefox-lsp/test/test_helper.exs +++ b/firefox-lsp/test/test_helper.exs @@ -1,4 +1,5 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell # SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell ExUnit.start() diff --git a/firefox-lsp/vscode-extension/README.md b/firefox-lsp/vscode-extension/README.md index 27ef39e..cc5df82 100644 --- a/firefox-lsp/vscode-extension/README.md +++ b/firefox-lsp/vscode-extension/README.md @@ -1,3 +1,7 @@ + # Claude Firefox LSP - VS Code Extension VS Code extension for Firefox browser automation via Language Server Protocol. @@ -54,6 +58,6 @@ npm run package ## License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later Copyright (c) 2026 Jonathan D.A. Jewell diff --git a/firefox-mcp/.github/workflows/casket-pages.yml b/firefox-mcp/.github/workflows/casket-pages.yml index ed08040..87f756e 100644 --- a/firefox-mcp/.github/workflows/casket-pages.yml +++ b/firefox-mcp/.github/workflows/casket-pages.yml @@ -18,6 +18,7 @@ concurrency: jobs: build: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 @@ -91,6 +92,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + timeout-minutes: 15 needs: build steps: - name: Deploy to GitHub Pages diff --git a/firefox-mcp/.github/workflows/codeql.yml b/firefox-mcp/.github/workflows/codeql.yml index da2a9b6..29b1bfa 100644 --- a/firefox-mcp/.github/workflows/codeql.yml +++ b/firefox-mcp/.github/workflows/codeql.yml @@ -15,6 +15,7 @@ permissions: read-all jobs: analyze: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read security-events: write diff --git a/firefox-mcp/.github/workflows/governance.yml b/firefox-mcp/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/firefox-mcp/.github/workflows/governance.yml +++ b/firefox-mcp/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/firefox-mcp/.github/workflows/hypatia-scan.yml b/firefox-mcp/.github/workflows/hypatia-scan.yml index e16e191..37b32e7 100644 --- a/firefox-mcp/.github/workflows/hypatia-scan.yml +++ b/firefox-mcp/.github/workflows/hypatia-scan.yml @@ -17,6 +17,7 @@ jobs: scan: name: Hypatia Neurosymbolic Analysis runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout repository diff --git a/firefox-mcp/.github/workflows/scorecard.yml b/firefox-mcp/.github/workflows/scorecard.yml index 3dbba30..ebefcaf 100644 --- a/firefox-mcp/.github/workflows/scorecard.yml +++ b/firefox-mcp/.github/workflows/scorecard.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: analysis: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: security-events: write id-token: write diff --git a/firefox-mcp/ABI-FFI-README.md b/firefox-mcp/ABI-FFI-README.md index 08d35da..cf73490 100644 --- a/firefox-mcp/ABI-FFI-README.md +++ b/firefox-mcp/ABI-FFI-README.md @@ -1,3 +1,7 @@ + {{~ Aditionally delete this line and fill out the template below ~}} # {{PROJECT}} ABI/FFI Documentation diff --git a/firefox-mcp/CODE_OF_CONDUCT.md b/firefox-mcp/CODE_OF_CONDUCT.md index 2777a72..9142f2a 100644 --- a/firefox-mcp/CODE_OF_CONDUCT.md +++ b/firefox-mcp/CODE_OF_CONDUCT.md @@ -1,3 +1,7 @@ + # Code of Conduct # Clone the repository git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git cd {{REPO}} diff --git a/firefox-mcp/MAINTAINERS.adoc b/firefox-mcp/MAINTAINERS.adoc index b5154a0..becaa3e 100644 --- a/firefox-mcp/MAINTAINERS.adoc +++ b/firefox-mcp/MAINTAINERS.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: MPL-2.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Maintainers :toc: preamble diff --git a/firefox-mcp/README.adoc b/firefox-mcp/README.adoc index 288aee8..601c735 100644 --- a/firefox-mcp/README.adoc +++ b/firefox-mcp/README.adoc @@ -1,12 +1,13 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"] == License & Philosophy This project must declare **MPL-2.0-or-later** for platform/tooling compatibility. -Philosophy: **Palimpsest**. The Palimpsest-MPL (PMPL) text is provided in `license/PMPL-1.0.txt`, and the canonical source is the palimpsest-license repository. +Philosophy: **Palimpsest**. The MPL-2.0 (PMPL) text is provided in `license/MPL-2.0.txt`, and the canonical source is the palimpsest-license repository. -// SPDX-License-Identifier: MPL-2.0-or-later = Claude Firefox MCP @@ -171,12 +172,12 @@ The extension auto-reconnects to the MCP server. Click the extension icon to man |Proprietary |License -|PMPL-1.0-or-later +|MPL-2.0-or-later |Proprietary |=== == License -PMPL-1.0-or-later +MPL-2.0-or-later This is an independent project. Not affiliated with Anthropic or Mozilla. diff --git a/firefox-mcp/ROADMAP.adoc b/firefox-mcp/ROADMAP.adoc index b4b8f3e..128ed39 100644 --- a/firefox-mcp/ROADMAP.adoc +++ b/firefox-mcp/ROADMAP.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = YOUR Template Repo Roadmap == Current Status diff --git a/firefox-mcp/RSR_OUTLINE.adoc b/firefox-mcp/RSR_OUTLINE.adoc index 75296fd..6baed3c 100644 --- a/firefox-mcp/RSR_OUTLINE.adoc +++ b/firefox-mcp/RSR_OUTLINE.adoc @@ -1,6 +1,8 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = RSR Template Repository -image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] +image:[MPL-2.0-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] :toc: :sectnums: @@ -209,7 +211,7 @@ This template is part of: == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later == Links diff --git a/firefox-mcp/SECURITY.md b/firefox-mcp/SECURITY.md index 7dd7b29..09fc7b8 100644 --- a/firefox-mcp/SECURITY.md +++ b/firefox-mcp/SECURITY.md @@ -1,3 +1,7 @@ + # Security Policy # CLAUDE.md - AI Assistant Instructions ## Machine-Readable Artefacts diff --git a/gecko-browser-extension/.github/workflows/codeql.yml b/gecko-browser-extension/.github/workflows/codeql.yml index 518e2fd..67ac6cb 100644 --- a/gecko-browser-extension/.github/workflows/codeql.yml +++ b/gecko-browser-extension/.github/workflows/codeql.yml @@ -15,6 +15,7 @@ permissions: read-all jobs: analyze: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read security-events: write diff --git a/gecko-browser-extension/.github/workflows/governance.yml b/gecko-browser-extension/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/gecko-browser-extension/.github/workflows/governance.yml +++ b/gecko-browser-extension/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/gecko-browser-extension/.github/workflows/mirror.yml b/gecko-browser-extension/.github/workflows/mirror.yml index 5202e55..28cdf14 100644 --- a/gecko-browser-extension/.github/workflows/mirror.yml +++ b/gecko-browser-extension/.github/workflows/mirror.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: mirror-gitlab: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.GITLAB_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -30,6 +31,7 @@ jobs: mirror-bitbucket: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.BITBUCKET_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -48,6 +50,7 @@ jobs: mirror-codeberg: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.CODEBERG_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -66,6 +69,7 @@ jobs: mirror-sourcehut: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.SOURCEHUT_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -84,6 +88,7 @@ jobs: mirror-disroot: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.DISROOT_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -102,6 +107,7 @@ jobs: mirror-gitea: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.GITEA_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 @@ -120,6 +126,7 @@ jobs: mirror-radicle: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.RADICLE_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 diff --git a/gecko-browser-extension/.github/workflows/scorecard.yml b/gecko-browser-extension/.github/workflows/scorecard.yml index da20207..607dbbf 100644 --- a/gecko-browser-extension/.github/workflows/scorecard.yml +++ b/gecko-browser-extension/.github/workflows/scorecard.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: analysis: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: security-events: write id-token: write diff --git a/gecko-browser-extension/.github/workflows/secret-scanner.yml b/gecko-browser-extension/.github/workflows/secret-scanner.yml index 52dc6c4..3aa29a4 100644 --- a/gecko-browser-extension/.github/workflows/secret-scanner.yml +++ b/gecko-browser-extension/.github/workflows/secret-scanner.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: trufflehog: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 with: @@ -24,6 +25,7 @@ jobs: gitleaks: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 with: @@ -37,6 +39,7 @@ jobs: # Rust-specific: Check for hardcoded crypto values rust-secrets: runs-on: ubuntu-latest + timeout-minutes: 15 if: hashFiles('**/Cargo.toml') != '' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4 diff --git a/gecko-browser-extension/.machine_readable/6a2/AGENTIC.a2ml b/gecko-browser-extension/.machine_readable/6a2/AGENTIC.a2ml new file mode 100644 index 0000000..c25b68b --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/AGENTIC.a2ml @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +claude-code = [ + ["model", "claude-opus-4-5-20251101"], + [ + "tools", + ["read", "edit", "bash", "grep", "glob"], +], + ["permissions", "read-all"], +] +constraints = [ + [ + "languages", + [], +], + [ + "banned", + ["typescript", "go", "python", "makefile"], +], +] +patterns = [ + ["code-review", "thorough"], + ["refactoring", "conservative"], + ["testing", "comprehensive"], +] +version = "1.0.0" + + diff --git a/gecko-browser-extension/.machine_readable/6a2/ECOSYSTEM.a2ml b/gecko-browser-extension/.machine_readable/6a2/ECOSYSTEM.a2ml new file mode 100644 index 0000000..1c4bba7 --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/ECOSYSTEM.a2ml @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[ecosystem] +name = "claude-gecko-browser-extension" +position-in-ecosystem = ["category", ""] +purpose = "" +related-projects = [] +type = "" +version = "1.0" +what-this-is = [] +what-this-is-not = [] + + diff --git a/gecko-browser-extension/.machine_readable/6a2/META.a2ml b/gecko-browser-extension/.machine_readable/6a2/META.a2ml new file mode 100644 index 0000000..700b724 --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/META.a2ml @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[meta] +architecture-decisions = [] +design-rationale = [] +development-practices = [ + "code-style", + [], +] + + diff --git a/gecko-browser-extension/.machine_readable/6a2/NEUROSYM.a2ml b/gecko-browser-extension/.machine_readable/6a2/NEUROSYM.a2ml new file mode 100644 index 0000000..d1f7205 --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/NEUROSYM.a2ml @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +integration = [] +neural-layer = [ + ["embeddings", "false"], + ["fine-tuning", "false"], +] +symbolic-layer = [ + ["type", "scheme"], + ["reasoning", "deductive"], + ["verification", "formal"], +] +version = "1.0.0" + + diff --git a/gecko-browser-extension/.machine_readable/6a2/PLAYBOOK.a2ml b/gecko-browser-extension/.machine_readable/6a2/PLAYBOOK.a2ml new file mode 100644 index 0000000..08fa460 --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/PLAYBOOK.a2ml @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +alerts = [] +contacts = [] +procedures = [ + [ + "deploy", + [ + ["build", "just build"], + ["test", "just test"], + ["release", "just release"], +], +], + [ + "rollback", + [], +], + [ + "debug", + [], +], +] +version = "1.0.0" + + diff --git a/gecko-browser-extension/.machine_readable/6a2/STATE.a2ml b/gecko-browser-extension/.machine_readable/6a2/STATE.a2ml new file mode 100644 index 0000000..93e1a13 --- /dev/null +++ b/gecko-browser-extension/.machine_readable/6a2/STATE.a2ml @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[state] +blockers-and-issues = ["critical"] +critical-next-actions = ["immediate"] +current-position = ["phase", "initial"] +metadata = ["version", "0.0.1"] +project-context = ["name", "claude-gecko-browser-extension"] +route-to-mvp = [ + "milestones", + [], +] +session-history = [] + + diff --git a/gecko-browser-extension/.machine_readable/AGENTIC.scm b/gecko-browser-extension/.machine_readable/AGENTIC.scm deleted file mode 100644 index fe157f2..0000000 --- a/gecko-browser-extension/.machine_readable/AGENTIC.scm +++ /dev/null @@ -1,16 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; AGENTIC.scm - AI agent interaction patterns for claude-gecko-browser-extension - -(define agentic-config - `((version . "1.0.0") - (claude-code - ((model . "claude-opus-4-5-20251101") - (tools . ("read" "edit" "bash" "grep" "glob")) - (permissions . "read-all"))) - (patterns - ((code-review . "thorough") - (refactoring . "conservative") - (testing . "comprehensive"))) - (constraints - ((languages . ()) - (banned . ("typescript" "go" "python" "makefile")))))) diff --git a/gecko-browser-extension/.machine_readable/ECOSYSTEM.scm b/gecko-browser-extension/.machine_readable/ECOSYSTEM.scm deleted file mode 100644 index 3670b78..0000000 --- a/gecko-browser-extension/.machine_readable/ECOSYSTEM.scm +++ /dev/null @@ -1,20 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; ECOSYSTEM.scm - Ecosystem position for claude-gecko-browser-extension -;; Media-Type: application/vnd.ecosystem+scm - -(ecosystem - (version "1.0") - (name "claude-gecko-browser-extension") - (type "") - (purpose "") - - (position-in-ecosystem - (category "") - (subcategory "") - (unique-value ())) - - (related-projects ()) - - (what-this-is ()) - - (what-this-is-not ())) diff --git a/gecko-browser-extension/.machine_readable/META.scm b/gecko-browser-extension/.machine_readable/META.scm deleted file mode 100644 index 85aa024..0000000 --- a/gecko-browser-extension/.machine_readable/META.scm +++ /dev/null @@ -1,17 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; META.scm - Meta-level information for claude-gecko-browser-extension -;; Media-Type: application/meta+scheme - -(meta - (architecture-decisions ()) - - (development-practices - (code-style ()) - (security - (principle "Defense in depth")) - (testing ()) - (versioning "SemVer") - (documentation "AsciiDoc") - (branching "main for stable")) - - (design-rationale ())) diff --git a/gecko-browser-extension/.machine_readable/NEUROSYM.scm b/gecko-browser-extension/.machine_readable/NEUROSYM.scm deleted file mode 100644 index d37b428..0000000 --- a/gecko-browser-extension/.machine_readable/NEUROSYM.scm +++ /dev/null @@ -1,13 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; NEUROSYM.scm - Neurosymbolic integration config for claude-gecko-browser-extension - -(define neurosym-config - `((version . "1.0.0") - (symbolic-layer - ((type . "scheme") - (reasoning . "deductive") - (verification . "formal"))) - (neural-layer - ((embeddings . false) - (fine-tuning . false))) - (integration . ()))) diff --git a/gecko-browser-extension/.machine_readable/PLAYBOOK.scm b/gecko-browser-extension/.machine_readable/PLAYBOOK.scm deleted file mode 100644 index 8709d9c..0000000 --- a/gecko-browser-extension/.machine_readable/PLAYBOOK.scm +++ /dev/null @@ -1,13 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; PLAYBOOK.scm - Operational runbook for claude-gecko-browser-extension - -(define playbook - `((version . "1.0.0") - (procedures - ((deploy . (("build" . "just build") - ("test" . "just test") - ("release" . "just release"))) - (rollback . ()) - (debug . ()))) - (alerts . ()) - (contacts . ()))) diff --git a/gecko-browser-extension/.machine_readable/STATE.scm b/gecko-browser-extension/.machine_readable/STATE.scm deleted file mode 100644 index 0c890a8..0000000 --- a/gecko-browser-extension/.machine_readable/STATE.scm +++ /dev/null @@ -1,39 +0,0 @@ -;; SPDX-License-Identifier: AGPL-3.0-or-later -;; STATE.scm - Project state for claude-gecko-browser-extension -;; Media-Type: application/vnd.state+scm - -(state - (metadata - (version "0.0.1") - (schema-version "1.0") - (created "2026-01-03") - (updated "2026-01-03") - (project "claude-gecko-browser-extension") - (repo "github.com/hyperpolymath/claude-gecko-browser-extension")) - - (project-context - (name "claude-gecko-browser-extension") - (tagline "") - (tech-stack ())) - - (current-position - (phase "initial") - (overall-completion 0) - (components ()) - (working-features ())) - - (route-to-mvp - (milestones ())) - - (blockers-and-issues - (critical) - (high) - (medium) - (low)) - - (critical-next-actions - (immediate) - (this-week) - (this-month)) - - (session-history ())) diff --git a/gecko-browser-extension/ABI-FFI-README.md b/gecko-browser-extension/ABI-FFI-README.md index 08d35da..cf73490 100644 --- a/gecko-browser-extension/ABI-FFI-README.md +++ b/gecko-browser-extension/ABI-FFI-README.md @@ -1,3 +1,7 @@ + {{~ Aditionally delete this line and fill out the template below ~}} # {{PROJECT}} ABI/FFI Documentation diff --git a/gecko-browser-extension/CODE_OF_CONDUCT.md b/gecko-browser-extension/CODE_OF_CONDUCT.md index efde91a..9020def 100644 --- a/gecko-browser-extension/CODE_OF_CONDUCT.md +++ b/gecko-browser-extension/CODE_OF_CONDUCT.md @@ -1,4 +1,7 @@ - + # Contributor Covenant Code of Conduct ## Our Pledge diff --git a/gecko-browser-extension/CONTRIBUTING.adoc b/gecko-browser-extension/CONTRIBUTING.adoc index 5da21b5..2ead10c 100644 --- a/gecko-browser-extension/CONTRIBUTING.adoc +++ b/gecko-browser-extension/CONTRIBUTING.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Contributing Guide == Getting Started diff --git a/gecko-browser-extension/CONTRIBUTING.md b/gecko-browser-extension/CONTRIBUTING.md index b39b3f7..455e511 100644 --- a/gecko-browser-extension/CONTRIBUTING.md +++ b/gecko-browser-extension/CONTRIBUTING.md @@ -1,3 +1,7 @@ + # Clone the repository git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git cd {{REPO}} diff --git a/gecko-browser-extension/MAINTAINERS.adoc b/gecko-browser-extension/MAINTAINERS.adoc index e07823a..becaa3e 100644 --- a/gecko-browser-extension/MAINTAINERS.adoc +++ b/gecko-browser-extension/MAINTAINERS.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Maintainers :toc: preamble diff --git a/gecko-browser-extension/PALIMPSEST.adoc b/gecko-browser-extension/PALIMPSEST.adoc index 124589a..f9cf207 100644 --- a/gecko-browser-extension/PALIMPSEST.adoc +++ b/gecko-browser-extension/PALIMPSEST.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Palimpsest Licence :toc: :toc-placement!: diff --git a/gecko-browser-extension/README.adoc b/gecko-browser-extension/README.adoc index 8bb6114..3269e76 100644 --- a/gecko-browser-extension/README.adoc +++ b/gecko-browser-extension/README.adoc @@ -1,7 +1,8 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell image:https://img.shields.io/badge/license-PMPL--1.0-blue.svg[License,link="https://github.com/hyperpolymath/palimpsest-license"] -// SPDX-License-Identifier: PMPL-1.0 // SPDX-FileCopyrightText: 2025 hyperpolymath = Claude for Gecko @@ -119,15 +120,15 @@ The extension will be submitted to https://addons.mozilla.org[Firefox Add-ons] o === Legal License -This project is licensed under the **Palimpsest-MPL License v1.0 (PMPL-1.0)** - see link:LICENSE[LICENSE] for details. +This project is licensed under the **MPL-2.0 License v1.0 (MPL-2.0)** - see link:LICENSE[LICENSE] for details. You are free to use, modify, and distribute this software. -=== Philosophical Companion: Palimpsest License +=== Philosophical Companion: MPL-2.0 -We encourage adopters to also consider the principles of the **Palimpsest License** - a philosophical manifesto for building technology that serves humanity's long-term flourishing. +We encourage adopters to also consider the principles of the **MPL-2.0** - a philosophical manifesto for building technology that serves humanity's long-term flourishing. -The Palimpsest License is not a legal document but a commitment to: +The MPL-2.0 is not a legal document but a commitment to: * Building on the work of others with gratitude * Leaving the codebase better than you found it @@ -161,7 +162,7 @@ claude-gecko-browser-extension/ │ └── icon-*.png # Extension icons ├── docs/ │ └── PALIMPSEST.adoc # Philosophical license -├── LICENSE # Palimpsest-MPL License v1.0 (PMPL-1.0) +├── LICENSE # MPL-2.0 License v1.0 (MPL-2.0) ├── README.adoc # This file └── STATE.scm # Project state checkpoint ---- diff --git a/gecko-browser-extension/ROADMAP.adoc b/gecko-browser-extension/ROADMAP.adoc index aab8517..b2970a9 100644 --- a/gecko-browser-extension/ROADMAP.adoc +++ b/gecko-browser-extension/ROADMAP.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude Gecko Browser Extension Roadmap == Current Status diff --git a/gecko-browser-extension/RSR_OUTLINE.adoc b/gecko-browser-extension/RSR_OUTLINE.adoc index 75296fd..6baed3c 100644 --- a/gecko-browser-extension/RSR_OUTLINE.adoc +++ b/gecko-browser-extension/RSR_OUTLINE.adoc @@ -1,6 +1,8 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = RSR Template Repository -image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] +image:[MPL-2.0-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] :toc: :sectnums: @@ -209,7 +211,7 @@ This template is part of: == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later == Links diff --git a/gecko-browser-extension/SECURITY.md b/gecko-browser-extension/SECURITY.md index 84937e0..a6a2a3a 100644 --- a/gecko-browser-extension/SECURITY.md +++ b/gecko-browser-extension/SECURITY.md @@ -1,3 +1,7 @@ + # Security Policy We take security seriously and appreciate your efforts to responsibly disclose vulnerabilities. This policy outlines how to report security issues, what to expect, and how we recognize contributions. diff --git a/gecko-browser-extension/ai-cli-crash-capture/README.adoc b/gecko-browser-extension/ai-cli-crash-capture/README.adoc index 2fcda87..689b158 100644 --- a/gecko-browser-extension/ai-cli-crash-capture/README.adoc +++ b/gecko-browser-extension/ai-cli-crash-capture/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = AI CLI Crash Capture :revdate: 2026-01-17 diff --git a/gecko-browser-extension/contractiles/README.adoc b/gecko-browser-extension/contractiles/README.adoc index d19a387..70ad712 100644 --- a/gecko-browser-extension/contractiles/README.adoc +++ b/gecko-browser-extension/contractiles/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Contractiles Template Set :toc: :sectnums: diff --git a/gecko-browser-extension/docs/CITATIONS.adoc b/gecko-browser-extension/docs/CITATIONS.adoc index 564f0ae..52ba528 100644 --- a/gecko-browser-extension/docs/CITATIONS.adoc +++ b/gecko-browser-extension/docs/CITATIONS.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = RSR-template-repo - Citation Guide :toc: @@ -10,7 +12,7 @@ title = {RSR-template-repo}, year = {2025}, url = {https://github.com/hyperpolymath/RSR-template-repo}, - license = {AGPL-3.0-or-later} + license = {MPL-2.0} } ---- diff --git a/gecko-browser-extension/docs/PALIMPSEST.adoc b/gecko-browser-extension/docs/PALIMPSEST.adoc index 702a142..5f69031 100644 --- a/gecko-browser-extension/docs/PALIMPSEST.adoc +++ b/gecko-browser-extension/docs/PALIMPSEST.adoc @@ -1,5 +1,6 @@ -// SPDX-License-Identifier: CC0-1.0 -= The Palimpsest License +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell += The MPL-2.0 :author: hyperpolymath :revdate: 2025 @@ -14,7 +15,7 @@ ____ This is not a legal license. It is a philosophical companion to whatever legal license you choose. -The Palimpsest License is a commitment - to yourself, to your collaborators, and to those who will inherit your code long after you have moved on. +The MPL-2.0 is a commitment - to yourself, to your collaborators, and to those who will inherit your code long after you have moved on. == The Principles @@ -87,7 +88,7 @@ Build with care, but hold loosely. == Adoption -To adopt the Palimpsest License: +To adopt the MPL-2.0: . Include it alongside your legal license . Reference it in your README @@ -110,4 +111,4 @@ ____ --- -_The Palimpsest License is released to the public domain under CC0. Copy it, modify it, make it your own._ +_The MPL-2.0 is released to the public domain under CC0. Copy it, modify it, make it your own._ diff --git a/gecko-browser-extension/src/background/background.js b/gecko-browser-extension/src/background/background.js index 362a79e..468abf6 100644 --- a/gecko-browser-extension/src/background/background.js +++ b/gecko-browser-extension/src/background/background.js @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // Claude for Gecko - Background Service Worker const ANTHROPIC_API_URL = "https://api.anthropic.com/v1/messages"; diff --git a/gecko-browser-extension/src/content/content.js b/gecko-browser-extension/src/content/content.js index 35e0350..9462609 100644 --- a/gecko-browser-extension/src/content/content.js +++ b/gecko-browser-extension/src/content/content.js @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // Claude for Gecko - Content Script /** diff --git a/gecko-browser-extension/src/popup/options.js b/gecko-browser-extension/src/popup/options.js index ff453e1..1ad57b5 100644 --- a/gecko-browser-extension/src/popup/options.js +++ b/gecko-browser-extension/src/popup/options.js @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // Claude for Gecko - Options Page Script const apiKeyInput = document.getElementById("api-key"); diff --git a/gecko-browser-extension/src/popup/popup.js b/gecko-browser-extension/src/popup/popup.js index 90b3bcd..c535feb 100644 --- a/gecko-browser-extension/src/popup/popup.js +++ b/gecko-browser-extension/src/popup/popup.js @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // Claude for Gecko - Popup Script const messagesContainer = document.getElementById("messages"); diff --git a/gitlab-bridge/.claude/CLAUDE.md b/gitlab-bridge/.claude/CLAUDE.md index c878259..ce34367 100644 --- a/gitlab-bridge/.claude/CLAUDE.md +++ b/gitlab-bridge/.claude/CLAUDE.md @@ -1,3 +1,7 @@ + ## Machine-Readable Artefacts The following files in `.machine_readable/` contain structured project metadata: @@ -19,14 +23,14 @@ The following files in `.machine_readable/` contain structured project metadata: | Language/Tool | Use Case | Notes | |---------------|----------|-------| -| **ReScript** | Primary application code | Compiles to JS, type-safe | +| **AffineScript** | Primary application code | Compiles to JS, type-safe | | **Deno** | Runtime & package management | Replaces Node/npm/bun | | **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools | | **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI | | **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like | | **Gleam** | Backend services | Runs on BEAM or compiles to JS | | **Bash/POSIX Shell** | Scripts, automation | Keep minimal | -| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs | +| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs | | **Nickel** | Configuration language | For complex configs | | **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm | | **Julia** | Batch scripts, data processing | Per RSR | @@ -37,7 +41,7 @@ The following files in `.machine_readable/` contain structured project metadata: | Banned | Replacement | |--------|-------------| -| TypeScript | ReScript | +| TypeScript | AffineScript | | Node.js | Deno | | npm | Deno | | Bun | Deno | @@ -53,18 +57,18 @@ The following files in `.machine_readable/` contain structured project metadata: **No exceptions for Kotlin/Swift** - use Rust-first approach: -1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0 +1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0 2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0 Both are FOSS with independent governance (no Big Tech). ### Enforcement Rules -1. **No new TypeScript files** - Convert existing TS to ReScript -2. **No package.json for runtime deps** - Use deno.json imports +1. **No new TypeScript files** - Convert existing TS to AffineScript +2. **No package.json - use deno.json deps** - Use deno.json imports 3. **No node_modules in production** - Deno caches deps automatically 4. **No Go code** - Use Rust instead -5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps +5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps 6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus ### Package Management diff --git a/gitlab-bridge/.github/ISSUE_TEMPLATE/bug_report.md b/gitlab-bridge/.github/ISSUE_TEMPLATE/bug_report.md index 987aab6..45a6c02 100644 --- a/gitlab-bridge/.github/ISSUE_TEMPLATE/bug_report.md +++ b/gitlab-bridge/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,7 @@ + --- name: Bug report about: Create a report to help us improve diff --git a/gitlab-bridge/.github/ISSUE_TEMPLATE/custom.md b/gitlab-bridge/.github/ISSUE_TEMPLATE/custom.md index 48d5f81..99ebf00 100644 --- a/gitlab-bridge/.github/ISSUE_TEMPLATE/custom.md +++ b/gitlab-bridge/.github/ISSUE_TEMPLATE/custom.md @@ -1,3 +1,7 @@ + --- name: Custom issue template about: Describe this issue template's purpose here. diff --git a/gitlab-bridge/.github/ISSUE_TEMPLATE/documentation.md b/gitlab-bridge/.github/ISSUE_TEMPLATE/documentation.md index 4fcb9f9..b1d16df 100644 --- a/gitlab-bridge/.github/ISSUE_TEMPLATE/documentation.md +++ b/gitlab-bridge/.github/ISSUE_TEMPLATE/documentation.md @@ -1,3 +1,7 @@ + --- name: Documentation about: Report unclear, missing, or incorrect documentation diff --git a/gitlab-bridge/.github/ISSUE_TEMPLATE/feature_request.md b/gitlab-bridge/.github/ISSUE_TEMPLATE/feature_request.md index 3e8fa7e..a5a5693 100644 --- a/gitlab-bridge/.github/ISSUE_TEMPLATE/feature_request.md +++ b/gitlab-bridge/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,3 +1,7 @@ + --- name: Feature request about: Suggest an idea for this project diff --git a/gitlab-bridge/.github/ISSUE_TEMPLATE/question.md b/gitlab-bridge/.github/ISSUE_TEMPLATE/question.md index fd0e2a5..c2d1f57 100644 --- a/gitlab-bridge/.github/ISSUE_TEMPLATE/question.md +++ b/gitlab-bridge/.github/ISSUE_TEMPLATE/question.md @@ -1,3 +1,7 @@ + --- name: Question about: Ask a question about usage or behaviour diff --git a/gitlab-bridge/.github/workflows/codeql.yml b/gitlab-bridge/.github/workflows/codeql.yml index f72ca6a..74c318a 100644 --- a/gitlab-bridge/.github/workflows/codeql.yml +++ b/gitlab-bridge/.github/workflows/codeql.yml @@ -15,6 +15,7 @@ permissions: read-all jobs: analyze: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read security-events: write diff --git a/gitlab-bridge/.github/workflows/governance.yml b/gitlab-bridge/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/gitlab-bridge/.github/workflows/governance.yml +++ b/gitlab-bridge/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/gitlab-bridge/.github/workflows/hypatia-scan.yml b/gitlab-bridge/.github/workflows/hypatia-scan.yml index e16e191..37b32e7 100644 --- a/gitlab-bridge/.github/workflows/hypatia-scan.yml +++ b/gitlab-bridge/.github/workflows/hypatia-scan.yml @@ -17,6 +17,7 @@ jobs: scan: name: Hypatia Neurosymbolic Analysis runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout repository diff --git a/gitlab-bridge/.github/workflows/jekyll-gh-pages.yml b/gitlab-bridge/.github/workflows/jekyll-gh-pages.yml index 0efb20b..7318609 100644 --- a/gitlab-bridge/.github/workflows/jekyll-gh-pages.yml +++ b/gitlab-bridge/.github/workflows/jekyll-gh-pages.yml @@ -26,6 +26,7 @@ jobs: # Build job build: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -45,6 +46,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + timeout-minutes: 15 needs: build steps: - name: Deploy to GitHub Pages diff --git a/gitlab-bridge/.github/workflows/mirror.yml b/gitlab-bridge/.github/workflows/mirror.yml index 1e68872..43b1cbb 100644 --- a/gitlab-bridge/.github/workflows/mirror.yml +++ b/gitlab-bridge/.github/workflows/mirror.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: mirror-gitlab: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.GITLAB_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -30,6 +31,7 @@ jobs: mirror-bitbucket: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.BITBUCKET_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -48,6 +50,7 @@ jobs: mirror-codeberg: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.CODEBERG_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -66,6 +69,7 @@ jobs: mirror-sourcehut: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.SOURCEHUT_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -84,6 +88,7 @@ jobs: mirror-disroot: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.DISROOT_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -102,6 +107,7 @@ jobs: mirror-gitea: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.GITEA_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -120,6 +126,7 @@ jobs: mirror-radicle: runs-on: ubuntu-latest + timeout-minutes: 15 if: vars.RADICLE_MIRROR_ENABLED == 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 diff --git a/gitlab-bridge/.github/workflows/rescript-deno-ci.yml b/gitlab-bridge/.github/workflows/rescript-deno-ci.yml index aa099ef..5f9a432 100644 --- a/gitlab-bridge/.github/workflows/rescript-deno-ci.yml +++ b/gitlab-bridge/.github/workflows/rescript-deno-ci.yml @@ -5,6 +5,7 @@ on: [push, pull_request] jobs: build: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: denoland/setup-deno@v2 @@ -32,6 +33,7 @@ jobs: security: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: denoland/setup-deno@v2 diff --git a/gitlab-bridge/.github/workflows/scorecard-enforcer.yml b/gitlab-bridge/.github/workflows/scorecard-enforcer.yml index ada4c4d..da5b3bb 100644 --- a/gitlab-bridge/.github/workflows/scorecard-enforcer.yml +++ b/gitlab-bridge/.github/workflows/scorecard-enforcer.yml @@ -14,6 +14,7 @@ permissions: read-all jobs: scorecard: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: security-events: write id-token: write # For OIDC @@ -52,6 +53,7 @@ jobs: # Check specific high-priority items check-critical: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 diff --git a/gitlab-bridge/.github/workflows/scorecard.yml b/gitlab-bridge/.github/workflows/scorecard.yml index 6f21788..6478737 100644 --- a/gitlab-bridge/.github/workflows/scorecard.yml +++ b/gitlab-bridge/.github/workflows/scorecard.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: analysis: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: security-events: write id-token: write diff --git a/gitlab-bridge/.github/workflows/secret-scanner.yml b/gitlab-bridge/.github/workflows/secret-scanner.yml index fd1be6c..d225f4d 100644 --- a/gitlab-bridge/.github/workflows/secret-scanner.yml +++ b/gitlab-bridge/.github/workflows/secret-scanner.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: trufflehog: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 with: @@ -24,6 +25,7 @@ jobs: gitleaks: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 with: @@ -37,6 +39,7 @@ jobs: # Rust-specific: Check for hardcoded crypto values rust-secrets: runs-on: ubuntu-latest + timeout-minutes: 15 if: hashFiles('**/Cargo.toml') != '' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 diff --git a/gitlab-bridge/.machine_readable/6a2/AGENTIC.a2ml b/gitlab-bridge/.machine_readable/6a2/AGENTIC.a2ml new file mode 100644 index 0000000..c25b68b --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/AGENTIC.a2ml @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +claude-code = [ + ["model", "claude-opus-4-5-20251101"], + [ + "tools", + ["read", "edit", "bash", "grep", "glob"], +], + ["permissions", "read-all"], +] +constraints = [ + [ + "languages", + [], +], + [ + "banned", + ["typescript", "go", "python", "makefile"], +], +] +patterns = [ + ["code-review", "thorough"], + ["refactoring", "conservative"], + ["testing", "comprehensive"], +] +version = "1.0.0" + + diff --git a/gitlab-bridge/.machine_readable/6a2/ECOSYSTEM.a2ml b/gitlab-bridge/.machine_readable/6a2/ECOSYSTEM.a2ml new file mode 100644 index 0000000..651c13d --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/ECOSYSTEM.a2ml @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[ecosystem] +name = "claude-gitlab-bridge" +position-in-ecosystem = ["category", ""] +purpose = "" +related-projects = [] +type = "" +version = "1.0" +what-this-is = [] +what-this-is-not = [] + + diff --git a/gitlab-bridge/.machine_readable/6a2/META.a2ml b/gitlab-bridge/.machine_readable/6a2/META.a2ml new file mode 100644 index 0000000..700b724 --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/META.a2ml @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[meta] +architecture-decisions = [] +design-rationale = [] +development-practices = [ + "code-style", + [], +] + + diff --git a/gitlab-bridge/.machine_readable/6a2/NEUROSYM.a2ml b/gitlab-bridge/.machine_readable/6a2/NEUROSYM.a2ml new file mode 100644 index 0000000..d1f7205 --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/NEUROSYM.a2ml @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +integration = [] +neural-layer = [ + ["embeddings", "false"], + ["fine-tuning", "false"], +] +symbolic-layer = [ + ["type", "scheme"], + ["reasoning", "deductive"], + ["verification", "formal"], +] +version = "1.0.0" + + diff --git a/gitlab-bridge/.machine_readable/6a2/PLAYBOOK.a2ml b/gitlab-bridge/.machine_readable/6a2/PLAYBOOK.a2ml new file mode 100644 index 0000000..08fa460 --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/PLAYBOOK.a2ml @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[metadata] +alerts = [] +contacts = [] +procedures = [ + [ + "deploy", + [ + ["build", "just build"], + ["test", "just test"], + ["release", "just release"], +], +], + [ + "rollback", + [], +], + [ + "debug", + [], +], +] +version = "1.0.0" + + diff --git a/gitlab-bridge/.machine_readable/6a2/STATE.a2ml b/gitlab-bridge/.machine_readable/6a2/STATE.a2ml new file mode 100644 index 0000000..eec647e --- /dev/null +++ b/gitlab-bridge/.machine_readable/6a2/STATE.a2ml @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# Converted from .scm format + +# SPDX-License-Identifier: PMPL-1.0-or-later + +[state] +blockers-and-issues = ["critical"] +critical-next-actions = ["immediate"] +current-position = ["phase", "initial"] +metadata = ["version", "0.0.1"] +project-context = ["name", "claude-gitlab-bridge"] +route-to-mvp = [ + "milestones", + [], +] +session-history = [] + + diff --git a/gitlab-bridge/.machine_readable/AGENTIC.scm b/gitlab-bridge/.machine_readable/AGENTIC.scm deleted file mode 100644 index df92643..0000000 --- a/gitlab-bridge/.machine_readable/AGENTIC.scm +++ /dev/null @@ -1,16 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; AGENTIC.scm - AI agent interaction patterns for claude-gitlab-bridge - -(define agentic-config - `((version . "1.0.0") - (claude-code - ((model . "claude-opus-4-5-20251101") - (tools . ("read" "edit" "bash" "grep" "glob")) - (permissions . "read-all"))) - (patterns - ((code-review . "thorough") - (refactoring . "conservative") - (testing . "comprehensive"))) - (constraints - ((languages . ()) - (banned . ("typescript" "go" "python" "makefile")))))) diff --git a/gitlab-bridge/.machine_readable/ECOSYSTEM.scm b/gitlab-bridge/.machine_readable/ECOSYSTEM.scm deleted file mode 100644 index 0a3131b..0000000 --- a/gitlab-bridge/.machine_readable/ECOSYSTEM.scm +++ /dev/null @@ -1,20 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; ECOSYSTEM.scm - Ecosystem position for claude-gitlab-bridge -;; Media-Type: application/vnd.ecosystem+scm - -(ecosystem - (version "1.0") - (name "claude-gitlab-bridge") - (type "") - (purpose "") - - (position-in-ecosystem - (category "") - (subcategory "") - (unique-value ())) - - (related-projects ()) - - (what-this-is ()) - - (what-this-is-not ())) diff --git a/gitlab-bridge/.machine_readable/META.scm b/gitlab-bridge/.machine_readable/META.scm deleted file mode 100644 index 50bdca4..0000000 --- a/gitlab-bridge/.machine_readable/META.scm +++ /dev/null @@ -1,17 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; META.scm - Meta-level information for claude-gitlab-bridge -;; Media-Type: application/meta+scheme - -(meta - (architecture-decisions ()) - - (development-practices - (code-style ()) - (security - (principle "Defense in depth")) - (testing ()) - (versioning "SemVer") - (documentation "AsciiDoc") - (branching "main for stable")) - - (design-rationale ())) diff --git a/gitlab-bridge/.machine_readable/NEUROSYM.scm b/gitlab-bridge/.machine_readable/NEUROSYM.scm deleted file mode 100644 index 2a90656..0000000 --- a/gitlab-bridge/.machine_readable/NEUROSYM.scm +++ /dev/null @@ -1,13 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; NEUROSYM.scm - Neurosymbolic integration config for claude-gitlab-bridge - -(define neurosym-config - `((version . "1.0.0") - (symbolic-layer - ((type . "scheme") - (reasoning . "deductive") - (verification . "formal"))) - (neural-layer - ((embeddings . false) - (fine-tuning . false))) - (integration . ()))) diff --git a/gitlab-bridge/.machine_readable/PLAYBOOK.scm b/gitlab-bridge/.machine_readable/PLAYBOOK.scm deleted file mode 100644 index 19266e9..0000000 --- a/gitlab-bridge/.machine_readable/PLAYBOOK.scm +++ /dev/null @@ -1,13 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; PLAYBOOK.scm - Operational runbook for claude-gitlab-bridge - -(define playbook - `((version . "1.0.0") - (procedures - ((deploy . (("build" . "just build") - ("test" . "just test") - ("release" . "just release"))) - (rollback . ()) - (debug . ()))) - (alerts . ()) - (contacts . ()))) diff --git a/gitlab-bridge/.machine_readable/STATE.scm b/gitlab-bridge/.machine_readable/STATE.scm deleted file mode 100644 index 922bef5..0000000 --- a/gitlab-bridge/.machine_readable/STATE.scm +++ /dev/null @@ -1,39 +0,0 @@ -;; SPDX-License-Identifier: PMPL-1.0-or-later -;; STATE.scm - Project state for claude-gitlab-bridge -;; Media-Type: application/vnd.state+scm - -(state - (metadata - (version "0.0.1") - (schema-version "1.0") - (created "2026-01-03") - (updated "2026-01-03") - (project "claude-gitlab-bridge") - (repo "github.com/hyperpolymath/claude-gitlab-bridge")) - - (project-context - (name "claude-gitlab-bridge") - (tagline "") - (tech-stack ())) - - (current-position - (phase "initial") - (overall-completion 0) - (components ()) - (working-features ())) - - (route-to-mvp - (milestones ())) - - (blockers-and-issues - (critical) - (high) - (medium) - (low)) - - (critical-next-actions - (immediate) - (this-week) - (this-month)) - - (session-history ())) diff --git a/gitlab-bridge/ABI-FFI-README.md b/gitlab-bridge/ABI-FFI-README.md index 08d35da..cf73490 100644 --- a/gitlab-bridge/ABI-FFI-README.md +++ b/gitlab-bridge/ABI-FFI-README.md @@ -1,3 +1,7 @@ + {{~ Aditionally delete this line and fill out the template below ~}} # {{PROJECT}} ABI/FFI Documentation diff --git a/gitlab-bridge/CLAUDE.md b/gitlab-bridge/CLAUDE.md index b8f697f..cef0fc6 100644 --- a/gitlab-bridge/CLAUDE.md +++ b/gitlab-bridge/CLAUDE.md @@ -1,8 +1,7 @@ - # Claude GitLab Bridge ## Project Overview diff --git a/gitlab-bridge/CODE_OF_CONDUCT.adoc b/gitlab-bridge/CODE_OF_CONDUCT.adoc index 8d20384..684bdab 100644 --- a/gitlab-bridge/CODE_OF_CONDUCT.adoc +++ b/gitlab-bridge/CODE_OF_CONDUCT.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Contributor Covenant Code of Conduct :toc: :toclevels: 2 diff --git a/gitlab-bridge/CODE_OF_CONDUCT.md b/gitlab-bridge/CODE_OF_CONDUCT.md index efde91a..9020def 100644 --- a/gitlab-bridge/CODE_OF_CONDUCT.md +++ b/gitlab-bridge/CODE_OF_CONDUCT.md @@ -1,4 +1,7 @@ - + # Contributor Covenant Code of Conduct ## Our Pledge diff --git a/gitlab-bridge/COMPLETION-REPORT.adoc b/gitlab-bridge/COMPLETION-REPORT.adoc index d03f7ae..f4837a8 100644 --- a/gitlab-bridge/COMPLETION-REPORT.adoc +++ b/gitlab-bridge/COMPLETION-REPORT.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude GitLab Bridge - Completion Report Jonathan D.A. Jewell v2.0.0, 2025-01-23 @@ -26,7 +28,7 @@ All requested features for the Claude GitLab Bridge have been successfully imple |License updates |✅ Complete -|PMPL-1.0-or-later applied throughout +|MPL-2.0-or-later applied throughout |Documentation |✅ Complete @@ -233,7 +235,7 @@ All requested features for the Claude GitLab Bridge have been successfully imple - All files have SPDX headers - Proper copyright attribution (Jonathan D.A. Jewell) -- PMPL-1.0-or-later license throughout +- MPL-2.0-or-later license throughout - Descriptive variable names - Comprehensive type definitions - Documented functions with DocStrings @@ -439,7 +441,7 @@ The Claude GitLab Bridge v2.0 is feature-complete for the initial roadmap: **Project Status:** 🟢 **Ready for Development & Testing** -**License:** PMPL-1.0-or-later (Palimpsest License) +**License:** MPL-2.0-or-later (MPL-2.0) **Author:** Jonathan D.A. Jewell diff --git a/gitlab-bridge/CONTRIBUTING.adoc b/gitlab-bridge/CONTRIBUTING.adoc index 2b0ad29..bc9c959 100644 --- a/gitlab-bridge/CONTRIBUTING.adoc +++ b/gitlab-bridge/CONTRIBUTING.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Contributing to Claude GitLab Bridge :toc: :toclevels: 3 diff --git a/gitlab-bridge/CONTRIBUTING.md b/gitlab-bridge/CONTRIBUTING.md index b39b3f7..455e511 100644 --- a/gitlab-bridge/CONTRIBUTING.md +++ b/gitlab-bridge/CONTRIBUTING.md @@ -1,3 +1,7 @@ + # Clone the repository git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git cd {{REPO}} diff --git a/gitlab-bridge/CONTRIBUTORS.md b/gitlab-bridge/CONTRIBUTORS.md index 865a0c6..a265e24 100644 --- a/gitlab-bridge/CONTRIBUTORS.md +++ b/gitlab-bridge/CONTRIBUTORS.md @@ -1,3 +1,7 @@ + # Contributors Thank you to everyone who has contributed to Claude GitLab Bridge! diff --git a/gitlab-bridge/GOVERNANCE.adoc b/gitlab-bridge/GOVERNANCE.adoc index ce9545a..e484725 100644 --- a/gitlab-bridge/GOVERNANCE.adoc +++ b/gitlab-bridge/GOVERNANCE.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Governance :toc: :toclevels: 3 diff --git a/gitlab-bridge/HANDOVER.md b/gitlab-bridge/HANDOVER.md index 3273ee0..bff7d77 100644 --- a/gitlab-bridge/HANDOVER.md +++ b/gitlab-bridge/HANDOVER.md @@ -1,8 +1,7 @@ - # Claude-GitLab Bridge Project Handover Document ## Project Identity diff --git a/gitlab-bridge/MAINTAINERS.adoc b/gitlab-bridge/MAINTAINERS.adoc index ac120fa..becaa3e 100644 --- a/gitlab-bridge/MAINTAINERS.adoc +++ b/gitlab-bridge/MAINTAINERS.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Maintainers :toc: preamble diff --git a/gitlab-bridge/MIGRATION.adoc b/gitlab-bridge/MIGRATION.adoc index 66c1d65..76f8fb3 100644 --- a/gitlab-bridge/MIGRATION.adoc +++ b/gitlab-bridge/MIGRATION.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Migration Guide: TypeScript to ReScript :toc: :toclevels: 3 diff --git a/gitlab-bridge/PALIMPSEST.adoc b/gitlab-bridge/PALIMPSEST.adoc index e40e76c..895adf2 100644 --- a/gitlab-bridge/PALIMPSEST.adoc +++ b/gitlab-bridge/PALIMPSEST.adoc @@ -1,18 +1,20 @@ -= Palimpsest License +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell += MPL-2.0 :toc: :toc-placement!: -image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] +image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: MPL-2.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:https://img.shields.io/badge/Philosophy-Palimpsest-indigo.svg[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] toc::[] == Legal Status -This project is licensed under the **Palimpsest-MPL License 1.0 (PMPL-1.0)**. -For SPDX and tooling, use **PMPL-1.0-or-later**. +This project is licensed under the **MPL-2.0 License 1.0 (MPL-2.0)**. +For SPDX and tooling, use **MPL-2.0-or-later**. -PMPL-1.0 incorporates the Mozilla Public License 2.0 by reference and adds +MPL-2.0 incorporates the Mozilla Public License 2.0 by reference and adds ethical-use, provenance, and lineage requirements. == What PMPL Adds @@ -24,15 +26,15 @@ ethical-use, provenance, and lineage requirements. == How to Adopt -1. Include the PMPL-1.0 license text in `LICENSE`. +1. Include the MPL-2.0 license text in `LICENSE`. 2. Add SPDX headers to source files: - `SPDX-License-Identifier: PMPL-1.0-or-later` + `SPDX-License-Identifier: MPL-2.0-or-later` 3. Add a Palimpsest badge to your README (see `assets/badges/` and `embed/license-blocks/`). == Versioning See `VERSIONING.adoc` for the release process and the "-or-later" model. -The current legal text is PMPL-1.0. +The current legal text is MPL-2.0. == References diff --git a/gitlab-bridge/README.adoc b/gitlab-bridge/README.adoc index c836338..03c4c78 100644 --- a/gitlab-bridge/README.adoc +++ b/gitlab-bridge/README.adoc @@ -1,8 +1,9 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude GitLab Bridge image:https://img.shields.io/badge/license-PMPL--1.0-blue.svg[License,link="https://github.com/hyperpolymath/palimpsest-license"] -// SPDX-License-Identifier: PMPL-1.0 [![RSR Compliance](https://img.shields.io/badge/RSR-GOLD-gold?style=flat-square)](RSR.md) [![TPCF](https://img.shields.io/badge/TPCF-Perimeter%203-blue?style=flat-square)](GOVERNANCE.adoc) @@ -312,10 +313,10 @@ We welcome contributions! Please see: == License -This project is licensed under the [Palimpsest-MPL-1.0 License](LICENSE.txt). +This project is licensed under the [MPL-2.0-1.0 License](LICENSE.txt). ``` -SPDX-License-Identifier: PMPL-1.0 +SPDX-License-Identifier: MPL-2.0 ``` == Acknowledgments diff --git a/gitlab-bridge/REVERSIBILITY.md b/gitlab-bridge/REVERSIBILITY.md index 0747ffe..29bf947 100644 --- a/gitlab-bridge/REVERSIBILITY.md +++ b/gitlab-bridge/REVERSIBILITY.md @@ -1,3 +1,7 @@ + # Reversibility: Safe Experimentation Philosophy ## Core Principle diff --git a/gitlab-bridge/ROADMAP.adoc b/gitlab-bridge/ROADMAP.adoc index 37d1afc..eae0899 100644 --- a/gitlab-bridge/ROADMAP.adoc +++ b/gitlab-bridge/ROADMAP.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude Gitlab Bridge Roadmap == Current Status diff --git a/gitlab-bridge/RSR.md b/gitlab-bridge/RSR.md index 6f65cf8..19a62c5 100644 --- a/gitlab-bridge/RSR.md +++ b/gitlab-bridge/RSR.md @@ -1,3 +1,7 @@ + # RSR Compliance Documentation **Project**: Claude GitLab Bridge @@ -57,7 +61,7 @@ All required files are present and properly formatted: All source files include proper SPDX headers: ``` -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later SPDX-FileCopyrightText: 2024 hyperpolymath ``` @@ -298,7 +302,7 @@ Open to all contributors who follow the Code of Conduct. All source files include: ``` -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later SPDX-FileCopyrightText: 2024 hyperpolymath ``` diff --git a/gitlab-bridge/RSR_OUTLINE.adoc b/gitlab-bridge/RSR_OUTLINE.adoc index 75296fd..6baed3c 100644 --- a/gitlab-bridge/RSR_OUTLINE.adoc +++ b/gitlab-bridge/RSR_OUTLINE.adoc @@ -1,6 +1,8 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = RSR Template Repository -image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] +image:[MPL-2.0-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] :toc: :sectnums: @@ -209,7 +211,7 @@ This template is part of: == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later == Links diff --git a/gitlab-bridge/SECURITY.md b/gitlab-bridge/SECURITY.md index 86032b3..5eb8c91 100644 --- a/gitlab-bridge/SECURITY.md +++ b/gitlab-bridge/SECURITY.md @@ -1,3 +1,7 @@ + # Security Policy ## Supported Versions diff --git a/gitlab-bridge/WORK-SUMMARY.adoc b/gitlab-bridge/WORK-SUMMARY.adoc index 3631803..524a028 100644 --- a/gitlab-bridge/WORK-SUMMARY.adoc +++ b/gitlab-bridge/WORK-SUMMARY.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Claude GitLab Bridge - Work Summary Jonathan D.A. Jewell :toc: @@ -15,7 +17,7 @@ Jonathan D.A. Jewell - Lines 7-9: Converted `[![...]` Markdown badges to `image:` AsciiDoc syntax - Lines 349-351: Converted status badges to AsciiDoc format - Added new badges: - * PMPL-1.0-or-later license badge + * MPL-2.0-or-later license badge * ReScript language badge * Deno runtime badge * Idris-ready badge @@ -96,7 +98,7 @@ Jonathan D.A. Jewell === License Updates **All files updated to:** -- License: PMPL-1.0-or-later (Palimpsest License) +- License: MPL-2.0-or-later (MPL-2.0) - Copyright: 2025 Jonathan D.A. Jewell - SPDX headers on all source files @@ -272,7 +274,7 @@ claude-gitlab-bridge/ * All code follows hyperpolymath language policy * ReScript provides superior type safety over TypeScript * Deno eliminates need for node_modules and npm -* Palimpsest License (PMPL-1.0-or-later) applied throughout +* MPL-2.0 (MPL-2.0-or-later) applied throughout * Ready for Idris integration when needed == Contact diff --git a/gitlab-bridge/ai-cli-crash-capture/README.adoc b/gitlab-bridge/ai-cli-crash-capture/README.adoc index 2fcda87..689b158 100644 --- a/gitlab-bridge/ai-cli-crash-capture/README.adoc +++ b/gitlab-bridge/ai-cli-crash-capture/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = AI CLI Crash Capture :revdate: 2026-01-17 diff --git a/gitlab-bridge/contractiles/README.adoc b/gitlab-bridge/contractiles/README.adoc index d19a387..70ad712 100644 --- a/gitlab-bridge/contractiles/README.adoc +++ b/gitlab-bridge/contractiles/README.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Contractiles Template Set :toc: :sectnums: diff --git a/gitlab-bridge/docs/CITATIONS.adoc b/gitlab-bridge/docs/CITATIONS.adoc index 25a9304..4f812e8 100644 --- a/gitlab-bridge/docs/CITATIONS.adoc +++ b/gitlab-bridge/docs/CITATIONS.adoc @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = claude-gitlab-bridge - Citation Guide :toc: @@ -10,7 +12,7 @@ title = {claude-gitlab-bridge}, year = {2025}, url = {https://github.com/hyperpolymath/claude-gitlab-bridge}, - license = {AGPL-3.0-or-later} + license = {MPL-2.0} } ---- diff --git a/gitlab-bridge/vitest.config.js b/gitlab-bridge/vitest.config.js index 1725016..85f2786 100644 --- a/gitlab-bridge/vitest.config.js +++ b/gitlab-bridge/vitest.config.js @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell import { defineConfig } from "vitest/config"; diff --git a/mozilla-extension/.github/workflows/casket-pages.yml b/mozilla-extension/.github/workflows/casket-pages.yml index ed08040..87f756e 100644 --- a/mozilla-extension/.github/workflows/casket-pages.yml +++ b/mozilla-extension/.github/workflows/casket-pages.yml @@ -18,6 +18,7 @@ concurrency: jobs: build: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 @@ -91,6 +92,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + timeout-minutes: 15 needs: build steps: - name: Deploy to GitHub Pages diff --git a/mozilla-extension/.github/workflows/codeql.yml b/mozilla-extension/.github/workflows/codeql.yml index da2a9b6..29b1bfa 100644 --- a/mozilla-extension/.github/workflows/codeql.yml +++ b/mozilla-extension/.github/workflows/codeql.yml @@ -15,6 +15,7 @@ permissions: read-all jobs: analyze: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: contents: read security-events: write diff --git a/mozilla-extension/.github/workflows/governance.yml b/mozilla-extension/.github/workflows/governance.yml index 36a7d41..6c84b50 100644 --- a/mozilla-extension/.github/workflows/governance.yml +++ b/mozilla-extension/.github/workflows/governance.yml @@ -24,3 +24,4 @@ permissions: jobs: governance: uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@861b5e911d9e5dcfb3c0ab3dd2a9a3c8fd0a1613 + timeout-minutes: 10 diff --git a/mozilla-extension/.github/workflows/hypatia-scan.yml b/mozilla-extension/.github/workflows/hypatia-scan.yml index e16e191..37b32e7 100644 --- a/mozilla-extension/.github/workflows/hypatia-scan.yml +++ b/mozilla-extension/.github/workflows/hypatia-scan.yml @@ -17,6 +17,7 @@ jobs: scan: name: Hypatia Neurosymbolic Analysis runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout repository diff --git a/mozilla-extension/.github/workflows/scorecard.yml b/mozilla-extension/.github/workflows/scorecard.yml index 3dbba30..ebefcaf 100644 --- a/mozilla-extension/.github/workflows/scorecard.yml +++ b/mozilla-extension/.github/workflows/scorecard.yml @@ -12,6 +12,7 @@ permissions: read-all jobs: analysis: runs-on: ubuntu-latest + timeout-minutes: 15 permissions: security-events: write id-token: write diff --git a/mozilla-extension/ABI-FFI-README.md b/mozilla-extension/ABI-FFI-README.md index 08d35da..cf73490 100644 --- a/mozilla-extension/ABI-FFI-README.md +++ b/mozilla-extension/ABI-FFI-README.md @@ -1,3 +1,7 @@ + {{~ Aditionally delete this line and fill out the template below ~}} # {{PROJECT}} ABI/FFI Documentation diff --git a/mozilla-extension/CODE_OF_CONDUCT.md b/mozilla-extension/CODE_OF_CONDUCT.md index 2777a72..9142f2a 100644 --- a/mozilla-extension/CODE_OF_CONDUCT.md +++ b/mozilla-extension/CODE_OF_CONDUCT.md @@ -1,3 +1,7 @@ + # Code of Conduct # Clone the repository git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git cd {{REPO}} diff --git a/mozilla-extension/MAINTAINERS.adoc b/mozilla-extension/MAINTAINERS.adoc index b5154a0..becaa3e 100644 --- a/mozilla-extension/MAINTAINERS.adoc +++ b/mozilla-extension/MAINTAINERS.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: MPL-2.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = Maintainers :toc: preamble diff --git a/mozilla-extension/README.adoc b/mozilla-extension/README.adoc index 3ebc1c5..1c4f28f 100644 --- a/mozilla-extension/README.adoc +++ b/mozilla-extension/README.adoc @@ -1,10 +1,10 @@ -// SPDX-License-Identifier: MPL-2.0-or-later - +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell == License & Philosophy This project must declare **MPL-2.0-or-later** for platform/tooling compatibility. -Philosophy: **Palimpsest**. The Palimpsest-MPL (PMPL) text is provided in `license/PMPL-1.0.txt`, and the canonical source is the palimpsest-license repository. +Philosophy: **Palimpsest**. The MPL-2.0 (PMPL) text is provided in `license/MPL-2.0.txt`, and the canonical source is the palimpsest-license repository. = Claude for Mozilla :toc: :icons: font @@ -110,7 +110,7 @@ Access settings via the gear icon in the sidebar: == License -PMPL-1.0-or-later +MPL-2.0-or-later This is an independent project and is not affiliated with Anthropic. Claude is a trademark of Anthropic, PBC. diff --git a/mozilla-extension/ROADMAP.adoc b/mozilla-extension/ROADMAP.adoc index b4b8f3e..128ed39 100644 --- a/mozilla-extension/ROADMAP.adoc +++ b/mozilla-extension/ROADMAP.adoc @@ -1,4 +1,5 @@ -// SPDX-License-Identifier: PMPL-1.0-or-later +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = YOUR Template Repo Roadmap == Current Status diff --git a/mozilla-extension/RSR_OUTLINE.adoc b/mozilla-extension/RSR_OUTLINE.adoc index 75296fd..6baed3c 100644 --- a/mozilla-extension/RSR_OUTLINE.adoc +++ b/mozilla-extension/RSR_OUTLINE.adoc @@ -1,6 +1,8 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) Jonathan D.A. Jewell = RSR Template Repository -image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] +image:[MPL-2.0-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"] :toc: :sectnums: @@ -209,7 +211,7 @@ This template is part of: == License -SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-License-Identifier: MPL-2.0-or-later == Links diff --git a/mozilla-extension/SECURITY.md b/mozilla-extension/SECURITY.md index 7dd7b29..09fc7b8 100644 --- a/mozilla-extension/SECURITY.md +++ b/mozilla-extension/SECURITY.md @@ -1,3 +1,7 @@ + # Security Policy