rollout-cli 0.3.1__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. rollout_cli-0.3.2/AGENTS.colleague.md +11 -0
  2. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/CHANGELOG.md +10 -0
  3. rollout_cli-0.3.2/CLAUDE.md +79 -0
  4. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/PKG-INFO +1 -1
  5. rollout_cli-0.3.2/culture.yaml +4 -0
  6. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/pyproject.toml +1 -1
  7. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_cli.py +2 -2
  8. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/uv.lock +1 -1
  9. rollout_cli-0.3.1/CLAUDE.md +0 -28
  10. rollout_cli-0.3.1/culture.yaml +0 -3
  11. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/agent-config/SKILL.md +0 -0
  12. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
  13. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/agent-config/scripts/show.sh +0 -0
  14. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/ask-colleague/SKILL.md +0 -0
  15. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
  16. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/ask-colleague/prompts/review.md +0 -0
  17. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/ask-colleague/prompts/write.md +0 -0
  18. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
  19. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
  20. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
  21. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/SKILL.md +0 -0
  22. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  23. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  24. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  25. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  26. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  27. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/SKILL.md +0 -0
  28. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  29. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  30. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  31. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  32. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
  33. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  34. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
  35. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
  36. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
  37. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
  38. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/run-tests/SKILL.md +0 -0
  39. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/run-tests/scripts/test.sh +0 -0
  40. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/sonarclaude/SKILL.md +0 -0
  41. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
  42. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/spec-to-plan/SKILL.md +0 -0
  43. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
  44. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/think/SKILL.md +0 -0
  45. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/think/scripts/think.sh +0 -0
  46. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/version-bump/SKILL.md +0 -0
  47. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills/version-bump/scripts/bump.py +0 -0
  48. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.claude/skills.local.yaml.example +0 -0
  49. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.devague/frames/rollout-cli-ships-rollout-define-an-org-wide-chang.json +0 -0
  50. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.devague/plans/rollout-cli-ships-rollout-define-an-org-wide-chang.json +0 -0
  51. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.flake8 +0 -0
  52. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.github/workflows/publish.yml +0 -0
  53. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.github/workflows/tests.yml +0 -0
  54. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.gitignore +0 -0
  55. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/.markdownlint-cli2.yaml +0 -0
  56. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/LICENSE +0 -0
  57. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/README.md +0 -0
  58. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/docs/plans/2026-06-06-rollout-cli-ships-rollout-define-an-org-wide-chang.md +0 -0
  59. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/docs/skill-sources.md +0 -0
  60. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/docs/specs/2026-06-06-rollout-cli-ships-rollout-define-an-org-wide-chang.md +0 -0
  61. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/apache-relicense/apply.sh +0 -0
  62. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/apache-relicense/check.sh +0 -0
  63. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/apache-relicense/files/LICENSE +0 -0
  64. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/apache-relicense/manifest.toml +0 -0
  65. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/README.md +0 -0
  66. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/apply.sh +0 -0
  67. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/check.sh +0 -0
  68. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/files/SKILL.md.tmpl +0 -0
  69. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/files/prompts/explore.md +0 -0
  70. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/files/prompts/review.md +0 -0
  71. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/files/prompts/write.md +0 -0
  72. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/files/scripts/ask-colleague.sh +0 -0
  73. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/recipes/ask-colleague-revendor/manifest.toml +0 -0
  74. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/__init__.py +0 -0
  75. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/__main__.py +0 -0
  76. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/__init__.py +0 -0
  77. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/__init__.py +0 -0
  78. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/apply.py +0 -0
  79. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/cli.py +0 -0
  80. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/doctor.py +0 -0
  81. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/explain.py +0 -0
  82. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/learn.py +0 -0
  83. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/overview.py +0 -0
  84. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/plan.py +0 -0
  85. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_commands/whoami.py +0 -0
  86. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_errors.py +0 -0
  87. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/cli/_output.py +0 -0
  88. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/__init__.py +0 -0
  89. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/bump.py +0 -0
  90. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/devex_pr.py +0 -0
  91. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/gitops.py +0 -0
  92. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/orchestrate.py +0 -0
  93. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/preflight.py +0 -0
  94. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/recipe.py +0 -0
  95. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/report.py +0 -0
  96. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/core/targets.py +0 -0
  97. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/explain/__init__.py +0 -0
  98. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/rollout/explain/catalog.py +0 -0
  99. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/sonar-project.properties +0 -0
  100. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/__init__.py +0 -0
  101. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_apache_relicense.py +0 -0
  102. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_apply_cmd.py +0 -0
  103. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_bump.py +0 -0
  104. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_cli_introspection.py +0 -0
  105. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_cli_wiring.py +0 -0
  106. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_devex_pr.py +0 -0
  107. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_e2e_apache_relicense.py +0 -0
  108. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_explain_catalog.py +0 -0
  109. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_gitops.py +0 -0
  110. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_orchestrate.py +0 -0
  111. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_plan_cmd.py +0 -0
  112. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_preflight.py +0 -0
  113. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_recipe.py +0 -0
  114. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_report.py +0 -0
  115. {rollout_cli-0.3.1 → rollout_cli-0.3.2}/tests/test_targets.py +0 -0
