Skip to content

refactor: revise OtterWorks workshop to 12 labs (4 tracks) focused on Devin platform strengths#161

Open
devin-ai-integration[bot] wants to merge 9 commits into
mainfrom
devin/1782322730-otterworks-curriculum-expansion
Open

refactor: revise OtterWorks workshop to 12 labs (4 tracks) focused on Devin platform strengths#161
devin-ai-integration[bot] wants to merge 9 commits into
mainfrom
devin/1782322730-otterworks-curriculum-expansion

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Revised the OtterWorks workshop curriculum from 18 labs across 6 tracks down to 12 labs across 4 tracks, cutting generic developer work and replacing it with labs that showcase Devin's unique platform capabilities and the Ask → Session → Playbook → Automation progression.

What was cut and why:

  • Track E (Application Development: bug hunt, gateway routes, test data) — generic "ask Devin to write code" tasks
  • Track F (Architecture & Documentation: ADRs, test expansion, doc generation) — generic writing tasks
  • Old B2 (complete runbooks), B3 (add observability), C3 (test coverage), D1 (CI audit), D2 (IaC review) — useful but no Devin-specific value

New labs (6 total), each showcasing a distinct Devin pattern:

Lab Devin Pattern Key Activity
B2 — From Ask to Playbook Ask→Session→Playbook progression Fix search-service bug 3 ways, codify as Playbook
B3 — Dependency Lifecycle Divide-and-conquer (child agents) Parent scopes, children audit services in parallel
C3 — Scheduled Automation Scheduled sessions (capacity-constrained) Weekly security scan + coverage via make security-scan
D1 — Event-Driven SAST Event-driven triggers (closed loop) Trace Trivy/SonarCloud → webhook → Devin → fix → verify
D2 — Knowledge & Review Shared context layer Before/after Knowledge notes on notification-service
D3 — Full Automation (Capstone) All patterns combined 3-layer strategy: event-driven + scheduled + on-demand

Child session testing: All 6 labs tested against the otterworks repo — all file paths verified, all prompts produced excellent-quality output, all dependency hints accurate (Guava 28.0-jre, lodash 4.17.20, urllib3 1.26.5).

Quality fixes from Devin Review:

  • Removed all "Open a PR" from paste-into-Devin prompts (AGENTS.md rule)
  • Fixed service count (10 backend + gateway) and language count (9 ecosystems)
  • Rewrote eval scripts to match existing Inputs/Instructions/Criteria/Output format with PASS/FAIL
  • Added TOC with anchor links and Quick Start sections to all 6 new labs

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/e1b4c54a539442d683fe3a113025468b
Requested by: @DhrovS


Open in Devin Review

… tracks)

Add three new tracks covering capabilities already present in the OtterWorks
codebase but not yet surfaced in the workshop curriculum:

Track D: DevOps & CI/CD
- D1: Monorepo CI Pipeline Audit (CI_STRATEGY.md, paths-filter gaps)
- D2: Infrastructure as Code Review (8 Terraform modules, 12 Helm charts)
- D3: Event-Driven SAST Pipeline (sast-auto-remediate.yml, Trivy+SonarCloud)

Track E: Application Development
- E1: Cross-Service Bug Hunt (exploratory-qa-report.md bugs)
- E2: API Gateway Route Completion (api-route-matrix.md gaps)
- E3: Synthetic Test Data Generation (testdata/ framework)

Track F: Architecture & Documentation
- F1: Architecture Decision Records (reverse-engineer the why)
- F2: API Flow Test Expansion (tests/api/ suite, route matrix)
- F3: Technical Documentation Generation (service READMEs, onboarding)

Each new lab includes: objective, what is wrong, where to look (with actual
file paths verified against the otterworks repo), what done looks like
(checkboxes), progressive hints, and time budgets.

Also adds 9 evaluation scripts (one per new lab) and updates the evaluation
README, main workshop README, and catalog/repos.md.
@DhrovS DhrovS self-assigned this Jun 24, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

- D1: use generic 'all its services and frontends' instead of numeric breakdown
- D2: remove backend/frontend breakdown from intro, fix Hint 2 '12' → '13'
devin-ai-integration[bot]

This comment was marked as resolved.

