Skip to content

Install tend with dormouse-bot#82

Merged
nedtwigg merged 8 commits into
mainfrom
tend-setup
May 22, 2026
Merged

Install tend with dormouse-bot#82
nedtwigg merged 8 commits into
mainfrom
tend-setup

Conversation

@nedtwigg
Copy link
Copy Markdown
Member

@nedtwigg nedtwigg commented May 22, 2026

Summary

  • Adds tend — an autonomous junior maintainer running as dormouse-bot — with workflows for review, triage, ci-fix, mentions, notifications, nightly, and weekly cadences.
  • Locks down merges to main and all tag operations behind admin bypass (rulesets only — admins push directly as today). The bot has write but not admin.
  • Tightens the release path: OVSX_PAT / VSCE_PAT deleted at repo level; they remain in the vscode-extension-publish environment (policy: v* tags), so release.yml keeps publishing on admin-pushed tags but the bot cannot reach the secrets.
  • Generated workflows watch CI and Chromatic for ci-fix.
  • README gets a "maintained with tend" badge.
  • Locally patched tend-install-test.yaml around tend#582; the file self-removes on the next nightly regen.

Test plan

  • tend-install-test workflow passes
  • Run uvx tend@latest check locally to double-check security prereqs
  • After merge: confirm the next regen (nightly) removes .github/workflows/tend-install-test.yaml from main
  • Sanity-check the next release: pushing a v* tag still triggers release.yml and the publish-vscode job can read OVSX_PAT / VSCE_PAT from the env
  • Open a throwaway issue or mention @dormouse-bot to confirm the bot responds via the Claude harness

🤖 Generated with Claude Code

nedtwigg and others added 2 commits May 22, 2026 08:52
Generated tend workflows, config, and skill overlay. Bot account
dormouse-bot has write access; admins still bypass branch and tag
rulesets. OVSX_PAT and VSCE_PAT migrated to vscode-extension-publish
environment-only (already configured for v* tags).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 22, 2026

Deploying mouseterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: f63a95f
Status: ✅  Deploy successful!
Preview URL: https://77727863.mouseterm.pages.dev
Branch Preview URL: https://tend-setup.mouseterm.pages.dev

View logs

actions/checkout's default shallow clone leaves
refs/remotes/origin/main unfetched, so the workflow's
`git remote set-head origin --auto` errors before any default-branch
detection runs. Replace with `gh api` to query the default branch and
set the symbolic-ref directly. Exclude this file from the drift
comparison since the patch diverges from generator output until the
upstream fix lands; the file is removed on the next nightly regen.

Ref: max-sixty/tend#582

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nedtwigg and others added 5 commits May 22, 2026 10:23
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A scheduled (07:13 UTC) workflow that walks every commit touching
.github/workflows/ since the previous successful run, including
feature-branch pushes that never open a PR. Each run opens an issue
listing the commits, authors, refs, and files. Gap-resistant because
the "since" lower bound is the previous successful run's API
timestamp — a failed run pushes the window forward rather than
dropping commits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codifies dependency supply-chain, GitHub Actions, VS Code release,
desktop release, and automated maintainer (tend) policies as a set
of concrete FAIL IF checks. Each subsection describes the attack
surface and the boundaries we accept. The tend section names the
prompt-injection, bot-authority, reachable-secret, upstream-compromise,
and audit-visibility surfaces explicitly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A reusable workflow at .github/workflows/security-audit.yaml that
reads SECURITY.md, executes each FAIL IF as a mechanical check
(gh api, grep, file presence, script runs), and does an additional
qualitative pass for security holes the spec doesn't anticipate.
Fails the workflow on any violation or BLOCKER-severity finding.

Runs nightly at 04:21 UTC and is now a needs: dependency of
publish-vscode in release.yml, so a v* tag push won't publish unless
the audit passes. Also updates SECURITY.md to: soften the
max-sixty/tend pinning FAIL IF (tend's generator produces tag pins,
not SHA pins, which is an accepted upstream constraint), and codify
the audit's own integrity as part of the CI validation contract.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The audit step now writes audit-report.md and audit-status.txt to
the runner workspace; a follow-up step inspects the status:

- PASS: closes any open security-audit-failure issues with a link
  to the passing run, so the issue tracker reflects live state.
- FAIL: opens (or comments on, if one already exists) an issue
  labeled security-audit-failure with the full report as body, then
  exits non-zero so the workflow still blocks the release path.

Adds issues:write to the workflow permissions. Updates SECURITY.md
to describe the open/close behavior and broadens the audit-weakening
FAIL IF to cover removal of the failure-reporting step.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nedtwigg nedtwigg merged commit f2aeaad into main May 22, 2026
4 checks passed
@nedtwigg nedtwigg deleted the tend-setup branch May 22, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant