Skip to content

Scope Policy

This document establishes the official feature categorization and scope limits for Caatinga to stabilize the platform. Features are classified under four clear taxonomies: Core, Nice to Have, Experimental, and Out of Scope.


1. Core

Core features define what Caatinga is at its heart. These are fully supported, guaranteed to remain stable, and represent the primary value proposition:

  • Deployment Orchestration (Local Engine):
    • Project scaffolding (ctg init).
    • Rust contract compilation driver (shelling out to Stellar CLI).
    • Graph-aware deployments with topological sorting based on dependencies (dependsOn).
    • In-configuration placeholder resolution (e.g. ${contracts.token.contractId}).
    • Execution of post-deployment lifecycle hooks (postDeploy).
  • Versioned Artifacts:
    • Local state tracking via the per-network caatinga.artifacts.json file.
    • Storage of contract IDs, compiler versions, and WASM hashes.
    • Complete integration and versioning via Git (no mandatory on-chain registry dependencies).
  • Runtime Client Library:
    • Strongly typed client consumer helpers in @caatinga/client.
    • Pluggable wallet adapters (Freighter, Stellar Wallets Kit) and React context bindings (@caatinga/client/react).
    • Standard transaction pipeline orchestration (simulate → sign → submit → watch).
  • Automation & Diagnostics:
    • Workspace requirements diagnostics (ctg doctor).
    • CLI logs and stable error APIs using CAATINGA_* error codes.

2. Nice to Have

Nice to Have features are quality-of-life enhancements or platform operations that improve stability and visibility, but do not alter the main execution pipeline:

  • Artifact History & Schema Migration:
    • Tracking artifact histories and providing migrations between format versions (ctg migrate artifacts).
  • Cost Advisory:
    • Simulating deployment transactions to advise on resource consumption and fees (ctg estimate deploy).
  • State Inspection:
    • Comparing local artifact states with deployed on-chain contract states (ctg inspect).
  • Logical Rollbacks:
    • Restore contract state reference locally or update the deployed configuration references dynamically (ctg rollback).

3. Experimental

Experimental features are kept isolated and are subject to deprecation or removal if they prove to add excessive complexity or divert focus from the core mission:

  • ZK Workflow:
    • Circom + Groth16 verifier compiling and on-chain verification workflow (@caatinga/zk). This is treated as a niche/experimental module.
  • Agent Integrations:
    • Custom adapters or instructions for external AI coding tools/agents (e.g. stellar-build integrations).

4. Out of Scope

These features are explicitly rejected from Caatinga's design. Any implementation of these concepts will be deferred to downstream applications or secondary toolchains:

  • Backend Signing:
    • Caatinga will never store private keys, manage credentials, or perform automated transaction signing on server environments. Signing is strictly delegated to client-side wallets or official Stellar CLI configurations.
  • Mainnet by Default:
    • The CLI and client will never defaults to Stellar mainnet, preventing accidental gas consumption or contract deployments.
  • Ecosystem Indexer:
    • Caatinga does not provide full indexer abstractions or query engines for ledger history. It only tracks deploy metadata.
  • Custom Web Framework:
    • Caatinga does not compile or manage a proprietary frontend runtime framework. It ends at generating client-ready TypeScript bindings and wallet adapters for standard projects.