diff --git a/.github/workflows/block-agentkit-changes.yml b/.github/workflows/block-agentkit-changes.yml index 03820ce8..2a8d21eb 100644 --- a/.github/workflows/block-agentkit-changes.yml +++ b/.github/workflows/block-agentkit-changes.yml @@ -11,7 +11,7 @@ concurrency: jobs: check-agentkit-changes: name: Check for .agentkit changes - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: diff --git a/.github/workflows/branch-protection.yml b/.github/workflows/branch-protection.yml index 94cf1458..e45b10a3 100644 --- a/.github/workflows/branch-protection.yml +++ b/.github/workflows/branch-protection.yml @@ -17,7 +17,7 @@ concurrency: jobs: branch-rules: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: diff --git a/.github/workflows/breaking-change-detection.yml b/.github/workflows/breaking-change-detection.yml index a9eedf3c..d8384ab0 100644 --- a/.github/workflows/breaking-change-detection.yml +++ b/.github/workflows/breaking-change-detection.yml @@ -19,7 +19,7 @@ concurrency: jobs: detect: name: Detect breaking changes - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23d66558..bbd951c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ concurrency: jobs: test: name: Test - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -43,7 +43,7 @@ jobs: validate: name: Validate - runs-on: self-hosted + runs-on: ubuntu-latest needs: test steps: - name: Enforce dev to main promotion path @@ -126,7 +126,7 @@ jobs: yaml-lint: name: YAML Lint - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index c78d509e..66832a63 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -10,7 +10,7 @@ concurrency: jobs: claude-review: - runs-on: self-hosted + runs-on: ubuntu-latest permissions: contents: read pull-requests: read diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 86d19493..b2b7e46e 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -17,7 +17,7 @@ jobs: (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) - runs-on: self-hosted + runs-on: ubuntu-latest permissions: contents: read pull-requests: read diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 1c9a00bf..c19f57cf 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -25,7 +25,7 @@ jobs: analyze: name: analyze-javascript if: github.actor != 'renovate[bot]' - runs-on: self-hosted + runs-on: ubuntu-latest strategy: fail-fast: false matrix: diff --git a/.github/workflows/coverage-report.yml b/.github/workflows/coverage-report.yml index c6ca5a83..ea48eaaa 100644 --- a/.github/workflows/coverage-report.yml +++ b/.github/workflows/coverage-report.yml @@ -19,7 +19,7 @@ concurrency: jobs: coverage-node: name: Node.js coverage - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true if: hashFiles('package.json') != '' || hashFiles('**/package.json') != '' steps: @@ -119,7 +119,7 @@ jobs: summary: name: Coverage summary - runs-on: self-hosted + runs-on: ubuntu-latest needs: [coverage-node] if: always() steps: diff --git a/.github/workflows/dependency-audit.yml b/.github/workflows/dependency-audit.yml index 97b15a43..87bca552 100644 --- a/.github/workflows/dependency-audit.yml +++ b/.github/workflows/dependency-audit.yml @@ -24,7 +24,7 @@ concurrency: jobs: audit-node: name: Node.js dependency audit - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true if: hashFiles('package.json') != '' || hashFiles('**/package.json') != '' steps: @@ -93,7 +93,7 @@ jobs: summary: name: Audit summary - runs-on: self-hosted + runs-on: ubuntu-latest needs: [audit-node] if: always() steps: diff --git a/.github/workflows/documentation-quality.yml b/.github/workflows/documentation-quality.yml index 00fb89ef..4c977c25 100644 --- a/.github/workflows/documentation-quality.yml +++ b/.github/workflows/documentation-quality.yml @@ -21,7 +21,7 @@ concurrency: jobs: quality-check: - runs-on: self-hosted + runs-on: ubuntu-latest permissions: contents: read steps: diff --git a/.github/workflows/documentation-validation.yml b/.github/workflows/documentation-validation.yml index 621aba90..d307fef4 100644 --- a/.github/workflows/documentation-validation.yml +++ b/.github/workflows/documentation-validation.yml @@ -17,7 +17,7 @@ concurrency: jobs: documentation-check: - runs-on: self-hosted + runs-on: ubuntu-latest permissions: contents: read steps: diff --git a/.github/workflows/fix-branch-protection.yml b/.github/workflows/fix-branch-protection.yml index da3021cc..baceac08 100644 --- a/.github/workflows/fix-branch-protection.yml +++ b/.github/workflows/fix-branch-protection.yml @@ -5,7 +5,7 @@ on: jobs: create-issue-and-fix: - runs-on: self-hosted + runs-on: ubuntu-latest permissions: issues: write checks: write diff --git a/.github/workflows/issue-label-validation.yml b/.github/workflows/issue-label-validation.yml index 36a34d91..a8e3fc72 100644 --- a/.github/workflows/issue-label-validation.yml +++ b/.github/workflows/issue-label-validation.yml @@ -15,7 +15,7 @@ permissions: jobs: validate-issue-fields: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Validate issue fields uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 diff --git a/.github/workflows/merge-conflict-detection.yml b/.github/workflows/merge-conflict-detection.yml index 021974bb..61ddc012 100644 --- a/.github/workflows/merge-conflict-detection.yml +++ b/.github/workflows/merge-conflict-detection.yml @@ -35,7 +35,7 @@ concurrency: jobs: detect-conflicts: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 7e827088..905b73a4 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -18,7 +18,7 @@ concurrency: jobs: terraform-fmt: name: Terraform format check - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true if: >- contains(github.event.pull_request.changed_files, '.tf') || @@ -47,7 +47,7 @@ jobs: shellcheck: name: Shell script lint - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -77,7 +77,7 @@ jobs: yaml-lint: name: YAML syntax check - runs-on: self-hosted + runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -102,7 +102,7 @@ jobs: summary: name: Validation summary - runs-on: self-hosted + runs-on: ubuntu-latest needs: [terraform-fmt, shellcheck, yaml-lint] if: always() steps: diff --git a/.github/workflows/quality-lint.yml b/.github/workflows/quality-lint.yml index 85e31b29..bae2a5a5 100644 --- a/.github/workflows/quality-lint.yml +++ b/.github/workflows/quality-lint.yml @@ -27,7 +27,7 @@ concurrency: jobs: markdown-lint: name: Markdown Lint - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/retrospective-quality.yml b/.github/workflows/retrospective-quality.yml index 81af1554..f2013bd2 100644 --- a/.github/workflows/retrospective-quality.yml +++ b/.github/workflows/retrospective-quality.yml @@ -22,7 +22,7 @@ concurrency: jobs: validate-retrospective: - runs-on: self-hosted + runs-on: ubuntu-latest # Non-blocking: continue-on-error ensures this never gates delivery continue-on-error: true permissions: diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 84a9b3fc..86196a76 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -20,7 +20,7 @@ concurrency: jobs: semgrep: name: semgrep-advisory - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/template-protection.yml b/.github/workflows/template-protection.yml index 8847d862..fd451791 100644 --- a/.github/workflows/template-protection.yml +++ b/.github/workflows/template-protection.yml @@ -15,7 +15,7 @@ concurrency: jobs: label-and-gate: - runs-on: self-hosted + runs-on: ubuntu-latest permissions: pull-requests: write issues: write @@ -82,7 +82,7 @@ jobs: } validate-templates: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/README.md b/README.md index 8cdf788d..d70e2767 100644 --- a/README.md +++ b/README.md @@ -77,9 +77,10 @@ > > | Repo | Role | > |---|---| -> | [`cockpit`](https://github.com/phoenixvc/cockpit) | Desktop ops tool — uses retort scaffold internally; cockpit can invoke retort via CLI to bootstrap new agent projects | -> | [`ai-cadence`](https://github.com/phoenixvc/ai-cadence) | Project tracker — retort-based projects can read their tasks from ai-cadence via MCP | -> | [`ai-flume`](https://github.com/phoenixvc/ai-flume) | AI data plane — projects scaffolded with retort inherit ai-flume as their model gateway | +> | [`deck`](https://github.com/phoenixvc/deck) | Desktop ops tool — uses retort scaffold internally; deck can invoke retort via CLI to bootstrap new agent projects | +> | [`phoenix-flow`](https://github.com/phoenixvc/phoenix-flow) | Project tracker — retort-based projects can read their tasks from phoenix-flow via MCP | +> | [`sluice`](https://github.com/phoenixvc/sluice) | AI data plane — projects scaffolded with retort inherit sluice as their model gateway | +> | [`docket`](https://github.com/phoenixvc/docket) | AI cost ops — tracks token spend and model costs across retort-scaffolded projects | > | [`cognitive-mesh`](https://github.com/phoenixvc/cognitive-mesh) | Agent orchestration — retort-based agents are routed through cognitive-mesh for complex multi-agent tasks | > | [`org-meta`](https://github.com/phoenixvc/org-meta) | Org registry — org-meta's CLAUDE.md and project specs are generated using retort | > @@ -94,7 +95,7 @@ > > ## Name > -> **retort** — a retort is a sharp, witty response, but also a sealed laboratory vessel used for distillation and chemical reactions. Both meanings apply: retort gives you a precise, controlled response to the chaos of AI tool fragmentation (the sharp comeback), and it's a vessel in which agent configurations are synthesised from raw ingredients (the chemistry). The name sits comfortably alongside `cockpit` and `ai-flume` — slightly more playful, but intentional. +> **retort** — a retort is a sharp, witty response, but also a sealed laboratory vessel used for distillation and chemical reactions. Both meanings apply: retort gives you a precise, controlled response to the chaos of AI tool fragmentation (the sharp comeback), and it's a vessel in which agent configurations are synthesised from raw ingredients (the chemistry). The name sits comfortably alongside `deck` and `sluice` — slightly more playful, but intentional. > > The repo was previously called `agentkit-forge` internally. The public-facing name `retort` better reflects its standalone, template-first character. >