Skip to content

docs: position Tutti as agent ops - #125

Merged
nutt-adam merged 2 commits into
mainfrom
codex/agent-ops-activation
May 4, 2026
Merged

docs: position Tutti as agent ops#125
nutt-adam merged 2 commits into
mainfrom
codex/agent-ops-activation

Conversation

@nutt-adam

@nutt-adam nutt-adam commented May 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Issue: N/A, docs/positioning activation wedge from office-hours design
  • What changed:
    • Repositioned the README around Terraform-style agent operations instead of generic multi-agent orchestration
    • Added docs/WHY_TUTTI.md to explain the category boundary versus agent SDKs/frameworks
    • Clarified GitHub + CodeRabbit as the first intake/review adapter pair, not the product boundary
    • Updated status, architecture, philosophy, and roadmap language for the v0.10+ API-direct spine

Versioning (required)

  • I updated Cargo.toml version
  • I added/updated CHANGELOG.md
  • I documented release impact in this PR
  • If no bump, I explicitly justify why this is docs/chore/no behavior change

No version bump: documentation-only positioning/onboarding change. No CLI, workflow contract, runtime behavior, package contents, or release artifact changes.

SemVer choice

  • PATCH (bugfix/reliability/non-breaking internal change)
  • MINOR (new capability/new CLI/workflow contract change)
  • MAJOR (breaking contract)

Version selected: vN/A (docs-only, no release bump)

Validation

  • cargo test -q
  • CI green

Release

  • Tag planned/applied (vX.Y.Z)
  • Tag notes include issue IDs

No tag planned. This PR should ride with the next documentation/release train.

Summary by CodeRabbit

  • Documentation
    • Revised README with updated Quick Start flow and expanded feature descriptions
    • New documentation clarifying operational scope and adapter architecture
    • Updated architecture diagrams showing CLI-Agent and API-Direct execution paths
    • Enhanced project roadmap with v0.10.0+ milestones and planned integrations
    • Added alternative installation methods and guidance

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Documentation refactors reposition Tutti as an adapter-based "agent operations" layer and generalize the SDLC loop into five durable stages: intake → execution → review → gate → record; README, new WHY_TUTTI, CODEX_SDLC_ORCHESTRATION, and pr-review-loop docs were updated to reflect templates, quickstart commands, architecture, and review gating.

Changes

Adapter-Based Operations Platform Positioning

Layer / File(s) Summary
Foundational Thesis
docs/WHY_TUTTI.md
New document establishes Tutti's scope: versioned agent operations (topology, workflow, isolation, artifacts, gates, state, observability) with a durable five-part adapter shape (intake/execution/review/gate/record) and a near-term onboarding wedge.
Operational Model
docs/CODEX_SDLC_ORCHESTRATION.md
Generalizes SDLC orchestration from Codex-specific to "Tutti-for-Tutti" framework; defines the intake→execution→review→gate→record pipeline and adapter boundary slots; clarifies adapter scripts remain isolated behind orchestration core.
Review Process
docs/pr-review-loop.md
Reworks PR merge loop to a generic durable gate: resolve configured review threads, re-check by adapter after push, and require checks green; maps CodeRabbit/human/Claude/Codex/CI into the same resolved/green outcome.
Positioning & Quick Start
README.md (top-level intro, prerequisites, quick-start)
Reframes Tutti as "Terraform-style agent operations"; replaces Quick Start with tt init --template rust-cli, tt run --list, tt run verify --strict, tt up, tt serve --port 4040; expands prerequisites and adds alternative installation instructions.
Operations Loop & Philosophy
README.md (Agent Ops Loop, What Tutti Does/Does Not Do, Philosophy)
Introduces explicit five-stage ops loop; expands "What Tutti Does/Does Not Do" to enumerate ops-as-code, tmux/worktree management, orchestration, dashboard/focus mode, SDLC automation, API-direct spine, resilience, and leases; updates philosophy to "Adapters, not a walled garden" and "Operations beat demos."
Architecture & Project Status
README.md (Architecture diagram, Project Status, Roadmap)
Replaces architecture diagram with CLI-Agent vs API-Direct block layout, adds State/Observability/Dashboard blocks; bumps Project Status to v0.10.0+ (May 2026); updates feature lists and roadmap items for API-direct spine and pluggable adapters.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev
  participant Tutti as Orchestrator
  participant Adapter
  participant CI_VCS as VCS/CI
  participant Log as EventLog

  Dev->>Tutti: submit/change (intake)
  Tutti->>Adapter: dispatch execution request
  Adapter->>Tutti: execution result (artifacts, status)
  Tutti->>Adapter: request review (review slot)
  Adapter->>Tutti: review resolution (approved/comment)
  Tutti->>CI_VCS: verify required checks
  CI_VCS->>Tutti: checks green/failed
  Tutti->>Log: record final outcome (record)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰✨
I hopped through docs with nimble paws,
Five stages stitched in tidy laws;
Adapters welcome, fences down,
Tutti hums across the town;
Run the loop, logs keep the score—
Operations first, and there's much more.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: position Tutti as agent ops' directly reflects the main objective of the PR—repositioning documentation to frame Tutti as an agent operations layer.
Description check ✅ Passed The PR description covers the summary, clearly explains what changed, and explicitly justifies the lack of version bump as a documentation-only change. However, the Versioning section has incomplete checkboxes: 'Cargo.toml version' and 'CHANGELOG.md' are unchecked (correctly, given the docs-only nature), but 'CI green' in Validation remains unchecked while the author notes CI is not yet green.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/agent-ops-activation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/pr-review-loop.md (1)