…labs (4 tracks)

Cut weak labs (E1-E3, F1-F3, old D1-D2, old B2-B3, old C3) that were
generic developer work without Devin-specific value.

New labs showcase Devin platform capabilities:
- B2: Ask → Session → Playbook progression
- B3: Dependency lifecycle campaign (child agents, divide-and-conquer)
- C3: Scheduled security & coverage automation
- D1: Event-driven SAST pipeline (promoted from old D3)
- D2: Knowledge layer & Devin Review (shared context config)
- D3: Full automation pipeline capstone (3-layer strategy)

Every lab now demonstrates a specific Devin strength: event-driven
triggers, playbooks, child agents, scheduled sessions, knowledge
layer, or the Ask→Session→Playbook→Automation progression.
@devin-ai-integration devin-ai-integration Bot changed the title feat: expand OtterWorks workshop from 9 labs (3 tracks) to 18 labs (6 tracks) refactor: revise OtterWorks workshop to 12 labs (4 tracks) focused on Devin platform strengths Jun 24, 2026

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Devin Review found 5 new potential issues.

Open in Devin Review

Comment thread workshops/otterworks/B2-from-ask-to-playbook.md

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🚩 Replaced labs (B2-complete-runbooks, B3-add-observability, C3-test-coverage) have no migration path for existing users

This PR replaces three labs entirely: old B2 (Complete the Runbooks) → new B2 (From Ask to Playbook), old B3 (Add Observability) → new B3 (Dependency Lifecycle Campaign), old C3 (Test Coverage Blitz) → new C3 (Scheduled Automation). The old evaluation scripts are also replaced with new ones using a different format (blocking/recommended criteria instead of PASS/FAIL with template variables). Any existing event agendas or facilitator guides referencing the old lab names (e.g., "B2 — Complete the Runbooks") will be broken. The events/ directory may contain references to old lab names.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Acknowledged. The old labs (B2, B3, C3) were added in the first commit of this same PR — they have never been shipped to any event. Checked events/ directory and found no references to the old OtterWorks lab names. No migration path needed.

Comment thread workshops/otterworks/B2-from-ask-to-playbook.md Outdated
Comment thread workshops/otterworks/B3-dependency-lifecycle.md Outdated
Comment thread workshops/otterworks/evaluation_scripts/README.md
- Remove 'Open a PR' from prompts in B2 and B3 (AGENTS.md rule)
- Fix service count in B3: '10 backend services plus API gateway'
  to align with README convention
- Rewrite all 6 new eval scripts to match existing format:
  Inputs/Instructions/Criteria/Output with PASS/FAIL structure
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

- Add Table of Contents with anchor links to B2, B3, C3, D1, D2, D3
- Add Quick Start section to each lab for experienced users
- Fix B3 language count: 9 ecosystems (not 10) — Java is shared
  by auth-service and report-service

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Devin Review found 3 new potential issues.

Open in Devin Review

Comment thread workshops/otterworks/B3-dependency-lifecycle.md Outdated
Comment thread workshops/otterworks/README.md Outdated
Comment on lines +80 to +81
- PostgreSQL is the primary datastore for most services.
DynamoDB is used only for file-service metadata.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🚩 D2 Knowledge note example claims DynamoDB for file-service; README says PostgreSQL for document-service

In D2-knowledge-and-devin-review.md:80, the example Knowledge note states: "PostgreSQL is the primary datastore for most services. DynamoDB is used only for file-service metadata. MeiliSearch is used only by search-service." Meanwhile, the README Getting Oriented section at line 116 says: "the document-service (Python/FastAPI), which writes to PostgreSQL and publishes an event to SNS." These are consistent (document-service uses PostgreSQL, file-service uses DynamoDB). However, REVIEW.md states "Repo descriptions must match reality" — if the actual otterworks repo has different storage assignments, these claims could be inaccurate. Since I cannot verify against the actual otterworks repo's implementation, this is worth a quick check.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Verified against the otterworks repo — the claims are accurate. services/file-service/ uses DynamoDB (confirmed via Cargo.toml, metadata.rs, config.rs). services/document-service/ uses PostgreSQL. services/search-service/ uses MeiliSearch. No changes needed.

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