Skip to content

[docs] Introduce required/optional OB1 compatibility contract#186

Open
justfinethanku wants to merge 1 commit into
mainfrom
contrib/jonathanedwards/ob1-compatibility-catalog
Open

[docs] Introduce required/optional OB1 compatibility contract#186
justfinethanku wants to merge 1 commit into
mainfrom
contrib/jonathanedwards/ob1-compatibility-catalog

Conversation

@justfinethanku
Copy link
Copy Markdown
Collaborator

Summary

  • Breaking schema change. requires.open_brain migrates from the boolean const true to a string enum: "required" | "optional".
  • Bulk-migrates every existing metadata.json (66 files total) to the new shape and reclassifies the nine standalone skill packs as "optional".
  • Rewrites skills/README.md with a new Works without OB1? column and a compatibility legend. Adds a one-paragraph note under the skills section of the root README.md.

Why this change

The old contract forced every contribution to declare open_brain: true, which overstated the dependency. Many skills in skills/ (competitive-analysis, deal-memo-drafting, financial-model-review, meeting-synthesis, research-synthesis, heavy-file-ingestion, n-agentic-harnesses, panning-for-gold, claudeception) are genuinely useful on their own — Open Brain hooks are additive, not required.

The new contract lets the upcoming community catalog (PR2) and the public /ob1 directory on natejones.com (separate repo) surface that distinction accurately instead of overselling the dependency.

Classification decisions in this PR

  • All recipes, primitives, extensions, schemas, dashboards, and integrations → "required". Nothing in those categories works without the core OB1 stack in v1.
  • Skills declared "required" (4): auto-capture, autodream-brain-sync, weekly-signal-diff, work-operating-model — each explicitly calls OB1 MCP tools or depends on OB1 data shapes.
  • Skills declared "optional" (9): claudeception, competitive-analysis, deal-memo-drafting, financial-model-review, heavy-file-ingestion, meeting-synthesis, n-agentic-harnesses, panning-for-gold, research-synthesis.

Files changed

  • .github/metadata.schema.json — enum swap, description updated
  • CONTRIBUTING.md — documents the new contract + both values
  • extensions/_template/AGENT_SPEC.md — template sample updated
  • README.md — short note under /skills explaining the split
  • skills/README.md — new column, legend, and contributing guidance
  • 66 × metadata.json — bulk migration to "required" or "optional"

Follow-up PR

PR2 ships the catalog generator script plus the committed resources/ob1-catalog.json artifact and a gate drift check. PR2 depends on this contract landing first.

In-flight contribution branches

Any open PR whose metadata.json still sets open_brain: true will fail the Metadata valid check after this merges. Maintainer-side fix on merge is the expected remediation (contributor volume is low). We should post a short note on the repo discussion / Discord once this lands so active contributors can rebase.

Test plan

  • check-jsonschema --schemafile .github/metadata.schema.json <every metadata.json> passes locally (all 66 files)
  • Gate workflow skips contribution checks for [docs]-tagged PRs (line 75 in ob1-gate.yml)
  • Post-merge: verify catalog generator in PR2 ingests every contribution cleanly
  • Post-merge: check that any currently open contribution PR gets a clear failure message pointing at this migration

🤖 Generated with Claude Code

Breaking schema change: requires.open_brain migrates from the boolean
const true to a string enum of required | optional.

Why: the old contract implied every contribution in this repo depends on
a running Open Brain setup. Many skills (competitive-analysis, panning-
for-gold, financial-model-review, etc.) are useful on their own — Open
Brain integration is additive for them, not required. The new contract
lets the catalog and the public directory surface that distinction
accurately instead of overselling the dependency.

Changes:
- .github/metadata.schema.json: open_brain becomes a string enum
- Bulk update 66 metadata.json files (required for all non-skills
  contributions; required for auto-capture, autodream-brain-sync,
  weekly-signal-diff, work-operating-model skills; optional for the
  nine standalone skill packs named in the plan)
- CONTRIBUTING.md: new contract documented, both values explained
- extensions/_template/AGENT_SPEC.md: template sample updated
- README.md: short note under skills explaining most are optional
- skills/README.md: new "Works without OB1?" column, compatibility
  legend, and a note in the contributing section about the field

Validated locally with check-jsonschema against every non-template and
template metadata.json — all pass. The ob1-pr-followups.yml and
ob1-gate.yml workflow paths still match existing filenames; no workflow
renames in this PR.

The catalog generator that depends on this contract ships next in PR2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added dashboard Contribution: frontend template documentation Improvements or additions to documentation extension Contribution: curated learning path build integration Contribution: MCP extension or capture source primitive Contribution: reusable concept guide recipe Contribution: step-by-step recipe schema Contribution: database extension skill Contribution: reusable AI client skill or prompt pack labels Apr 17, 2026
@alanshurafa alanshurafa added status: stale-candidate Community reviewer believes this may be stale and needs maintainer decision risk: schema Touches database schema, migration, or data model behavior area: docs Review area: documentation alan-reviewed Reviewed by Alan Shurafa in Community Reviewer role labels May 20, 2026
@alanshurafa
Copy link
Copy Markdown
Collaborator

The required/optional compatibility-contract idea reads well. The blocker is scope: this change spans 71 files, including a breaking metadata.schema.json enum change that would fail the gate on every open contribution PR until each one is rebased.

Recommend author refresh, and worth considering a split — the schema plus CONTRIBUTING.md update, the bulk metadata.json migration, and the skills README could each land as a separate, smaller PR. That would make each piece easier to review and easier to coordinate with the in-flight contribution PRs. Flagged for the maintainer, since rolling out a breaking contract change is a sequencing decision.

— Alan (community reviewer; non-binding)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alan-reviewed Reviewed by Alan Shurafa in Community Reviewer role area: docs Review area: documentation dashboard Contribution: frontend template documentation Improvements or additions to documentation extension Contribution: curated learning path build integration Contribution: MCP extension or capture source primitive Contribution: reusable concept guide recipe Contribution: step-by-step recipe risk: schema Touches database schema, migration, or data model behavior schema Contribution: database extension skill Contribution: reusable AI client skill or prompt pack status: stale-candidate Community reviewer believes this may be stale and needs maintainer decision

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants