Skip to content

feat: declare stability tier per package [closes #227]#279

Open
EmersonBraun wants to merge 1 commit intomainfrom
foundation/stability-tiers
Open

feat: declare stability tier per package [closes #227]#279
EmersonBraun wants to merge 1 commit intomainfrom
foundation/stability-tiers

Conversation

@EmersonBraun
Copy link
Copy Markdown
Owner

Summary

Every package now declares an explicit stability tier in package.json under a new agentskit field, with a matching badge in each README.

Closes #227. Pairs with the Manifesto (principle 1 — 'the core is sacred') and the six ADRs which pin the contracts each 'stable' package implements.

What changed

Every package.json

{
  "name": "@agentskit/core",
  "agentskit": {
    "stability": "stable",
    "stabilityNote": "Sacred package. Contract-stable per ADRs 0001-0006."
  }
}

The stabilityNote is for future programmatic uses (e.g., agentskit doctor could warn when a beta package is used in a 'production' config).

Every package README

A shields.io badge right under the title:

# @agentskit/core

![stability: stable](https://img.shields.io/badge/stability-stable-brightgreen)

New docs/STABILITY.md

Full policy doc explaining:

  • What each tier means (API freeze level, break-rules, deprecation path)
  • Current tier map for all 14 packages with rationale
  • Rules for promoting/demoting between tiers (beta→stable needs RFC; stable→beta needs major bump)
  • The path to v1.0.0 at the project level

Tier map

Tier Packages
stable (11) core, adapters, react, ink, cli, runtime, tools, skills, memory, rag, templates
beta (3) observability, sandbox, eval

Rationale for beta trio

  • @agentskit/observability — Observer contract is stable (RT9), but provider integrations (LangSmith, OpenTelemetry, PostHog) are still being rounded out
  • @agentskit/sandbox — E2B backend works; WebContainer fallback is still experimental
  • @agentskit/eval — core APIs stable, but richer metrics and reporters are coming in Phase 2/3

Test plan

  • 14 package.json files updated with matching agentskit blocks
  • 14 README files show the correct badge
  • New docs/STABILITY.md renders on GitHub
  • pnpm test — 13 packages pass (ink fails due to pre-existing ink@7 / ink-testing-library@4 incompat fixed in foundation: manifesto, origin, governance templates, and Phase 0 planning docs #265; unchanged by this PR)
  • Reviewer: confirm the beta trio is fair (should anything be downgraded to experimental or upgraded to stable?)
  • Reviewer: confirm the v1.0.0 criteria in STABILITY.md are the right bar

Refs #227 #211

Closes #227. Adds an explicit 'stability' tier and short rationale to
every package.json under a new 'agentskit' field, with a matching
shields.io badge in each package README.

Tier map:

  stable  (11)  core, adapters, react, ink, cli, runtime, tools, skills,
                memory, rag, templates
  beta    (3)   observability, sandbox, eval

Rationale per package stored in package.json 'agentskit.stabilityNote'
for programmatic access (future 'agentskit doctor' uses this).

Stability policy documented at docs/STABILITY.md with three tiers:

  stable        — API frozen at the minor level; breaking changes need
                  a major bump and a deprecation cycle
  beta          — usable in production; breaking changes allowed in
                  minor bumps with CHANGELOG notes
  experimental  — disposable API; anything may change in any release

Also documents the path to v1.0.0 at the project level and the rules
for promoting or demoting a package between tiers.

Readers can now tell at a glance from the README which packages are
safe for production and which may still evolve.

Refs #227 #211
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.

[P0.16] Honest comparison table vs competitors

1 participant