37-47: ⚡ Quick win

Align the canonical loop wording with the adapter model.

Line 39 defines a durable, adapter-neutral gate, but the canonical loop still hardcodes CodeRabbit-specific waiting language at Line 17. Make Step 2 adapter-neutral and keep CodeRabbit as an example to avoid mixed guidance.

Proposed doc tweak
-2. Wait for CodeRabbit feedback (`wait_and_collect_coderabbit.py`).
+2. Wait for configured review-adapter feedback (for CodeRabbit today: `wait_coderabbit.sh` + `collect_coderabbit_feedback.sh`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/pr-review-loop.md` around lines 37 - 47, Update the canonical loop Step
2 to use adapter-neutral wording: replace the CodeRabbit-specific "wait for
CodeRabbit thread resolution" phrasing with a generic gate such as "wait for
durable gate: review feedback resolved and required checks green", and move the
CodeRabbit-specific behavior (e.g., "CodeRabbit thread resolution -> review
feedback resolved") into the Adapter model / examples section; ensure Step 2
references the durable gate concept (not CodeRabbit) while the Adapter model
lists CodeRabbit as an example implementation.
README.md (1)

23-31: ⚡ Quick win

Avoid dual “Quick Start” entry points.

This new activation flow is strong, but there is another ## Quick Start at Line 118 with overlapping setup steps. Rename the later section (e.g., source install/manual setup) or merge them so onboarding has one obvious path.

Proposed doc tweak
-## Quick Start
+## Install from source (alternative)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 23 - 31, There are two duplicate "## Quick Start"
headings causing confusion; locate the first quick-start block that shows the
new activation flow (the bash snippet with cargo/tt commands) and the later "##
Quick Start" section, then either merge their unique setup steps into a single
consolidated Quick Start or rename the later section to a clear alternative
title (e.g., "Source install / Manual setup" or "Alternative installation") and
update any cross-references so the onboarding has one obvious entry point;
ensure the renamed header uses consistent Markdown heading syntax.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/pr-review-loop.md`:
- Around line 37-47: Update the canonical loop Step 2 to use adapter-neutral
wording: replace the CodeRabbit-specific "wait for CodeRabbit thread resolution"
phrasing with a generic gate such as "wait for durable gate: review feedback
resolved and required checks green", and move the CodeRabbit-specific behavior
(e.g., "CodeRabbit thread resolution -> review feedback resolved") into the
Adapter model / examples section; ensure Step 2 references the durable gate
concept (not CodeRabbit) while the Adapter model lists CodeRabbit as an example
implementation.

In `@README.md`:
- Around line 23-31: There are two duplicate "## Quick Start" headings causing
confusion; locate the first quick-start block that shows the new activation flow
(the bash snippet with cargo/tt commands) and the later "## Quick Start"
section, then either merge their unique setup steps into a single consolidated
Quick Start or rename the later section to a clear alternative title (e.g.,
"Source install / Manual setup" or "Alternative installation") and update any
cross-references so the onboarding has one obvious entry point; ensure the
renamed header uses consistent Markdown heading syntax.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 85dc5818-6bcc-4e6b-9b74-48e3fdb8e605

📥 Commits

Reviewing files that changed from the base of the PR and between 417381f and 5a1b545.

📒 Files selected for processing (4)
  • README.md
  • docs/CODEX_SDLC_ORCHESTRATION.md
  • docs/WHY_TUTTI.md
  • docs/pr-review-loop.md

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 4, 2026
@nutt-adam

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
README.md (1)

147-147: ⚡ Quick win

Make the status header explicitly time-scoped to avoid fast staleness.

Line 147 uses v0.10.0+ — May 2026, which can read as “current” even after it ages. Consider wording like “As of May 2026” or moving the date into a sentence below the heading.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 147, The heading "## Project Status (v0.10.0+ — May 2026)"
reads as evergreen; update it to time-scoped wording such as "## Project Status
(v0.10.0+ — As of May 2026)" or remove the date from the header and add a
sentence immediately below like "Status information current as of May 2026" so
the file clearly signals the snapshot date; edit the README heading text
accordingly (reference header text "## Project Status (v0.10.0+ — May 2026)").
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@README.md`:
- Line 147: The heading "## Project Status (v0.10.0+ — May 2026)" reads as
evergreen; update it to time-scoped wording such as "## Project Status (v0.10.0+
— As of May 2026)" or remove the date from the header and add a sentence
immediately below like "Status information current as of May 2026" so the file
clearly signals the snapshot date; edit the README heading text accordingly
(reference header text "## Project Status (v0.10.0+ — May 2026)").

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 8d20f9cc-e865-46c0-b947-971760798bd3

📥 Commits

Reviewing files that changed from the base of the PR and between 5a1b545 and 1bec18a.

📒 Files selected for processing (2)
  • README.md
  • docs/pr-review-loop.md
✅ Files skipped from review due to trivial changes (1)
  • docs/pr-review-loop.md

@nutt-adam
nutt-adam merged commit e2307fd into main May 4, 2026
11 checks passed
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