Commit Graph

14 Commits

Author SHA1 Message Date
Peter Pistorius 06fa6e6f61 Harden DTU release remediation (#379)
* Harden DTU control plane

* Harden DTU release remediation

* Clean Rust smoke parity artifacts
2026-07-13 12:16:26 +02:00
dependabot[bot] 2cafcbc8ec chore(deps): bump the npm_and_yarn group across 3 directories with 2 updates (#355)
Bumps the npm_and_yarn group with 1 update in the / directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack).
Bumps the npm_and_yarn group with 1 update in the /apps/website directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack).
Bumps the npm_and_yarn group with 1 update in the /experiments/pkg-cache-bench directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack).


Updates `react-server-dom-webpack` from 19.2.5 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-server-dom-webpack)

Updates `fast-uri` from 3.1.0 to 3.1.2
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

Updates `react-server-dom-webpack` from 19.2.5 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-server-dom-webpack)

Updates `react-server-dom-webpack` from 19.2.5 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-server-dom-webpack)

---
updated-dependencies:
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 22:40:01 +02:00
Peter Pistorius ef7029adf3 chore(workflows): pin GitHub Actions to full SHAs (#356)
Replace mutable tag refs (@v4, @v5, @v1, @main) with 40-char commit
SHAs and a trailing `# vX.Y.Z` comment, per GitHub's hardening guidance.
Covers .github/workflows/, .docs/marketing/demo-recording/, and the
skill-evals fixture repos. Embedded YAML inside heredocs is also pinned.

No packages/ code changes, so no changeset.
2026-05-12 05:38:50 +02:00
Peter Pistorius 23fca333a2 docs(skills): cover --json NDJSON stream and exit-77 pause contract (#289, #315) (#328)
Update the agent-facing skill surfaces to match the recent pause-on-failure
fixes and `--json` event stream:

- skills/agent-ci/SKILL.md (published) and packages/cli/SKILL.md: document
  `--json` / `AGENT_CI_JSON=1`, list the NDJSON event types, and note that
  pipes/redirects are safe — pause-on-failure exits 77 in non-TTY mode.
- .claude/commands/agent-ci-dev.md and .pi/skills/agent-ci-dev/SKILL.md:
  switch the monitor pattern from grepping plaintext "Step failed" to
  matching `"event":"(run.paused|run.finish)"`, and call out exit-77 as a
  pause signal alongside the `run.paused` event.
- experiments/skill-evals/variants/v2-run-first.md and v3-no-mangling.md:
  remove stale "no pipes / no redirects" warnings — those scenarios are now
  the supported path via the detached launcher.

Refs #289, #315.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 15:35:33 +02:00
dependabot[bot] 944570f551 chore(deps): bump the npm_and_yarn group across 3 directories with 2 updates (#318)
Bumps the npm_and_yarn group with 1 update in the / directory: [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk).
Bumps the npm_and_yarn group with 1 update in the /apps/website directory: [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk).
Bumps the npm_and_yarn group with 1 update in the /experiments/pkg-cache-bench directory: [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk).


Updates `rwsdk` from 1.0.6 to 1.2.3
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.2.3/sdk)

Updates `basic-ftp` from 5.2.2 to 5.3.0
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.2...v5.3.0)

Updates `rwsdk` from 1.0.6 to 1.2.3
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.2.3/sdk)

Updates `rwsdk` from 1.0.6 to 1.2.3
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.2.3/sdk)

---
updated-dependencies:
- dependency-name: rwsdk
  dependency-version: 1.2.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: basic-ftp
  dependency-version: 5.3.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rwsdk
  dependency-version: 1.2.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: rwsdk
  dependency-version: 1.2.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-27 10:15:26 +02:00
Peter Pistorius 47252ffc5f chore(skill-evals): add harness for measuring SKILL.md variants (#316)
Adds experiments/skill-evals/, a matrix eval that runs headless Claude Code
against broken-repo fixtures with candidate SKILL.md wordings appended to
CLAUDE.md, scores tool calls + file edits against per-fixture rubric regexes,
and aggregates across N trials per (variant, fixture) cell.

Includes:
- run.mjs + rescore.mjs (live eval + replay saved transcripts against a
  changed rubric without re-running the agent)
- 3 fixtures: lint-curly-x18, missing-changeset, noisy-failure
- 3 variants: v1-current (baseline), v2-run-first, v3-no-mangling
- Stub @redwoodjs/agent-ci per fixture — no Docker required for the eval

Fixture repos are deliberately broken (syntax errors, missing changesets,
etc.); .prettierignore and .oxlintrc ignorePatterns exclude them so the
pre-commit hooks stay green.

Scoped to experiments/, no changes to published packages, no changeset.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 13:20:37 +02:00
dependabot[bot] e20712c39c chore(deps): bump the npm_and_yarn group across 3 directories with 7 updates (#200)
Bumps the npm_and_yarn group with 3 updates in the / directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack), [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the npm_and_yarn group with 3 updates in the /apps/website directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack), [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the npm_and_yarn group with 3 updates in the /experiments/pkg-cache-bench directory: [react-server-dom-webpack](https://github.com/facebook/react/tree/HEAD/packages/react-server-dom-webpack), [rwsdk](https://github.com/redwoodjs/sdk/tree/HEAD/sdk) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `react-server-dom-webpack` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-server-dom-webpack)

Updates `rwsdk` from 1.0.4 to 1.0.6
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.0.6/sdk)

Updates `vite` from 7.3.1 to 7.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

Updates `basic-ftp` from 5.2.0 to 5.2.2
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.0...v5.2.2)

Updates `lodash` from 4.17.23 to 4.18.1
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `rollup` from 4.57.1 to 4.60.1
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.57.1...v4.60.1)