@@ -0,0 +1,11 @@
1
+ # Colleague Resident
2
+
3
+ You are a colleague resident — a long-lived mesh peer that works alongside
4
+ other agents in the AgentCulture IRC mesh. Your job is to assist with
5
+ scoped tasks delegated by the operator or peer agents, using the colleague
6
+ tool-loop (read_file / write_file / edit_file / list_dir / run_command /
7
+ finish).
8
+
9
+ Follow the operator's AGENTS.md instructions and the skills loaded from
10
+ .colleague/skills/ when present. Prefer small, reversible steps; handoff
11
+ via finish when done.
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/). This project
6
6
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.2] - 2026-06-13
9
+
10
+ ### Added
11
+
12
+ - Promoted into the Culture mesh as colleague resident `rollout-cli` (culture.yaml backend colleague, AGENTS.colleague.md)
13
+
14
+ ### Changed
15
+
16
+ - Rewrote CLAUDE.md from the /init seed into a full runtime prompt: cardinal no-foreign-edits rule (ship outside only via /mass-update or /communicate), mechanism-picking guidance, and the devex/agex .gitignore rollout playbook
17
+
8
18
  ## [0.3.1] - 2026-06-12
9
19
 
10
20
  ### Added
@@ -0,0 +1,79 @@
1
+ # CLAUDE.md — rollout-cli
2
+
3
+ This repository hosts the **rollout-cli** agent: a cross-repo
4
+ **change-propagation engine**. Its job is to take one scoped change and land it
5
+ across many sibling repos — deterministically where the change is scriptable,
6
+ or via a different-backend colleague where the change is easier to describe than
7
+ to script.
8
+
9
+ ## The cardinal rule — never touch another repo directly
10
+
11
+ **rollout-cli only ever edits its own working tree.** It does **not** open files
12
+ in sibling repos and edit them, run `Write`/`Edit` against paths outside this
13
+ repo, or `git commit` in another checkout. Making a change *outside this repo*
14
+ has exactly **two** acceptable channels, and nothing else:
15
+
16
+ | Channel | Skill | Use it to… |
17
+ |---------|-------|------------|
18
+ | **Ship code** | **`/mass-update`** | Propagate an actual code/file change to one or more sibling repos. It drives `ask-colleague` per target in a throwaway worktree (preview), then lands a `colleague/<id>` branch (`--apply`) or opens a PR (`--pr`). One call → one PR per repo. |
19
+ | **Ship a request** | **`/communicate`** | File a tracked GitHub issue on a sibling repo, pull a sibling issue into context, or send a message to a Culture mesh channel — when the right move is to *ask the owning repo* rather than push a diff (e.g. the change can't land as a PR there, or needs that repo's judgment). |
20
+
21
+ In-repo work (this `CLAUDE.md`, recipes under the rollout engine, skills under
22
+ `.claude/skills/`, docs, tests) is normal — edit freely. The rule is only about
23
+ **reaching outside**: if a change belongs in another repo, it goes through
24
+ `/mass-update` or `/communicate`. No exceptions, no "just this once" direct edits.
25
+
26
+ ## Picking a mechanism
27
+
28
+ - **Deterministic `rollout` recipe engine** — for a *fixed, scriptable* transform
29
+ (drop an exact file, flip a config line) reproduced identically across repos.
30
+ Preferred when the content needs no model judgment; reproducible, no LLM. This
31
+ is rollout-cli's core engine (`rollout` recipes + `plan`/`apply`).
32
+ - **`/mass-update`** — the LLM-driven layer on `ask-colleague`, for a *described*
33
+ change across a handful of named repos (`--repos a,b,c`). Even here, prefer a
34
+ deterministic `--file DEST --content/--from` op (verbatim bytes the model must
35
+ not regenerate) over free-text when the content is fixed.
36
+ - **`/communicate`** — when no diff should land (the target can't accept it, or it
37
+ needs the owner's call). File an issue instead of forcing a PR.
38
+
39
+ Always **preview first** (mass-update/ask-colleague default: throwaway worktree,
40
+ zero side effects), then `--pr`. Colleague's output is a second opinion to
41
+ verify and own, never authority. Confirm before opening PRs across many repos.
42
+
43
+ ## Identity
44
+
45
+ `culture.yaml` declares this agent as `suffix: rollout-cli`, `backend: colleague`
46
+ (promoted into the Culture mesh via `colleague promote`; owns `#rollout-cli`). The
47
+ resident runtime prompt is `AGENTS.colleague.md`.
48
+
49
+ ## Rollout playbook: devex/agex data-dir `.gitignore`
50
+
51
+ A worked example of the discovery-before-fan-out discipline.
52
+
53
+ `devex doctor` warns when a repo's devex data dir is missing its `.gitignore`
54
+ (`⚠️ .devex/.gitignore missing — data/ may end up tracked`). The fix is a fixed
55
+ two-line file:
56
+
57
+ ```text
58
+ # Managed by devex — do not edit.
59
+ data/
60
+ ```
61
+
62
+ **Do not blind-fan-out.** The data dir is `.devex/` in some repos and `.agex/`
63
+ in others, and the fix is only real where the data dir is **git-tracked**. Scan
64
+ first: for each sibling with a `<datadir>/data/` but no `<datadir>/.gitignore`,
65
+ check whether the *target file path* is already ignored —
66
+ `git check-ignore -q <datadir>/.gitignore`:
67
+
68
+ - **Not ignored → REAL target.** The `.gitignore` is a genuine, trackable fix;
69
+ ship it via `/mass-update --file <datadir>/.gitignore --content '…'`
70
+ (one mass-update call per distinct `<datadir>`, since the DEST differs).
71
+ - **Already ignored → not a target.** The whole data dir is ignored at the repo
72
+ root, so `data/` is *already* protected and git refuses to track a
73
+ `<datadir>/.gitignore` there — a PR would land nothing. The doctor warning is a
74
+ false positive. Don't PR it; if it's worth flagging, `/communicate` an issue to
75
+ that repo (e.g. guildmaster, where `.gitignore` already ignores `.agex/`).
76
+
77
+ Note: `devex`'s own self-heal (`devex overview`/`devex init`) bootstraps `.devex/`
78
+ only — it will **not** restore an `.agex/.gitignore`, so for `.agex` repos the
79
+ file must be supplied verbatim.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rollout-cli
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Cross-repo propagation workflow built on refactor-cli — apply a transformation across many repos at once.
5
5
  Project-URL: Homepage, https://github.com/agentculture/rollout-cli
6
6
  Project-URL: Issues, https://github.com/agentculture/rollout-cli/issues
@@ -0,0 +1,4 @@
1
+ agents:
2
+ - suffix: rollout-cli
3
+ backend: colleague
4
+ model: sakamakismile/Qwen3.6-27B-Text-NVFP4-MTP
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rollout-cli"
3
- version = "0.3.1"
3
+ version = "0.3.2"
4
4
  description = "Cross-repo propagation workflow built on refactor-cli — apply a transformation across many repos at once."
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -41,7 +41,7 @@ def test_whoami_text(capsys: pytest.CaptureFixture[str]) -> None:
41
41
  assert rc == 0
42
42
  out = capsys.readouterr().out
43
43
  assert "nick: rollout-cli" in out
44
- assert "backend: claude" in out
44
+ assert "backend: colleague" in out
45
45
  assert "model:" in out
46
46
 
47
47
 
@@ -51,7 +51,7 @@ def test_whoami_json(capsys: pytest.CaptureFixture[str]) -> None:
51
51
  payload = json.loads(capsys.readouterr().out)
52
52
  assert payload["nick"] == "rollout-cli"
53
53
  assert payload["version"] == __version__
54
- assert payload["backend"] == "claude"
54
+ assert payload["backend"] == "colleague"
55
55
 
56
56
 
57
57
  # --- learn ----------------------------------------------------------------
@@ -430,7 +430,7 @@ wheels = [
430
430
 
431
431
  [[package]]
432
432
  name = "rollout-cli"
433
- version = "0.3.1"
433
+ version = "0.3.2"
434
434
  source = { editable = "." }
435
435
 
436
436
  [package.dev-dependencies]
@@ -1,28 +0,0 @@
1
- # CLAUDE.md — seed / bootstrap placeholder
2
-
3
- > **This is a self-initializing seed, not a finished runtime prompt.**
4
- > Run `/init` (or describe the agent's domain to your AI assistant) to
5
- > re-initialize this file into a full runtime prompt, using the description
6
- > below and the scaffolded repo as context.
7
-
8
- ## Agent
9
-
10
- This repository hosts the **rollout-cli** agent.
11
-
12
- ## Description
13
-
14
- Cross-repo propagation workflow built on refactor-cli — apply a transformation across many repos at once.
15
-
16
- ## Re-init instruction
17
-
18
- This file is a seed. To expand it into your full runtime prompt:
19
-
20
- 1. Open this repo in Claude Code (or your preferred AI assistant).
21
- 2. Run `/init` — the assistant will read the repo, incorporate the description
22
- above, and replace this seed with a complete `CLAUDE.md`.
23
- 3. Commit the result.
24
-
25
- Until you run `/init`, `rollout-cli` satisfies the `steward doctor`
26
- `prompt-file-present` and `backend-consistency` invariants (a `CLAUDE.md`
27
- exists and `culture.yaml` declares `backend: claude`) but the prompt is not
28
- yet tailored to this agent's domain.
@@ -1,3 +0,0 @@
1
- agents:
2
- - suffix: rollout-cli
3
- backend: claude
File without changes
File without changes
File without changes
File without changes