chore: bootstrap mirus-tech agent workflow policy #11
No reviewers
Labels
No labels
agent:felinus
agent:human
agent:maximus
priority:p0
priority:p1
priority:p2
priority:p3
status:blocked
status:needs-review
status:wip
type:chore
type:docs
type:feat
type:fix
type:perf
type:refactor
type:test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jmz/matrix-bridge!11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "maximus/chore/policy-bootstrap"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bootstraps the Mirus Tech multi-agent workflow policy in this repo.
Summary
docs/AGENT_WORKFLOW.md(canonical policy doc).forgejo/PULL_REQUEST_TEMPLATE.mdand.forgejo/ISSUE_TEMPLATE/*.forgejo/workflows/check.yml(CI scaffold)User impact
New contributors and agents see the policy on the repo page; PR + issue templates are pre-populated; CI gate exists for self-merge.
Verification
Generated by
ensure-repo-policy.py. Idempotent.Related
Refs
/srv/mirus/AGENT_WORKFLOW.md(canonical source).Closing without merging. Backstory:
The intent was to swap the generic CI scaffold for the real Rust template now that mirus-tools commit dd7c4bb landed (rust template self-installs its toolchain via rustup, insulating from system rustc 1.85 vs matrix-sdk MSRV 1.88).
The chain of fixes (mirus-tools PRs #18, #19, #20, #21) each hit a different layer of the problem:
RUSTUP_INIT_SKIP_PATH_CHECK=yesto bypass rustup-init's "cannot install while Rust is installed" bail (Debian's/usr/bin/cargoon the runner host).Unknown Variable Access runnerfor${{ runner.temp }}in declarative env values.The matrix-bridge runner journal shows multiple CI runs landing for each push (one per
on:trigger), some of which clearly usemain's generic.yml ("Run Main OK") rather than the PR branch's rust.yml. Whether that'spull_request-uses-base-ref behaviour or my own runner-noise-attribution problem, more iteration without a clearer mental model of Forgejo Actions' dispatch semantics isn't productive.State: matrix-bridge's
mainremains on generic.yml; full compliance preserved (check / check (pull_request)status green; branch protection FF-only-strict; full label vocab; templates committed; policy doc committed). Real Rust CI is a deferrable polish item, not a policy gap.If revisiting later: read the Forgejo Actions YAML validator source (gitea/forgejo-runner) for the exact allowed env-block + context-expression shapes, validate offline against rust.yml, then ship one clean PR rather than iterating against the live runner.
Summary
matrix-bridge now uses the real Rust CI scaffold instead of generic gitleaks-only. Toolchain self-installs via rustup at job start, so CI doesn't depend on the runner host's system rustc (Debian 1.85, too old for matrix-sdk MSRVs).
Changes
.forgejo/workflows/check.yml— single combined step "rust toolchain + cargo check + clippy".RUSTUP_INIT_SKIP_PATH_CHECK=yeslets rustup-init coexist with the runner's/usr/bin/cargo. CARGO_HOME / RUSTUP_HOME scoped toRUNNER_TEMP.docs/AGENT_WORKFLOW.md— refreshed from the canonical/srv/mirus/AGENT_WORKFLOW.md.User impact
PRs against matrix-bridge now run a real
cargo check --all+cargo clippy --allon every push. End-to-end run took 3m51s (rustup install + matrix-sdk dep tree + check) on the rpi5 runner.Verification
forgejo-runner validate --workflow --path .forgejo/workflows/check.yml→ OK (offline schema validator).check / check (pull_request)status check green.Trade-off
Clippy regressions surface as the combined "rust" step failing rather than a distinct cargo-clippy step. Acceptable; clippy output is still emitted to the job log.
Process notes
forgejo-runner validateexists — saved a memory entry so the offline-first approach is the default next time.env:blocks containing${{ runner.* }}context expressions trigger the schema validator's "Unknown Variable Access runner" / "Unknown Property env" errors. The minimal single-step pattern dodges this entirely.