Updates `react-server-dom-webpack` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-server-dom-webpack)

Updates `rwsdk` from 1.0.4 to 1.0.6
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.0.6/sdk)

Updates `vite` from 7.3.1 to 7.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

Updates `react-server-dom-webpack` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-server-dom-webpack)

Updates `rwsdk` from 1.0.0-beta.57 to 1.0.6
- [Release notes](https://github.com/redwoodjs/sdk/releases)
- [Commits](https://github.com/redwoodjs/sdk/commits/v1.0.6/sdk)

Updates `vite` from 7.3.1 to 7.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: rwsdk
  dependency-version: 1.0.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: basic-ftp
  dependency-version: 5.2.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.60.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: rwsdk
  dependency-version: 1.0.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: react-server-dom-webpack
  dependency-version: 19.2.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: rwsdk
  dependency-version: 1.0.6
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 21:58:22 +02:00
Peter Pistorius ba84b69b96 feat: add ts-runner package scaffold and research docs (#141)
Introduces the packages/ts-runner package skeleton with build config,
planning docs (PLAN.md, SPEC.md), and a research document exploring
RivetKit Agent OS integration. No runtime code yet — this sets up the
foundation for subsequent PRs.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 12:25:21 +02:00
Peter Pistorius 5b8acda506 Rename machinen to agent-ci
- Rename package from 'machinen' to 'agent-ci' across all source, tests, scripts, configs, and docs
- Rename CLI binary from 'machinen' to 'agent-ci'
- Rename .machinen → .agent-ci, .env.machinen → .env.agent-ci, MACHINEN_* → AGENT_CI_*
- Rename --runner flag to --name/-n (--runner still accepted for compat)
- agent-ci-dev script now builds DTU before running CLI
- Extract YAML compatibility tables to cli/compatibility.md
- Expand CLI usage docs with per-command flag tables
- Document DOCKER_HOST support for remote Docker
2026-03-12 22:35:26 +02:00
Peter Pistorius 2d31ac8747 fix: reset retry-proof value.txt to pass 2026-03-09 20:59:23 +02:00
Peter Pistorius 3efb688a3a feat: show failure output and Enter-to-retry in pause-on-failure UI
When a step pauses on failure, the tree UI now shows:
- Last 20 lines of step output below the tree (assertion errors,
  code context, etc.) matching the end-of-job summary quality
- Press Enter to retry directly from the paused terminal
- Ctrl+C to abort

The step log is resolved via sanitized name with fallback to the
most recently modified .log file (the DTU writes logs under feed
UUIDs that differ from timeline record IDs).
2026-03-09 20:38:47 +02:00
Peter Pistorius bd21f4d0bc feat: add --from-step and --from-start options to retry command
Allows rewinding to an earlier step when retrying a paused runner:
- --from-step <N>: skip steps before N, re-run from step N onwards
- --from-start: re-run all run: steps from the beginning

Each wrapped step embeds a 1-based index matching the tree UI and
checks a from-step signal file on entry. Steps below the target
exit 0 (skip), the matching step deletes the signal and continues.

Closes #35
2026-03-09 18:32:15 +02:00
Peter Pistorius 9dff4b1955 feat: add retry-proof experiment
Minimal vitest test that reads a fixture file and asserts its value,
designed to validate the pause-on-failure retry mechanism end-to-end.

- .github/workflows/retry-proof.yml
- experiments/retry-proof/ (package, test, fixture)
- Added retry-proof to pnpm workspace
2026-03-09 16:09:51 +02:00
Peter Pistorius c6dd68ddb8 feat: generalize package manager caching for NPM, Yarn, and Bun
- Extend computeLockfileHash() to detect package-lock.json, yarn.lock, bun.lock
- Replace PNPM-only .modules.yaml sentinel with universal hasInstallSentinel()
  that checks .package-lock.json (NPM), .yarn-integrity (Yarn), .cache (Bun)
- Add NPM and Bun global cache bind-mounts into containers
- Extend virtualCachePatterns to skip tar for all PM cache keys
- Add benchmark scripts in experiments/pkg-cache-bench/
- 176 tests pass, TypeScript clean
2026-03-09 13:19:46 +02:00